Creating two variable fonts from the same source?

Hi, anyone knows if this is possible to do?

I have a Sans Serif design in Roman and Italic with compatible outlines, so in its current state it’s possible to export a single Variable font that covers both the Romans and the Italics.

Now, the client wants a separate variable font for the Romans and a separate for the Italics. And I would like to keep the document as it is; one document with both the Romans and Italics in the same source.

The question: Is it possible to have two variable instances in the same document? One for the Italics, and one for the Romans? To be able to export two variable fonts automatically.

Thanks in advance!

There is a chance that it can be done. It depends a bit on the setup (brace and bracket layers).

You can add two more “Variable Font Settings”. You need to set the family and style name to make them distinct.

Then you add one “Disable Masters” parameter in each setting and give it the names of the masters you don’t need (all italic masters in the upright …).

You probably need 3.2 for that.

1 Like

Ah, I’ll give it a go! Thanks!

If it doesn’t work as expected, I like to have a look at the font to see if I can improve it.

1 Like

Sounds like a plan, thanks!

I can confirm that Disable Masters works for this use case, but only up to a certain extent. I don’t quite remember what doesn’t work (I think that unused axes are still “exported” and show up in apps).

For the time being, I recommend creating subset files, you can use this script I wrote: glyphs-scripts/CreateVariableSubsetFiles.py at master · eweracs/glyphs-scripts · GitHub

That empty axis should be fixed.

Hmm, it did not work, but maybe I am missing something? Unfortunately, I can not send this file to anyone, Client-NDA-stuff.

It included both the Weight and the Italic axis even when I disabled the masters. Something else needed here?:

The “Name” should only be “Regular” or “Italic”.

You will always get an Italic axis for variable fonts.

Can you make a font with only one glyph but the same master/axis setup? That might be OK to send?

Why? In my script, I remove the axis, if it is not used.

What? Nooo, I have made several fonts without an Italic axis :slight_smile:

I’ll mail the font, so you can have a look. Same result with “regular” instead of “variable” in the name. Thanks for looking into this!

I have slightly improved the “Disable Masters” support. The update is out. The removed axis are still in the file but hidden. There are quite a few things that rely on axis index and to remove it properly is more work.

1 Like

Cool, I’ll give it a try! But, does this mean (when you say the Italic axis is there but hidden) that the file size will also be equal as it was containing an Italic?

No, only the axis recode is there (should be only a few bytes). Everything else is subsetted (masters and instances).