Skip to content

Backport the dotsection fix to the 0.25 series for a patch release - #229

Closed
tobocop2 wants to merge 1 commit into
harfbuzz:mainfrom
tobocop2:dotsection-0.25.1
Closed

Backport the dotsection fix to the 0.25 series for a patch release#229
tobocop2 wants to merge 1 commit into
harfbuzz:mainfrom
tobocop2:dotsection-0.25.1

Conversation

@tobocop2

@tobocop2 tobocop2 commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

What this is

The #228 fix (ignore the deprecated dotsection operator instead of failing the whole charstring, #227) cherry-picked onto the v0.25.1 tag, so a 0.25.2 patch release can be tagged directly from this branch.

Why a backport

Consumers hit the bug through released crates: pdf_oxide, fontdb and anything else outlining Type 1C subsets pin 0.25. A patch release delivers the fix downstream immediately; the main-branch fix in #228 only ships with the next minor.

Validation

Identical change and tests to #228. Full suite passes on this branch (151 tests); control glyphs keep byte-identical outlines.

If you would rather cherry-pick onto your own release branch and tag from there, feel free to close this.

dotsection (escape 12 0) is a Type 1 hinting operator that Adobe's
Type 1 to Type 2 conversion preserves on dot-bearing glyphs, so
distiller-produced Type 1C subsets carry it routinely. The two-byte
operator match only knew the flex family and returned
CFFError::UnsupportedOperator, which aborted the entire charstring:
glyphs such as i, j, period, colon, exclam and question yielded no
outline at all instead of an outline missing hinting metadata.

The operator takes no arguments and only brackets outline sections
for hinters, so treat it as a pure no-op, matching read-fonts
('Nothing to do.') and FreeType. A second test pins the no-op
semantics: operands already on the stack survive it untouched.

(cherry picked from commit 023f816)
@tobocop2 tobocop2 changed the title [0.25 backport] Ignore the deprecated dotsection operator in CFF charstrings Backport the dotsection fix to the 0.25 series for a patch release Aug 2, 2026
@tobocop2

tobocop2 commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator Author

Folding this into #228 to keep one PR. The same commit on the v0.25.1 base lives at tobocop2/ttf-parser:dotsection-0.25.1 if a 0.25.2 patch release is wanted; #228 now points at it.

@tobocop2 tobocop2 closed this Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant