[{"data":1,"prerenderedAt":2828},["ShallowReactive",2],{"navigation":3,"docs-sdk-4.4-interactivity-storage":498,"nav-sdk44":2566,"support-index":2759},[4],{"title":5,"path":6,"stem":7,"children":8,"page":40},"Docs","\u002Fdocs","docs",[9,242,320],{"title":10,"path":11,"stem":12,"children":13,"page":40},"Cloud","\u002Fdocs\u002Fcloud","docs\u002Fcloud",[14],{"title":15,"path":16,"stem":17,"children":18,"page":40},"4.5","\u002Fdocs\u002Fcloud\u002F4.5","docs\u002Fcloud\u002F4.5",[19,41,54,79,100,147,172,196,209,234],{"title":20,"path":21,"stem":22,"children":23,"page":40},"Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview","docs\u002Fcloud\u002F4.5\u002F01.overview",[24,28,32,36],{"title":25,"path":26,"stem":27},"MyScript iink SDK for web-based platform","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fintroduction","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F01.introduction",{"title":29,"path":30,"stem":31},"Choosing between REST or WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fhttp-rest-or-websocket","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F02.http-rest-or-websocket",{"title":33,"path":34,"stem":35},"What's new","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fchangelog","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F03.changelog",{"title":37,"path":38,"stem":39},"Migration guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fmigration-guide","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F04.migration-guide",false,{"title":42,"path":43,"stem":44,"children":45,"page":40},"Integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration","docs\u002Fcloud\u002F4.5\u002F02.integration",[46,50],{"title":47,"path":48,"stem":49},"Supported platforms","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F01.platforms",{"title":51,"path":52,"stem":53},"Integration levels","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F02.integration-levels",{"title":55,"path":56,"stem":57,"children":58,"page":40},"Recognition capabilities","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities",[59,63,67,71,75],{"title":60,"path":61,"stem":62},"Recognizers","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F01.recognizers",{"title":64,"path":65,"stem":66},"Text languages and features","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F02.text-languages",{"title":68,"path":69,"stem":70},"Math elements and rules","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":73,"stem":74},"Shapes and connectors","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":77,"stem":78},"Gestures","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F05.gestures",{"title":80,"path":81,"stem":82,"children":83,"page":40},"Interactivity integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration",[84,88,92,96],{"title":85,"path":86,"stem":87},"Content types","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F01.content-types",{"title":89,"path":90,"stem":91},"Interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F02.interactive-features",{"title":93,"path":94,"stem":95},"Import and export formats","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F03.import-and-export-formats",{"title":97,"path":98,"stem":99},"Math interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fmath-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F04.math-features",{"title":101,"path":102,"stem":103,"children":104,"page":40},"iinkTS","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts",[105,109,113,121,138],{"title":106,"path":107,"stem":108},"Getting started","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fget-started","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F01.get-started",{"title":110,"path":111,"stem":112},"Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fcanvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F02.canvas",{"title":114,"path":115,"stem":116,"children":117,"page":40},"Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas",[118],{"title":114,"path":119,"stem":120},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas\u002F01.ink-canvas",{"title":122,"path":123,"stem":124,"children":125,"page":40},"Interactive Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas",[126,130,134],{"title":127,"path":128,"stem":129},"Interactive ink canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F01.interactive-ink-canvas",{"title":131,"path":132,"stem":133},"Interactive Math","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-math","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F02.iicanvas-math",{"title":135,"path":136,"stem":137},"Using a custom rendering","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-other-rendering","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F03.iicanvas-other-rendering",{"title":139,"path":140,"stem":141,"children":142,"page":40},"Reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference",[143],{"title":144,"path":145,"stem":146},"Configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference\u002Fconfiguration-iinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference\u002F01.configuration-iinkts",{"title":148,"path":149,"stem":150,"children":151,"page":40},"REST","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest","docs\u002Fcloud\u002F4.5\u002F06.rest",[152,156,160,164,168],{"title":153,"path":154,"stem":155},"MyScript iink SDK Web REST Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F01.architecture",{"title":157,"path":158,"stem":159},"MyScript iink SDK Web REST Recognizer API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fnew-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F02.new-api",{"title":161,"path":162,"stem":163},"Recognizer configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-recognizer-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F03.configuration-recognizer-rest",{"title":165,"path":166,"stem":167},"MyScript iink SDK Web REST Batch API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Flegacy-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F04.legacy-api",{"title":169,"path":170,"stem":171},"Batch configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F05.configuration-rest",{"title":173,"path":174,"stem":175,"children":176,"page":40},"WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets","docs\u002Fcloud\u002F4.5\u002F07.websockets",[177,181,185,189,193],{"title":178,"path":179,"stem":180},"MyScript iink SDK WebSockets API architecture","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F01.architecture",{"title":182,"path":183,"stem":184},"Offscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F02.messages-offscreen",{"title":186,"path":187,"stem":188},"Offscreen interactivity math messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmath-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F03.math-offscreen",{"title":190,"path":191,"stem":192},"Onscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-onscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F04.messages-onscreen",{"title":144,"path":194,"stem":195},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fconfiguration-ws","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F05.configuration-ws",{"title":197,"path":198,"stem":199,"children":200,"page":40},"Specific","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific","docs\u002Fcloud\u002F4.5\u002F08.specific",[201,205],{"title":202,"path":203,"stem":204},"Text recognition candidates","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Ftext-recognition-candidates","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F01.text-recognition-candidates",{"title":206,"path":207,"stem":208},"Recognition resources","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Fcustom-recognition","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F02.custom-recognition",{"title":210,"path":211,"stem":212,"children":213,"page":40},"Server","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver","docs\u002Fcloud\u002F4.5\u002F09.server",[214,218,222,226,230],{"title":215,"path":216,"stem":217},"MyScript Server Installation Preamble and Prerequisites","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fpreamble-prerequisites","docs\u002Fcloud\u002F4.5\u002F09.server\u002F01.preamble-prerequisites",{"title":219,"path":220,"stem":221},"MyScript Server Monoserver Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fmonoserver-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F02.monoserver-installation",{"title":223,"path":224,"stem":225},"MyScript Server Production Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fproduction-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F03.production-installation",{"title":227,"path":228,"stem":229},"MyScript Server Migration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fserver-migration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F04.server-migration-guide",{"title":231,"path":232,"stem":233},"MyScript Server Administration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fadministration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F05.administration-guide",{"title":139,"path":235,"stem":236,"children":237,"page":40},"\u002Fdocs\u002Fcloud\u002F4.5\u002Freference","docs\u002Fcloud\u002F4.5\u002F10.reference",[238],{"title":239,"path":240,"stem":241},"JIIX format reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Freference\u002Fjiix","docs\u002Fcloud\u002F4.5\u002F10.reference\u002F01.jiix",{"title":243,"path":244,"stem":245,"children":246,"page":40},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002Fconcepts",[247,250,254],{"title":20,"path":248,"stem":249},"\u002Fdocs\u002Fconcepts\u002Foverview","docs\u002Fconcepts\u002F01.overview",{"title":251,"path":252,"stem":253},"Glossary","\u002Fdocs\u002Fconcepts\u002Fglossary","docs\u002Fconcepts\u002F02.glossary",{"title":255,"path":256,"stem":257,"children":258,"page":40},"Fundamentals","\u002Fdocs\u002Fconcepts\u002Ffundamentals","docs\u002Fconcepts\u002F03.fundamentals",[259,263,292,312],{"title":260,"path":261,"stem":262},"OCR vs digital ink recognition","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fdigital-ink-vs-ocr","docs\u002Fconcepts\u002F03.fundamentals\u002F01.digital-ink-vs-ocr",{"title":264,"path":265,"stem":266,"children":267,"page":40},"Ink interpretation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation",[268,272,276,280,284,288],{"title":269,"path":270,"stem":271},"Ink processing","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F01.ink-interpretation",{"title":273,"path":274,"stem":275},"Recognition features","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontent-types","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F02.content-types",{"title":277,"path":278,"stem":279},"Ink classification","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-classification","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F03.ink-classification",{"title":281,"path":282,"stem":283},"What are batch mode and incremental mode?","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fbatch-mode","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F04.batch-mode",{"title":285,"path":286,"stem":287},"Gestures and context","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontext-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F05.context-gestures",{"title":289,"path":290,"stem":291},"What is interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Finteractive-ink","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F06.interactive-ink",{"title":293,"path":294,"stem":295,"children":296,"page":40},"Rendering-driven interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity",[297,301,304,308],{"title":298,"path":299,"stem":300},"Ink capture","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fink-capture","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F01.ink-capture",{"title":76,"path":302,"stem":303},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fediting-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F02.editing-gestures",{"title":305,"path":306,"stem":307},"Smart tools","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fsmart-tools","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F03.smart-tools",{"title":309,"path":310,"stem":311},"Responsive and productive","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fresponsive-layout","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F04.responsive-layout",{"title":313,"path":314,"stem":315,"children":316,"page":40},"Handwriting generation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation",[317],{"title":313,"path":318,"stem":319},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation\u002F01.handwriting-generation",{"title":321,"path":322,"stem":323,"children":324,"page":40},"Sdk","\u002Fdocs\u002Fsdk","docs\u002Fsdk",[325],{"title":15,"path":326,"stem":327,"children":328,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5","docs\u002Fsdk\u002F4.5",[329,333,336,339,349,368,381,393,401,417,426,463,467,470,474,477,484],{"title":330,"path":331,"stem":332},"About MyScript iink SDK","\u002Fdocs\u002Fsdk\u002F4.5\u002Fabout","docs\u002Fsdk\u002F4.5\u002F01.about",{"title":33,"path":334,"stem":335},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fchangelog","docs\u002Fsdk\u002F4.5\u002F02.changelog",{"title":37,"path":337,"stem":338},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fmigration-guide","docs\u002Fsdk\u002F4.5\u002F03.migration-guide",{"title":42,"path":340,"stem":341,"children":342,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration","docs\u002Fsdk\u002F4.5\u002F04.integration",[343,346],{"title":47,"path":344,"stem":345},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F01.platforms",{"title":51,"path":347,"stem":348},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F02.integration-levels",{"title":55,"path":350,"stem":351,"children":352,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities",[353,356,359,362,365],{"title":60,"path":354,"stem":355},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F01.recognizers",{"title":64,"path":357,"stem":358},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F02.text-languages",{"title":68,"path":360,"stem":361},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":363,"stem":364},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":366,"stem":367},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F05.gestures",{"title":80,"path":369,"stem":370,"children":371,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration",[372,375,378],{"title":85,"path":373,"stem":374},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F01.content-types",{"title":89,"path":376,"stem":377},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F02.interactive-features",{"title":93,"path":379,"stem":380},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F03.import-and-export-formats",{"title":106,"path":382,"stem":383,"children":384,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started","docs\u002Fsdk\u002F4.5\u002F07.getting-started",[385,389],{"title":386,"path":387,"stem":388},"Setup","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Fsetup","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F01.setup",{"title":390,"path":391,"stem":392},"Instantiate Engine","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Finteractive-ink-runtime","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F02.interactive-ink-runtime",{"title":394,"path":395,"stem":396,"children":397,"page":40},"Recognizer","\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer","docs\u002Fsdk\u002F4.5\u002F08.recognizer",[398],{"title":60,"path":399,"stem":400},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F08.recognizer\u002F01.recognizers",{"title":402,"path":403,"stem":404,"children":405,"page":40},"Interactivity specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity","docs\u002Fsdk\u002F4.5\u002F09.interactivity",[406,410,413],{"title":407,"path":408,"stem":409},"Storage","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fstorage","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F01.storage",{"title":97,"path":411,"stem":412},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fmath-features","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F02.math-features",{"title":414,"path":415,"stem":416},"Integrate with the undo\u002Fredo stack of your application","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fcombined-undo-redo-stacks","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F03.combined-undo-redo-stacks",{"title":418,"path":419,"stem":420,"children":421,"page":40},"OffScreenEditor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor",[422],{"title":423,"path":424,"stem":425},"OffscreenEditor","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor\u002Foff-screen-usage","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor\u002F01.off-screen-usage",{"title":427,"path":428,"stem":429,"children":430,"page":40},"Editor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor","docs\u002Fsdk\u002F4.5\u002F11.editor",[431,435,439,443,447,451,455,459],{"title":432,"path":433,"stem":434},"Rendering","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Frendering","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F01.rendering",{"title":436,"path":437,"stem":438},"Editing","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fediting","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F02.editing",{"title":440,"path":441,"stem":442},"Tool controller","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Ftool-controller","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F03.tool-controller",{"title":444,"path":445,"stem":446},"Selection and block","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fblock-selection-management","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F04.block-selection-management",{"title":448,"path":449,"stem":450},"Conversion","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fconversion","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F05.conversion",{"title":452,"path":453,"stem":454},"Zooming and scrolling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fzooming-and-scrolling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F06.zooming-and-scrolling",{"title":456,"path":457,"stem":458},"Styling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F07.styling",{"title":460,"path":461,"stem":462},"Custom inking","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fcustom-inking","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F08.custom-inking",{"title":464,"path":465,"stem":466},"Result, import and export","\u002Fdocs\u002Fsdk\u002F4.5\u002Fimport-and-export","docs\u002Fsdk\u002F4.5\u002F12.import-and-export",{"title":202,"path":468,"stem":469},"\u002Fdocs\u002Fsdk\u002F4.5\u002Ftext-recognition-candidates","docs\u002Fsdk\u002F4.5\u002F13.text-recognition-candidates",{"title":471,"path":472,"stem":473},"Error management","\u002Fdocs\u002Fsdk\u002F4.5\u002Ferror-management","docs\u002Fsdk\u002F4.5\u002F14.error-management",{"title":206,"path":475,"stem":476},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fcustom-recognition","docs\u002Fsdk\u002F4.5\u002F15.custom-recognition",{"title":313,"path":478,"stem":479,"children":480,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation",[481],{"title":313,"path":482,"stem":483},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation\u002F01.handwriting-generation",{"title":139,"path":485,"stem":486,"children":487,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference","docs\u002Fsdk\u002F4.5\u002F17.reference",[488,491,494],{"title":144,"path":489,"stem":490},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fconfiguration","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F01.configuration",{"title":239,"path":492,"stem":493},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fjiix","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F02.jiix",{"title":495,"path":496,"stem":497},"Styling reference","\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F03.styling",{"path":499,"page":500},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity\u002Fstorage",{"id":501,"title":407,"body":502,"canonicalPath":408,"description":2556,"extension":2557,"icon":2558,"meta":2559,"navTitle":2560,"navigation":1029,"path":499,"resolveKey":2561,"resolveVersion":2562,"seo":2563,"stem":2564,"__hash__":2565},"sdk44\u002Fdocs\u002Fsdk\u002F4.4\u002F09.interactivity\u002F02.storage.md",{"type":503,"value":504,"toc":2539},"minimark",[505,509,514,517,666,678,723,726,743,747,750,759,764,775,787,795,799,978,981,1295,1299,1405,1408,1416,1425,1429,1474,1478,1481,1485,1536,1578,1590,1594,1632,1636,1667,1685,2205,2209,2270,2513,2535],[506,507,508],"p",{},"This page explains how iink SDK lets you organize the data it works on, store content and load it again later.",[510,511,513],"h2",{"id":512},"structure-of-the-model","Structure of the model",[506,515,516],{},"MyScript iink SDK stores content using the following structures:",[518,519,520,577,608,638],"partial",{},[521,522,524],"template",{"v-slot:swift":523},"",[525,526,527,550],"ul",{},[528,529,530,534,535,539,540,543,544,549],"li",{},[531,532,533],"code",{},"IINKContentPackage"," - A ",[536,537,538],"strong",{},"Package"," is a container storing ink and its interpretation as an ordered collection of ",[536,541,542],{},"parts",". It can be\n",[545,546,548],"a",{"href":547},"#saving-packages","saved"," as a file on the file system and later reloaded or shared between users.",[528,551,552,534,555,558,559,563,564,567,568,572,573,576],{},[531,553,554],{},"IINKContentPart",[536,556,557],{},"part"," corresponds to a ",[560,561,562],"em",{},"standalone"," content unit that can be processed by iink SDK.\nEach part has ",[536,565,566],{},"a specific type",", corresponding to the type of its ",[545,569,571],{"href":570},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Fblock-selection-management","root block",", that can be retrieved via its ",[531,574,575],{},"type"," property.",[521,578,579],{"v-slot:csharp":523},[525,580,581,592],{},[528,582,583,534,586,539,588,543,590,549],{},[531,584,585],{},"ContentPackage",[536,587,538],{},[536,589,542],{},[545,591,548],{"href":547},[528,593,594,534,597,558,599,563,601,567,603,572,605,576],{},[531,595,596],{},"ContentPart",[536,598,557],{},[560,600,562],{},[536,602,566],{},[545,604,571],{"href":570},[531,606,607],{},"Type",[521,609,610],{"v-slot:java":523},[525,611,612,622],{},[528,613,614,534,616,539,618,543,620,549],{},[531,615,585],{},[536,617,538],{},[536,619,542],{},[545,621,548],{"href":547},[528,623,624,534,626,558,628,563,630,567,632,572,634,637],{},[531,625,596],{},[536,627,557],{},[560,629,562],{},[536,631,566],{},[545,633,571],{"href":570},[531,635,636],{},"getType()"," method.",[521,639,640],{"v-slot:cpp":523},[525,641,642,652],{},[528,643,644,534,646,539,648,543,650,549],{},[531,645,585],{},[536,647,538],{},[536,649,542],{},[545,651,548],{"href":547},[528,653,654,534,656,558,658,563,660,567,662,572,664,637],{},[531,655,596],{},[536,657,557],{},[560,659,562],{},[536,661,566],{},[545,663,571],{"href":570},[531,665,636],{},[667,668,670],"callout",{"color":669},"secondary",[506,671,672,673,677],{},"The complete list of supported part types can be found ",[545,674,676],{"href":675},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity-integration\u002Fcontent-types","here",".",[518,679,680,692,703,715],{},[521,681,682],{"v-slot:swift":523},[506,683,684,685,688,689,691],{},"It is possible to get the number of parts of a given package via its ",[531,686,687],{},"partCount"," property and access an individual part by calling ",[531,690,557],{}," and pass it\nthe 0-based index of the part to load.",[521,693,694],{"v-slot:csharp":523},[506,695,684,696,688,699,702],{},[531,697,698],{},"PartCount",[531,700,701],{},"GetPart()"," and pass it the\n0-based index of the part to load.",[521,704,705],{"v-slot:java":523},[506,706,707,708,711,712,702],{},"It is possible to get the number of parts of a given package by calling ",[531,709,710],{},"getPartCount()"," and access an individual part by calling ",[531,713,714],{},"getPart()",[521,716,717],{"v-slot:cpp":523},[506,718,707,719,711,721,702],{},[531,720,710],{},[531,722,714],{},[506,724,725],{},"Parts host the data iink SDK works on. As a result, it is required to use them even if you do not intend to persist data on the disk as part of your\napplication workflow.",[667,727,728],{"color":669},[506,729,730,731,734,735,738,739,742],{},"Although a content part sometimes hosts a single ",[545,732,733],{"href":570},"content block",", both concepts are not equivalent. A part corresponds to a\n",[560,736,737],{},"serialization"," unit, while a block corresponds to a ",[560,740,741],{},"semantic"," unit that can be manipulated.",[510,744,746],{"id":745},"working-with-packages","Working with packages",[506,748,749],{},"MyScript iink SDK uses the file system to limit the amount of RAM that is required at a given point in time, as well as to store temporary files.\nIt also provides serialization\u002Fdeserialization methods to let application save\u002Fload MyScript data, either for persistence needs or to exchange it between\nusers.",[667,751,752],{"color":669},[506,753,754,755,677],{},"MyScript iink SDK serialization format is optimized for speed and compactness, but is not easily readable. If you want to parse the content\nof the interactive model, refer to the ",[545,756,758],{"href":757},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fimport-and-export","import\u002Fexport section",[760,761,763],"h3",{"id":762},"temporary-folder","Temporary folder",[506,765,766,767,770,771,774],{},"Even if you do not intend to explicitly ",[545,768,769],{"href":547},"save"," any content, MyScript iink SDK requires a read\u002Fwrite access to at least one folder on the\nfile system: the ",[536,772,773],{},"temporary folder",", where it will output the intermediate files it is working on.",[506,776,777,778,782,783,786],{},"By default, iink SDK uses the folder where the package file is located. It may however be relevant (and even mandatory on certain platforms) to choose\nanother folder. This can be achieved by ",[545,779,781],{"href":780},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fgetting-started\u002Finteractive-ink-runtime#reading-and-writing-configuration-parameters","setting the value"," of ",[531,784,785],{},"content-package.temp-folder"," in the configuration of the engine.",[667,788,789],{"color":669},[506,790,791,792,794],{},"If it does not exist, the folder will be created if you ",[545,793,769],{"href":547}," the corresponding package.\nIt may also be automatically created by iink SDK in case it has a need to reduce its memory usage or when handling some particular objects such as\nimages.",[760,796,798],{"id":797},"creating-and-loading-packages","Creating and loading packages",[518,800,801,849,889,936],{},[521,802,803,810,836],{"v-slot:swift":523},[506,804,805,806,809],{},"To create or open packages, use the ",[531,807,808],{},"openPackage:openOption:error:"," method. It comes with different possible options:",[525,811,812,818,824,830],{},[528,813,814,817],{},[531,815,816],{},"IINKPackageOpenOptionExisting"," to open an existing package and fail if it does not exist (default behavior).",[528,819,820,823],{},[531,821,822],{},"IINKPackageOpenOptionCreate"," to open an existing package or create it if it does not exist.",[528,825,826,829],{},[531,827,828],{},"IINKPackageOpenOptionCreateNew"," to ensure to create and open a package that did not previously exist.",[528,831,832,835],{},[531,833,834],{},"IINKPackageOpenOptionTruncateExisting"," to create and open a new package, overwriting any pre-existing package at the same location.",[506,837,838,839,842,843,845,846,848],{},"To create a new package, you can alternatively call the ",[531,840,841],{},"createPackage:error:"," convenience method, which is equivalent to call\n",[531,844,808],{}," with the ",[531,847,828],{}," option.",[521,850,851,856,878],{"v-slot:csharp":523},[506,852,805,853,809],{},[531,854,855],{},"OpenPackage()",[525,857,858,863,868,873],{},[528,859,860,817],{},[531,861,862],{},"EXISTING",[528,864,865,823],{},[531,866,867],{},"CREATE",[528,869,870,829],{},[531,871,872],{},"CREATE_NEW",[528,874,875,835],{},[531,876,877],{},"TRUNCATE_EXISTING",[506,879,838,880,883,884,886,887,848],{},[531,881,882],{},"CreatePackage()"," convenience method, which is equivalent to call ",[531,885,855],{}," with the\n",[531,888,872],{},[521,890,891,896,914,923],{"v-slot:java":523},[506,892,805,893,809],{},[531,894,895],{},"openPackage()",[525,897,898,902,906,910],{},[528,899,900,817],{},[531,901,862],{},[528,903,904,823],{},[531,905,867],{},[528,907,908,829],{},[531,909,872],{},[528,911,912,835],{},[531,913,877],{},[506,915,838,916,883,919,886,921,848],{},[531,917,918],{},"createPackage()",[531,920,895],{},[531,922,872],{},[518,924,925],{},[521,926,927],{"v-slot:cpp":523},[667,928,929],{"color":669},[506,930,931,932,935],{},"An alternative naming for package open options was defined for integrators using the iink C++ API in conjunction with the win32\nAPI. Please refer to ",[531,933,934],{},"Engine.h"," for more information.",[521,937,938,942,960,968],{"v-slot:cpp":523},[506,939,805,940,809],{},[531,941,895],{},[525,943,944,948,952,956],{},[528,945,946,817],{},[531,947,862],{},[528,949,950,823],{},[531,951,867],{},[528,953,954,829],{},[531,955,872],{},[528,957,958,835],{},[531,959,877],{},[506,961,838,962,883,964,886,966,848],{},[531,963,918],{},[531,965,895],{},[531,967,872],{},[518,969,970],{},[521,971,972],{"v-slot:cpp":523},[667,973,974],{"color":669},[506,975,931,976,935],{},[531,977,934],{},[506,979,980],{},"Both methods take as their first parameter the name of the file corresponding to the package on the file system.",[518,982,983,1093,1164,1228],{},[521,984,985],{"v-slot:java":523},[986,987,991],"pre",{"className":988,"code":989,"language":990,"meta":523,"style":523},"language-java shiki shiki-themes blue-hacker-light blue-hacker-light blue-hacker-dark","import com.myscript.iink.ContentPackage;\n\n\u002F\u002F Create a new package\nContentPackage contentPackage = engine.createPackage(newContentPackageFile);\n\n\u002F\u002F Load an existing package\nContentPackage existingPackage = engine.openPackage(existingContentPackageFile);\n","java",[531,992,993,1024,1031,1038,1062,1067,1073],{"__ignoreMap":523},[994,995,998,1002,1006,1009,1012,1014,1017,1019,1021],"span",{"class":996,"line":997},"line",1,[994,999,1001],{"class":1000},"sU2JI","import",[994,1003,1005],{"class":1004},"sglaT"," com",[994,1007,677],{"class":1008},"soFc9",[994,1010,1011],{"class":1004},"myscript",[994,1013,677],{"class":1008},[994,1015,1016],{"class":1004},"iink",[994,1018,677],{"class":1008},[994,1020,585],{"class":1004},[994,1022,1023],{"class":1008},";\n",[994,1025,1027],{"class":996,"line":1026},2,[994,1028,1030],{"emptyLinePlaceholder":1029},true,"\n",[994,1032,1034],{"class":996,"line":1033},3,[994,1035,1037],{"class":1036},"sJjcI","\u002F\u002F Create a new package\n",[994,1039,1041,1043,1047,1050,1053,1056,1059],{"class":996,"line":1040},4,[994,1042,585],{"class":1004},[994,1044,1046],{"class":1045},"sEQEB"," contentPackage ",[994,1048,1049],{"class":1004},"=",[994,1051,1052],{"class":1045}," engine",[994,1054,1055],{"class":1008},".createPackage(",[994,1057,1058],{"class":1045},"newContentPackageFile",[994,1060,1061],{"class":1008},");\n",[994,1063,1065],{"class":996,"line":1064},5,[994,1066,1030],{"emptyLinePlaceholder":1029},[994,1068,1070],{"class":996,"line":1069},6,[994,1071,1072],{"class":1036},"\u002F\u002F Load an existing package\n",[994,1074,1076,1078,1081,1083,1085,1088,1091],{"class":996,"line":1075},7,[994,1077,585],{"class":1004},[994,1079,1080],{"class":1045}," existingPackage ",[994,1082,1049],{"class":1004},[994,1084,1052],{"class":1045},[994,1086,1087],{"class":1008},".openPackage(",[994,1089,1090],{"class":1045},"existingContentPackageFile",[994,1092,1061],{"class":1008},[521,1094,1095],{"v-slot:swift":523},[986,1096,1100],{"className":1097,"code":1098,"language":1099,"meta":523,"style":523},"language-swift shiki shiki-themes blue-hacker-light blue-hacker-light blue-hacker-dark","\u002F\u002F Create a new package\nvar newPackage = engine.createPackage(\"newPackage.iink\")\n\n\u002F\u002F Load an existing package\nvar existingPackage = engine.openPackage(\"existingPackage.iink\")\n","swift",[531,1101,1102,1106,1134,1138,1142],{"__ignoreMap":523},[994,1103,1104],{"class":996,"line":997},[994,1105,1037],{"class":1036},[994,1107,1108,1111,1114,1116,1119,1122,1125,1129,1131],{"class":996,"line":1026},[994,1109,1110],{"class":1000},"var",[994,1112,1113],{"class":1045}," newPackage ",[994,1115,1049],{"class":1004},[994,1117,1118],{"class":1045}," engine.",[994,1120,1121],{"class":1008},"createPackage(",[994,1123,1124],{"class":1008},"\"",[994,1126,1128],{"class":1127},"sZBTK","newPackage.iink",[994,1130,1124],{"class":1008},[994,1132,1133],{"class":1008},")\n",[994,1135,1136],{"class":996,"line":1033},[994,1137,1030],{"emptyLinePlaceholder":1029},[994,1139,1140],{"class":996,"line":1040},[994,1141,1072],{"class":1036},[994,1143,1144,1146,1148,1150,1152,1155,1157,1160,1162],{"class":996,"line":1064},[994,1145,1110],{"class":1000},[994,1147,1080],{"class":1045},[994,1149,1049],{"class":1004},[994,1151,1118],{"class":1045},[994,1153,1154],{"class":1008},"openPackage(",[994,1156,1124],{"class":1008},[994,1158,1159],{"class":1127},"existingPackage.iink",[994,1161,1124],{"class":1008},[994,1163,1133],{"class":1008},[521,1165,1166],{"v-slot:cpp":523},[986,1167,1171],{"className":1168,"code":1169,"language":1170,"meta":523,"style":523},"language-cpp shiki shiki-themes blue-hacker-light blue-hacker-light blue-hacker-dark","\u002F\u002F Create a new package\nauto newPackage = engine->createPackage(\"newPackage.iink\");\n\n\u002F\u002F Load an existing package\nauto existingPackage = engine->openPackage(\"existingPackage.iink\");\n","cpp",[531,1172,1173,1177,1199,1203,1207],{"__ignoreMap":523},[994,1174,1175],{"class":996,"line":997},[994,1176,1037],{"class":1036},[994,1178,1179,1182,1184,1186,1188,1191,1193,1195,1197],{"class":996,"line":1026},[994,1180,1181],{"class":1004},"auto",[994,1183,1113],{"class":1045},[994,1185,1049],{"class":1004},[994,1187,1052],{"class":1045},[994,1189,1190],{"class":1008},"->createPackage(",[994,1192,1124],{"class":1008},[994,1194,1128],{"class":1127},[994,1196,1124],{"class":1008},[994,1198,1061],{"class":1008},[994,1200,1201],{"class":996,"line":1033},[994,1202,1030],{"emptyLinePlaceholder":1029},[994,1204,1205],{"class":996,"line":1040},[994,1206,1072],{"class":1036},[994,1208,1209,1211,1213,1215,1217,1220,1222,1224,1226],{"class":996,"line":1064},[994,1210,1181],{"class":1004},[994,1212,1080],{"class":1045},[994,1214,1049],{"class":1004},[994,1216,1052],{"class":1045},[994,1218,1219],{"class":1008},"->openPackage(",[994,1221,1124],{"class":1008},[994,1223,1159],{"class":1127},[994,1225,1124],{"class":1008},[994,1227,1061],{"class":1008},[521,1229,1230],{"v-slot:csharp":523},[986,1231,1235],{"className":1232,"code":1233,"language":1234,"meta":523,"style":523},"language-csharp shiki shiki-themes blue-hacker-light blue-hacker-light blue-hacker-dark","\u002F\u002F Create a new package\nvar newPackage = engine.CreatePackage(\"newPackage.iink\");\n\n\u002F\u002F Load an existing package\nvar existingPackage = engine.OpenPackage(\"existingPackage.iink\");\n","csharp",[531,1236,1237,1241,1265,1269,1273],{"__ignoreMap":523},[994,1238,1239],{"class":996,"line":997},[994,1240,1037],{"class":1036},[994,1242,1243,1245,1249,1252,1254,1257,1259,1261,1263],{"class":996,"line":1026},[994,1244,1110],{"class":1004},[994,1246,1248],{"class":1247},"sVYTS"," newPackage",[994,1250,1251],{"class":1004}," =",[994,1253,1052],{"class":1045},[994,1255,1256],{"class":1008},".CreatePackage(",[994,1258,1124],{"class":1008},[994,1260,1128],{"class":1127},[994,1262,1124],{"class":1008},[994,1264,1061],{"class":1008},[994,1266,1267],{"class":996,"line":1033},[994,1268,1030],{"emptyLinePlaceholder":1029},[994,1270,1271],{"class":996,"line":1040},[994,1272,1072],{"class":1036},[994,1274,1275,1277,1280,1282,1284,1287,1289,1291,1293],{"class":996,"line":1064},[994,1276,1110],{"class":1004},[994,1278,1279],{"class":1247}," existingPackage",[994,1281,1251],{"class":1004},[994,1283,1052],{"class":1045},[994,1285,1286],{"class":1008},".OpenPackage(",[994,1288,1124],{"class":1008},[994,1290,1159],{"class":1127},[994,1292,1124],{"class":1008},[994,1294,1061],{"class":1008},[760,1296,1298],{"id":1297},"saving-packages","Saving packages",[518,1300,1301,1332,1358,1383],{},[521,1302,1303,1317,1320],{"v-slot:swift":523},[506,1304,1305,1306,1309,1310,1313,1314,1316],{},"MyScript iink SDK provides two distinct methods to save content:\n",[531,1307,1308],{},"saveWithError:"," and ",[531,1311,1312],{},"saveToTempWithError:",", both to be called on the ",[531,1315,533],{}," instance to consider.",[506,1318,1319],{},"It is important to understand the distinction between them, as they play different roles:",[525,1321,1322,1327],{},[528,1323,1324,1326],{},[531,1325,1308],{}," will serialize all data into a zip archive named after the package, whether such data is on the memory or if it was off-loaded into the\ntemporary folder. The resulting file is self-contained, and can be reloaded at a later point. Due to the compression, this method is rather slow.",[528,1328,1329,1331],{},[531,1330,1312],{}," will save the content that was loaded into the memory to the temporary folder. As it only writes the content that was in the\nmemory at a given point in time and does not require compression, calling this method is much faster. It can let iink SDK recover such data if it was\nforced to exit without saving to the compressed archive.",[521,1333,1334,1344,1346],{"v-slot:csharp":523},[506,1335,1305,1336,1309,1339,1313,1342,1316],{},[531,1337,1338],{},"Save()",[531,1340,1341],{},"SaveToTemp()",[531,1343,585],{},[506,1345,1319],{},[525,1347,1348,1353],{},[528,1349,1350,1352],{},[531,1351,1338],{}," will serialize all data into a zip archive named after the package, whether such data is on the memory or if it was off-loaded into the temporary\nfolder. The resulting file is self-contained, and can be reloaded at a later point. Due to the compression, this method is rather slow.",[528,1354,1355,1357],{},[531,1356,1341],{}," will save the content that was loaded into the memory to the temporary folder. As it only writes the content that was in the memory at a given\npoint in time and does not require compression, calling this method is much faster. It can let iink SDK recover such data if it was forced to exit without\nsaving to the compressed archive.",[521,1359,1360,1370,1372],{"v-slot:java":523},[506,1361,1305,1362,1309,1365,1313,1368,1316],{},[531,1363,1364],{},"save()",[531,1366,1367],{},"saveToTemp()",[531,1369,585],{},[506,1371,1319],{},[525,1373,1374,1378],{},[528,1375,1376,1352],{},[531,1377,1364],{},[528,1379,1380,1382],{},[531,1381,1367],{}," will save the content that was loaded into the memory to the temporary folder. As it only writes the content that was in the memory at a\ngiven point in time and does not require compression, calling this method is much faster. It can let iink SDK recover such data if it was forced to exit\nwithout saving to the compressed archive.",[521,1384,1385,1393,1395],{"v-slot:cpp":523},[506,1386,1305,1387,1309,1389,1313,1391,1316],{},[531,1388,1364],{},[531,1390,1367],{},[531,1392,585],{},[506,1394,1319],{},[525,1396,1397,1401],{},[528,1398,1399,1352],{},[531,1400,1364],{},[528,1402,1403,1382],{},[531,1404,1367],{},[506,1406,1407],{},"The following diagram explains how iink SDK manages the memory, as well as the role of the different save operations:",[506,1409,1410],{},[1411,1412],"img",{"alt":523,"height":1413,"src":1414,"width":1415},289,"\u002Fdocs\u002Fimages\u002Fsave-process.svg",892,[667,1417,1418],{"color":669},[506,1419,1420,1421,1424],{},"By default, data corresponding to a content package is stored in a folder named after this package by appending the ",[531,1422,1423],{},"-files"," suffix and\nlocated in the same folder.",[760,1426,1428],{"id":1427},"deleting-packages","Deleting packages",[518,1430,1431,1440,1453,1467],{},[521,1432,1433],{"v-slot:swift":523},[506,1434,1435,1436,1439],{},"Use the ",[531,1437,1438],{},"deletePackage:error:"," method to remove an existing package from the disk. Make sure to first release all references to this package, including\nparts you opened.",[521,1441,1442],{"v-slot:csharp":523},[506,1443,1435,1444,1447,1448,1452],{},[531,1445,1446],{},"DeletePackage()"," method to remove an existing package from the disk. Make sure ",[545,1449,1451],{"href":1450},"#objects-lifecycle","to first release all references to this package",", including parts\nyou opened.",[521,1454,1455],{"v-slot:java":523},[506,1456,1435,1457,1447,1460,1462,1463,1466],{},[531,1458,1459],{},"deletePackage()",[545,1461,1451],{"href":1450},", including parts\nyou opened by explicitly calling their respective ",[531,1464,1465],{},"close()"," methods.",[521,1468,1469],{"v-slot:cpp":523},[506,1470,1435,1471,1473],{},[531,1472,1459],{}," method to remove an existing package from the disk. Make sure to first release all references to this package, including parts\nyou opened.",[510,1475,1477],{"id":1476},"working-with-parts","Working with parts",[506,1479,1480],{},"Parts are created and manipulated from their parent package.",[760,1482,1484],{"id":1483},"creating-parts","Creating parts",[518,1486,1487,1503,1515,1526],{},[521,1488,1489],{"v-slot:swift":523},[506,1490,1491,1492,1495,1496,1499,1500,1502],{},"To create a part, call ",[531,1493,1494],{},"createPart"," on the parent package and pass it a string corresponding to the ",[545,1497,1498],{"href":675},"content type"," you want to assign\nto its ",[545,1501,571],{"href":570}," (it cannot be changed afterwards).\nPossible options are currently \"Text\", \"Math\", \"Diagram\", \"Raw Content\" or \"Text Document\" (case sensitive).",[521,1504,1505],{"v-slot:csharp":523},[506,1506,1491,1507,1495,1510,1512,1513,1502],{},[531,1508,1509],{},"CreatePart()",[545,1511,1498],{"href":675}," you want to assign to\nits ",[545,1514,571],{"href":570},[521,1516,1517],{"v-slot:java":523},[506,1518,1491,1519,1495,1522,1512,1524,1502],{},[531,1520,1521],{},"createPart()",[545,1523,1498],{"href":675},[545,1525,571],{"href":570},[521,1527,1528],{"v-slot:cpp":523},[506,1529,1491,1530,1495,1532,1512,1534,1502],{},[531,1531,1521],{},[545,1533,1498],{"href":675},[545,1535,571],{"href":570},[518,1537,1538,1551,1561,1570],{},[521,1539,1540],{"v-slot:swift":523},[506,1541,1542,1543,1546,1547,1550],{},"To copy a part from an existing package, call ",[531,1544,1545],{},"clonePart"," on the ",[536,1548,1549],{},"destination"," package (which can be the same as the origin package if you just\nwant to duplicate the part) and pass it a pointer to the part to copy.",[521,1552,1553],{"v-slot:csharp":523},[506,1554,1542,1555,1546,1558,1560],{},[531,1556,1557],{},"ClonePart()",[536,1559,1549],{}," package (which can be the same as the origin package if you just want to\nduplicate the part) and pass it a pointer to the part to copy.",[521,1562,1563],{"v-slot:java":523},[506,1564,1542,1565,1546,1568,1560],{},[531,1566,1567],{},"clonePart()",[536,1569,1549],{},[521,1571,1572],{"v-slot:cpp":523},[506,1573,1542,1574,1546,1576,1560],{},[531,1575,1567],{},[536,1577,1549],{},[506,1579,1580,1581,1584,1585,1589],{},"To ",[560,1582,1583],{},"\"move\""," a part from a package to another, first clone it into the new package and then ",[545,1586,1588],{"href":1587},"#deleting-parts","delete"," the part from the original package.",[760,1591,1593],{"id":1592},"opening-parts","Opening parts",[518,1595,1596,1606,1615,1624],{},[521,1597,1598],{"v-slot:swift":523},[506,1599,1600,1601,1603,1604,576],{},"To open a part, call ",[531,1602,557],{}," and pass in parameter its index in its parent package (indexes start at 0). The number of parts of a given package\ncan be retrieved via its ",[531,1605,687],{},[521,1607,1608],{"v-slot:csharp":523},[506,1609,1600,1610,1612,1613,576],{},[531,1611,701],{}," and pass in parameter its index in its parent package (indexes start at 0). The number of parts of a given package can be\nretrieved via its ",[531,1614,698],{},[521,1616,1617],{"v-slot:java":523},[506,1618,1600,1619,1621,1622,637],{},[531,1620,714],{}," and pass in parameter its index in its parent package (indexes start at 0). The number of parts of a given package can be\nretrieved by calling its ",[531,1623,710],{},[521,1625,1626],{"v-slot:cpp":523},[506,1627,1600,1628,1621,1630,637],{},[531,1629,714],{},[531,1631,710],{},[760,1633,1635],{"id":1634},"deleting-parts","Deleting parts",[518,1637,1638,1647,1654,1661],{},[521,1639,1640],{"v-slot:swift":523},[506,1641,1642,1643,1646],{},"To delete a part, call ",[531,1644,1645],{},"removePart"," on its parent package.",[521,1648,1649],{"v-slot:csharp":523},[506,1650,1642,1651,1646],{},[531,1652,1653],{},"RemovePart()",[521,1655,1656],{"v-slot:java":523},[506,1657,1642,1658,1646],{},[531,1659,1660],{},"removePart()",[521,1662,1663],{"v-slot:cpp":523},[506,1664,1642,1665,1646],{},[531,1666,1660],{},[518,1668,1669,1678],{},[521,1670,1671,1675],{"v-slot:java":523},[510,1672,1674],{"id":1673},"objects-lifecycle","Objects lifecycle",[506,1676,1677],{},"Before closing your application or opening a new package, make sure to first release all references to the corresponding objects.\nIf you don’t, you might encounter unexpected behavior, as native resources are still allocated.",[521,1679,1680,1683],{"v-slot:csharp":523},[510,1681,1674],{"id":1682},"objects-lifecycle-1",[506,1684,1677],{},[518,1686,1687,1984],{},[521,1688,1689,1698,1718,1725,1728,1968],{"v-slot:java":523},[667,1690,1691],{"color":669},[506,1692,1693,1694,1697],{},"This resource management must be applied to all objects implementing the ",[531,1695,1696],{},"IAutoCloseable"," interface.",[506,1699,1700,1701,1704,1705,1711,1712,1717],{},"We suggest you to handle those ",[531,1702,1703],{},"AutoCloseable"," objects with the Kotlin ",[545,1706,1710],{"href":1707,"rel":1708},"https:\u002F\u002Fkotlinlang.org\u002Fapi\u002Flatest\u002Fjvm\u002Fstdlib\u002Fkotlin\u002Fuse.html",[1709],"nofollow","Use"," function or Java ",[545,1713,1716],{"href":1714,"rel":1715},"https:\u002F\u002Fdocs.oracle.com\u002Fjavase\u002Ftutorial\u002Fessential\u002Fexceptions\u002FtryResourceClose.html",[1709],"try-with-resources"," mechanism.",[506,1719,1720,1721,1724],{},"To force the immediate release of native resources, you should also explicity call the ",[531,1722,1723],{},"close"," method of the corresponding objects. Make sure not to reference them somewhere else by setting their references to null as well.",[506,1726,1727],{},"For instance:",[518,1729,1730,1846,1848],{},[521,1731,1732],{"v-slot:java":523},[986,1733,1735],{"className":988,"code":1734,"language":990,"meta":523,"style":523},"\u002F\u002F close contentPart and set its reference to null\nif (contentPart != null)\n{\n  contentPart.close();\n  contentPart = null;\n}\n\n\u002F\u002F then close contentPackage and set its reference to null\nif (contentPackage != null)\n{\n  contentPackage.close();\n  contentPackage = null;\n}\n",[531,1736,1737,1742,1761,1766,1774,1785,1790,1794,1800,1816,1821,1829,1841],{"__ignoreMap":523},[994,1738,1739],{"class":996,"line":997},[994,1740,1741],{"class":1036},"\u002F\u002F close contentPart and set its reference to null\n",[994,1743,1744,1747,1750,1753,1756,1759],{"class":996,"line":1026},[994,1745,1746],{"class":1008},"if",[994,1748,1749],{"class":1008}," (",[994,1751,1752],{"class":1045},"contentPart ",[994,1754,1755],{"class":1004},"!=",[994,1757,1758],{"class":1000}," null",[994,1760,1133],{"class":1008},[994,1762,1763],{"class":996,"line":1033},[994,1764,1765],{"class":1008},"{\n",[994,1767,1768,1771],{"class":996,"line":1040},[994,1769,1770],{"class":1045},"  contentPart",[994,1772,1773],{"class":1008},".close();\n",[994,1775,1776,1779,1781,1783],{"class":996,"line":1064},[994,1777,1778],{"class":1045},"  contentPart ",[994,1780,1049],{"class":1004},[994,1782,1758],{"class":1000},[994,1784,1023],{"class":1008},[994,1786,1787],{"class":996,"line":1069},[994,1788,1789],{"class":1008},"}\n",[994,1791,1792],{"class":996,"line":1075},[994,1793,1030],{"emptyLinePlaceholder":1029},[994,1795,1797],{"class":996,"line":1796},8,[994,1798,1799],{"class":1036},"\u002F\u002F then close contentPackage and set its reference to null\n",[994,1801,1803,1805,1807,1810,1812,1814],{"class":996,"line":1802},9,[994,1804,1746],{"class":1008},[994,1806,1749],{"class":1008},[994,1808,1809],{"class":1045},"contentPackage ",[994,1811,1755],{"class":1004},[994,1813,1758],{"class":1000},[994,1815,1133],{"class":1008},[994,1817,1819],{"class":996,"line":1818},10,[994,1820,1765],{"class":1008},[994,1822,1824,1827],{"class":996,"line":1823},11,[994,1825,1826],{"class":1045},"  contentPackage",[994,1828,1773],{"class":1008},[994,1830,1832,1835,1837,1839],{"class":996,"line":1831},12,[994,1833,1834],{"class":1045},"  contentPackage ",[994,1836,1049],{"class":1004},[994,1838,1758],{"class":1000},[994,1840,1023],{"class":1008},[994,1842,1844],{"class":996,"line":1843},13,[994,1845,1789],{"class":1008},[521,1847],{"v-slot:cpp":523},[521,1849,1850],{"v-slot:csharp":523},[986,1851,1853],{"className":1232,"code":1852,"language":1234,"meta":523,"style":523},"if (_editor.Part != null)\n{\n  var part = _editor.Part;\n  var package = part?.Package;\n  _editor.Part = null;\n  part?.Dispose();\n  package?.Dispose();\n  package = null;\n}\n\n",[531,1854,1855,1875,1879,1899,1919,1934,1944,1953,1964],{"__ignoreMap":523},[994,1856,1857,1859,1861,1864,1866,1869,1871,1873],{"class":996,"line":997},[994,1858,1746],{"class":1008},[994,1860,1749],{"class":1008},[994,1862,1863],{"class":1045},"_editor",[994,1865,677],{"class":1008},[994,1867,1868],{"class":1045},"Part ",[994,1870,1755],{"class":1004},[994,1872,1758],{"class":1000},[994,1874,1133],{"class":1008},[994,1876,1877],{"class":996,"line":1026},[994,1878,1765],{"class":1008},[994,1880,1881,1884,1887,1889,1892,1894,1897],{"class":996,"line":1033},[994,1882,1883],{"class":1004},"  var",[994,1885,1886],{"class":1247}," part",[994,1888,1251],{"class":1004},[994,1890,1891],{"class":1045}," _editor",[994,1893,677],{"class":1008},[994,1895,1896],{"class":1045},"Part",[994,1898,1023],{"class":1008},[994,1900,1901,1903,1906,1908,1910,1913,1915,1917],{"class":996,"line":1040},[994,1902,1883],{"class":1004},[994,1904,1905],{"class":1247}," package",[994,1907,1251],{"class":1004},[994,1909,1886],{"class":1045},[994,1911,1912],{"class":1004},"?",[994,1914,677],{"class":1008},[994,1916,538],{"class":1045},[994,1918,1023],{"class":1008},[994,1920,1921,1924,1926,1928,1930,1932],{"class":996,"line":1064},[994,1922,1923],{"class":1045},"  _editor",[994,1925,677],{"class":1008},[994,1927,1868],{"class":1045},[994,1929,1049],{"class":1004},[994,1931,1758],{"class":1000},[994,1933,1023],{"class":1008},[994,1935,1936,1939,1941],{"class":996,"line":1069},[994,1937,1938],{"class":1045},"  part",[994,1940,1912],{"class":1004},[994,1942,1943],{"class":1008},".Dispose();\n",[994,1945,1946,1949,1951],{"class":996,"line":1075},[994,1947,1948],{"class":1045},"  package",[994,1950,1912],{"class":1004},[994,1952,1943],{"class":1008},[994,1954,1955,1958,1960,1962],{"class":996,"line":1796},[994,1956,1957],{"class":1045},"  package ",[994,1959,1049],{"class":1004},[994,1961,1758],{"class":1000},[994,1963,1023],{"class":1008},[994,1965,1966],{"class":996,"line":1802},[994,1967,1789],{"class":1008},[667,1969,1970],{"color":669},[506,1971,1972,1973,1977,1978,1983],{},"The ",[545,1974,1976],{"href":1975},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fgetting-started\u002Fsetup#example-applications","Demo"," also comes with a Property delegate autoClosable utility that you can use to enforce ",[545,1979,1982],{"href":1980,"rel":1981},"https:\u002F\u002Fdocs.oracle.com\u002Fjavase\u002F8\u002Fdocs\u002Fapi\u002Fjava\u002Flang\u002FAutoCloseable.html#close--",[1709],"AutoCloseable.close"," is being called when overwriting a previous value",[521,1985,1986,1993,1999,2001],{"v-slot:csharp":523},[667,1987,1988],{"color":669},[506,1989,1693,1990,1697],{},[531,1991,1992],{},"IDisposable",[506,1994,1995,1996,1724],{},"To force the immediate release of native resources, you have to explicity call the ",[531,1997,1998],{},"Dispose",[506,2000,1727],{},[518,2002,2003,2097,2099],{},[521,2004,2005],{"v-slot:java":523},[986,2006,2007],{"className":988,"code":1734,"language":990,"meta":523,"style":523},[531,2008,2009,2013,2027,2031,2037,2047,2051,2055,2059,2073,2077,2083,2093],{"__ignoreMap":523},[994,2010,2011],{"class":996,"line":997},[994,2012,1741],{"class":1036},[994,2014,2015,2017,2019,2021,2023,2025],{"class":996,"line":1026},[994,2016,1746],{"class":1008},[994,2018,1749],{"class":1008},[994,2020,1752],{"class":1045},[994,2022,1755],{"class":1004},[994,2024,1758],{"class":1000},[994,2026,1133],{"class":1008},[994,2028,2029],{"class":996,"line":1033},[994,2030,1765],{"class":1008},[994,2032,2033,2035],{"class":996,"line":1040},[994,2034,1770],{"class":1045},[994,2036,1773],{"class":1008},[994,2038,2039,2041,2043,2045],{"class":996,"line":1064},[994,2040,1778],{"class":1045},[994,2042,1049],{"class":1004},[994,2044,1758],{"class":1000},[994,2046,1023],{"class":1008},[994,2048,2049],{"class":996,"line":1069},[994,2050,1789],{"class":1008},[994,2052,2053],{"class":996,"line":1075},[994,2054,1030],{"emptyLinePlaceholder":1029},[994,2056,2057],{"class":996,"line":1796},[994,2058,1799],{"class":1036},[994,2060,2061,2063,2065,2067,2069,2071],{"class":996,"line":1802},[994,2062,1746],{"class":1008},[994,2064,1749],{"class":1008},[994,2066,1809],{"class":1045},[994,2068,1755],{"class":1004},[994,2070,1758],{"class":1000},[994,2072,1133],{"class":1008},[994,2074,2075],{"class":996,"line":1818},[994,2076,1765],{"class":1008},[994,2078,2079,2081],{"class":996,"line":1823},[994,2080,1826],{"class":1045},[994,2082,1773],{"class":1008},[994,2084,2085,2087,2089,2091],{"class":996,"line":1831},[994,2086,1834],{"class":1045},[994,2088,1049],{"class":1004},[994,2090,1758],{"class":1000},[994,2092,1023],{"class":1008},[994,2094,2095],{"class":996,"line":1843},[994,2096,1789],{"class":1008},[521,2098],{"v-slot:cpp":523},[521,2100,2101],{"v-slot:csharp":523},[986,2102,2103],{"className":1232,"code":1852,"language":1234,"meta":523,"style":523},[531,2104,2105,2123,2127,2143,2161,2175,2183,2191,2201],{"__ignoreMap":523},[994,2106,2107,2109,2111,2113,2115,2117,2119,2121],{"class":996,"line":997},[994,2108,1746],{"class":1008},[994,2110,1749],{"class":1008},[994,2112,1863],{"class":1045},[994,2114,677],{"class":1008},[994,2116,1868],{"class":1045},[994,2118,1755],{"class":1004},[994,2120,1758],{"class":1000},[994,2122,1133],{"class":1008},[994,2124,2125],{"class":996,"line":1026},[994,2126,1765],{"class":1008},[994,2128,2129,2131,2133,2135,2137,2139,2141],{"class":996,"line":1033},[994,2130,1883],{"class":1004},[994,2132,1886],{"class":1247},[994,2134,1251],{"class":1004},[994,2136,1891],{"class":1045},[994,2138,677],{"class":1008},[994,2140,1896],{"class":1045},[994,2142,1023],{"class":1008},[994,2144,2145,2147,2149,2151,2153,2155,2157,2159],{"class":996,"line":1040},[994,2146,1883],{"class":1004},[994,2148,1905],{"class":1247},[994,2150,1251],{"class":1004},[994,2152,1886],{"class":1045},[994,2154,1912],{"class":1004},[994,2156,677],{"class":1008},[994,2158,538],{"class":1045},[994,2160,1023],{"class":1008},[994,2162,2163,2165,2167,2169,2171,2173],{"class":996,"line":1064},[994,2164,1923],{"class":1045},[994,2166,677],{"class":1008},[994,2168,1868],{"class":1045},[994,2170,1049],{"class":1004},[994,2172,1758],{"class":1000},[994,2174,1023],{"class":1008},[994,2176,2177,2179,2181],{"class":996,"line":1069},[994,2178,1938],{"class":1045},[994,2180,1912],{"class":1004},[994,2182,1943],{"class":1008},[994,2184,2185,2187,2189],{"class":996,"line":1075},[994,2186,1948],{"class":1045},[994,2188,1912],{"class":1004},[994,2190,1943],{"class":1008},[994,2192,2193,2195,2197,2199],{"class":996,"line":1796},[994,2194,1957],{"class":1045},[994,2196,1049],{"class":1004},[994,2198,1758],{"class":1000},[994,2200,1023],{"class":1008},[994,2202,2203],{"class":996,"line":1802},[994,2204,1789],{"class":1008},[510,2206,2208],{"id":2207},"metadata","Metadata",[518,2210,2211,2226,2238,2256],{},[521,2212,2213,2221],{"v-slot:swift":523},[506,2214,2215,2216,1309,2218,2220],{},"You can attach metadata to both ",[531,2217,554],{},[531,2219,533],{}," objects, and they will be serialized with the file.\nThis can prove useful to store client-specific parameters.",[506,2222,1435,2223,2225],{},[531,2224,2207],{}," property to store and retrieve the metadata attached to the object.",[521,2227,2228,2234],{"v-slot:csharp":523},[506,2229,2215,2230,1309,2232,2220],{},[531,2231,596],{},[531,2233,585],{},[506,2235,1435,2236,2225],{},[531,2237,2208],{},[521,2239,2240,2246],{"v-slot:java":523},[506,2241,2215,2242,1309,2244,2220],{},[531,2243,596],{},[531,2245,585],{},[506,2247,2248,2249,1309,2252,2255],{},"Use ",[531,2250,2251],{},"setMetadata()",[531,2253,2254],{},"getMetadata()"," to respectively store and retrieve the metadata attached to the object.",[521,2257,2258,2264],{"v-slot:cpp":523},[506,2259,2215,2260,1309,2262,2220],{},[531,2261,596],{},[531,2263,585],{},[506,2265,2248,2266,1309,2268,2255],{},[531,2267,2251],{},[531,2269,2254],{},[518,2271,2272,2335,2390,2446],{},[521,2273,2274],{"v-slot:java":523},[986,2275,2277],{"className":988,"code":2276,"language":990,"meta":523,"style":523},"\u002F\u002F Retrieve the metadata from a part\nParameterSet metadata = contentPart.getMetadata();\n\n\u002F\u002F Set and Get (key, value) pairs\n\u002F\u002F ...\n\n\u002F\u002F Store the metadata back into the part. You have to set expressively as the content part is a native object and metada is not.\ncontentPart.setMetadata(metadata);\n",[531,2278,2279,2284,2300,2304,2309,2314,2318,2323],{"__ignoreMap":523},[994,2280,2281],{"class":996,"line":997},[994,2282,2283],{"class":1036},"\u002F\u002F Retrieve the metadata from a part\n",[994,2285,2286,2289,2292,2294,2297],{"class":996,"line":1026},[994,2287,2288],{"class":1004},"ParameterSet",[994,2290,2291],{"class":1045}," metadata ",[994,2293,1049],{"class":1004},[994,2295,2296],{"class":1045}," contentPart",[994,2298,2299],{"class":1008},".getMetadata();\n",[994,2301,2302],{"class":996,"line":1033},[994,2303,1030],{"emptyLinePlaceholder":1029},[994,2305,2306],{"class":996,"line":1040},[994,2307,2308],{"class":1036},"\u002F\u002F Set and Get (key, value) pairs\n",[994,2310,2311],{"class":996,"line":1064},[994,2312,2313],{"class":1036},"\u002F\u002F ...\n",[994,2315,2316],{"class":996,"line":1069},[994,2317,1030],{"emptyLinePlaceholder":1029},[994,2319,2320],{"class":996,"line":1075},[994,2321,2322],{"class":1036},"\u002F\u002F Store the metadata back into the part. You have to set expressively as the content part is a native object and metada is not.\n",[994,2324,2325,2328,2331,2333],{"class":996,"line":1796},[994,2326,2327],{"class":1045},"contentPart",[994,2329,2330],{"class":1008},".setMetadata(",[994,2332,2207],{"class":1045},[994,2334,1061],{"class":1008},[521,2336,2337],{"v-slot:swift":523},[986,2338,2340],{"className":1097,"code":2339,"language":1099,"meta":523,"style":523},"\u002F\u002F Retrieve the metadata from a part\nlet metadata = part.metadata\n\n\u002F\u002F Set and Get (key, value) pairs\n...\n\n\u002F\u002F Store the metadata back into the part\npart.metadata = metadata;\n",[531,2341,2342,2346,2358,2362,2366,2371,2375,2380],{"__ignoreMap":523},[994,2343,2344],{"class":996,"line":997},[994,2345,2283],{"class":1036},[994,2347,2348,2351,2353,2355],{"class":996,"line":1026},[994,2349,2350],{"class":1000},"let",[994,2352,2291],{"class":1045},[994,2354,1049],{"class":1004},[994,2356,2357],{"class":1045}," part.metadata\n",[994,2359,2360],{"class":996,"line":1033},[994,2361,1030],{"emptyLinePlaceholder":1029},[994,2363,2364],{"class":996,"line":1040},[994,2365,2308],{"class":1036},[994,2367,2368],{"class":996,"line":1064},[994,2369,2370],{"class":1004},"...\n",[994,2372,2373],{"class":996,"line":1069},[994,2374,1030],{"emptyLinePlaceholder":1029},[994,2376,2377],{"class":996,"line":1075},[994,2378,2379],{"class":1036},"\u002F\u002F Store the metadata back into the part\n",[994,2381,2382,2385,2387],{"class":996,"line":1796},[994,2383,2384],{"class":1045},"part.metadata ",[994,2386,1049],{"class":1004},[994,2388,2389],{"class":1045}," metadata;\n",[521,2391,2392],{"v-slot:cpp":523},[986,2393,2395],{"className":1168,"code":2394,"language":1170,"meta":523,"style":523},"\u002F\u002F Retrieve the metadata from a part\nauto metadata = part->getMetadata();\n\n\u002F\u002F Read, add, remove (key, value) pairs\n\u002F\u002F ...\n\n\u002F\u002F Store the metadata back into the part\npart->setMetadata(metadata);\n",[531,2396,2397,2401,2414,2418,2423,2427,2431,2435],{"__ignoreMap":523},[994,2398,2399],{"class":996,"line":997},[994,2400,2283],{"class":1036},[994,2402,2403,2405,2407,2409,2411],{"class":996,"line":1026},[994,2404,1181],{"class":1004},[994,2406,2291],{"class":1045},[994,2408,1049],{"class":1004},[994,2410,1886],{"class":1045},[994,2412,2413],{"class":1008},"->getMetadata();\n",[994,2415,2416],{"class":996,"line":1033},[994,2417,1030],{"emptyLinePlaceholder":1029},[994,2419,2420],{"class":996,"line":1040},[994,2421,2422],{"class":1036},"\u002F\u002F Read, add, remove (key, value) pairs\n",[994,2424,2425],{"class":996,"line":1064},[994,2426,2313],{"class":1036},[994,2428,2429],{"class":996,"line":1069},[994,2430,1030],{"emptyLinePlaceholder":1029},[994,2432,2433],{"class":996,"line":1075},[994,2434,2379],{"class":1036},[994,2436,2437,2439,2442,2444],{"class":996,"line":1796},[994,2438,557],{"class":1045},[994,2440,2441],{"class":1008},"->setMetadata(",[994,2443,2207],{"class":1045},[994,2445,1061],{"class":1008},[521,2447,2448],{"v-slot:csharp":523},[986,2449,2451],{"className":1232,"code":2450,"language":1234,"meta":523,"style":523},"\u002F\u002F Retrieve the metadata from a part\nvar metadata = part.Metadata;\n\n\u002F\u002F Set and Get (key, value) pairs\n...\n\n\u002F\u002F Store the metadata back into the part\npart.Metadata = metadata;\n",[531,2452,2453,2457,2474,2478,2482,2490,2494,2498],{"__ignoreMap":523},[994,2454,2455],{"class":996,"line":997},[994,2456,2283],{"class":1036},[994,2458,2459,2461,2464,2466,2468,2470,2472],{"class":996,"line":1026},[994,2460,1110],{"class":1004},[994,2462,2463],{"class":1247}," metadata",[994,2465,1251],{"class":1004},[994,2467,1886],{"class":1045},[994,2469,677],{"class":1008},[994,2471,2208],{"class":1045},[994,2473,1023],{"class":1008},[994,2475,2476],{"class":996,"line":1033},[994,2477,1030],{"emptyLinePlaceholder":1029},[994,2479,2480],{"class":996,"line":1040},[994,2481,2308],{"class":1036},[994,2483,2484,2487],{"class":996,"line":1064},[994,2485,2486],{"class":1004},"..",[994,2488,2489],{"class":1045},".\n",[994,2491,2492],{"class":996,"line":1069},[994,2493,1030],{"emptyLinePlaceholder":1029},[994,2495,2496],{"class":996,"line":1075},[994,2497,2379],{"class":1036},[994,2499,2500,2502,2504,2507,2509,2511],{"class":996,"line":1796},[994,2501,557],{"class":1045},[994,2503,677],{"class":1008},[994,2505,2506],{"class":1045},"Metadata ",[994,2508,1049],{"class":1004},[994,2510,2463],{"class":1045},[994,2512,1023],{"class":1008},[518,2514,2515,2528],{},[521,2516,2517],{"v-slot:swift":523},[506,2518,2519,2520,2523,2524,2527],{},"The structure representing metadata is an ",[531,2521,2522],{},"IINKParameterSet"," and is manipulated ",[545,2525,2526],{"href":780},"the exact same way"," as engine configuration parameters.",[506,2529,2530,2531,2523,2533,2527],{},"The structure representing metadata is a ",[531,2532,2288],{},[545,2534,2526],{"href":780},[2536,2537,2538],"style",{},"html pre.shiki code .sU2JI, html code.shiki .sU2JI{--shiki-light:#005FE4;--shiki-default:#005FE4;--shiki-dark:#80DFFF}html pre.shiki code .sglaT, html code.shiki .sglaT{--shiki-light:#7751EC;--shiki-default:#7751EC;--shiki-dark:#AC92FC}html pre.shiki code .soFc9, html code.shiki .soFc9{--shiki-light:#1A9FFF;--shiki-default:#1A9FFF;--shiki-dark:#1A9FFF}html pre.shiki code .sJjcI, html code.shiki .sJjcI{--shiki-light:#467191;--shiki-light-font-style:italic;--shiki-default:#467191;--shiki-default-font-style:italic;--shiki-dark:#6493B4;--shiki-dark-font-style:italic}html pre.shiki code .sEQEB, html code.shiki .sEQEB{--shiki-light:#051F41;--shiki-default:#051F41;--shiki-dark:#D1E9FA}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZBTK, html code.shiki .sZBTK{--shiki-light:#002DB3;--shiki-default:#002DB3;--shiki-dark:#80EAFF}html pre.shiki code .sVYTS, html code.shiki .sVYTS{--shiki-light:#0081F0;--shiki-default:#0081F0;--shiki-dark:#1A9FFF}",{"title":523,"searchDepth":1033,"depth":1033,"links":2540},[2541,2542,2548,2553,2554,2555],{"id":512,"depth":1026,"text":513},{"id":745,"depth":1026,"text":746,"children":2543},[2544,2545,2546,2547],{"id":762,"depth":1033,"text":763},{"id":797,"depth":1033,"text":798},{"id":1297,"depth":1033,"text":1298},{"id":1427,"depth":1033,"text":1428},{"id":1476,"depth":1026,"text":1477,"children":2549},[2550,2551,2552],{"id":1483,"depth":1033,"text":1484},{"id":1592,"depth":1033,"text":1593},{"id":1634,"depth":1033,"text":1635},{"id":1673,"depth":1026,"text":1674},{"id":1682,"depth":1026,"text":1674},{"id":2207,"depth":1026,"text":2208},"Guide to discover iink SDK","md","i-tabler-file-database",{},null,"iiwf9c","3.2",{"title":407,"description":2556},"docs\u002Fsdk\u002F4.4\u002F09.interactivity\u002F02.storage","bRpp8ENiqTC1njF5VVFf_uY1N6Bw5w47X8B-IKOLg9k",[2567],{"title":5,"path":6,"stem":7,"children":2568,"page":40},[2569],{"title":321,"path":322,"stem":323,"children":2570,"page":40},[2571],{"title":2572,"navTitle":2560,"icon":2560,"path":2573,"stem":2574,"children":2575,"page":40},"4.4","\u002Fdocs\u002Fsdk\u002F4.4","docs\u002Fsdk\u002F4.4",[2576,2581,2585,2589,2602,2626,2642,2653,2660,2678,2686,2721,2723,2727,2731,2735,2743],{"title":330,"path":2577,"stem":2578,"navTitle":2579,"icon":2580},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fabout","docs\u002Fsdk\u002F4.4\u002F01.about","About","i-tabler-info-circle",{"title":33,"path":2582,"stem":2583,"navTitle":33,"icon":2584},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fchangelog","docs\u002Fsdk\u002F4.4\u002F02.changelog","i-tabler-bell-ringing",{"title":37,"path":2586,"stem":2587,"navTitle":37,"icon":2588},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fmigration-guide","docs\u002Fsdk\u002F4.4\u002F03.migration-guide","i-tabler-gps",{"title":42,"navTitle":2560,"icon":2560,"path":2590,"stem":2591,"children":2592,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fintegration","docs\u002Fsdk\u002F4.4\u002F04.integration",[2593,2598],{"title":47,"path":2594,"stem":2595,"navTitle":2596,"icon":2597},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fintegration\u002Fplatforms","docs\u002Fsdk\u002F4.4\u002F04.integration\u002F01.platforms","Platforms","i-tabler-device-laptop",{"title":51,"path":2599,"stem":2600,"navTitle":51,"icon":2601},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fintegration\u002Fintegration-levels","docs\u002Fsdk\u002F4.4\u002F04.integration\u002F02.integration-levels","i-tabler-stack-2",{"title":55,"navTitle":2560,"icon":2560,"path":2603,"stem":2604,"children":2605,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognition-capabilities","docs\u002Fsdk\u002F4.4\u002F05.recognition-capabilities",[2606,2610,2614,2618,2622],{"title":60,"path":2607,"stem":2608,"navTitle":2560,"icon":2609},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fsdk\u002F4.4\u002F05.recognition-capabilities\u002F01.recognizers","i-tabler-text-scan-2",{"title":64,"path":2611,"stem":2612,"navTitle":64,"icon":2613},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fsdk\u002F4.4\u002F05.recognition-capabilities\u002F02.text-languages","i-tabler-language",{"title":68,"path":2615,"stem":2616,"navTitle":68,"icon":2617},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fsdk\u002F4.4\u002F05.recognition-capabilities\u002F03.math-elements-and-rules","i-tabler-math",{"title":72,"path":2619,"stem":2620,"navTitle":72,"icon":2621},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fsdk\u002F4.4\u002F05.recognition-capabilities\u002F04.diagram-features","i-tabler-circle-square",{"title":76,"path":2623,"stem":2624,"navTitle":2560,"icon":2625},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognition-capabilities\u002Fgestures","docs\u002Fsdk\u002F4.4\u002F05.recognition-capabilities\u002F05.gestures","i-tabler-hand-finger",{"title":80,"navTitle":2560,"icon":2560,"path":2627,"stem":2628,"children":2629,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity-integration","docs\u002Fsdk\u002F4.4\u002F06.interactivity-integration",[2630,2633,2637],{"title":85,"path":675,"stem":2631,"navTitle":85,"icon":2632},"docs\u002Fsdk\u002F4.4\u002F06.interactivity-integration\u002F01.content-types","i-tabler-eye",{"title":89,"path":2634,"stem":2635,"navTitle":89,"icon":2636},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fsdk\u002F4.4\u002F06.interactivity-integration\u002F02.interactive-features","i-tabler-bolt",{"title":93,"path":2638,"stem":2639,"navTitle":2640,"icon":2641},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fsdk\u002F4.4\u002F06.interactivity-integration\u002F03.import-and-export-formats","Import and export","i-tabler-arrows-left-right",{"title":106,"navTitle":2560,"icon":2560,"path":2643,"stem":2644,"children":2645,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fgetting-started","docs\u002Fsdk\u002F4.4\u002F07.getting-started",[2646,2650],{"title":386,"path":2647,"stem":2648,"navTitle":2560,"icon":2649},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fgetting-started\u002Fsetup","docs\u002Fsdk\u002F4.4\u002F07.getting-started\u002F01.setup","i-tabler-direction-sign",{"title":390,"path":2651,"stem":2652,"navTitle":2560,"icon":2649},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fgetting-started\u002Finteractive-ink-runtime","docs\u002Fsdk\u002F4.4\u002F07.getting-started\u002F02.interactive-ink-runtime",{"title":394,"navTitle":2560,"icon":2560,"path":2654,"stem":2655,"children":2656,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognizer","docs\u002Fsdk\u002F4.4\u002F08.recognizer",[2657],{"title":60,"path":2658,"stem":2659,"navTitle":2560,"icon":2609},"\u002Fdocs\u002Fsdk\u002F4.4\u002Frecognizer\u002Frecognizers","docs\u002Fsdk\u002F4.4\u002F08.recognizer\u002F01.recognizers",{"title":402,"navTitle":2560,"icon":2560,"path":2661,"stem":2662,"children":2663,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity","docs\u002Fsdk\u002F4.4\u002F09.interactivity",[2664,2668,2669,2673],{"title":2665,"path":2666,"stem":2667,"navTitle":2560,"icon":2613},"Non-interactive languages","\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity\u002Fnon-interactive-languages","docs\u002Fsdk\u002F4.4\u002F09.interactivity\u002F01.non-interactive-languages",{"title":407,"path":499,"stem":2564,"navTitle":2560,"icon":2558},{"title":97,"path":2670,"stem":2671,"navTitle":97,"icon":2672},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity\u002Fmath-features","docs\u002Fsdk\u002F4.4\u002F09.interactivity\u002F03.math-features","i-tabler-calculator",{"title":414,"path":2674,"stem":2675,"navTitle":2676,"icon":2677},"\u002Fdocs\u002Fsdk\u002F4.4\u002Finteractivity\u002Fcombined-undo-redo-stacks","docs\u002Fsdk\u002F4.4\u002F09.interactivity\u002F04.combined-undo-redo-stacks","Combined undo\u002Fredo stacks","i-tabler-arrow-back-up",{"title":418,"navTitle":2560,"icon":2560,"path":2679,"stem":2680,"children":2681,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Foffscreen-editor","docs\u002Fsdk\u002F4.4\u002F10.offscreen-editor",[2682],{"title":423,"path":2683,"stem":2684,"navTitle":2560,"icon":2685},"\u002Fdocs\u002Fsdk\u002F4.4\u002Foffscreen-editor\u002Foff-screen-usage","docs\u002Fsdk\u002F4.4\u002F10.offscreen-editor\u002F01.off-screen-usage","i-tabler-stack-backward",{"title":427,"navTitle":2560,"icon":2560,"path":2687,"stem":2688,"children":2689,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor","docs\u002Fsdk\u002F4.4\u002F11.editor",[2690,2694,2698,2702,2705,2709,2713,2717],{"title":432,"path":2691,"stem":2692,"navTitle":2560,"icon":2693},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Frendering","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F01.rendering","i-tabler-app-window",{"title":436,"path":2695,"stem":2696,"navTitle":2560,"icon":2697},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Fediting","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F02.editing","i-tabler-edit",{"title":440,"path":2699,"stem":2700,"navTitle":2560,"icon":2701},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Ftool-controller","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F03.tool-controller","i-tabler-adjustments",{"title":444,"path":570,"stem":2703,"navTitle":2560,"icon":2704},"docs\u002Fsdk\u002F4.4\u002F11.editor\u002F04.block-selection-management","i-tabler-pointer",{"title":448,"path":2706,"stem":2707,"navTitle":2560,"icon":2708},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Fconversion","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F05.conversion","i-tabler-sparkles",{"title":452,"path":2710,"stem":2711,"navTitle":2560,"icon":2712},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Fzooming-and-scrolling","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F06.zooming-and-scrolling","i-tabler-zoom-pan",{"title":456,"path":2714,"stem":2715,"navTitle":2560,"icon":2716},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Fstyling","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F07.styling","i-tabler-palette",{"title":460,"path":2718,"stem":2719,"navTitle":2560,"icon":2720},"\u002Fdocs\u002Fsdk\u002F4.4\u002Feditor\u002Fcustom-inking","docs\u002Fsdk\u002F4.4\u002F11.editor\u002F08.custom-inking","i-tabler-brush",{"title":464,"path":757,"stem":2722,"navTitle":2560,"icon":2641},"docs\u002Fsdk\u002F4.4\u002F12.import-and-export",{"title":202,"path":2724,"stem":2725,"navTitle":2560,"icon":2726},"\u002Fdocs\u002Fsdk\u002F4.4\u002Ftext-recognition-candidates","docs\u002Fsdk\u002F4.4\u002F13.text-recognition-candidates","i-tabler-tags",{"title":471,"path":2728,"stem":2729,"navTitle":2560,"icon":2730},"\u002Fdocs\u002Fsdk\u002F4.4\u002Ferror-management","docs\u002Fsdk\u002F4.4\u002F14.error-management","i-tabler-bug",{"title":206,"path":2732,"stem":2733,"navTitle":2560,"icon":2734},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fcustom-recognition","docs\u002Fsdk\u002F4.4\u002F15.custom-recognition","i-tabler-file-code",{"title":313,"navTitle":2560,"icon":2560,"path":2736,"stem":2737,"children":2738,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.4\u002F16.handwriting-generation",[2739],{"title":313,"path":2740,"stem":2741,"navTitle":313,"icon":2742},"\u002Fdocs\u002Fsdk\u002F4.4\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.4\u002F16.handwriting-generation\u002F01.handwriting-generation","i-tabler-pencil",{"title":139,"navTitle":2560,"icon":2560,"path":2744,"stem":2745,"children":2746,"page":40},"\u002Fdocs\u002Fsdk\u002F4.4\u002Freference","docs\u002Fsdk\u002F4.4\u002F17.reference",[2747,2751,2756],{"title":144,"path":2748,"stem":2749,"navTitle":2560,"icon":2750},"\u002Fdocs\u002Fsdk\u002F4.4\u002Freference\u002Fconfiguration","docs\u002Fsdk\u002F4.4\u002F17.reference\u002F01.configuration","i-tabler-settings",{"title":239,"path":2752,"stem":2753,"navTitle":2754,"icon":2755},"\u002Fdocs\u002Fsdk\u002F4.4\u002Freference\u002Fjiix","docs\u002Fsdk\u002F4.4\u002F17.reference\u002F02.jiix","JIIX","i-tabler-braces",{"title":495,"path":2757,"stem":2758,"navTitle":456,"icon":2716},"\u002Fdocs\u002Fsdk\u002F4.4\u002Freference\u002Fstyling","docs\u002Fsdk\u002F4.4\u002F17.reference\u002F03.styling",{"id":2760,"title":2761,"body":2762,"canonicalPath":2560,"description":2822,"extension":2557,"icon":2588,"meta":2823,"navTitle":20,"navigation":1029,"path":2824,"resolveKey":2560,"resolveVersion":2560,"seo":2825,"stem":2826,"__hash__":2827},"support\u002Fsupport\u002F01.index.md","Support",{"type":503,"value":2763,"toc":2820},[2764,2767],[506,2765,2766],{},"Find answers to common questions about integrating the iink SDK and MyScript Cloud APIs. Browse the topics below or reach out on the community forum.",[2768,2769,2770,2779,2787,2795,2803,2812],"card-group",{},[2771,2772,2776],"card",{"icon":2773,"title":2774,"to":2775},"i-tabler-package","Recognition assets","\u002Fsupport\u002Frecognition-assets\u002F",[506,2777,2778],{},"Download base assets and build custom resources to fine-tune the recognition.",[2771,2780,2784],{"icon":2781,"title":2782,"to":2783},"i-tabler-key","On-device license management","\u002Fsupport\u002Fon-device\u002Fon-device-license-management\u002F",[506,2785,2786],{},"Manage licenses for applications embedding the on-device iink SDK.",[2771,2788,2792],{"icon":2789,"title":2790,"to":2791},"i-tabler-user-circle","Registering with MyScript Cloud","\u002Fsupport\u002Fcloud\u002Fregistering-myscript-cloud\u002F",[506,2793,2794],{},"Create a Cloud account and obtain the keys to call our recognition APIs.",[2771,2796,2800],{"icon":2797,"title":2798,"to":2799},"i-tabler-rocket","Being production ready","\u002Fsupport\u002Fcloud\u002Fbeing-production-ready\u002F",[506,2801,2802],{},"Best practices and quotas to ship your iink Cloud integration to production.",[2771,2804,2809],{"icon":2805,"title":2806,"to":2807,"target":2808},"i-tabler-message-circle","Forums","https:\u002F\u002Fdeveloper-support.myscript.com\u002Fsupport\u002Flogin","_blank",[506,2810,2811],{},"Ask questions and get answers from the MyScript developer community.",[2771,2813,2817],{"icon":2814,"title":2815,"to":2816,"target":2808},"i-tabler-mail","Contact us","https:\u002F\u002Fwww.myscript.com\u002Fcontact\u002F",[506,2818,2819],{},"Can't find what you're looking for? Reach out to our team.",{"title":523,"searchDepth":1033,"depth":1033,"links":2821},[],"MyScript Developer Support hub",{},"\u002Fsupport",{"title":2761,"description":2822},"support\u002F01.index","jENFmcn55y_8r3_6pH5xxlH1dZJBwoAuq9F7gXQtow8",1792566653836]