# Configuration

Interactive Ink SDK is a flexible toolkit, and its default configuration can be adjusted to meet different needs. This page lists available options, their default values and usage.

The configuration is to be sent with the configuration message.

## General

For the sake of clarity path of parameter are given. For example recognitionParams.type key match following entry in the configuration :

const configuration = {
recognitionParams: {
type: '...'
}
}

### Content type compatibility

Interactive Ink using WebSocket protocol supports MATH and TEXT recognition.

### General iink parameters

Key Type Default value Description
export.graphml.flavor string yed Defines the flavor you want for GraphML export: possible values are standard and yed. The latter is recommanded if you want to edit exported GraphML into yEd. The yEd flavor is also more expressive and thus truthful.
export.image-resolution number 96 Resolution of the images that are exported, in dpi.
export.image-max-size number 4096 Maximum width and height of exported images.
export.image.guides boolean false If true, show guides in the exported images.
export.image.viewport.x number none The x-coordinate, in pixels, of the viewport origin to be used for the image export.
export.image.viewport.y number none The y-coordinate, in pixels, of the viewport origin to be used for the image export.
export.image.viewport.width number none The width, in pixels, of the viewport to be used for the image export.
export.image.viewport.height number none The height, in pixels, of the viewport to be used for the image export
export.jiix.bounding-box boolean false If true, JIIX export will contain the bounding boxes of exported items.
export.jiix.strokes boolean true If true, JIIX export will include the detailed ink information.
export.jiix.style boolean false If true, JIIX export will include the styling information.
export.jiix.text.chars boolean false If true, JIIX export will include the detailed characters information.
export.jiix.text.words boolean true If true, JIIX export will include the detailed words information.
export.mathml.flavor string standard Defines the flavor you want for MathML export: possible values are standard and ms-office. The latter is recommanded if you want to use exported MathML into Microsoft Office suite.
lang string en_US Defines the language used in the editor.
alwaysConnected boolean true Prevents the WebSocket session to be reinitialized every 5 minutes.
renderer.debug.draw-image-boxes boolean false If true, displays the bounding of the images.
renderer.debug.draw-text-boxes boolean false If true, displays the bounding of the words (for text) or characters (for math).
gesture.enable boolean true If true, iink SDK will attempt to detect gestures while writing.

### Text

Key Type Default value Description
text.margin.bottom number 10 Margin from the bottom of the part to the bottom of the text bounding box (used for reflow).
text.margin.left number 15 Margin from the left of the part to the left of the text bounding box (used for reflow).
text.margin.right number 15 Margin from the right of the part to the right of the text bounding box (used for reflow).
text.margin.top number 10 Margin from the top of the part to the top of the text bounding box (used for reflow).
text.configuration.customResources array of strings [] Name of the custom resources uploaded in the developer space to use. See the custom recognition reference documentation
text.configuration.customLexicon array of strings [] List of custom words to be added to the recognition capabilities. See more about the lexicon.
text.configuration.addLKText boolean true Choice to add to the configured custom resources, words in the lexicon of the current language. Note that, if set to false, only one word will be recognized from the inks you send.

### Math

Key Type Default value Description
math.margin.bottom number 10 Margin from the bottom of the part to the top of the math expression bounding box (used for conversion operations)
math.margin.left number 15 Margin from the left of the part to the left of the math expression bounding box (used for conversion operations)
math.margin.right number 15 Margin from the right of the part to the right of the math expression bounding box (used for conversion operations)
math.margin.top number 10 Margin from the top of the part to the top of the math expression bounding box (used for conversion operations)
math.solver.angle-unit string deg Unit of the angle computation in the solver: It must be either deg (degrees) or rad (radians)
math.solver.decimal-separator string . The decimal separator symbol (usually . or ,).
math.solver.enable boolean true If true, displays solver result upon conversion.
math.solver.fractional-part-digits number 3 The number of decimals to display in solver computation result.
math.solver.rounding-mode string half up Rounding method used display solver results: It must be either half up or truncate.
math.solver.fraction-mode string decimal The way solver results shall be displayed: decimal (e.g. “1.5”), rational (e.g. “3/2”) or mixed (e.g. “1½”).
math.solver.options string algebraic Use numeric to let the solver potentially modify the structure of the expression to obtain something computable. Use algebraic to preserve the structure of the input in any case.
math.customGrammarId string undefined Name of the custom grammar uploaded in the developer space to use. See the custom recognition documentation.
math.customGrammarContent string undefined Custom math grammar text. See the reference documentation to know how to build your custom grammar.
math.undo-redo.mode string stroke Undo/redo mode: default value is stroke mode, but it is possible to modify it to session.