Issues with autogenerated family names on variable font export

I have a few hangeul + latin fonts where I added a variable font setting export.
when I export as is, the family name is always including a name particle from the width axis.

  • variable font origin is set to the Regular master
  • Family Name is set to TheCoolName
  • we have some custom Name Table Entry CPs on font level
    • 16 1 0 0; TheCoolName
    • 16 1 3 23; 맘맘몸맘
  • The “normal” exports have several Name Table Entry CPs more, which is due to requirements for engineering Hangeul fonts (might be not required nowadays?) and should not affect the variable export, or would those?
  • variable font setting export:
    • If I only set the Name to “Regular”, the issue is there :prohibited:
    • If I add Name Table Entries the issue is there :prohibited:
      • here I tried combinations of 1 1 3 23; (hangeul name), 1 3 1 1033;, and 16 1 0 0;
    • with some combinations I can get the Name Table 1 to only show the family name, but Font Table Viewer keeps showing the file in the fonts list as “TheCoolName Expanded”

I wonder how I can fix this, and also why would I need to jump through such hoops, why can it not just use the family name that is set in the Font Info?

I’ve sent you a file, Georg.

As far as I can see, it is correct.

the name table should reflect what the font would look like when all the var stuff is removed/ignored. There is an instance at the coordinates of the default master and so name ID 1/2/16/16 are made from it. Apps that support Variable fonts should use the instance form the fvar table and ignore the default entry in the name table. FontTableViewer is not a good testing app for this.

Interesting. In my case it is not only about apps (also that, yes) but an own parsing app that extracts data via fonttools. Is the fvar table also the way to go when trying to fetch the localized familily name (in this case Hangeul/Korean?)

For the family name, I still would use name table ID 16 and its localizations.

Thanks for the call. All clear now!