Branch: refs/heads/beyond-64k
Home:
https://github.com/fonttools/fonttools
Commit: 24621cbfd0786df1376f92264b0e0dff8f5c1bee
https://github.com/fonttools/fonttools/commit/24621cbfd0786df1376f92264b0e0dff8f5c1bee
Author: Cosimo Lupo <
cos...@anthrotype.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M Lib/fontTools/ttLib/tables/_h_e_a_d.py
M Tests/ttLib/beyond64k_test.py
Log Message:
-----------
[head] Add MAXP/LOCA to head dependencies
The uppercase MAXP/LOCA companions sort last in the save order, so a beyond-64k
font with long loca would write head before LOCA and freeze a stale
indexToLocFormat, corrupting the saved loca offsets. List the companions as head
dependencies so head is written after them, matching post which already depends
on both maxp and MAXP.
Commit: e20998b89c0a17213cad0c6fdd6a02dad6ee2a3a
https://github.com/fonttools/fonttools/commit/e20998b89c0a17213cad0c6fdd6a02dad6ee2a3a
Author: Cosimo Lupo <
cos...@anthrotype.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M Lib/fontTools/ttLib/tables/otData.py
M Lib/fontTools/ttLib/tables/otTables.py
M Lib/fontTools/varLib/__init__.py
M Tests/ttLib/tables/otTables_test.py
M Tests/varLib/builder_test.py
Log Message:
-----------
[varLib] Support beyond-64k glyphs in HVAR/VVAR
varLib.build raised struct.error building HVAR/VVAR for fonts with more than
0xFFFF glyphs, from two uint16 ceilings:
- _add_VHVAR builds a direct (no-map) advance store with one VarData item per
glyph to compare its size against the indirect store, but VarData.ItemCount is
uint16. The direct/no-map form indexes a single VarData by glyph id and so
cannot represent more than 0xFFFF glyphs; skip it past the boundary and use the
indirect store.
- the advance index map (VarIdxMap) had a fixed uint16 MappingCount. Make
VarIdxMap a subclass of the format-switching DeltaSetIndexMap so it escalates to
Format 1 (uint32 MappingCount) past 0xFFFF entries, while keeping its
glyph-name-keyed mapping. The Format is derived from the mapping size at write
time and is not stored, so Format 0 output (and its TTX) is unchanged for
existing fonts.
Compare:
https://github.com/fonttools/fonttools/compare/57bbbb95c1fc...e20998b89c0a
To unsubscribe from these emails, change your notification settings at
https://github.com/fonttools/fonttools/settings/notifications