Hi! I realized that Glyphs interpolates sidebearings and outlines separately. What I am trying to achieve instead is a linear interpolation of the total glyph width.
Let me illustrate this with a simple example.
I am working with three masters on a weight axis:
Hairline 0
Regular 1
Ultra 2
Planned instances are:
Thin 0.25
Extra Light 0.5
Light 0.75
Medium 1.25
Bold 1.5
Black 1.75
For a given glyph, the width is 700 in Regular and 800 in Ultra. At the Medium position at 1.25, I would expect a width of 725. However, Glyphs gives me 719.
Is there a way to achieve a strictly linear interpolation of the overall glyph width, rather than deriving it from interpolated sidebearings and outlines?
My experience is that using fractional axis coordinates is not 100% reliable in Glyphs. It seems that most of the code is fractional-coordinates-ready but there must be some code that assumes integer coordinates (sorry, I can’t remember exactly what it was but I have encountered problems in the past).
So, you should try multiplying all weight values by 100. Does that solve the problem? If so then that would confirm my assumption above.