[fonttools/fonttools] 69ec7f: Implement splitSinglePos for LookupList overflow r...

1 view
Skip to first unread message

Cosimo Lupo

unread,
Aug 20, 2026, 8:43:57 AM (7 days ago) Aug 20
to fontto...@googlegroups.com
Branch: refs/heads/main
Home: https://github.com/fonttools/fonttools
Commit: 69ec7fe4f9ec6a65f5fb39b7553b707f5d442a6e
https://github.com/fonttools/fonttools/commit/69ec7fe4f9ec6a65f5fb39b7553b707f5d442a6e
Author: AmitMY <am...@nagish.com>
Date: 2026-06-23 (Tue, 23 Jun 2026)

Changed paths:
M Lib/fontTools/ttLib/tables/otTables.py
M Tests/ttLib/tables/otTables_test.py

Log Message:
-----------
Implement splitSinglePos for LookupList overflow recovery

The overflow-recovery dispatch table had no entry for GPOS lookup type 1
(splitSinglePos was commented out), so a SinglePos Format 2 subtable whose
internal Coverage offset overflows uint16 could not be split and packing
failed. SinglePos Format 2's Value array is 1:1 with its Coverage, so it
splits along the coverage like splitPairPos. A Format 1 subtable shares a
single Value across its whole Coverage, so there is nothing worth splitting
and it returns False.

Part of #4091

Co-Authored-By: Claude Opus 4.8 (1M context) <nor...@anthropic.com>


Commit: fda6bfb32216fc7ac853d8d87ff339ed1ade7016
https://github.com/fonttools/fonttools/commit/fda6bfb32216fc7ac853d8d87ff339ed1ade7016
Author: AmitMY <am...@nagish.com>
Date: 2026-06-24 (Wed, 24 Jun 2026)

Changed paths:
M Tests/ttLib/tables/otTables_test.py

Log Message:
-----------
Add end-to-end regression test for splitSinglePos overflow

Compiles a GPOS with a single SinglePos Format 2 whose ValueArray pushes its
internal Coverage offset past uint16, with the harfbuzz repacker disabled so
the pure-fontTools overflow recovery runs, and asserts the subtable is split
and all coverage/values round-trip intact.

Co-Authored-By: Claude Opus 4.8 (1M context) <nor...@anthropic.com>


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

Changed paths:
M Lib/fontTools/ttLib/tables/otTables.py
M Tests/ttLib/tables/otTables_test.py

Log Message:
-----------
Merge pull request #4108 from AmitMY/fix-4091-split-singlepos

Implement splitSinglePos for overflow recovery (#4091)


Compare: https://github.com/fonttools/fonttools/compare/1b7a1273a454...23e86b6573b7

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