v1.25.1

srbhr/Resume-Matcherv1.25.1Sep 28, 2026by abimaelmartell

Upgrading?

AI Summary

Addresses critical font decoding bugs where two-byte CMaps were misread as one-byte and improves handling of Type1 fonts with custom encodings like TeX.

Key Highlights

  • Fixes reading of two-byte ToUnicode CMaps in simple fonts (Type1, TrueType, Type3).
  • Supports Type1 fonts with non-standard encodings using built-in fallbacks.
  • Improved detection to prevent repaired CMaps from being applied to short strings.
  • Fixes text corruption issues such as 'Income Statement' reading as 'Iometatent'.

New Features

  • Corrected font decoding for kerned runs.
  • Better handling of TeX fonts and ligatures.
  • Improved CMap repair validation.

Full Release Notes

Changes since 1.25.0:

- Read simple fonts (Type1, TrueType, Type3) one byte per code when their ToUnicode CMap declares a two-byte codespace: text shown as a kerned run of short strings no longer loses every two-byte string (`Income Statement` read as `Iometatent`). The stale-CMap check for Type1 fonts judges such a CMap too, and the page detector counts such a font's text byte by byte (#595).
- Read a Type1 font whose `/Encoding` names no base encoding through the built-in encoding of its embedded program (PDF 32000-1:2008, Table 114): TeX's fonts read their ligatures (`efficiency`, was `eciency`), curly quotes, dashes and math symbols. A code the program leaves at `.notdef` reads as nothing, the word space excepted, and the base-14 width fallback measures such fonts as they read (#596).
- Take a repaired ToUnicode CMap for a string of one or two glyphs only on evidence beyond short common words: `engagement` no longer reads as `engageaent`, `AND` as `ANa` or `Three` as `ThaTe` (#597).

No API changes.

Release preparation: #604.

[Full changelog](https://github.com/firecrawl/pdf-inspector/compare/v1.25.0...v1.25.1)

Related Repositories