question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

fvar check proposal: Validate the subfamilyNameID and postScriptNameID values of the default instance

See original GitHub issue

Quotes from the fvar documentation in OpenType spec v1.9 (my emphasis):

[…] The values 2 or 17 should only be used if the named instance corresponds to the font’s default instance. […] The value 6 should only be used if the named instance corresponds to the font’s default instance. […] The default instance of a font is that instance for which the coordinate value of each axis is the defaultValue specified in the corresponding variation axis record. An instance record is not required for the default instance, though an instance record can be provided. When enumerating named instances, the default instance should be enumerated even if there is no corresponding instance record. If an instance record is included for the default instance (that is, an instance record has coordinates set to default values), then the nameID value should be set to either 2 or 17, and the postScriptNameID value should be set to 6.

Note: Since an instance record for the default instance is not required, a variable font that has no instance records defined in the ‘fvar’ table (instanceCount is zero) still has one named instance.

I hereby propose a new fvar check that validates that when an instance record is included for the default instance, its subfamilyNameID value should be set to either 2 or 17, and its postScriptNameID value should be set to 6. The check should FAIL if the conditions are not met.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:10 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
justvanrossumcommented, Jun 27, 2022

Given the final remarks in this discussion, I think this check should be reworked to check for “name record equality” instead of a hard == 2/17 check, and likewise for the ps name vs nameID 6.

1reaction
anthrotypecommented, Jun 27, 2022

Peter Constable said that “should” simply means a “recommendation, not a requirement” (https://github.com/MicrosoftDocs/typography-issues/issues/946#issuecomment-1167523649) so IMO you could relax this FAIL to a WARNING…

Read more comments on GitHub >

github_iconTop Results From Across the Web

fontbakery/CHANGELOG.md at main · googlefonts ... - GitHub
[com.adobe.fonts/check/nameid_1_win_english]: Validates that the font has a ... the default instance, its subfamilyNameID value is set to either 2 or 17, ...
Read more >
SERVERPROPERTY (Transact-SQL) - Microsoft Learn
Name of the instance to which the user is connected. Returns NULL if the instance name is the default instance, if the input...
Read more >
Default instance name of SQL Server Express - Stack Overflow
When installing SQL Express, you'll usually get a named instance called SQLExpress, which as others have said you can connect to with localhost\SQLExpress....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found