I don't know tesseract too much, but I have some information about OCR. Here we go.
- In an OCR task you need to be sure that, your train data has the same font that you are trying to recognize. Or if you are trying to recognize multiple fonts, be sure that you have those fonts in your train data to get best performance.
- As far as I know, tesseract applies OCR in few different ways: One, you give an image which has multiple letters in it and let tesseract do the segmentation. And other, you give segmented letters to tesseract and only expect it to recognize the letter. Maybe you can try to change the one which you are using.
- If you are training recognizer by yourself be sure that you have enough and equally amount of each letter in your train data.
Hope this helps.