Поделиться через


Функция SetFlags (recapis.h)

Указывает, как распознаватель интерпретирует рукописный ввод и определяет результирующий текст.

Вызовите эту функцию перед первой обработкой рукописного ввода. Поэтому перед вызовом функции Process вызовите функцию SetFlags.

Синтаксис

HRESULT SetFlags(
  [in] HRECOCONTEXT hrc,
  [in] DWORD        dwFlags
);

Параметры

[in] hrc

Дескриптор в контексте распознавателя.

[in] dwFlags

В следующей таблице перечислены флаги, которые можно задать, чтобы указать, как распознаватель интерпретирует рукописный ввод и определяет результирующую строку. Используйте оператор OR (|), чтобы объединить флаги соответствующим образом.

Битовый флаг Значение
RECOFLAG_AUTOSPACE
Распознаватель использует интеллектуальные интервалы на основе правил языковой модели.
RECOFLAG_COERCE
Распознаватель приводит результат на основе фактоида, указанного для контекста. Например, если указать фактоид номера телефона и пользователь введет слово "hello", распознаватель может вернуть случайный номер телефона или пустую строку. Если этот флаг не указан, распознаватель возвращает в качестве результата "hello".
RECOFLAG_PREFIXOK
Распознаватель поддерживает распознавание любой префиксной части строк, определенных в языковой модели по умолчанию или заданной (фактоидной) языковой модели.

Например, без этого флага пользователь записывает "handw", а распознаватель возвращает предложения (например, "hander" или "hand"), которые являются словами, которые существуют в лексиконе распознавателя. С помощью флага распознаватель может вернуть "handw" в качестве одного из предложений, так как это допустимый префикс слова "рукописный", который существует в лексиконе распознавателя.

Панель ввода планшета устанавливает этот флаг в большинстве случаев, за исключением случаев, когда область ввода IS_DEFAULT (или нет входных область) или если нет списка слов пользователя или регулярного выражения.

Распознаватели восточноазиатских символов должны возвращать E_INVALIDARG, когда вызывающий объект передает этот флаг.

RECOFLAG_LINEMODE
Распознаватель не разделяет линии, но по-прежнему должен выполнять разделение символов и слов. Это то же самое, что и режим с линией, за исключением того, что отсутствует направляющая, и предполагается, что все рукописные фрагменты будут находиться в одной строке. Если этот флаг установлен, направляющая, если она задана, игнорируется.
RECOFLAG_SINGLESEG
Отключает несколько сегментации. По умолчанию распознаватель возвращает несколько сегментации (альтернативных вариантов) для рукописного ввода.

Например, если вы пишете "вместе" в виде отдельных росчерков, распознаватель может сегментировать рукописный ввод как "чтобы получить ее", "собрать" или "вместе". Установите этот флаг, если при запросе вариантов не требуется несколько сегментации рукописного ввода. Это повышает производительность и сокращает использование памяти.

RECOFLAG_WORDMODE
Распознаватель обрабатывает рукописный ввод как одно слово. Например, если контекст содержит "чтобы получить ее", распознаватель возвращает "вместе".

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Значение HRESULT Описание
S_OK
Успешно.
E_INVALIDARG
Флаг недопустим.
E_NOTIMPL
Распознаватель не поддерживает эту функцию.
E_OUTOFMEMORY
Не удалось выделить память для завершения операции.
E_FAIL
Произошла неизвестная ошибка.
E_POINTER
Контекст является недопустимым или один из параметров является недопустимым указателем.

Комментарии

До выпуска Microsoft Windows XP Tablet PC Edition Development Kit 1.7 панель ввода планшетного компьютера выполняла интеллектуальные интервалы. Начиная с пакета SDK для планшетного пк версии 1.7 панель ввода продолжает давать результаты с предварительными рекомендациями по интервалам. Однако результаты между интервалами на панели ввода планшетного компьютера могут быть изменены рекомендациями (результатами) распознавателя. Распознаватель может сделать это с помощью контекстной текстовой информации (на основе вызова SetTextContext , выполненного панелью ввода) и правил внутренней языковой модели.

Панель ввода может определить, способен ли распознаватель выполнять автоматическое интервалирование, вызывая эту функцию с установленным флагом RECOFLAG_AUTOSPACE. Если распознаватель не поддерживает автоматическое интервалирование, возвращается E_INVALIDARG.

Примечание В функции SetFlags поддерживается только режим строки. В упаковочном режиме, бесплатном режиме и однострочном режиме не поддерживаются.
 

Требования

Требование Значение
Минимальная версия клиента Windows XP Tablet PC Edition [классические приложения | Приложения UWP]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header recapis.h
DLL inkobjcore.dll

См. также раздел

Функция SetFactoid

Функция SetTextContext