-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[makeotfexe] Bad font built when feature file has multiple languagesystems and feature parameters #1080
Comments
If you're affected by this bug, there are 2 workarounds:
Otherwise, wait for AFDKO 3.2.0 final release, which should become available very soon. |
@readroberts could you explain further what you mean by feature parameters? I’m sure it’s obvious, but I’m drawing a blank |
…iple languagesystems and feature parameters #1080 Updated test file to fail the build tests with in versions of makeotf with this bug, and to pass in versions without this bug, by changing from one to three language system statements, and updating the expected ttx file. This bug was introduced in commit 5624e02, when fixing how feature parameter tables were ordered in the GSUB/GPOS tables. The bug in in otl.c after line 2035, where bug was in incrementing nFeatureParams for every feature param subtable, instead of skipping the ones that were just references. Fixed by reverting to the original code block for this. The wrong code was left over from my first pass at changing with the subtable organization, and I forgot to revert this code when I pulled that out and used a different approach.
Feature parameters are blocks of data referenced by the FeatParam field in a GSUB/GPOS Feature table. Current features which use this are optical size ('size'), stylistic names ('ssXX'), and Character Variant features ('cvXX'). The result of the bug is that in the layout table with a feature parameter, all lookups are suppressed. |
@benkiel See https://github.com/adobe-type-tools/afdko/blob/develop/docs/OpenTypeFeatureFileSpecification.md#4.c for more info on feature parameters. |
…tiple languagesystems and feature parameters #1080 Updated test file to fail the build tests with in versions of makeotf with this bug, and to pass in versions without this bug, by changing from one to three language system statements, and updating the expected ttx file. This bug was introduced in commit 5624e02, when fixing how feature parameter tables were ordered in the GSUB/GPOS tables. The bug in in otl.c after line 2035, where bug was in incrementing nFeatureParams for every feature param subtable, instead of skipping the ones that were just references. Fixed by reverting to the original code block for this. The wrong code was left over from my first pass at changing with the subtable organization, and I forgot to revert this code when I pulled that out and used a different approach.
…tiple languagesystems and feature parameters #1080 Updated test file to fail the build tests with in versions of makeotf with this bug, and to pass in versions without this bug, by changing from one to three language system statements, and updating the expected ttx file. This bug was introduced in commit 5624e02, when fixing how feature parameter tables were ordered in the GSUB/GPOS tables. The bug in in otl.c after line 2035, where bug was in incrementing nFeatureParams for every feature param subtable, instead of skipping the ones that were just references. Fixed by reverting to the original code block for this. The wrong code was left over from my first pass at changing with the subtable organization, and I forgot to revert this code when I pulled that out and used a different approach.
fixed by #1081 |
@readroberts @josh-hadley, thank you. this indeed caught me: I was thinking you may be meaning fonts with stylistic set names, but wasn't 100% sure. Thank you for taking the time to confirm |
Commit 5624e02 added a serious bug that causes makeotfexe to build a bad font when the feature file has both multiple languagesystems and feature parameters. The result of the bug is that in the layout table with a feature parameter, all lookups are suppressed.
The text was updated successfully, but these errors were encountered: