-
Notifications
You must be signed in to change notification settings - Fork 448
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
Avar2 #2679
Conversation
what's the status of this? |
Needs rework. I ported avar to otData, which breaks the old API. Need to add a compatibility layer in between. Also to figure out how to expose the avar2 portion. |
6c02b64
to
4548e43
Compare
This PR so far moves avar parsing to otData and keeps previous API. No handcoded API is added for the avar2 part and that part can be accessed through the .table mechanism. Since that involves a variationStore, I feel like this is enough of an abstraction. WDYT @anthrotype? |
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.
in COLR table module, we do something similar for handling COLRv1 via otData converters but keep the pre-existing interface to not break existing tools.
https://github.com/fonttools/fonttools/blob/main/Lib/fontTools/ttLib/tables/C_O_L_R_.py
Though I didn't make COLR a subclass of BaseTTXConverter, but called OTTableReader/Writer directly and don't keep a table
attribute around for the old version's API, only for the new otData-driven one. The reasoning was to avoid having two duplicate or out-of-sync sources of truth for the data i.e. the low level table
and the higher-lever constructs from the old API.
But maybe it's fine like you did here.
Using the otData mechanism with handcoded shim.
We don't use VarIdxMap anymore.
657eacb
to
b873562
Compare
I added a test. It doesn't test |
Added fromXML as well. |
No description provided.