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.
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.