Subsetting for variability axes?

Hi! Let’s say I’ve designed a variable font containing 3 axes. For example it’s weight [100—900], slant [0—10], and width [3—6].

And I need to export a new variable font with any possible subset of these axes. For example, a font with weight [400—700], slant 8 only, and no width axis at all.

Is it possible by Glyphs or any Python tool?

You can try to use the “Disable Masters” parameter. But there is no “Remove Axis” parameter (yet?).

There are tools to subset variable fonts. I never used them so hopefully someone else can comment on that.

1 Like

Well, let’s consider this as a feature request.

Looking forward, when variable fonts become a standard, it seems logical that our customers will want to control the contents of the final font before purchasing it to get a corresponding price.

If you’re looking for a tool with a GUI, there’s Slice by Chris Simpkins.

If you’re fine with the commandline, and have the Python FontTools installed, you can just use the varLib instancer e.g.:

$ fonttools varLib.instancer MyFont.ttf wdth=5 wght=400:700 slnt=8

Be aware that this doesn’t change the internale names of the font and may thus lead to confusion when generating multiple versions this way.

3 Likes

Subsetting, specially if it is between masters, is very tricky. So it is better to use dedicated tools for it.

You can now use the Disable Masters custom parameter in a variable font setting in File > Font Info > Exports, and use that for exporting a limited range of your variable font. Cool.

If I get this part of the Glyphs 3.1 release notes, now the idea in the topic is possible!