Text
Lexicon
The lexicon is a list of words or expressions, that is being used by the engine to recognize a specific set of terms. You can create your own lexicon to improve the recognition. It may contain terms that are unlikely to appear in a classical dictionary but that you will be led to write many times (proper nouns like the name of your company or your employees, your password, a hashtag, etc.).
For example, a lexicon can be the following set:
Johnson
Meyer
Lopez
Gibbons
Cooper
Martin
Bailey
If needed, you can also download another lexicon example.
Subset knowledge
The Subset Knowledge resource (or SK) is a white list that works as a filter to constrain the recognition to a specific set of characters. You can create your own SK to improve the recognition and help the engine reduce the “margin of error”. The expected set can be limited to digits or to letters in a given alphabet or language.
For example: In a form field where you expect a phone number, constraining the recognition with a SK could avoid the engine to mistake a “0” for a “O” or a “1” for a “l”.
See below examples of SK resources:
0123456789
If needed, you can download another SK example.
Math
Grammar resource
The grammar resource indicates the way to parse handwritten mathematical expressions. It specifies:

a limited set of terminal symbols,
Terminal symbols are the elementary symbols. They are basic symbols such as a, b, c, …, 0, 1, …, +, , ±, etc. that cannot be broken down into “smaller” recognized units. See below the list of supported symbols. 
a limited set of nonterminal symbols,
Nonterminal symbols describe groups of terminal symbols organized according to rules. 
a limited set of rules,
Rules describe the way to parse digital ink. For instance, a fraction is a rule that contains a numerator, a fraction bar and a denominator. The recognizer expects to find these three elements to fit the fraction rule. See below the list of supported rules. 
a start symbol.
This defines the way your mathematical expression should be read depending on the above elements.
For example, a grammar resource can be:
symbol = 0 1 2 3 4 5 6 7 8 9 +  / ÷ = . , %  ( ) : * x
leftpar = (
rightpar = )
currency_symbol = $ R € ₹ £
character ::= identity(symbol)
 identity(currency_symbol)
fractionless ::= identity(character)
 fence (fractionless, leftpar, rightpar)
 hpair(fractionless, fractionless)
fractionable ::= identity(character)
 fence (fractionable, leftpar, rightpar)
 hpair(fractionable, fractionable)
 fraction(fractionless, fractionless)
expression ::= identity(character)
 fence (expression, leftpar, rightpar)
 hpair(expression, expression)
 fraction(fractionable, fractionable)
start(expression)
If needed, you can download another grammar example.
Grammar syntax
You can build your own MyScriptMathcompliant grammar resource. To do so, you must define the grammar in conformity with the syntax set out below and then compile it.
You can add comments in a grammar resource as follows:
// This is the first way to start a whole comment line.
# This is the second way to start a whole comment line.
" This is the third way to start a whole comment line.
/* This is a block comment. */
Inline comments are not supported.
Your grammar resource will contain terminal symbol definitions such as the following:
my_terminal_name = 0 1 2 3 4 5 6 7 8 9

The terminal symbol name is defined as: [azAZ_][azAZ_09]
It is a character string which starts with a character from [azAZ_] and whose other characters are any of [azAZ_09]. In the above example, the terminal symbol name ismy_terminal_name
. 
The list of symbols referred to by the terminal name are defined as: ( ( !EOL . )+  EOL space+ )+
The definition of the symbols referred to by the terminal name does not start by a EOL (end of line). They can be any existing character separated by a space or EOL and a space. In other words, the definition of the symbols is allowed to span multiple lines, providing that the “continuation line” starts with a space. This means you can format long terminal symbol definitions in a more visually organized (“prettyformatted”) manner. In the above example, the list of symbols referred to bymy_terminal_name
is0 1 2 3 4 5 6 7 8 9
. 
Space is defined as ‘ ’ or ‘\t’

EOL is defined as ‘\r\n’ or ‘\n’ or ‘\r’
You will also need to list nonterminal symbol definitions. Here is an example:
my_non_terminal_name ::= fraction(my_terminal_name,my_terminal_name)
 The nonterminal symbol name is defined as : [azAZ_][azAZ_09]
It is a character string which starts with a character from [azAZ_] and whose other characters are any of [azAZ_09]. In the above example, the nonterminal symbol name ismy_non_terminal_name
.
The nonterminal symbol is defined as: non_terminal_name ::= rule ( rule)?
In the above example, the rule is fraction
. The example specifies that the numerator is a my_terminal_name
symbol and that the denominator is also a my_terminal_name
symbol.
Rule continuations allow you to “pretty format” rule definitions by avoiding a repetition of target nonterminal symbol names.
Finally, your grammar must include the start symbol definition:
start(my_non_terminal_name)
Finally, you must define the start symbol. In the above example, we specify that the general mathematical expression form that will be recognized is my_non_terminal_name
. In other words, we expect the input digital ink to represent a fraction of digits.
Here is an example of a custom grammar:
Supported symbols
See below a nonexhaustive list of supported symbols.
It is also possible to create a custom grammar resource, by constraining the recognition for particular use cases (integral calculus, vector calculus, finite element calculus, etc.).
Type of item  Items 

Letters (Latin alphabet)  a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
Digits  0 1 2 3 4 5 6 7 8 9 
Mathematical symbols (including operators)  € $ £ ¥ ₩ ¢ ( ) < > [ ] { } ! # % & ? @ / \  ∥ © ∂∅ ∇ ∞ ℂ ℕ ℚ ℝ ℤ +  ± × ÷ * ∘ · = ‘ , . : ; _ ← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙⇐ ⇑ ⇒ ⇓ ⇔ ⇕ ∀ ∃ ∄ ∈ ∉ ∋ ∌ ∪ ∩ ⊂ ⊃ ⊄ ⊅ ∼ ≃ ≈ ≠ ≡ ≢ ≤ ≥ ≪ ≫ ∝ ∠ ∏ ∑ ∫ ∫∫ ∫∫∫ ∮ ∯ ∰ ∧ √l ⊕ ⊗ ⊖ ⊙ ¬Ψℑℜℓ↼⇀↽⇁⇋⇌∐∦≄≅≆≇≉≮≯≰≱⋉⋊⋮⌈⌉ ⌊⌋□ △ ⟦ ⟧ ⦞ 𝔻 ⫻ 
Greek symbols frequently used in mathematics  Γ Δ Ω α β γ δ ε η θ λ ν π ρ σ τ φ χ ψ ω ϕ µ 
Mathematical terms  sin cos tan sinh cosh tanh arcsin arccos arctan cot coth min max arg argmin argmax inf sup lim liminf limsup ln log dx dy dz dt 
International convention units (weight, length, frequency, luminosity, dosage, pressure, etc.)  km hm dam dm cm mm µm ha hl dal dl cl ml µl kg hg dag dg cg mg µg ms µs GHz MHz kHz Hz 
Supported rules
Each grammar sets out a number of production rules for equations, namely:
Type of rule  Written example  LaTeX result 

Horizontal pair  
Fence  
Square root  
Fraction  
Subscript  
Superscript  
Subsuperscript  
Presuperscript  
Overscript  
Underscript  
Underoverscript 
Type of rule  Written example  LaTeX result 

Vertical pair  
Vertical list  
Columnar operations  
Matrix 
There are many more possibilities, such as:
 vectors,
 equations for trigonometry,
 geometry,
 exponentiality in the variables.
For example, variables of a fraction can also have subscript or superscript, partial fractions. The above examples show the basic sets of mathematical elements that are recognizable.