-
Notifications
You must be signed in to change notification settings - Fork 14
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
[fea-rs] Support 'pos a 20 b' pairpos syntax #992
Conversation
This syntax is not documented, but it is treated as equivalent to 'pos a b 20' by both afdko and feaLib, and exists in at least one noto font.
7c6eeb1
to
a944f69
Compare
which one precisely? |
hm honestly i've never encountered such a syntax, and also believe it just works by happenstance in feaLib. maybe @simoncozens (who git says authored those files) could tell us why he did this instead of |
looks like feaLib handles this here: it looks like it's trying to handle both format A and B in one go, see the But if the value after the first glyph is not omitted (values[0] is not None) and the value for the second one is omitted, then the reverse() is skipped and the values are used in that order for first/second glyphs. I also can't find an explicit test case for this. |
Yeah, I don't know why that works. :-) The reason I wrote it like that is probably because I can never get my head around the fact that Or possibly I just forgot a But either way, the syntax is oddball Cozens brainfart and probably shouldn't be supported. |
If the other two implementations support it, I think fea-rs should. AFDKO feature file specification” is essentially user documentation, it often omits things the implementation supports (either intentionally or by oversight). |
@simoncozens noted in IM that this works in Glyphs FeaKit as well. I agree with @khaledhosny, we should probably support this. |
This syntax is not documented, but it is treated as equivalent to 'pos a b 20' by both afdko and feaLib, and exists in at least one noto font.
Opened adobe-type-tools/afdko#1757 to see if this is intended or just works by accident; in either case I think supporting it is expedient.