Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a new script, gftools-remap-layout, which is an alternative to pyftfeaturefreeze; it works on the layout level, whereas pyftfeaturefreeze only remaps cmap tables. This is more flexible as it allows for positioning, contextual substitutions, multiple and ligature substitutions, and other rules to be "frozen", whereas pyfeaturefreeze only works on single substitutions.
gftools-remap-layout, on the other hand, allows you to copy or move a set of lookups from one feature to another. For example, the standard pyftfeaturefreeze example of "freezing" small caps can be achieve by copying (
->
) the lookups fromsmcp
toccmp
:(Currently this assumes that the destination feature exists.)
To create a locale-specific version of a font, you can move (
=>
) lookups from thelocl
feature of a particular script and language system into another feature. In this case, we add the new lookups to the start (|
) of theccmp
feature (default is to add lookups to the end).