The long awaited handwriting input method is now useable, but still in very beta stage.
What you can do now is write a character and then the most similar character will then appear in the XIM-capable client, including rxvt, kterm, and gtk apps.
At this stage it supports Kanji (Japanese characters) and Hanzi (Chinese characters, both simplified and traditional, theoretically). Numbers, english and latin characters, punctuations and hiragana/katagana/hangul will be supported later.
The program is based on the excellent kanji recognizer, Kanjipad, by Owen Taylor, which is in turn based on the JavaDict handwriting regcognition engine.
To get the program, please use CVS, as follows:
% cvs -d :pserver:anon@debian.org.hk:/home/user/ypwong/cvs login
[Enter "anon" as password]
% cvs -d :pserver:anon@debian.org.hk:/home/user/ypwong/cvs checkout lamerpad
Pretty straightforward, to compile, just type
% cd lamerpad; make
% export LANG=zh_TW.Big5
% lamerpad &
% crxvt -im lamerpad &
[ Then write chinese characters in lamerpad ]
[ Now close the 2 windows and try again ]
% export LANG=zh_CN.GB2312
% lamerpad &
% crxvt -im lamerpad &
[ Then write chinese characters in lamerpad ]
[ Now close the 2 windows and try again ]
% export LANG=ja_JP
% lamerpad &
% kterm -xim &
[ press ctrl-"mouse button 2" and select "Japanese EUC Mode"
and "Open Input Method"]
[ Then test again ]
Q: Lamerpad doesn't regconize some characters, is it a bug? A: Two reasons. The character may be still absent it the database, or the order of strokes is incorrect, make sure that you write the strokes in order.
Because the original database is used for a Japanese dictionary, Japanese Kanji are quite complete. I haven't added any Chinese characters into the database so if the Chinese characaters that you are trying do not have their counterparts as Kanji, then it won't recognize it.
Q: Does the GB encoding really work? It seems not! A: Please refer to the previous question.
Q: Why the recognized character does not sent to the XIM client? A: If you follow the instructions correctly, you may need to set Lamerpad NOT to receive any focus. Under Window Maker, you need to do this:
- Right click on menu bar
- Select "Attributes..."
- Select "Advanced Options"
- Enable "Don't Let it Take Focus"
This version is mainly a proof-of-concept, to show that it really works :> I think I may not further develop on this version, as the recognition engine is rather restrictive. For example, you must write according to the order of the strokes. Though I will do bug fixes and add more characters into the database. I'm going to find some relevant papers to study and implement a better engine. But don't count me on this because I need to finish my thesis first :>
Handwriting recognition is not my research field, so any input and ideas are very welcome. Don't hesitate to send me feedback. Thanks a lot.