[{"data":1,"prerenderedAt":1429},["ShallowReactive",2],{"navigation":3,"nav-sdk45":498,"support-index":599,"docs-sdk-4.5-getting-started-setup":674},[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",[499],{"title":5,"path":6,"stem":7,"children":500,"page":40},[501],{"title":321,"path":322,"stem":323,"children":502,"page":40},[503],{"title":15,"navTitle":504,"icon":504,"path":326,"stem":327,"children":505,"page":40},null,[506,509,511,513,520,532,541,546,549,558,562,580,581,583,585,587,591],{"title":330,"path":331,"stem":332,"navTitle":507,"icon":508},"About","i-tabler-info-circle",{"title":33,"path":334,"stem":335,"navTitle":33,"icon":510},"i-tabler-bell-ringing",{"title":37,"path":337,"stem":338,"navTitle":37,"icon":512},"i-tabler-gps",{"title":42,"navTitle":504,"icon":504,"path":340,"stem":341,"children":514,"page":40},[515,518],{"title":47,"path":344,"stem":345,"navTitle":516,"icon":517},"Platforms","i-tabler-device-laptop",{"title":51,"path":347,"stem":348,"navTitle":51,"icon":519},"i-tabler-stack-2",{"title":55,"navTitle":504,"icon":504,"path":350,"stem":351,"children":521,"page":40},[522,524,526,528,530],{"title":60,"path":354,"stem":355,"navTitle":504,"icon":523},"i-tabler-text-scan-2",{"title":64,"path":357,"stem":358,"navTitle":64,"icon":525},"i-tabler-language",{"title":68,"path":360,"stem":361,"navTitle":68,"icon":527},"i-tabler-math",{"title":72,"path":363,"stem":364,"navTitle":72,"icon":529},"i-tabler-circle-square",{"title":76,"path":366,"stem":367,"navTitle":504,"icon":531},"i-tabler-hand-finger",{"title":80,"navTitle":504,"icon":504,"path":369,"stem":370,"children":533,"page":40},[534,536,538],{"title":85,"path":373,"stem":374,"navTitle":85,"icon":535},"i-tabler-eye",{"title":89,"path":376,"stem":377,"navTitle":89,"icon":537},"i-tabler-bolt",{"title":93,"path":379,"stem":380,"navTitle":539,"icon":540},"Import and export","i-tabler-arrows-left-right",{"title":106,"navTitle":504,"icon":504,"path":382,"stem":383,"children":542,"page":40},[543,545],{"title":386,"path":387,"stem":388,"navTitle":504,"icon":544},"i-tabler-direction-sign",{"title":390,"path":391,"stem":392,"navTitle":504,"icon":544},{"title":394,"navTitle":504,"icon":504,"path":395,"stem":396,"children":547,"page":40},[548],{"title":60,"path":399,"stem":400,"navTitle":504,"icon":523},{"title":402,"navTitle":504,"icon":504,"path":403,"stem":404,"children":550,"page":40},[551,553,555],{"title":407,"path":408,"stem":409,"navTitle":504,"icon":552},"i-tabler-file-database",{"title":97,"path":411,"stem":412,"navTitle":97,"icon":554},"i-tabler-calculator",{"title":414,"path":415,"stem":416,"navTitle":556,"icon":557},"Combined undo\u002Fredo stacks","i-tabler-arrow-back-up",{"title":418,"navTitle":504,"icon":504,"path":419,"stem":420,"children":559,"page":40},[560],{"title":423,"path":424,"stem":425,"navTitle":504,"icon":561},"i-tabler-stack-backward",{"title":427,"navTitle":504,"icon":504,"path":428,"stem":429,"children":563,"page":40},[564,566,568,570,572,574,576,578],{"title":432,"path":433,"stem":434,"navTitle":504,"icon":565},"i-tabler-app-window",{"title":436,"path":437,"stem":438,"navTitle":504,"icon":567},"i-tabler-edit",{"title":440,"path":441,"stem":442,"navTitle":504,"icon":569},"i-tabler-adjustments",{"title":444,"path":445,"stem":446,"navTitle":504,"icon":571},"i-tabler-pointer",{"title":448,"path":449,"stem":450,"navTitle":504,"icon":573},"i-tabler-sparkles",{"title":452,"path":453,"stem":454,"navTitle":504,"icon":575},"i-tabler-zoom-pan",{"title":456,"path":457,"stem":458,"navTitle":504,"icon":577},"i-tabler-palette",{"title":460,"path":461,"stem":462,"navTitle":504,"icon":579},"i-tabler-brush",{"title":464,"path":465,"stem":466,"navTitle":504,"icon":540},{"title":202,"path":468,"stem":469,"navTitle":504,"icon":582},"i-tabler-tags",{"title":471,"path":472,"stem":473,"navTitle":504,"icon":584},"i-tabler-bug",{"title":206,"path":475,"stem":476,"navTitle":504,"icon":586},"i-tabler-file-code",{"title":313,"navTitle":504,"icon":504,"path":478,"stem":479,"children":588,"page":40},[589],{"title":313,"path":482,"stem":483,"navTitle":313,"icon":590},"i-tabler-pencil",{"title":139,"navTitle":504,"icon":504,"path":485,"stem":486,"children":592,"page":40},[593,595,598],{"title":144,"path":489,"stem":490,"navTitle":504,"icon":594},"i-tabler-settings",{"title":239,"path":492,"stem":493,"navTitle":596,"icon":597},"JIIX","i-tabler-braces",{"title":495,"path":496,"stem":497,"navTitle":456,"icon":577},{"id":600,"title":601,"body":602,"canonicalPath":504,"description":666,"extension":667,"icon":512,"meta":668,"navTitle":20,"navigation":669,"path":670,"resolveKey":504,"resolveVersion":504,"seo":671,"stem":672,"__hash__":673},"support\u002Fsupport\u002F01.index.md","Support",{"type":603,"value":604,"toc":662},"minimark",[605,609],[606,607,608],"p",{},"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.",[610,611,612,621,629,637,645,654],"card-group",{},[613,614,618],"card",{"icon":615,"title":616,"to":617},"i-tabler-package","Recognition assets","\u002Fsupport\u002Frecognition-assets\u002F",[606,619,620],{},"Download base assets and build custom resources to fine-tune the recognition.",[613,622,626],{"icon":623,"title":624,"to":625},"i-tabler-key","On-device license management","\u002Fsupport\u002Fon-device\u002Fon-device-license-management\u002F",[606,627,628],{},"Manage licenses for applications embedding the on-device iink SDK.",[613,630,634],{"icon":631,"title":632,"to":633},"i-tabler-user-circle","Registering with MyScript Cloud","\u002Fsupport\u002Fcloud\u002Fregistering-myscript-cloud\u002F",[606,635,636],{},"Create a Cloud account and obtain the keys to call our recognition APIs.",[613,638,642],{"icon":639,"title":640,"to":641},"i-tabler-rocket","Being production ready","\u002Fsupport\u002Fcloud\u002Fbeing-production-ready\u002F",[606,643,644],{},"Best practices and quotas to ship your iink Cloud integration to production.",[613,646,651],{"icon":647,"title":648,"to":649,"target":650},"i-tabler-message-circle","Forums","https:\u002F\u002Fdeveloper-support.myscript.com\u002Fsupport\u002Flogin","_blank",[606,652,653],{},"Ask questions and get answers from the MyScript developer community.",[613,655,659],{"icon":656,"title":657,"to":658,"target":650},"i-tabler-mail","Contact us","https:\u002F\u002Fwww.myscript.com\u002Fcontact\u002F",[606,660,661],{},"Can't find what you're looking for? Reach out to our team.",{"title":663,"searchDepth":664,"depth":664,"links":665},"",3,[],"MyScript Developer Support hub","md",{},true,"\u002Fsupport",{"title":601,"description":666},"support\u002F01.index","jENFmcn55y_8r3_6pH5xxlH1dZJBwoAuq9F7gXQtow8",{"path":387,"page":675},{"id":676,"title":386,"body":677,"canonicalPath":504,"description":1424,"extension":667,"icon":544,"meta":1425,"navTitle":504,"navigation":669,"path":387,"resolveKey":1426,"resolveVersion":504,"seo":1427,"stem":388,"__hash__":1428},"sdk45\u002Fdocs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F01.setup.md",{"type":603,"value":678,"toc":1413},[679,682,687,802,806,841,878,889,896,905,909,917,929,934,983,987,1003,1008,1012],[606,680,681],{},"MyScript iink SDK makes it easy to get started.\nThis page helps you set up a development environment, get a certificate and play with provided example applications.",[683,684,686],"h2",{"id":685},"setting-up-a-development-environment","Setting up a development environment",[688,689,690,717,768,785],"partial",{},[691,692,693,696],"template",{"v-slot:java":663},[606,694,695],{},"To develop with iink SDK for Android, you will need:",[697,698,699,709],"ul",{},[700,701,702],"li",{},[703,704,708],"a",{"href":705,"rel":706},"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Findex.html",[707],"nofollow","Android Studio",[700,710,711,716],{},[703,712,715],{"href":713,"rel":714},"https:\u002F\u002Fgit-scm.com\u002F",[707],"Git"," (to clone the GitHub example repository)",[691,718,719,722,725,743,750],{"v-slot:cpp":663},[606,720,721],{},"To develop with iink SDK C++ API, you need a C++ compiler.",[606,723,724],{},"To run the example or use the provided reference UI implementation, you will need:",[697,726,727,735],{},[700,728,729,734],{},[703,730,733],{"href":731,"rel":732},"https:\u002F\u002Fwww.qt.io\u002F",[707],"Qt"," 6.5.2 or higher 6.5 version.",[700,736,737,742],{},[703,738,741],{"href":739,"rel":740},"https:\u002F\u002Fcmake.org\u002F",[707],"CMake"," 3.26.4 or higher",[606,744,745,746,749],{},"As the example project is based on a ",[747,748,741],"code",{}," file, it is not tied to the use of a particular IDE. We recommend:",[697,751,752,760],{},[700,753,754,759],{},[703,755,758],{"href":756,"rel":757},"https:\u002F\u002Fdeveloper.apple.com\u002Fxcode\u002F",[707],"Xcode"," for Mac platforms",[700,761,762,767],{},[703,763,766],{"href":764,"rel":765},"https:\u002F\u002Fvisualstudio.microsoft.com\u002F",[707],"Visual Studio"," for Windows platforms",[691,769,770,773],{"v-slot:csharp":663},[606,771,772],{},"To develop with iink SDK for Windows, you will need:",[697,774,775,780],{},[700,776,777],{},[703,778,766],{"href":764,"rel":779},[707],[700,781,782,716],{},[703,783,715],{"href":713,"rel":784},[707],[691,786,787,790],{"v-slot:swift":663},[606,788,789],{},"To develop with iink SDK for iOS, you will need:",[697,791,792,797],{},[700,793,794],{},[703,795,758],{"href":756,"rel":796},[707],[700,798,799,716],{},[703,800,715],{"href":713,"rel":801},[707],[683,803,805],{"id":804},"example-applications","Example applications",[688,807,808,824,827],{},[691,809,810,817],{"v-slot:cpp":663},[606,811,812,813,816],{},"MyScript iink SDK comes with a ",[747,814,815],{},"Demo"," application illustrating how to use key APIs:\nit is an advanced integration example that you can refer to, to build your own application.",[606,818,819,820,823],{},"The code is contained in the ",[747,821,822],{},"myscript-iink-examples-qt.zip"," package.",[606,825,826],{},"MyScript iink SDK comes with example applications illustrating how to use key APIs:",[697,828,829,836],{},[700,830,831,832,835],{},"The ",[747,833,834],{},"GetStarted"," example is a good starting point to discover MyScript iink SDK.",[700,837,831,838,840],{},[747,839,815],{}," example is a more advanced integration that you can refer to, once familiar with MyScript iink SDK.",[688,842,843,854,870],{},[691,844,845],{"v-slot:swift":663},[606,846,847,848,853],{},"The code is available on ",[703,849,852],{"href":850,"rel":851},"https:\u002F\u002Fgithub.com\u002Fmyscript\u002Finteractive-ink-examples-ios",[707],"GitHub",".",[691,855,856],{"v-slot:csharp":663},[606,857,858,859,864,865,853],{},"The code is available on GitHub for both ",[703,860,863],{"href":861,"rel":862},"https:\u002F\u002Fgithub.com\u002Fmyscript\u002Finteractive-ink-examples-uwp",[707],"UWP"," and\n",[703,866,869],{"href":867,"rel":868},"https:\u002F\u002Fgithub.com\u002Fmyscript\u002Finteractive-ink-examples-wpf",[707],"WPF",[691,871,872],{"v-slot:java":663},[606,873,847,874,853],{},[703,875,852],{"href":876,"rel":877},"https:\u002F\u002Fgithub.com\u002Fmyscript\u002Finteractive-ink-examples-android",[707],[879,880,882],"callout",{"color":881},"secondary",[606,883,884,885,853],{},"A custom compilation step will download the minimal set of recognition assets required for the example to run.\nMore assets (e.g. to support other recognition languages) can be downloaded from ",[703,886,888],{"href":887},"\u002Fsupport\u002Frecognition-assets","MyScript Developer Portal",[606,890,891,892,895],{},"A reference implementation for the platform-specific integration layer can be found alongside the examples. It covers aspects such as ",[703,893,894],{"href":433},"rendering","\nthat the low-level iink SDK does not provide out-of-the-box for flexibility and portability reasons.",[606,897,898,899,904],{},"The source code of both the examples and the reference implementation is released under the ",[703,900,903],{"href":901,"rel":902},"https:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0",[707],"Apache 2.0 license",".\nYou can reuse it into your own projects without any particular restriction.",[683,906,908],{"id":907},"getting-a-certificate","Getting a certificate",[606,910,911,912,916],{},"A certificate is a binary \"key\" provided by MyScript that is ",[913,914,915],"strong",{},"required"," to enable iink SDK in an application.",[697,918,919,922],{},[700,920,921],{},"MyScript-provided examples expect it to be located at a specific location (see instructions below).",[700,923,924,925,853],{},"For your own application, you can place it where you want, provided that it is accessible to ",[703,926,928],{"href":927},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Finteractive-ink-runtime#engine-creation","instantiate the iink runtime",[930,931,933],"h3",{"id":932},"developer-portal-certificates","Developer Portal certificates",[688,935,936,947,972,978],{},[691,937,938],{"v-slot:cpp":663},[879,939,940],{"color":881},[606,941,942,943,853],{},"C++ API certificates are only available ",[703,944,946],{"href":945},"..\u002F..\u002F..\u002F..\u002F..\u002F..\u002Fcontact","on demand",[697,948,949,965],{},[700,950,951,952,956,957,960,961,964],{},"If you have just registered with ",[703,953,888],{"href":954,"rel":955},"https:\u002F\u002Fdeveloper.myscript.com",[707],", you should have received a certificate by mail that will let you run the provided\n",[913,958,959],{},"GetStarted and Demo examples",". The certificate comes embedded ",[913,962,963],{},"in a source file"," that you should include in your project.",[700,966,967,968,971],{},"If not - or to activate iink SDK with your own applications - please follow the ",[703,969,970],{"href":625},"on-device license management"," instructions.",[606,973,974,975,853],{},"More details on certificates and license management can be found in the ",[703,976,977],{"href":625},"dedicated support section",[879,979,980],{"color":881},[606,981,982],{},"Developer Portal certificates are specifically generated for each app identifier. You cannot directly reuse the certificate inside your own application.",[930,984,986],{"id":985},"partner-certificates","Partner certificates",[606,988,989,990,992,993,996,997,1002],{},"It comes embedded ",[913,991,963],{}," contained in the ",[747,994,995],{},"\u003Ccustomer_name>.vo_iink_sdk.zip"," package that you can download from your account on the ",[703,998,1001],{"href":999,"rel":1000},"https:\u002F\u002Fpartner.myscript.com\u002F",[707],"MyScript Partners website",".\nYou should extract the certificate source file from this .zip archive to include it in your project.",[879,1004,1005],{"color":881},[606,1006,1007],{},"If you are currently evaluating the technology, your certificate may be time-limited. Make sure to apply for an unlimited certificate to deploy\nyour solution to production.",[683,1009,1011],{"id":1010},"playing-with-the-examples","Playing with the examples",[688,1013,1014,1100,1242,1318],{},[691,1015,1016,1019,1025,1034,1056,1066,1088],{"v-slot:java":663},[606,1017,1018],{},"To run them, just follow the following instructions:",[606,1020,1021,1024],{},[913,1022,1023],{},"Step 1:"," Clone the MyScript Git repository containing the examples for the Android platform and navigate to the root of the folder containing the\napplications:",[1026,1027,1032],"pre",{"className":1028,"code":1030,"language":1031},[1029],"language-text","git clone https:\u002F\u002Fgithub.com\u002FMyScript\u002Finteractive-ink-examples-android.git\ncd interactive-ink-examples-android\n","text",[747,1033,1030],{"__ignoreMap":663},[606,1035,1036,1039,1040,1043,1044,1047,1048,1051,1052,853],{},[913,1037,1038],{},"Step 2:"," Replace the ",[747,1041,1042],{},"MyCertificate.java"," file in the ",[747,1045,1046],{},"GetStarted\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fmyscript\u002Fcertificate"," or in the ",[747,1049,1050],{},"Demo\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fmyscript\u002Fcertificate","\ndirectory with ",[703,1053,1055],{"href":1054},"#getting-a-certificate","your certificate",[606,1057,1058,1061,1062,1065],{},[913,1059,1060],{},"Step 3:"," Open the ",[747,1063,1064],{},"interactive-ink-examples-android"," directory as an existing Android Studio project. The Gradle dependencies should be grabbed and the\nproject should compile with success.",[879,1067,1069,1080],{"color":1068},"warning",[606,1070,1071,1072,1075,1076,1079],{},"If you encounter build errors of the form ",[747,1073,1074],{},"No version of NDK matched the requested version",", please install the requested NDK version or update the one referenced in ",[747,1077,1078],{},"build.gradle"," to match your installed NDK version.",[606,1081,1082,1083,853],{},"You can follow ",[703,1084,1087],{"href":1085,"rel":1086},"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fprojects\u002Finstall-ndk#specific-version",[707],"these instructions",[606,1089,1090,1093,1094,1096,1097,1099],{},[913,1091,1092],{},"Step 4:"," Run the ",[747,1095,834],{}," or the ",[747,1098,815],{}," target.",[691,1101,1102,1105,1110,1183,1192,1213,1221,1233],{"v-slot:cpp":663},[606,1103,1104],{},"To run it, just follow the following instructions:",[606,1106,1107,1109],{},[913,1108,1023],{}," Unzip the following libraries at the same location:",[697,1111,1112,1117,1121,1126,1131,1136,1141,1146,1151,1156,1170],{},[700,1113,1114],{},[747,1115,1116],{},"myscript-iink-api-cpp.zip",[700,1118,1119],{},[747,1120,822],{},[700,1122,1123],{},[747,1124,1125],{},"myscript-iink-handwriting-recognition.zip",[700,1127,1128],{},[747,1129,1130],{},"myscript-iink-recognition-diagram.zip",[700,1132,1133],{},[747,1134,1135],{},"myscript-iink-recognition-math.zip",[700,1137,1138],{},[747,1139,1140],{},"myscript-iink-recognition-math2.zip",[700,1142,1143],{},[747,1144,1145],{},"myscript-iink-recognition-raw-content.zip",[700,1147,1148],{},[747,1149,1150],{},"myscript-iink-recognition-raw-content2.zip",[700,1152,1153],{},[747,1154,1155],{},"myscript-iink-recognition-text-en_US.zip",[700,1157,1158,1161,1162,1165,1166,1169],{},[747,1159,1160],{},"myscript-iink-lib-mac.zip",", ",[747,1163,1164],{},"myscript-iink-lib-lin.zip"," or ",[747,1167,1168],{},"myscript-iink-lib-win.zip"," depending on your platform.",[700,1171,1172,1174],{},[747,1173,995],{},[879,1175,1176],{"color":1068},[606,1177,1178,1179,1182],{},"On macOS, when uncompressing the libraries, we recommend you to use the following command line: ",[747,1180,1181],{},"find . -name \"*.zip\" -exec unzip {} \";\"",". This\nshould avoid some issues with the default unarchiver that will lose files when encountering duplicated folders.",[606,1184,1185,1187,1188,1191],{},[913,1186,1038],{}," Create a ",[747,1189,1190],{},"_build"," folder in that same location. Now, your root folder structure shall be something like:",[697,1193,1194,1199,1204,1209],{},[700,1195,1196],{},[747,1197,1198],{},"certificate",[700,1200,1201],{},[747,1202,1203],{},"iink",[700,1205,1206],{},[747,1207,1208],{},"recognition-assets",[700,1210,1211],{},[747,1212,1190],{},[606,1214,1215,1217,1218,1220],{},[913,1216,1060],{}," Open a command prompt and navigate to the ",[747,1219,1190],{}," folder.",[606,1222,1223,1225,1226,1228,1229,1232],{},[913,1224,1092],{}," Run ",[747,1227,741],{}," to generate the project files from the ",[747,1230,1231],{},"..\u002Fiink\u002Fexamples\u002Fqt"," source directory",[606,1234,1235,1238,1239,1241],{},[913,1236,1237],{},"Step 5:"," Open the solution or XCode project that was generated into the ",[747,1240,1190],{}," folder, compile it and launch it.",[691,1243,1244,1246,1251,1254,1260,1263,1269,1283,1288,1302,1310,1315],{"v-slot:csharp":663},[606,1245,1018],{},[606,1247,1248,1250],{},[913,1249,1023],{}," Clone the MyScript Git repository containing the examples for Windows and navigate to the root of the folder.",[606,1252,1253],{},"For the Universal Windows Platform (UWP), type:",[1026,1255,1258],{"className":1256,"code":1257,"language":1031},[1029],"git clone https:\u002F\u002Fgithub.com\u002FMyScript\u002Finteractive-ink-examples-uwp.git\ncd interactive-ink-examples-uwp\n",[747,1259,1257],{"__ignoreMap":663},[606,1261,1262],{},"For \"traditional\" Windows desktop .NET development using WPF, type:",[1026,1264,1267],{"className":1265,"code":1266,"language":1031},[1029],"git clone https:\u002F\u002Fgithub.com\u002FMyScript\u002Finteractive-ink-examples-wpf.git\ncd interactive-ink-examples-wpf\n",[747,1268,1266],{"__ignoreMap":663},[606,1270,1271,1273,1274,1277,1278,1280,1281,853],{},[913,1272,1038],{}," Replace ",[747,1275,1276],{},"MyCertificate.cs"," file in ",[747,1279,834],{}," directory with ",[703,1282,1055],{"href":1054},[606,1284,1285,1287],{},[913,1286,1060],{}," Open the appropriate solution file:",[697,1289,1290,1296],{},[700,1291,1292,1295],{},[747,1293,1294],{},"iink-examples.uwp.sln"," for UWP",[700,1297,1298,1301],{},[747,1299,1300],{},"iink-examples.wpf.sln"," for WPF",[606,1303,1304,1305,1165,1307,1309],{},"Set ",[747,1306,834],{},[747,1308,815],{}," project as your startup project by right-clicking the project in the solution browser and selecting \"Set as startup project\".",[606,1311,1312,1314],{},[913,1313,1092],{}," Build and run.",[606,1316,1317],{},"This will automatically fetch the latest iink SDK libraries, via the NuGet Package Manager.",[691,1319,1320,1322,1327,1333,1338,1348,1360,1369,1385,1389,1392],{"v-slot:swift":663},[606,1321,1018],{},[606,1323,1324,1326],{},[913,1325,1023],{}," Clone the MyScript Git repository containing the examples for the iOS platform and navigate to the root of the folder containing the applications:",[1026,1328,1331],{"className":1329,"code":1330,"language":1031},[1029],"git clone https:\u002F\u002Fgithub.com\u002FMyScript\u002Finteractive-ink-examples-ios.git\ncd interactive-ink-examples-ios\n",[747,1332,1330],{"__ignoreMap":663},[606,1334,1335,1337],{},[913,1336,1038],{}," Navigate to the root folder of the example application you want to run:",[697,1339,1340],{},[700,1341,1342,1165,1345],{},[747,1343,1344],{},"cd Examples\u002FGetStarted",[747,1346,1347],{},"cd Examples\u002FDemo",[606,1349,1350,1273,1352,1043,1355,1280,1358,853],{},[913,1351,1060],{},[747,1353,1354],{},"MyCertificate.c",[747,1356,1357],{},"MyScriptCertificate",[703,1359,1055],{"href":1054},[606,1361,1362,1364,1365,1368],{},[913,1363,1092],{}," Open the Xcode ",[913,1366,1367],{},"workspace",", compile and run the default target.",[697,1370,1371],{},[700,1372,1373,1374,1376,1377,1380,1381,1384],{},"When opening the project with iink SPM dependency, ",[913,1375,758],{}," will read the SPM’s ",[913,1378,1379],{},"Package.swift"," file to get the URL of the ",[913,1382,1383],{},"MyScriptSDK-libiink.xcframework.zip"," file and will automatically download and unzip it.",[683,1386,1388],{"id":1387},"swift-package-management-guidelines","Swift Package Management guidelines",[606,1390,1391],{},"To add iink SPM package dependency to your App Xcode project:",[697,1393,1394,1402,1410],{},[700,1395,1396,1397,1401],{},"Open the “Package Dependency“ dialog and enter the URL of the public GitHub repository \"",[703,1398,1399],{"href":1399,"rel":1400},"https:\u002F\u002Fgithub.com\u002FMyScript\u002Finteractive-ink-packages-ios",[707],"\" in the bottom right search field.",[700,1403,1404,1405,853],{},"You can specify the version by setting the “Dependency Rule“: the list of releases is available ",[703,1406,1409],{"href":1407,"rel":1408},"https:\u002F\u002Fgithub.com\u002FMyScript\u002Finteractive-ink-packages-ios\u002Freleases",[707],"here",[700,1411,1412],{},"Then click on “Add Package“ button.",{"title":663,"searchDepth":664,"depth":664,"links":1414},[1415,1417,1418,1422,1423],{"id":685,"depth":1416,"text":686},2,{"id":804,"depth":1416,"text":805},{"id":907,"depth":1416,"text":908,"children":1419},[1420,1421],{"id":932,"depth":664,"text":933},{"id":985,"depth":664,"text":986},{"id":1010,"depth":1416,"text":1011},{"id":1387,"depth":1416,"text":1388},"Guide to discover iink SDK",{},"yx8zjy",{"title":386,"description":1424},"hltnWhoHZY0dWkAGeIc0Mhf53ciYYIQsDrU2lxMfJy0",1792566514290]