[fonttools/fonttools] bc3056: [colorLib] Validate glyphs referenced by PaintGlyp...

0 views
Skip to first unread message

Cosimo Lupo

unread,
Aug 20, 2026, 8:24:53 AM (7 days ago) Aug 20
to fontto...@googlegroups.com
Branch: refs/heads/main
Home: https://github.com/fonttools/fonttools
Commit: bc30562e5d813b12d2f5b9585297ff79f40af2bf
https://github.com/fonttools/fonttools/commit/bc30562e5d813b12d2f5b9585297ff79f40af2bf
Author: Srija Vuppala <srijavu...@gmail.com>
Date: 2026-07-29 (Wed, 29 Jul 2026)

Changed paths:
M Lib/fontTools/colorLib/builder.py
M NEWS.rst
M Tests/colorLib/builder_test.py

Log Message:
-----------
[colorLib] Validate glyphs referenced by PaintGlyph/PaintColrGlyph exist in glyphMap (#2629)

buildColrV1 already checks that base glyphs exist in the glyphMap, but glyphs
referenced inside paints (PaintGlyph and PaintColrGlyph) were not validated. A
missing glyph therefore surfaced as an obscure error later on (e.g. a
struct.error at compile time) instead of a legible message.

When a glyphMap is provided, register AFTER_BUILD callbacks on the
LayerListBuilder that raise a clear ColorLibError naming the offending paint and
glyph. The check is skipped when no glyphMap is given, matching the existing
base-glyph behaviour.

Add unit tests for both PaintGlyph and PaintColrGlyph, plus a NEWS entry.


Commit: 71f04ae71eb99e73e569a9bd57da54f67a864ba2
https://github.com/fonttools/fonttools/commit/71f04ae71eb99e73e569a9bd57da54f67a864ba2
Author: Cosimo Lupo <cos...@anthrotype.com>
Date: 2026-08-20 (Thu, 20 Aug 2026)

Changed paths:
M Lib/fontTools/colorLib/builder.py
M NEWS.rst
M Tests/colorLib/builder_test.py

Log Message:
-----------
[colorLib] Also validate COLRv0 layer glyphs against glyphMap

populateCOLRv0 only checked base glyphs, so a layer referencing a missing
glyph still blew up at compile time with KeyError ('B', 'str', 0,
'LayerRecord[]', 'LayerRecordArray'), which is the same unhelpful failure
#2629 is about.


Commit: 75fac8ec6d49f4d8aff97b0a2de0d7a1b910b76f
https://github.com/fonttools/fonttools/commit/75fac8ec6d49f4d8aff97b0a2de0d7a1b910b76f
Author: Cosimo Lupo <cos...@anthrotype.com>
Date: 2026-08-20 (Thu, 20 Aug 2026)

Changed paths:
M Lib/fontTools/colorLib/builder.py
M NEWS.rst
M Tests/colorLib/builder_test.py

Log Message:
-----------
Merge pull request #4141 from srijavuppala/fix/colorlib-validate-paint-glyphs

[colorLib] Validate glyphs referenced by PaintGlyph/PaintColrGlyph exist in glyphMap (#2629)


Compare: https://github.com/fonttools/fonttools/compare/26b31a4dfcb9...75fac8ec6d49

To unsubscribe from these emails, change your notification settings at https://github.com/fonttools/fonttools/settings/notifications
Reply all
Reply to author
Forward
0 new messages