MyScript technology is built around a consistent set of concepts and conventions that can be expressed using a specific, non-ambiguous vocabulary. This page provides useful definitions that will help you easily understand and communicate these notions.
Completion is the ability for the recognition engine to suggest what the full word could be after you started writing it.
A configuration file (
*.conf) is the textual representation of the parameters and resources that an engine
shall consume to be able to recognize a particular type of content (a particular language, diagrams, maths, etc.).
With iink SDK, a content block corresponds to a semantic subdivision of the content, and may contain data and/or other blocks. For instance, a “Text Document” part can be composed of “Text”, “Math”, “Diagram” and “Drawing” blocks. A “Math” part will only have a single block, hosting the math content itself.
The type of a piece of content identifies the semantic and structural rules that apply. For instance, “Text” and “Math” obey different layout rules, a “Drawing” is totally free from structural constraints, and a “Diagram” supports the concepts of nodes and edges.
Interactive Ink SDK supports a certain number of content types out of the box.
With iink SDK, a package is a container storing ink and its interpretation as an ordered collection of parts. It can be saved as a file on the file system and later reloaded or exchanged between users.
With iink SDK, a part corresponds to a standalone content unit that can be processed by iink SDK. Each part has a specific type (“Text”, “Drawing”, “Diagram”, “Math”, “Raw Content” or “Text Document”). A part hosts a hierarchy of blocks.
Conversion is the action of turning handwritten content into a typeset equivalent.
A decoration is a semantic marking of a portion of ink (typeset or not), usually by means of a decoration gesture. Interactive Ink SDK supports several decoration types, such as underline, double-underline or circle.
Digital ink is the digital representation of the input made using a finger or a stylus on a surface. It corresponds to an ordered set of strokes. MyScript interprets digital ink to turn it into Interactive Ink
With iink SDK, an editor is the main entry point to act on interactive content.
It is instantiated from an
Engine object and manages input, import, export and the routing of rendering commands.
An engine object represents the MyScript runtime environment. In iink SDK, it takes care of the recognition process and allows you to instantiate other important objects such as packages, editors and renderers.
The exchange format (
jiix extension) is a JSON representation of an Interactive Ink model and can be used to exchange information between iink SDK, the
host application or at a wider scale. Readable and parseable, it is meant as a transitory step to support custom import and export capabilities.
See the JIIX format reference for more information.
A gesture corresponds to a sequence of one or several strokes that the engine will interpret as an intention to edit or decorate content. For example, scratching an ink or typeset word can be interpreted as an erasure, underlining another word as a way to decorate it to give it a particular semantic.
A glyph is a graphic symbol that provides the look or shape for a character, i.e. its visual representation. The MyScript engine examines glyphs and tries to determine, by its shape, loops, size, etc, which digital character they best match. Some glyphs are more alike than others and so the engine will choose the most likely match.
In the MyScript ecosystem, the ink item denomination encompasses the wide range of elements that can be manipulated by the model, whether they correspond to raw/processed digital ink or typeset content.
Inking specifically refers to the rendering of ink strokes. It can be obtained by different rendering technologies and algorithms and is usually based on stroke information such as individual point coordinates, associated pressure and time information, as well as styling considerations like stroke width and color.
Interactive Ink is a MyScript technology that relies on interpretation of digital ink to make it able to obey the same kind of manipulation rules that people have come to expect from other types of digital content, making it usable in a productive environment
Prediction is the ability for the recognition engine to suggest words that are likely to follow the one you just finished writing, so that you do not have to write them yourself.
Raw content corresponds to content which semantic structure is unknown by iink SDK, in that it was not explicitly segmented according to supported content types. For example, free notes retrieved from a digital pen&paper solution may mix text, math, doodles or any other content without explicit structure.
Interactive Ink SDK manages such content via the “Raw Content” content part and provides some analysis capabilities such as text block extraction that can let an integrator build an ink search engine.
A renderer is a software component that issues rendering commands to render content, knowing which areas of the model need to be refreshed, as well as parameters such as zoom factor or view offset.
A resource corresponds to a character or linguistic piece of knowledge that can be consumed by a MyScript engine to be able to recognize a particular type of content.
A stroke is defined as the trajectory of a finger or stylus on a surface, from the moment it touches the writing area until it is lifted again.
It is represented as a time-ordered sequence of 2D points (
y are the coordinates and
t the timestamp.
A stroker is a software component that generates the rendering of a stroke. Depending on styling options that are chosen, strokes may look different (for instance, as drawn by a bullet pen or a calligraphy brush).
A style sheet is the declarative definition of the look & feel of various ink items (typeset or not). It allows you for example to set the color of the ink or the background color to apply when an item is highlighted. Interactive Ink SDK relies on a subset of CSS with a few specificities.
A timestamp is a value that precisely identified the moment an element was captured or generated. By convention, it corresponds to the time in milliseconds elapsed since January, 1st 1970. It is particularly important in an interactive context, where it enables the engine to process the input to detect editing or decoration gestures.