What's new
Introducing the iink SDK 4.️2 native APIs
Handwriting generation for Chinese
Since the release of iink SDK 4.1, handwriting generation has been possible for English text. With iink SDK 4.2, handwriting generation is also possible for Chinese text (GB2312 character set).
New and updated handwriting generation APIs
- The
handwriting-generation.init.resourceconfiguration property allows you to set the corresponding resource for the desired language. - The HandwritingProfileBuilder class now has a new method, getPredefinedProfileCount, which retrieves the number of predefined writing profiles embedded in the language resource.
- The getPredefinedProfileAt method allows you to retrieve the desired profile by index.
- The getPredefinedProfileCount requires the resource to be loaded, otherwise, it will load it synchronously. To avoid the extra cost of loading when getting the number of predefined profiles, you can preload the resource using HandwritingGenerator loadResource.
Improved control of stroke location for handwriting generation.
We have also introduced the handwriting-generation.session.origin-x-mm property to improve control of stroke location for handwriting generation.
This property can be useful for implementing progressive handwriting generation or completing an existing paragraph.
➤ To learn how to use the handwriting generation objects and resources, see the Handwriting generation user guide.
New features in variable management
Easier variable definition with MathSolverController
- You can now set or retrieve the values of global variables that apply to all blocks by setting an empty string as the block ID.
- The getVariableDefinitions method lists all variable definitions, including their source type and associated block.
When
auto-variable-managementis enabled, this list includes block variable definitions that are automatically identified.
Variable definition updates
- Variables can now use a Latin or Greek letter as a subscript (e.g. "A_n"). This allows your users to define some standard constants more easily.
- Variable definitions can now contain multiple equal signs, such as: "a = 1/2 = 0.5" . In the case of an inequality, the variable is defined using the first value. For example, "a = 5 = 6" defines "a = 5".
➤ For more details on how to manage math variables and the latest math solver APIs, see the Math interactive features page.
Vertical operations support
Our advanced analyzer raw-content2 combined with the math2 bundle now supports vertical operations (multiplication, division, addition, and subtraction) using a single +-*×/:÷ operator per line and decimal numbers.
With the appropriate configuration, the Raw Content Editor, OffscreenEditor, and Raw Content Recognizer can thus recognize vertical operations and the MathSolverController can solve them.
Other changes
The MathSolverController can now generate strokes for OffscreenEditor.
To help your Math integration with the OffscreenEditor, the MathSolverController can now generate the strokes and the bounding-box of the solver result in the JIIX action output. The default Math configuration associated with the OffscreenEditor has been modified to activate this feature by default.
New LaTeX label for Math blocks in JIIX
To facilitate math integration, JIIX Math blocks now come with LaTeX labels containing the associated recognition result.
Support for degree signs in math expressions
The MathSolverController can now solve expressions such as cos(60°) and provide the correct result, 0.5 in this case, by considering the annotated value in degrees regardless of the math.solver.angle-unit configuration (rad or deg).
Easier block management in Raw Content parts with contentChanged2 notifications
The IEditorListener and IOffscreenEditorListener interfaces now include a new method, contentChanged2. This notification provides lists of added, removed, and updated blocks whenever the content of a Raw Content part changes. These lists make it easier to maintain associations between blocks in the Editor/OffscreenEditor and objects in your application.
Vertical Japanese support
We now support vertical Japanese writing in non-interactive mode.
New APIs to retrieve oriented bounding boxes for blocks
The new getOrientedBox API in ContentBlock and getBlockOrientedBox API in ItemIdHelper return the four points of the oriented bounding box for blocks.
Update to the latest MyScript technology
MyScript iink SDK 4.2 is based on the latest version of MyScript technology, which improves classification and recognition performance and brings general improvements.
While recognition assets provided with MyScript iink SDK 4.1 will stay compatible, you may want to update your users to the latest assets if you migrate them to 4.2.