# New in 1.1

Interactive Ink SDK 1.1 comes packed with improvements and several noticeable new features. This page provides an overview of the changes.

If you upgrade from 1.0, please take a look at the migration guide.

## Improved platform support

This version introduces official support for Windows desktop, with a .NET API and a WPF UI reference implementation.

## Import and export improvements

### Diagram PPTX export

It is now possible to export the content of a diagram block as a PowerPoint PPTX document. The diagram will correspond to a slide in the produced document and will always be exported in its converted form, even if the original diagram contains non-converted ink portions.

### Diagram Office clipboard export

Interactive Ink SDK 1.1 adds the possibility to export diagram content to the Microsoft Office clipboard format. The OFFICE_CLIPBOARD mime type lets you use the export function to retrieve content that you can place in the system clipboard (the key to use for the clipboard content is Art::GVML ClipFormat).

Note that the Office clipboard format is not handled as a textual format: the export function will not return a string containing the content to place in the clipboard but let you define a file where it will be written to.

Microsoft Office does not support pasting content from the system clipboard on all platforms.

### Character information in JIIX

JIIX export can now include character information. To enable the feature, set the export.jiix.text.chars configuration key to true.

The option is disabled by default as you may not always need it and it often produces a very verbose output.

With this option enabled, JIIX export will contain information such as the precise location of each character for each word-level recognition candidate. You may want this information to implement a search functionality on ink that has the ability to return the location of hits that are not full words (e.g. highlight the “My” part of “MyScript” when looking for “my”).

Configuration reference (general)
Char block (JIIX format reference)

### Ability to turn off word candidate information in JIIX

Along with the possibility to enable character information in JIIX export, iink SDK has added a new configuration option that can now let you choose whether you want to include word information or not in JIIX export.

The configuration key is export.jiix.text.words. It is set to true by default, which matches the default behavior in iink SDK 1.0.

Both the export.jiix.text.chars and export.jiix.text.words are related in that if you disable word information, character information will not include links to corresponding words, and if you disable character information, word information will not include indexes to the characters.

Configuration reference (general)
Word block (JIIX format reference)

## New edition capabilities

### Guides in Text parts

Parts of type Text can now optionally support guides. Such guides provide a visual hint for end users, letting them know where to write and at what size. They improve the recognition accuracy, as long as you make sure to write on the lines.

Guides can be respectively enabled and disabled by setting the text.guides.enable value of the engine configuration to true and false.

Guides are now set by default. If you relied on Text parts in 1.0, please refer to the migration guide for more information.

### New Accessors to get undo/redo stack information

In the event you want to integrate iink SDK’s internal undo/redo stack with your own application-level undo/redo stack, with native API two new methods have been added to the editor object: getUndoStackIndex() and getPossibleUndoCount(), letting you respectively know how many operations were performed since a content part was opened and how many of these operations it is possible to undo.

With web API the same information is contained in the details on “contentChanged” messages and “changed” events.

### Determine whether a block is empty

For native APIs, a new isEmpty() editor method has been added to determine whether a block contains strokes or another block.

For web APIs, a new isEmpty attribute has been added to “contentChanged” messages and “changed” events to determine whether a block contains strokes or another block

In 1.0, it was already possible to browse the internals of diagrams via the parsing of the corresponding JIIX export. However, it was not possible to programmatically access the corresponding blocks hierarchy from the editor nor to be notified when they are selected or their content changes.

In 1.1, a new configuration option was added, diagram.enable-sub-blocks, set to true by default. It makes it possible to access diagram sub-blocks, to be notified of events and work on them as with regular blocks.

Support for this feature has required an update of the diagram part of the JIIX exchange format. Please refer to the migration guide for more information.

Configuration reference (diagram)
Working with blocks

### IEditorListener changes

Added a selectionChanged() callback to IEditorListener, which lets you manage selections inside Text Document parts, as well as inside diagram blocks, provided that you enabled access to their internal block hierarchy.

Added an activeBlockChanged() callback to IEditorListener, which lets you know when a new text block is being edited. This lets you implement for example the “Smart Guide”, described below.

Note that, in order to avoid breaking compatibility, an IEditorListener2 interface has been created to hold these new API on Java and C# platform.

## Web platform improvements

The Web platform has seen as certain number of improvements to bring it closer to native platforms:

• Custom resources
• Non italic Google fonts are now supported, and the font path are computed server side.
• Add support of penStyleClasses

## Helper code

The MyScript provided UI reference implementation has been improved:

• New WPF-based version and associated code examples are now available to cover the needs of the “traditional” Windows .NET platform.
• Many fixes and a better harmonization across the different supported platforms (in particular feature gap has been reduced between the various Windows platforms and Android/iOS).
• Addition of a new “Smart Guide” implementation to serve as a visual component that can be used to provide the user with immediate recognition feedback and let him change recognition candidates:

UI Reference Implementation (native platforms)
Working with text recognition candidates (advanced)

## Update to the latest MyScript technology

Interactive Ink SDK 1.1 is based on the latest version of MyScript’s core recognition SDK, resulting in performance and recognition improvements.

While recognition assets provided with iink SDK 1.0 will stay compatible, you may want to update your users to the latest assets if you migrate them to 1.1.

The migration brings the following benefits:

• Better recognition of words that are not part of the lexicon for 53 of iink SDK-supported languages: Afrikaans, Albanian, Armenian, Azeri, Basque, Belarusian, Bosnian, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch (Belgium), Dutch (Netherlands), English (Canada), English (United Kingdom), English (USA), Estonian, Finnish, French (Canada), French (France), Galician, Georgian, German (Austria), German (Germany), Greek, Hungarian, Icelandic, Indonesian, Irish, Italian, Kazakh, Latvian, Lithuanian, Macedonian, Malay, Mongolian, Norwegian, Polish, Portuguese (Brazil), Portuguese (Portugal), Romanian, Russian, Serbian Cyrillic, Serbian (Latin), Slovak, Slovenian, Spanish (Mexico), Spanish (Spain), Swedish, Tatar, Turkish and Ukrainian
• Reduction of 15 to 20% of the error rate when recognizing math.
• Support of 7 new Japanese symbols: ゔ, ゕ, ゖ, ヷ, ヸ, ヹ and ヺ.

## Other changes

• Invalidation rectangle optimizations on Android, resulting in rendering performance improvements
• Diagram arrow rendering is now better-looking and aligned with what is done in MyScript’s own Nebo application
• Many bug fixes