Unicode Mapping Cascade for PDF Text Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining Unicode values in PDF documents often fail to provide correct or complete mappings, especially for simple fonts with non-standard glyph names, CID fonts with Identity-H or Identity-V CMaps, and situations where ToUnicode CMaps are missing, incomplete, or contain incorrect information.

Innovation Solution

A cascading method that utilizes a hierarchical sequence of information sources, including predefined tables, external configuration tables, font outline data, and glyph name lists, to determine Unicode values on a per-glyph basis, filling gaps and correcting errors by combining different sources of information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a single source of Unicode mapping information (such as ToUnicode CMap or glyph name) is used, then the method is simple and fast, but the accuracy and completeness of Unicode mappings deteriorate when the source is missing, incomplete, or incorrect

Engineering Contradiction:
ImproveUnicode mapping accuracyVSAvoidmethod complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple sources of Unicode mapping information (ToUnicode CMap, glyph names, font outline data, external configuration tables) into a unified mapping process. When one source is incomplete or incorrect, other sources can supplement or correct the mappings, thereby improving accuracy without requiring a completely complex system redesign.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal Unicode mapping method that can handle multiple font types (simple fonts, CID fonts with various CMaps) and multiple information sources through a single cascading process. This multi-functional approach improves reliability across different document types while maintaining a consistent method structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If legacy PDF documents are processed with standard Unicode mapping methods, then processing is straightforward, but Unicode mappings are often missing or incorrect due to non-standard glyph names and incomplete ToUnicode CMaps

Engineering Contradiction:
Improvecompatibility with legacy documentsVSAvoidUnicode mapping reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary checks and attempts to retrieve Unicode mapping information from multiple sources before finalizing the mapping. External configuration tables are prepared in advance with known glyph name mappings, allowing the system to proactively handle legacy documents with non-standard glyph names rather than reacting to errors later.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces external configuration tables as an intermediary layer between the PDF content and Unicode mapping. These tables act as a mediator that can translate non-standard glyph names from legacy documents into correct Unicode values, thereby improving reliability without requiring changes to the legacy documents themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If Unicode mappings are not provided for all text contents, then file size is reduced and processing is faster, but semantic information is lost which thwarts faithful rendition and accessibility

Engineering Contradiction:
Improvesemantic information preservationVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent implements a cascading approach where Unicode mappings are obtained from multiple sources in sequence. The process performs partial actions at each level (checking ToUnicode CMap first, then glyph names, then external tables), stopping when sufficient mappings are obtained. This balances information completeness with processing efficiency by not exhaustively searching all sources for every character.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7636885B2Method of determining Unicode values corresponding to the text in digital documents
Publication Date: 2009.12.22 PDFLIB
  • US7636885B2 patent drawing
  • US7636885B2 patent drawing
  • US7636885B2 patent drawing

AI summary

A method of determining Unicode values corresponding to the text in digital documents includes: 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 the Unicode values corresponding to a specific code of a specific font on a per-glyph basis by executing a cascade of determination steps for each code separately, the cascade being executed in a predetermined sequence using different sources of information.