Weight Classes differences in Glyphs 2.5


I just updated to Glyphs Version 2.5 (1131) and I noticed something changed in the weight classes for Thin, which used to be 250 and now is 100 and Extra Light and Ultra Light, which used to be 250 and now are 200. FDK Compare Family is flagging the Thin weight (I didn’t have any Extra or Ultra Lights in my test file) :

Single Face Test 9: Check that no OS/2.usWeightClass is less than 250
Error: OS/2.usWeightClass is 100 for Font Test-Thin
This may cause the font glyphs to be smear-bolded under Windows 2000.

The issue with Windows was already mentioned in this thread: Font Menu Order, Thin <> Extralight

Is it now safe to keep the weightClass at 100 or is it better to change it back to 250 with weightClass custom parameter even if we are 18 years away from Windows 2000?

The weight class issue is with some old apps on windows that would add a fake bold effect to fonts that are thinner then 250. I kept that for some time but with variable fonts, there is a push to correct weight class values and nobody is complaining about problems any more.

If you really need (and I don’t expect that to be the case) you can set the weight class with a custom parameter.

Yes, thanks Georg, I just wanted confirmation that it’s ok to keep the value below 250.

1 Like

Windows 7 still does this (I tested for instance in Word 2013), so I assume there are quite a number of people still using this “old” software.

Thanks for testing this.

I’ve tested right now the latest demo from Microsoft and Wordpad on Windows 10 still has the 200 issue. Setting to 250 fixes the problem.

Hi Georg,

I am reviving this because I was wondering why the AxisMapping parameter is not overriding the WeightClass of the instances.

With a single file I want to export a variable font and statics as well. For the statics I want my Thin and Extralight to have 250 and 275 (or whatever) for the WeightClass. But I want my VF to export with a range from 100 to 900 for the wght axis. However, even after I add the AxisMapping parameter with mapping for 100 for whatever my thin is and 200 for whatever my ExtraLight is, the produced VF is still showing a range from 250 to 900.

Keep the new values and tell end users that Microsoft is the problem. Type designers shouldn’t have to use hacks to work around Microsoft’s incompetence.


Actually Axis Mappings does nothing but fuck up the values. I have no clue how it is supposed to work and every possible thing I have tried resulted in a broken VF.

Important to know:

The axis mapping values take the master location parameters into account. And the range provided by those cannot be exceeded.

The weightClass values stored in the static fonts are completely separate from the wght values of the OTVar. The one has nothing to do with the other (cannot appear together in the same file).

I am not sure I get your answer.

Let’s say I have a Thin Master with wght=30 and a Black Master with wght=220, and instances at 30, 46, 64, 82, 108, 130, 155, 185, 220.

How should I set the AxisMapping so that the axis is showing a value from 100 to 900 instead of 30 and 200 and the inbetween values in the VF correspond with the instances values?

Can you give an example?
I tried 30 = 100, 46 = 200, 64 = 300, 82 = 400, 108 = 500, 130 = 600, 155 = 700, 185 = 800, 220 = 900 (and the other way around) and nothing is happening.

I also tried to just make 30 = 35… 220 = 200, to see if it can compress the axis value. No matter what, the exported font displays the axis from 30 to 220 and just occasionally fucks up the inbetween values.

Can you send me the file?