Linear Interpolation of total Glyph Width

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?

Thanks a lot in advance!

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.

Thanks, Tim! I can confirm your assumption, it’s working now. Thanks a lot!

Sidebearings are not interpolated. The nodes and the width are. The sidebearings are calculated from the new outlines.

I just tried with your numbers and it works fine. Could you send me your file for testing?

In any case, if scaling the width coordinates by a factor leads to a different exported result then there must be a bug somewhere, it seems?

I can’t reproduce that difference.