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.

Not sure what to do about failing "com.adobe.fonts/check/varfont/valid_default_instance_nameids"

See original GitHub issue

Observed behaviour

I have a font building from FontMake, and it has a fairly normal designspace.

The default instance is “Light,” and the name IDs are as follows:

I think this is all correct… however, I get the following fail:

    com.adobe.fonts/check/varfont/valid_default_instance_nameids
    Validates that when an instance record is included for the default instance, its subfamilyNameID value is set to either 2 or 17 (or something with the same value as 2), and its postScriptNameID value is set to 6 (or something with the same value as 6).
    with fonts/shantell_sans-for-googlefonts/ShantellSans[BNCE,IRGL,TRAK,wght].ttf

      Rationale:                                                                
                                                                                
      According to the 'fvar' documentation in OpenType spec v1.9.1             
      https://docs.microsoft.com/en-us/typography/opentype/spec/fvar            
                                                                                
      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 
       or to a name ID with the same value as name ID 2. Also, if a             
      postScriptNameID is included in instance records, and the                 
      postScriptNameID value should be set to 6 or to a name ID with the same   
      value as name ID 6.                                                       
                                                                                
     FAIL 'Light' instance has the same coordinates as the                      
          default instance; its subfamily name should be 'Regular' [code:       
          invalid-default-instance-subfamily-nameid:344]                        

    Result: FAIL

Expected behaviour

The check message is somewhat confusing, and it took some digging around github and some experimentation with TTX to pass the check, before I understood what it was actually saying.

From my experimentation, I found that:

  • The default instance and its expected names (for the check) is determined in fvar, where the name IDs subfamilyNameID="265" (Light) and postscriptNameID="320" (ShantellSans-Light) are referenced.
  • If I change name ID 1 to Shantell Sans and name ID 2 to Light, I pass the check.
  • Therefore, the check is basically saying that name ID 2 should be Light rather than Regular, which implies that name ID 1 should simply be the family name.

However, based on some GH issues, it seems that perhaps the check is outdated/incorrect/overly-strict:

My main question

Who is more correct – FontMake, or @miguelsousa?

Is it a matter of opinion, or is there anything that explains why FontMake makes names 1 and 2 in the way it does?

If it is a matter of opinion, can Google Fonts coordinate the expectations between FontMake and FontBakery?

If we do keep the check…

I only vaguely understood what the rationale is telling me, and I don’t understand much at all what action it is suggesting that I take. I understand that writing a clear check rationale is tricky, as readers have such a wide range of technical understanding.

However, I think ideally, the fail messages would explain:

  • What specific name ID(s) are incorrect
  • What specific name ID(s) should be changed, and to what.
    • Is it suggesting that name ID 2 should be Light? If so, should I edit this
    • If it is not suggesting I change a name ID, what is it suggesting? Is it saying that I should make the default instance a “Regular” (which would require adding one or more sources/masters to the font)?
  • If there is something that can be set in a designspace file to produce the desired result from a FontMake build, what is recommend?

Resources and exact process needed to replicate

There is some additional discussion of this at https://github.com/googlefonts/fontbakery/issues/3708.

My current fonts (with the failing name ID 2) can be found here: https://github.com/arrowtype/shantell-sans/tree/93c00e0d3aaa6e8ea58c09f863791651ae04277a/fonts/shantell_sans-for-googlefonts

Thanks so much for any insights on how I should proceed!

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
arrowtypecommented, Sep 8, 2022

Heyyyyy! Things are looking good when I check with that branch.

image
2reactions
miguelsousacommented, Sep 8, 2022

@arrowtype #3896 should fix this issue. Please check if you have a chance.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Troubleshoot failed posts - Adobe Support
Learn the various reasons that you may be unable to post to Adobe Social, and learn how to resolve these errors.
Read more >
Troubleshoot font activation problems in Creative Cloud
1. Install Creative Cloud desktop. Fonts are activated on your computer through Adobe Creative Cloud desktop. If you do not have the software ......
Read more >
Solved: Acrobat installer encountered an unexpected failur...
Solved: The Adobe Acrobat Pro DC installer is failing with the error message, "Acrobat installer encountered an unexpected failure. Please try again.
Read more >
Resolving font activation errors and conflicts - Adobe Support
Font activation and deactivation may fail due to an interruption in your network connection or a conflict with your locally installed fonts.
Read more >
Resolve missing fonts in desktop applications - Adobe Support
Some applications may not have a missing fonts alert at all, and will simply replace the fonts automatically with defaults.
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