1. An optical-symbol-recognition system comprising: a memory device; and one or more processors, coupled to the memory device, to: receive a document image comprising a first symbol image of a plurality of symbol images; initialize a vote data structure that comprises a plurality of entries, an entry to store a cumulative vote of a plurality of cumulative votes and an associated grapheme of a plurality of graphemes, each grapheme corresponding to a symbol code of a plurality of symbol codes; determine, for the first symbol image, a cumulative vote for each of the plurality of graphemes, the cumulative vote based on a number of matches between the first symbol image and one or more graphemes of the plurality of graphemes; store determined cumulative votes for the first symbol image in the plurality of entries in the vote data structure; sort the plurality of entries in the vote data structure using the cumulative votes; select a grapheme from one of the plurality of entries that is identified based on an order associated with the cumulative votes; and generate a digital document comprising a symbol code corresponding to the selected grapheme.