Interpolation discrepancies

When creating variable fonts, there can be a very big difference between the instances that Glyphs previews in the preview panel and those that get exported in the variable ttf. It seems such differences are magnified by the number of axes in the font:

Screenshot 2021-02-22 at 15.05.34
Preview of ก as shown in Glyphs 3/

Screenshot 2021-02-22 at 15.05.22
Actual ก in the named instance in the exported font.

This makes the preview panel quite useless and we have to instead rely on exporting the font frequently and then guessing which masters to adjust to achieve the correct letterforms.

Additionally, we want to put in masters at some of these coordinates, because the combined deltas don’t always result in neat outlines. But because of Glyphs’ faulty interpolation, converting the instance to a master means the master also doesn’t match with the actual instance we need.

Here’s another example. First is how the named instance looks when exporting. Second shows what happens when we convert that instance to a master in Glyphs 3.


We currently have 16 axes in this font, so the results may be more extreme than most people will encounter. But as you can see, I can’t get the master to look anything like the instance.

I’ll have a look. The algorithm is indeed quite different between the instance generation and how variable fonts interpolate.