iink SDK on Device

Answered

iink on iOS without rendering?

Hi folks!

Any way to get rid of the rendering? While playing with the "GetStartedSwift" project, I figured out how to initiate the engine and how to create the IINKEditor. But it seems the editor needs an IINKRenderer as well as an FontMetricsProvider (both seems very rendering specific). My app uses an own approach on rendering. So I like to provide only the data points. Any ideas?

Best regards

Chris


Best Answer

Hi Chris,


The Interactive Ink SDK API requires an IINKRenderer and a FontMetricsProvider to be provided to the editor. The dpi information provided by the renderer, for instance, is important to get a sense of the scale of what was written and will impact the quality of the recognition; the font metrics provider is required in case typeset data needs to be layouted at some point (certain cases of import or export). However, you do not need to display anything: the IINKRenderer asks for a render target: you can provide your own object implementing IINKIRenderTarget with methods that do nothing.


Best regards,

Thomas


Answer

Hi Chris,


The Interactive Ink SDK API requires an IINKRenderer and a FontMetricsProvider to be provided to the editor. The dpi information provided by the renderer, for instance, is important to get a sense of the scale of what was written and will impact the quality of the recognition; the font metrics provider is required in case typeset data needs to be layouted at some point (certain cases of import or export). However, you do not need to display anything: the IINKRenderer asks for a render target: you can provide your own object implementing IINKIRenderTarget with methods that do nothing.


Best regards,

Thomas

Hi,

If you keep your proposed analogy "package" = "document", then you have "part" = "page", a page being of a given type (some text, a diagram, some math, etc.). A block would be a semantic subdivision of a page, for instance a paragraph.

I see two potential issues with the code:

  1. I am under the impression that you send the events to the editor before you attach the part to it. You should do the other way round. The part "gathers" the data iink will work on.
  2. As recognition may take some time to complete, you need to call waitForIdle on the editor object before attempting to export.

To get configuration error, you should implement the onError method of IINKEditorDelegate. It will raise an error whether you attempt to use an invalid configuration.

I hope this will help,

Best regards,
Thomas

1 person likes this