[fonttools/fonttools] 2727d7: [ttLib] Preserve FeatureVariations FeatureParams a...

0 views
Skip to first unread message

Behdad Esfahbod

unread,
Oct 12, 2026, 11:44:44 PM (4 days ago) Oct 12
to fontto...@googlegroups.com
Branch: refs/heads/main
Home: https://github.com/fonttools/fonttools
Commit: 2727d7e8dcd5a9756ede49f7967e6cc0e7e15867
https://github.com/fonttools/fonttools/commit/2727d7e8dcd5a9756ede49f7967e6cc0e7e15867
Author: Behdad Esfahbod <beh...@behdad.org>
Date: 2026-10-12 (Mon, 12 Oct 2026)

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

Log Message:
-----------
[ttLib] Preserve FeatureVariations FeatureParams and lazy layout reads (#4278)

* ttLib: preserve FeatureParams in FeatureVariations

* ttLib: preserve empty and lazy FeatureLists with FeatureVariations

* [ttLib] Tolerate alternate features with out-of-range indices

Use an unspecified feature tag when a FeatureVariations substitution index is beyond the original FeatureList. Alternates without FeatureParams can then decompile as they do on main. Only look up a tag during compilation when FeatureParams are present, preserving parameter-type validation.

Add 24 regression cases covering GSUB and GPOS, eager and lazy binary reads, empty FeatureLists, boundary and maximum indices, absent parameter fields, and binary/TTX round trips. All new cases fail before this fix. Validated with 677 related tests passed and nine optional tests skipped; pinned Black 26.3.1 and whitespace checks pass.

Assisted-by: Codex

---------

Co-authored-by: CAOShurong <170531907+...@users.noreply.github.com>



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