1. A method for correcting optical character recognition (OCR) errors from an OCR scan result, comprising: registering an OCR machine code from the OCR scan result; mapping the registered OCR machine code to one or more of an OCR-Key according to one or more character shape functions; selecting, from a dictionary, a first set of candidate words as possible matches to the registered OCR machine code; selecting, from the dictionary, a second set of candidate words as possible matches to the OCR-Key; calculating a set of errors between the second set of candidate words and the OCR machine code and the OCR-Key; and selecting a preferred candidate word from the second set of candidate words with the smallest set of errors.