Указывает, как распознаватель интерпретирует рукописный ввод и определяет результирующий текст.
Вызовите эту функцию перед первой обработкой рукописного ввода. Поэтому перед вызовом функции 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