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
[spec] Explicitly forbid statements of wrong type in feature aalt
#97
Comments
This may not be the right place to bring up this particular The 'aalt' GSUB feature of the Source Han Sans family does not include the substitutions from the somewhat large (in terms of the number of substitutions) 'locl' GSUB feature, which uses only explicit lookups to support language-specific substitutions. (The current |
Personally, I’d agree that it would make sense to follow |
For what it's worth, the Feature File documentation does call out the special nature of aalt. |
I agree that it is a good idea for makeotf to emit a warning when the 'aalt' feature references another feature and no substitutions at all are added from the referenced feature. It is also definitely a bug that explicitly referenced lookups are not followed. |
Proposal: Change the OpenType File Specification so that within
feature aalt
, only the following statements are allowed: (a) references to other features, (b) single substitutions, or (c) alternate substitutions.Currently, when building
feature aalt
, makeotf v2.0.90 ignores any lookups that aren’t single or alternate substitutions. All other statements are silently stripped off without any warning or error. For example, this input produces a font without any OpenType tables:Although makeotf’s current behavior technically complies with the OpenType Feature File specification, it may not be obvious to feature file authors that
feature aalt
is built so differently from other features. Hence the proposal to change the spec to require compilers to raise an error when afeature aalt
block contains statements that would be ignored.The text was updated successfully, but these errors were encountered: