-
Jarkko Koivikko authored
Cerence SDK enables two extension plugins for the Qt Virtual Keyboard. - Cerence HWR: Handwriting extension know previously as T9 Write - Cerence XT9: Advanced keyboard extension, supporting various languages This commit removes the previous T9 Write extension and reintroduces it as the Cerence HWR extension. This commit also adds the Cerence XT9 as a new feature. The Cerence HWR can also utilize the XT9 for some additional features. Here is a list of changes made to the handwriting extension: - Move the T9 Write extension to the general "cerence" directory, which allows data and code to be shared between T9 Write and XT9. - Update unpack.py to match the latest Cerence SDK. Drop support for legacy delivery rules, as they interfere with the latest SDK. - Alphabetic API was renamed from decuma* to decumaUcr at version number 21 - Add extra parameter to BeginArcAddition and set bMinimizePreProcessing to 1 to avoid defining the parameter. - Do not pass the support lines to engine as they are not supported/needed. For example, the latest CJK SDK returns error when the support lines are defined. - Remove reference to decumaFunctionalSupport.h, which is not part of the official SDK. As a consequence, disable support for recognition interrupt, which is not critical feature anyway. - Fix several compiler warnings. - Enable UCR mode for new languages. - Filter out duplicate candidates (after case formatting) - Use handwriting recognition timeout setting - Check and recover from an init failure when UCR not supported - Use common dictionary management with XT9 - Add user defined search path for HWR db QT_VIRTUALKEYBOARD_T9WRITE_DB_PATH - Use generic dictionary API - Add user dictionary (DLM) - Limit too many simultaneous input - Add support for the latest SDK (removed support from previous versions of the SDK) - Add support for background recognition supported by the engine. This improves latencies and removes delays in certain situations. - Clear old traces from screen after specified delay. Previously, old traces were cleared from the screen based on the information from the engine to identify strokes of the recognized characters. Unfortunately, the engine does not provide this information at the same detail in UCR mode. This change introduces a timer-based approach, where traces are removed after a specified time, calculated from the recognition result. This time can be adjusted in the virtual keyboard settings. - Add auto correction for alphabetic languages - Add predictions from custom dictionary (XT9 Nav) - Fix language id mapping between Qt6 QLocale::Language and Cerence HWR. Change-Id: Iff4daea67cbb8adee1caf2e9513198482da48a38 Reviewed-by:
Mitch Curtis <mitch.curtis@qt.io> Reviewed-by:
Jarkko Koivikko <jarkko.koivikko@code-q.fi>
6dec71ba