A while ago, I found all existing open-source projects, even for printing recognition, very poor. Interestingly, even though some authors are pretty strong in this field and in application mathematics, they are notoriously illiterate in computer sciences and practical programming. In particular, I found that such basic thing as Unicode was a great mystery to them.
However, later on I found much more mature and interesting works on CodeProject. They are old, but it's good for you to know them. At the same time, none of them was ready to use, but main recognition problems were solved pretty well. I looks like dominating approaches were based on neural networks (
http://en.wikipedia.org/wiki/Neural_network[
^]). Please see:
Neural Network OCR[
^],
Creating Optical Character Recognition (OCR) applications using Neural Networks[
^],
Neural Network Classifier[
^],
A C# Project in Optical Character Recognition (OCR) Using Chain Code[
^],
Unicode Optical Character Recognition[
^],
Hebb neural network[
^],
Backpropagation Artificial Neural Network in C++[
^],
OCR Line Detection[
^].
Of course, first of all you need your own research, and not even in literature, but in related aspects of applied mathematics, and your own development works, especially in algorithm. The thesis should always be based on original work. I also would advise you (and everyone) to follow my method: start attacking the problem before you read anything at all. Your attempts could be naive, but when you break enough of your teeth on this difficult problem, you will be able to understand theory and work of others much better. Besides, you should not deny a chance to discover something completely original, something which nobody discovered before you.
Wish you the best of luck,
—SA