Certain characters are distinguishable from each other only by fine detail, and, therefore, in our method we group those characters into hierarchical categories. When the first classifier assigns a character to one of those categories, the second process, which is called disambiguation, is applied. We actually use two types of disambiguators. In one we look at the skeleton graph in finer detail and in the other we look at the original gray scale data. The first disambiguation process is geared toward resolving ties between the top two choices of the first classifier (pair disambiguation). Each procedure uses the skeleton features matched to the prototypes by the first classifier and then takes a closer look at the geometrical relations between arcs and strokes. Error analysis of the results suggested the need for the re- examination of the gray scale data. For this purpose the gray scale values of skeletons are used to find an accurate threshold in order to extract contours. Interpretations whose characteristics do not align well with the features measured from the contours are eliminated progressively. Experiments conducted with this method on address blocks supplied by the USPS indicated that the overall performance was substantially improved.