Skip to content

chore(deps): bump printpdf from 0.7.0 to 0.11.3#62

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/cargo/printpdf-0.10.0
Open

chore(deps): bump printpdf from 0.7.0 to 0.11.3#62
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/cargo/printpdf-0.10.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 8, 2026

Copy link
Copy Markdown
Contributor

Bumps printpdf from 0.7.0 to 0.11.3.

Changelog

Sourced from printpdf's changelog.

Changelog

0.12.0

The release where OTF fonts display correctly in Acrobat again (#280), the parser grew up, the wasm demo came back from the dead, and the whole thing is verified end-to-end in a headless browser on every push.

CID-keyed CFF fonts render correctly in Acrobat and Preview (#280). Fonts like NotoSansJP carry a CID-keyed CFF whose charset does NOT map glyph ids 1:1 to CIDs (they diverge from glyph 365 on). printpdf wrote glyph ids as the Identity-H codes - but a spec-following viewer resolves every code as a CID through that charset (ISO 32000-1, 9.7.4.2), so Acrobat and Preview drew wrong CJK glyphs and nothing at all for the fullwidth brackets, while Chrome's PDFium (which falls back to code == GID) looked fine and copy-paste worked (ToUnicode was keyed by the written code). Both embed paths were wrong - the subsetter preserves the original CIDs in the subset charset while the content stream emitted renumbered sequential gids. The content stream, /W widths and /ToUnicode are now all keyed by the embedded charset's CIDs; parsing resolves codes back CID→GID (through /CIDToGIDMap streams and CFF charsets - foreign Adobe/dvipdfmx CJK PDFs re-render correctly now too, and legacy code==GID files are detected and kept stable). Guarded three ways: a deterministic mock-font suite (generated TTF/CFF/CID-CFF faces with distinct defined widths, so glyph identity is checked as arithmetic), a hard-coded-CID canary, and a fontTools CI job that re-resolves every code with Acrobat's semantics, independent of printpdf, allsorts and poppler alike. Related font-dictionary fixes: the XXXXXX+ subset tag only appears when the font was actually subset, /FontName matches /BaseFont, CIDFontType2 carries an explicit /CIDToGIDMap /Identity, .ttc sources embed the single selected face instead of the whole collection, and ToUnicode synthesis covers supplementary planes. Text-showing ops outside StartTextSection/EndTextSection - the classic "my PDF is blank" mistake (#254) - now warn loudly at save time. Type0 fonts with non-Identity-H encodings warn on parse instead of silently scrambling.

Requires rust-fontconfig 4.4.6; ships against the published azul-layout 0.0.10 (the agg-rust-azul rasterizer under its svg path is pinned <1.0.3, whose API break made fresh svg-feature builds fail to compile - the #279 failure shape, one dependency over). The azul master improvements - including the wasm Instant::now() clock fix on the font LRU path (rust-fontconfig's half of that fix is in 4.4.6) - arrive with the azul-layout 0.0.11 bump in a follow-up release.

PDF parsing / round-trip, rewritten where it lied. Text decoding no longer guesses code width from string byte-parity - it is resolved per font at Tf (builtin/simple fonts decode per byte through ToUnicode-else-WinAnsi; Type0 through 2-byte gids with per-glyph Unicode carried from the ToUnicode CMap, synthesized from the font's own cmap when the PDF has none). Form XObjects, undecodable images and printpdf's own FlateDecode raw bitmaps (with /SMask alpha) survive parsing instead of being dropped; MediaBox inherits through the page tree; '/" operators, link annotations (/Rect was misread), layers (/Properties names now correlate - no more "Marked Content unknown"), and /Shading resources + sh ops (axial/radial with exponential/stitching functions) all round-trip. Embedded fonts named F1F14 are no

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 8, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/printpdf-0.10.0 branch from d3ab04e to f66585c Compare July 10, 2026 19:17
@dependabot dependabot Bot changed the title chore(deps): bump printpdf from 0.7.0 to 0.10.0 chore(deps): bump printpdf from 0.7.0 to 0.10.1 Jul 22, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/printpdf-0.10.0 branch from f66585c to 39ab8c3 Compare July 22, 2026 17:37

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.

Tip: disable this comment in your organization's Code Review settings.

Bumps [printpdf](https://github.com/fschutt/printpdf) from 0.7.0 to 0.11.3.
- [Release notes](https://github.com/fschutt/printpdf/releases)
- [Changelog](https://github.com/fschutt/printpdf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fschutt/printpdf/commits)

---
updated-dependencies:
- dependency-name: printpdf
  dependency-version: 0.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title chore(deps): bump printpdf from 0.7.0 to 0.10.1 chore(deps): bump printpdf from 0.7.0 to 0.11.3 Jul 22, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/printpdf-0.10.0 branch from 39ab8c3 to 9b8d00e Compare July 22, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants