The text extraction engine operates directly on PDF content streams, interpreting each operator to reconstruct the original text flow. Unlike simpler tools that rely on the ToUnicode map alone, this engine combines multiple font tables to resolve glyph-to-character mappings.
CID font handling decodes double-byte character codes used in CJK documents. The engine maintains a registry of known CMap resources and falls back to heuristic analysis when embedded CMaps are incomplete or missing.
Vertical writing mode detection examines the WMode flag in font dictionaries and adjusts text positioning accordingly. Characters in vertical mode are ordered top-to-bottom and right-to-left, which requires different line-breaking logic.
Ligature decomposition splits combined glyphs back into their component characters. Common ligatures like fi, fl, and ffi are resolved using a ligature table, while font-specific ligatures are detected through glyph width analysis.