[fonttools/fonttools] 21983b: sanitise glyph name in EBDT/CBDT extfile export

1 view
Skip to first unread message

Cosimo Lupo

unread,
Aug 28, 2026, 12:17:52 PMAug 28
to fontto...@googlegroups.com
Branch: refs/heads/main
Home: https://github.com/fonttools/fonttools
Commit: 21983b8d840a1b923042b18c85c28d3c7220efa1
https://github.com/fonttools/fonttools/commit/21983b8d840a1b923042b18c85c28d3c7220efa1
Author: Mahammad Insaf <In...@digiscrypt.com>
Date: 2026-07-14 (Tue, 14 Jul 2026)

Changed paths:
M Lib/fontTools/ttLib/tables/E_B_D_T_.py
A Tests/ttLib/tables/E_B_D_T_test.py

Log Message:
-----------
sanitise glyph name in EBDT/CBDT extfile export


Commit: 53e2b0b0a4af362038571d5353d8f85b2328cbdf
https://github.com/fonttools/fonttools/commit/53e2b0b0a4af362038571d5353d8f85b2328cbdf
Author: Cosimo Lupo <cos...@anthrotype.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)

Changed paths:
M Lib/fontTools/ttLib/tables/E_B_D_T_.py
M Tests/ttLib/tables/E_B_D_T_test.py

Log Message:
-----------
[E_B_D_T_] don't let sanitised glyph names collide

Dropping the directory part of a glyph name keeps the export inside the
bitmaps folder, but maps distinct names onto one file: "a/b" and "b" both
wrote strike0/b.bin, the second silently overwriting the first, and both
extfileimagedata entries then pointed at the same image. Before, such a name
raised FileNotFoundError, so this traded a crash for silent corruption.

Escape such names URL-style instead, with a leading '%' so an escaped name
can never collide with a plain one -- avoiding separators is not enough when
a real glyph can be named like another name's escaped form. Normal glyph
names contain no separator and no '%' and are kept as-is, so existing
exports keep their filenames.


Commit: 9c10287dbb5db9f1e07d8b3c667c0c75f1f6a6a4
https://github.com/fonttools/fonttools/commit/9c10287dbb5db9f1e07d8b3c667c0c75f1f6a6a4
Author: Cosimo Lupo <cos...@anthrotype.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)

Changed paths:
M Lib/fontTools/ttLib/tables/E_B_D_T_.py
A Tests/ttLib/tables/E_B_D_T_test.py

Log Message:
-----------
Merge pull request #4128 from insaf021/ebdt-extfile-basename

sanitise glyph name in EBDT/CBDT extfile export


Compare: https://github.com/fonttools/fonttools/compare/3bbd2683368c...9c10287dbb5d

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