Current release is v0.4
Author: Benoît GILON
Back to the main Tag WWW page
Overview
Tag is a small freeware (source provided) dynamic handwriting recognition engine which is my attempt to write some unusual code. Basically, I needed:
- A specification for character recognition;
- A simple language for doing integer arithmetic;
Choices I made early were:
- I chose the Graffiti character specification, which is a key part of the Palm Computing devices software;
- I selected BBC BASIC (on Acorn computers) as a convenient environment to quickly starting from an idea lead to a program.
- I tried to exclude any floating point computing (being from the "old school" which still believes that FP without hardware should be avoided);
Currently only a tiny subset of the characters are supported and recognized:
User Guide
As the user clicks on the !Run icon, the display will look like below:
- You have the alphabetic zone to your left (like on the Palm device) (marked by the "ABC" pattern);
- You have the numeric zone to your right (aka on the Palm device) (marked by the "123" pattern);
- You have the target string display field in which Tag builds its result string from the character strokes you make;
- You can reset the target string at any time by clicking the "Reset target string button";
- The little box acts like a "case mode" indicator:
- no sign in it (this is the default mode)
- means every input alphabetic character will be interpreted as being lowercase;
- A single uparrow sign
- The next character (provided it is alphabetic) will be interpreted as being uppercase, the mode will be reset to the default thereafter;
- Two up arrow signs
- mean that every alphabetic character to come when this mode is active will be interpreted as being uppercase (just input the stroke Uppercase to return to the default mode).
- Currently, no help is available hence the red colour for the Help button;
- The Quit button use is obvious;
Now its time to play: let's try to input the string "Java 1.2"; we have to switch to uppercase mode in order to enter the 'J' character which results is:
People with hawkeyes can see:
- Small red circles are raw data as sampled by the system software;
- White line segments link them;
- Yellow segments are result segments derived from the analysis phase;
Now it's time to insert the characters by themselves and the result is:
Final notes
- Translation reliability goes better with the stroke' size so do not hesitate to make them big (do what I say, dont't what I do ;-) ;
- People who would like to share ideas on the topic covered in this page are encouraged to drop me a note.