Patent ID: 7636885

Claim:
A method of determining Unicode values corresponding to the text in digital documents, comprising: providing a digital document containing information related to the text in the document, the information including at least one set of data selected from the group consisting of: the numerical character code comprised by a single byte value or a sequence of multiple bytes, the glyph name corresponding to the character code for simple fonts, the code-to-Unicode mapping provided by a ToUnicode CMap, and font outline data embedded in the document; obtaining the information related to the text from the document; and determining Unicode values corresponding to a specific code of a specific font on a per-glyph basis, wherein the determination of the Unicode values is performed by executing a cascade of determination steps for each code separately, the cascade being executed in a predetermined sequence using different sources of information, and wherein the cascade of determination steps comprises at least two of the following steps: providing one of an external ToUnicode CMap and a code list and reading the external ToUnicode CMap or code list; determining if a font file is embedded as one of TrueType and OpenType and, if so, determining if the font's cmap contains a Unicode mapping and, if so, inverting the cmap of the font; determining if external font data in TrueType or OpenType format is available and, if so, determining if the font's cmap contains a Unicode mapping and, if so, inverting the cmap of the font; determining if an external glyph name list is configured and, if so, reading the external list; determining if the glyph name is an algorithmic glyph name and, if so, determining if a predefined or external heuristic is available for this algorithm and, if so, applying the heuristic; determining if the glyph name is contained in an internal list of non-standard names and, if so, reading the Unicode value from that list.