v1.25.1

tanchongmin/strictjsonv1.25.1Sep 28, 2026by abimaelmartell

Upgrading?

AI Summary

This release focuses on fixing font decoding issues that caused text corruption in complex fonts and improves the accuracy of ligature and short string detection.

Key Highlights

  • Fixes text corruption in fonts with 2-byte codespace (e.g., Income Statement reading as Iometatent)
  • Improves ligature reading for TeX Type1 fonts and base encoding
  • Enhances string detection for short glyphs to prevent misreading common words
  • Updates stale CMap checks for Type1 fonts to ensure byte-by-byte accuracy

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