Struggling with italic variable font

I’ve set up a variable font in two Glyphs files, one for roman and one for italic. They are largely (but not entirely) point-compatible.

I have successfully exported fonts that do combine roman and italic styles in the style list in inDesign, so that’s good.

What isn’t working is:

  1. In inDesign, the italic slider appears, but there’s no “handle” on it to switch it.
  2. Style-linking is not working.
  3. I would love for italic styles to slot right under their roman counterparts in the font style menu (maybe too much to ask?).

Details on the setup:
The Font Info > Font has Name Table Entries of 25; FontnameRoman and FontnameItalic respectively.
There are 3 identical axes in both files, including Italic for which all masters in the roman file are set to 0 and all in the italic file set to 1.


Waiting to hear an answer, good question!

I struggled with this and these instructions by @rosalie helped me out a lot:

In a nutshell, for style linking to work in InDesign, you can either have:

  • a single variable font containing an ital axis and point compatible masters.
  • two separate variable fonts and no ital axis at all.

I tend to gravitate to the second option.

By the way, here we’re talking about ital axis registered in the fvar table. If you go with the second option, the ital axis should still be present in your STAT tables. And in theory the axisOrdering values in the STAT table would be responsible for ordering the styles, but I couldn’t make InDesign group italics and romans when using two separate files.


I was having similar puzzles/problems with my variable fonts, showing up especially in Adobe apps, and then about a year ago Thomas Linard helped out in an issue thread for my Elstob font. It may help (I believe the thread may contain some useful links, anyway). I ended up writing a little Python/fontTools script to generate a STAT table that met Adobe’s requirements. You can see a later version of it, made for another font, here. With it, the fonts behave well in Adobe apps. The script also messes with the names table, so be cautious if you adapt it.

BTW, it uses @harbortype’s option 2. There’s no need for an ital axis in fvar, but it should be present in STAT.

1 Like