8000 [morx] Implement morx ligatures subtable by brawer · Pull Request #1082 · fonttools/fonttools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[morx] Implement morx ligatures subtable #1082

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

Merged
merged 9 commits into from
Oct 25, 2017
Merged

[morx] Implement morx ligatures subtable #1082

merged 9 commits into from
Oct 25, 2017

Conversation

brawer
Copy link
Collaborator
@brawer brawer commented Oct 25, 2017

This implements the AAT ligatures subtable (type 2). There is still one last subtable of morx that remain to be implemented afterwards. But the the morx-ligatures branch can probably be merged.

#1055

Only handling those parts that are shared with other substitution types.
The actualy ligature actions are not implemented yet.
The hexdump in the specification is wrong, but the correct value
is in the comments. Before this change, the finite-state transducer
in our test data could be decompiled but would not implement the
behavior explained in the AAT specification.
Tests fail because other subtables still need to be implemented.
Since the AAT ligature subtable does not encode the number of ligature
glyphs, we need to infer this from the total structure length. We pass
this around by creating a custom sub-reader that only has the substruct
as its data. There might have been easier ways to accomplish this, but
we should anyway change the XML output for MorxSubtables to use custom
flag names, similar to what we're already doing for flags of morph actions.
Having a custom converter for MorxSubtables is in preparation for that
later XML format change.
@anthrotype
Copy link
Member

This is great, thanks Sascha!
I can't assess the details of the implementation as I'm not familiar enough with AAT. If you think this can be merged, let's do it. I'd like to tag a new release today. We can always fix bugs later.

@brawer brawer merged commit 18fae34 into master Oct 25, 2017
@brawer
Copy link
Collaborator Author
brawer commented Oct 25, 2017

It’s certainly an improvement over the current state. At some point I’d like to clean up the entire AAT handling (as you’ll see, it’s quite messy), but that can be done later. Merged this PR.

@brawer brawer deleted the morx-ligatures branch October 25, 2017 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0