There are many modules that detect various features (specified as algorithms, rather than learnt). Each of these has a difference measure, that specifies how different it should regard two word images based on those features.
The program also detects width and height as another feature of the image.
The final module is a DifferenceClassifier, which combines the difference measures from several other modules, and does a brute-force search for the word in the dictionary which has the least difference to the word currently being classified.