Transcriber Handwriting Recognition Application OS Design Development (Windows CE 5.0)
Transcriber Handwriting Recognizer Application functionality allows a user to provide input by writing on a touch screen. It recognizes all handwriting, regardless of whether it is cursive, printed, or a combination of both. It also recognizes common symbols and various control gestures, in addition to letters, numbers, and words.
This Catalog item, which provides its own recognition engine, is distinct from the Handwriting Recognizer Engine, which is a separate Catalog item. When you create an OS design with this Catalog item, which is implemented by the transcriber module, the executable files and Help files are included in the Windows directory on the target device.
Transcriber Handwriting Recognizer Application functionality supports the English, French, and German languages. The error rate for the French and German versions of the Transcriber Handwriting Recognizer Application can be higher than the error rate for the English version, so you should test to be sure that the error rate is acceptable before including the French or German version in your OS design.
OS Design Information
The following table shows operating system design information for Transcriber Handwriting Recognizer Application.
Concept | Description |
---|---|
Dependencies | Requires the Touch Screen (Stylus) Catalog item and a keyboard driver. |
Hardware considerations | Requires a touch screen. |
You can use the null keyboard driver to satisfy the dependency on the keyboard driver. To include a null keyboard driver in your OS design, set the CE_MODULES variable to include the keybd and nopkeyboard modules and set the BSP_KEYBD_NOP environment variable equal to 1.
Transcriber Handwriting Recognizer Application functionality does not work well with the Remote Desktop Protocol (RDP). It cannot send input by using RDP and it requires information from the underlying window on the host machine that the RDP client does not make available.
Modules and Components
The following table shows the components and modules that implement Transcriber Handwriting Recognizer Application.
Item | Module | Component |
---|---|---|
Transcriber Handwriting Recognizer Application | transcriber | None |
The Transcriber Handwriting Recognizer Application supports the English, French, and German languages. The error rate for the French and German versions of the Transcriber Handwriting Recognizer Application can be higher than the error rate for the English version; therefore, you should test to be sure that the error rate is acceptable before you include the French or German version in your OS design.
The Transcriber Handwriting Recognizer Application is provided as libraries and executable files, not as source code. The following table shows the library, executable, and Help files provided with the Transcriber Recognizer Handwriting Application.
File | Description |
---|---|
Tch_trns.lib | A library that allows the Transcriber Handwriting Recognizer Application to interact with the touch driver. You must link this library with the libraries for the touch driver and include the entry points for the library in the .def file for your touch driver. |
TranscriberEnu.lib, TranscriberFra.lib, TranscriberDeu.lib | Libraries for the Transcriber Handwriting Recognizer Application for the English, French, and German languages, respectively. Compiling these libraries creates the TranscriberEnu.exe, TranscriberFra.exe, and TranscriberDeu.exe files. |
TranscriberEnu.exe, TranscriberFra.exe, TranscriberDeu.exe | Executable files for the Transcriber Handwriting Recognizer Application for the English, French, and German languages, respectively. |
TraRecoEnu.lib, TraRecoFra.lib, TraRecoDeu.lib | Library files that provide the ability to recognize ink for the English, French, and German languages, respectively. Compiling these libraries creates the TraRecoEnu.dll, TraRecoFra.dll, and TraRecoDeu.dll files. |
TraShapeSelectorEnu.lib, TraShapeSelectorFra.lib, TraShapeSelectorDeu.lib | Library files that allow the recognition of individual letter shapes based on the preferences of the user for the English, French, and German languages, respectively. Compiling these libraries creates the TraShapeSelectorEnu.exe, TraShapeSelectorFra.exe, and TraShapeSelectorDeu.exe files. |
TranscriberEnu.htm, TranscriberFra.htm, TranscriberGer.htm, Msrg_entr.bmp, Msrg_space.bmp, Msrg_back.bmp, Msrg_wdel.bmp, Msrg_all.bmp, Msrg_case.bmp, Msrg_undo.bmp, Msrg_copy.bmp, Msrg_cut.bmp, Msrg_paste.bmp, Msrg_tab.bmp, Msrg_ckmk.bmp, Bt_arw.bmp, Bt_rmode.bmp, Bt_kbrd.bmp, Bt_corwin.bmp, t_larr.bmp, bt_rtn.bmp, bt_spc.bmp, bt_lss.bmp, bt_optns.bmp, bt_bspc.bmp, bt_rarr.bmp, bt_tran.bmp, bt_help.bmp | Help files and bitmaps that provide user documentation for the Transcriber Handwriting Recognizer Application in English, French, and German, respectively. |
Windows CE also provides sample applications for testing that the touch screen driver performs satisfactorily enough to work well with the Transcriber Handwriting Recognizer Application. These sample applications are contained in the %_WINCEROOT%\Public\Common\Oak\Demos\Inksamp and %_WINCEROOT%\Public\Common\Oak\Demos\Inksamp2 directories, and the applications compile as Inksamp.exe and Inksamp2.exe, respectively. Inksamp.exe measures the point rate. InkSamp2.exe allows you to look for problems with the continuity of the ink.
When you create an OS design that includes the Transcriber Handwriting Recognizer Application, the executable files and Help files are included in the Windows directory on the target device.
Transcriber Handwriting Recognizer Application Implementation Considerations
You can include the Transcriber Handwriting Recognizer Application in your OS design by adding this Catalog item or by setting an environment variable. The following table shows the Sysgen variables that enable the Transcriber Handwriting Recognizer Application.
Sysgen variable | Description |
---|---|
SYSGEN_TRANSCRIBER | When this variable is set, the Transcriber Handwriting Recognizer Application is included in the OS design.
When this variable is not set, the Transcriber Handwriting Recognizer Application is excluded from the OS design. |
When you include the Transcriber Handwriting Recognizer Application in your OS design, your touch driver must include the following entry points:
- TouchReset
- TouchRegisterWindow
- TouchUnregisterWindow
- TouchSetValue
- TouchGetValue
- TouchCreateEvent
- TouchGetFocusWnd
- TouchGetLastTouchFocusWnd
- TouchGetQueuePtr
The %_WINCEROOT%\Public\Common\Oak\Inc\Touch.def file provides an example of how to include these entry points.
You also need to make sure that the touch driver that you use meets the following requirements:
It provides enough ink to maintain a sustained average ink rate of 100 points per second. You can use the InkSamp.exe sample application to determine this rate.
The driver must sustain this rate for satisfactory performance. A driver that provides an ink rate of 100 points per second for 0.5 seconds and then provides an ink rate of 0 points per second for the following 0.5 seconds loses 0.5 seconds of handwriting and does not perform well enough to provide a satisfactory experience for the user of the Transcriber Handwriting Recognizer Application. You can use the InkSamp2.exe sample application to determine if the amount of time between points is more than expected for the number of points retrieved by GetMouseMovePoints. If this amount of time is larger than expected, the average ink rate varies over time and is not sustained.
It should not allow any skips where points of ink separated by large distances. You can use the InkSamp2.exe sample application to test whether the driver allows skips. The driver should not allow skips of more than five pixels.
It should not allow large gaps of time without any points of ink. You can use the InkSamp2.exe sample application to test whether the driver allows such gaps. The InkSamp2.exe sample application includes a timer that checks for points at 0.1 second intervals. The driver should not allow any intervals without points.
In practice, occasional small ink skips or lags can occur. The developer is responsible for ensuring that the driver and hardware perform well enough to support the Transcriber Handwriting Recognizer Application before including it, by using the InkSamp.exe and InkSamp2.exe sample applications. Providing a touch driver that meets these requirements ensures that the accuracy of handwriting recognition is high enough to provide a satisfactory experience for the user.
When you use the InkSamp.exe and InkSamp2.exe sample applications to test the performance of the touch screen driver for handwriting recognition, you should perform the following actions:
- Draw circles. If straight lines or chords appear instead of circular arcs, the driver is not registering enough points in some areas and is connecting points separated by a distance with straight lines. When this behavior occurs, the InkSamp2.exe sample application should register skips.
- Enter some handwritten text. The ink should look like the text that you wrote if the Transcriber Handwriting Recognizer Application recognizes the text accurately. Entering handwritten text is a better test than entering printed text.
See Also
Send Feedback on this topic to the authors