This directory contains the tools and the data for generating JavaScript code from the Unipen files. The Unipen data is useful for testing handwriting recognition input methods. Since the JavaScript does not have file io, the data must be provided in JavaScript format. The build_unipen_data.py is a Python script that scans the directories for Unipen files, combines them into a data structure and prints the output as the JavaScript code. The produced JavaScript code can be imported in the testscript and used for emulating handwritten characters. The Unipen data can be collected using the virtual keyboard. To enable the data collection mode, the virtual keyboard must be compiled with a special qmake parameters: CONFIG+=lipi-toolkit CONFIG+=record-trace-input The first option enables the handwriting recognition engine and the second option enables the data collection mode. In data collection mode, the handwriting input for a character is saved into a file. To eliminate bad input, the text case of the handwriting input must match with the current text case of the handwriting keyboard. The collected traces are saved into VIRTUAL_KEYBOARD_TRACES folder in the current users home directory. The file names of the collected traces are constructed as follows: __.txt Where the unicode is the Unicode value of the recognized character in decimal format, the confidence is the confidence value in the scale from 0 to 100 (with 100 being the highest confidence) and the index is the number of overlapping files in the directory. After collecting the desired amount of trace samples, the Unipen files are copied (manually) into this directory and supplied to the build_unipen_data.py script. For example: ./build_unipen_data.py alphanumeric > unipen_data.js The generated JavaScript file, unipen_data.js in this case, contains all the data combined in the input files. This file can now be used in the input panel tests as a common character database to emulate handwriting recognition in test cases. The database can be copied to tests/auto/inputpanel/data/inputpanel/unipen_data.js and re-run the tests. It should be noted that the character database should contain at least the characters that are tested.