I am able to get recognigtion result, which is good, using iOS ATK 1.3 ITC component.
My app use a digital pen as an input ink, which sends a coordinates, defined by rectangle size (width = 55, height = 83).
1. The ITC component, when configuring, needs the parameter density. I would like to know more about the parameter and how to calculate it correctly.
/** @name Configuration */
* Configures the handwriting recognition engine.
* This function is non-blocking and returns immediately. Configuration is a lengthy process that may take up to
* several seconds, depending on the handwriting resources to be configured. It is recommended to setup a configure
* listener to detect the end of the configuration process.
* @param locale String representation of the handwriting recognition locale.
* @param resources Array of paths to handwriting resource files.
* @param lexicon Array of user lexicon entries. May be <code>nil</code>.
* @param certificate Data containing the handwriting recognition certificate.
* @param dpi The coordinate resolution in dot per inch.
* @return an ITCError
- (ITCError *)configurePageInterpreter:(NSString*)aLocale
As mentioned in the documentation, you have to set a resolution value that will depends on the devices you target actually.
Did you have a look at the sample that shows how to configure this component?
Yes, I Did.
In my case, a strokes are created outside of the device and it looks like the ITCPageInterpreter result depends on the input device resolution and not the device screen resolution. Not always the device screen dpi equal to the input device dpi.
Is this happening only depending on the screen orientation?
The sample does not allow to manage device orientation except for a square area actually. You will find more details in this previous post about ITC Android (it is the same case on iOS)
Please let us know if it helps
My App use external input device to create strokes. I do not use the device screen with a finger moving over it.
I have obtained a good results with the dpi = 1 or the dpi calculated according to the dpi of the input device.
Thanks for those details, it helps to understand your use case. Unfortunately, we have no specific api or settings to address it, so you will have to implement your own piece of code in order to match the screen of your device and the writing area of your external device.
My question is about importance of the dpi parameter in a page interpreter method (configurePageInterpreter), not about implementing of the ITC components.
An page interpreter will return good result when the dpi is equal 1.
Why to calculate the dpi parameter when setting it to value 1 will return a good result ?