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

Variable fonts without a STAT table #91

Open
wezm opened this issue Nov 14, 2023 · 5 comments
Open

Variable fonts without a STAT table #91

wezm opened this issue Nov 14, 2023 · 5 comments

Comments

@wezm
Copy link
Contributor

wezm commented Nov 14, 2023

I've been working on hooking up some recent variable fonts work to the test suite and noticed that several of the test fonts used for variable font tests are lacking a STAT table. However, the OpenType spec says:

Two tables are required in all variable fonts:

  • A font variations ('fvar') table is required to describe the variations supported by the font.
  • A style attributes (STAT) table is required and is used to establish relationships between different fonts belonging to a family and to provide some degree of compatibility with legacy applications by allowing platforms to project variation instances involving many axes into older font-family models that assume a limited set of axes.

I imagine this is not a major issue since it's perfectly possible to apply variations without a STAT table but figured it was worth mentioning.

Examples include:

  • fonts/TestGVAROne.ttf
  • fonts/TestGVARTwo.ttf
  • fonts/TestGVARThree.ttf
@wezm wezm changed the title Variable fonts with out STAT table Variable fonts without a STAT table Nov 14, 2023
@behdad
Copy link
Contributor

behdad commented Nov 14, 2023

  • *A style attributes (STAT) table is required and is used to establish relationships between different fonts belonging to a family and to provide some degree of compatibility with legacy applications by allowing platforms to project variation instances involving many axes into older font-family models that assume a limited set of axes.

Yeah that's unfortunately the spec being too strict. Webfonts for example wouldn't need STAT table at all...

@wezm
Copy link
Contributor Author

wezm commented Nov 14, 2023

Yeah that's unfortunately the spec being too strict.

Do you think I should open an issue on the OpenType docs instead then?

@behdad
Copy link
Contributor

behdad commented Nov 14, 2023

Yeah that's unfortunately the spec being too strict.

Do you think I should open an issue on the OpenType docs instead then?

What can I say. It's one of those things that @PeterConstable and I disagree on I think.

@HinTak
Copy link

HinTak commented Nov 15, 2023

FWIW, I think the spec should be strict, while implementation(s) can choose to be tolerant. That's the difference between what should be, and what's tolerated/work-arounded/ignored. So often, I hear that since something is tolerated by implementation X, therefore the specification must be loosen up... Cc @PeterConstable

@brawer
Copy link
Collaborator

brawer commented Nov 17, 2023

Fixing the test fonts in this repo to make them conform to the OpenType spec sounds good. Even if it may be arguable whether or not STAT should be required, the current spec mandates it. Feel free to change the test fonts, ttx is your friend. Pull requests welcome.

wezm added a commit to yeslogic/allsorts that referenced this issue May 29, 2024
Some of the test fonts in the text-rendering-tests lack a STAT table and
all of the other implementations accept this.

unicode-org/text-rendering-tests#91
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

No branches or pull requests

4 participants