Skip to content
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

[VARC] Variable Composites table #3395

Merged
merged 114 commits into from
May 24, 2024
Merged

[VARC] Variable Composites table #3395

merged 114 commits into from
May 24, 2024

Conversation

behdad
Copy link
Member

@behdad behdad commented Dec 14, 2023

@behdad
Copy link
Member Author

behdad commented Dec 16, 2023

This is mostly steady now. I'll go ahead and write a spec for it.

What is left to do is:

  • Rip out the glyf1 VarComposite glyphs,
  • Hook VARC up in ttGlyphSet so we can draw.

@behdad
Copy link
Member Author

behdad commented Dec 16, 2023

I should also somehow figure out how to do the VARC glyph loading lazy.

@behdad
Copy link
Member Author

behdad commented Dec 16, 2023

TODO:

  • Make VARC table lazy-load glyphs.
  • Subsetter
  • Instancer
  • scaleUpem
  • tests

@behdad
Copy link
Member Author

behdad commented Dec 17, 2023

I can use some directions here. The multiVarStore and varStore share some similar code. Should I try to subclass them from a common class?

It will be more pronounced when adding subsetting to multiVarStore.

@behdad
Copy link
Member Author

behdad commented Dec 17, 2023

I can use some directions here. The multiVarStore and varStore share some similar code. Should I try to subclass them from a common class?

It will be more pronounced when adding subsetting to multiVarStore.

I managed to share some code by monkey-patching for now.

@behdad behdad marked this pull request as ready for review December 18, 2023 01:22
@behdad behdad force-pushed the varc-table branch 2 times, most recently from 87dc659 to c8a8b47 Compare December 18, 2023 01:40
@behdad
Copy link
Member Author

behdad commented Dec 18, 2023

This is ready for review. Thanks in advance @anthrotype @justvanrossum

@behdad
Copy link
Member Author

behdad commented Dec 18, 2023

This is ready for review. Thanks in advance @anthrotype @justvanrossum

It's terse but here's something of a spec for this:
https://github.com/harfbuzz/boring-expansion-spec/blob/main/varc.md

@behdad
Copy link
Member Author

behdad commented Dec 18, 2023

I probably should move some of the new code from otTables to a side module.

@behdad behdad force-pushed the varc-table branch 8 times, most recently from 8e75d94 to 2e057ba Compare December 20, 2023 18:50
@behdad
Copy link
Member Author

behdad commented May 24, 2024

I suggest landing this, as it's on the standardization pipeline now and settled.

@anthrotype
Copy link
Member

Sgtm

@behdad behdad merged commit db60a24 into main May 24, 2024
11 checks passed
@behdad behdad deleted the varc-table branch May 24, 2024 15:09
@justvanrossum
Copy link
Collaborator

A release would be the cherry on the cake.

@anthrotype
Copy link
Member

I can do that

@anthrotype
Copy link
Member

pushed tag https://github.com/fonttools/fonttools/releases/tag/4.52.0, wheels are building..

big release, perhaps worth a tweet?

@behdad
Copy link
Member Author

behdad commented May 24, 2024

pushed tag https://github.com/fonttools/fonttools/releases/tag/4.52.0, wheels are building..

big release, perhaps worth a tweet?

Yes please.

In HB we're thinking about calling it a 9.0.0

@anthrotype
Copy link
Member

in fonttools we bump major very infrequently, only when we break backward compatibility (e.g. when we swichted from py2.py3 to py3 only)

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.

None yet

4 participants