Finding an export options for instance export of a variable

Hi,
I am creating a variable font with only ‘wght’ as an axis to be used in multiple enviroments.
As issues with KERN feature has risen in MS PP, I am wondering if another format would work. However, it needs to be multiple files. (Don’t ask why here. Clients are a mystery.) To turn the KERN feature into a table is not a good workflow.
I guess a variable format with the KERN feature would work in MS PP.
So, is there a way to export multiple instance or masters but keep the KERN feature?

The presence of an fvar table makes MS Office believe it is a variable font. And then all bugs are off in MS Office apps in Windows 10 and later.

However, style linking becomes a problem once more than one font is involved. So it may take many iterations and test runs, and success is not guaranteed.

I think the STAT table is key. But haven’t figured out yet how to play it. In previous tests, I ran into all kinds of UI issues, like not all fonts would show up in the menu, etc.

Update. Currently, Glyphs does not allow exporting single-master variable fonts (it crashes when you try). I guess the only way is to export static and add fvar and STAT tables during post production with ttx.

Update 1: not Glyphs crashes, but the Better VF Export plug-in. Working on a fix.

Update 2: it seems like there is no way for Windows of building a font menu with all fonts accessible in this way.

The “Export STAT Table” custom parameter adds a STAT table when set for static fonts.

1 Like

Ok. I will look into what happens to the STAT in the ttx in the different versions. Is there an add FVAR too?

No, that you’ll need to do manually.

OK, I think I found a solution. I am indebted to @Olli for a suggestion he gave me some time ago.

Turns out that if you add an empty fvar (and no STAT) to a static export, this will turn bugs off in PowerPoint in Windows 11. GPOS kerning works too. For this, I rewrote the winfix.py script in mekkablue > Post Production (you need to actually open the Scripts folder and navigate there, it does not show up in the menu in Glyphs). Then run python3 winfix.py path/to/export/folder/*.ttf and the script will add empty fvar tables to the fonts supplied in the argument.

2 Likes

What is the advantage of adding fvar instead of STAT? Does that not lead to the same result?

Let me summarise/ask:

How do I set up a font so that kerning and style linking work in Microsoft Office apps, especially PowerPoint (Windows 10+)?

  • Keep kerning in one lookup?
  • STAT?
  • fvar?

What is the best practice for embedding rights, to avoid replacement with default fonts etc.?

  • Set embedding rights to Editable?
1 Like

Windows Office determines if a font is treated in the ‘modern’ way (GPOS kerning etc.) by checking if there is an fvar table. So adding a empty fvar table to an existing static font suffices. STAT has no such effect.

For the off-topic questions, see the Make your font work in Windows tutorial.

1 Like

I read that (one again) yesterday :wink:

My question is how style linking is affected, since you mentioned that it was difficult to get all styles to show when adding both fvar and STAT.

Style linking and the menu are not an issue if you add an empty fvar.

1 Like

Great, thank you!

Last question (I semi-promise): Is it a problem to keep all kerning within one lookup on top of adding an fvar table? To maximise compatibility?

Aha. Thank you Rainer.
I have Keep kerning in one lookup and run the script without issue.
So far, so good. Hopefully there will be not more issues further down the line.

Ah, good question, Sebastian. I do not see a reason for an issue with an empty tag. Maybe we do not need Keep kerning in one lookup ?

I do not understand where you are heading. Perhaps we can drop the single-lookup trick with the fvar table present. It works for variable fonts.

I am still busy with testing, mainly with finding potential side effects in other apps.

Keeping kerning in one lookup is recommended in the article you wrote, in order to make kerning work in Office apps.

I’m wondering whether the fvar table trick works reliably in Windows 10, in which case I can leave the kerning as is, or whether I should additionally set the custom parameter to keep kerning in one lookup, in order to make it work in Windows 10.

Hi, me again. The challenges don’t end with implementing the font, since the lookups, tables and functions also need to work when exporting into third-party programs and plugins, and we can not anticipate what our clients/customers will/may use. I think less is more here. Simpler fonts just work smoother. I will go with the fingercross-method. :slight_smile:

1 Like

What keeps you from testing? I cannot help you there, I do not have access to a Windows 10 installation. In the meantime, keeping the kerning in one lookup does not hurt.

The fact that I have not had access to my Windows computer with the relevant software for three months. Finding a flat in Paris is difficult :wink: