1. A method executed by a computer as part of a computer program for identifying and resolving characters and attributes of said characters erroneously recognized by a plurality of different optical character recognition engines, said characters originating from different types of character environments, said computer connectable to receive a plurality of different optical character recognition (OCR) engine outputs from corresponding said different OCR engines, said method comprising the steps of: a) synchronizing said different OCR engine outputs from said different OCR engines to each other to detect matches and mismatches between said different OCR engine outputs from said different OCR engines by executing one or more synchronization heuristics to pattern match said OCR engine outputs, by varying a character substitution ratio and a number of look-ahead characters to determine whether the corresponding number of look-ahead characters in said OCR engine outputs match; b) resolving each of said mismatches from said different OCR engines if any mismatch is detected in step (a); and c) outputting said matches and said resolved mismatches.