-
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
Support multiple chained lookups per position #1132
Support multiple chained lookups per position #1132
Conversation
@simoncozens Please rebase this after PR #1127 has been reviewed and merged. Thanks! @punchcutter Please wait until Simon's rebased this before reviewing. Thanks! |
OK, that's all in. Waiting for Khaled's PR to drop then I'll rebase. |
Awesome, I've been wanting to get this in for a while. Thanks for getting it done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@simoncozens Looks good and the STAT PR is in so you can rebase. I would like to add examples to the spec, but we can also do that later because I'd really like to go over the whole thing and add/update all the examples.
430db8a
to
2aaa702
Compare
Done, I think, assuming I haven't messed up the git-fu. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This allows for more than one "lookup ..." chaining statements at each glyph position in a chaining contextual substitution or positioning rule: e.g. sub a b c' lookup lookup1 lookup lookup2 d; The corresponding change in the Adobe OpenType Feature File Specification (and implementation in makeotf) happened in adobe-type-tools/afdko#1132.
See #1119. This allows for e.g.
sub a' b lookup l1 lookup l2;
I am not quite sure if it works for pos rules too, although that's probably a one-character fix in the grammar if not.andpos a' lookup l1 lookup l2;
See also independent Python implementation in fonttools/fonttools#1905.