This is primarily just curiosity, but are there any OCR implementations in pure Java? I'm curious how this would perform purely in Java, and OCR in general interests me, so I'd love to see how it's implemented in a language I thoroughly understand. Naturally, this would require that the implementation is open source, but I'm still interested in proprietary solutions, as I could at least check out the performance in that case.
I've seen a couple which can be used in Java (like Asprise) but it doesn't seem that these are pure Java implementations... are there any?
I recommend trying the Java OCR project on sourceforge.net. I originally developed it, and I have a blog posting on it.
Since I put it up on sourceforge, its functionality been expanded and improved quite a bit through the great work of a volunteer researcher/developer.
Give it a try, and if you don't like it, you can always improve it!