I've just tested out strokes with a new algorithm that seems to be
performing on-line Chinese character recognition at an accuracy of
75.9% on the task of recognizing characters from a set of 79
characters (about 60/79 is the ratio). Note that this is with
characters that were written completely cursively, and with a mouse,
on varying computers, all of varying speeds. This is good news. Bad
news is that the recognition happens pretty slow (I'm ashamed to say
that I've only been able to get it down to about 2 hours to recognize
about 80 charcters, and that's with compiled Allegro CL running
through the ACL interpreter). But I'll make it faster later. I think
I can dump this to an executable. Anyway, I have hardly trained the
system, and so things will get *a lot* better. Just wanted to tell
you guys the good news. Anyway, even though I can port this all to
Elisp, that would just be a crying joke, unless I figured out a way so
that I could skip over lots of characters. but with multi.el (the
matrix package), the algorithms can be contained in elisp. But
they're all written recursively, and I noticed that the ACL compiler
mentioned a lot of optimizations it did while compiling the code.
Plus, the fact that it has a built-in multi-dimensional array type
(which I think is reasonably easy to implement, and there's just no
reason why XEmacs shouldn't have it, especially if we just take a
first swing at it and ignore dynamic sizing and fill pointers).
dave