googlefonts / fontmake

Compile fonts from sources (UFO, Glyphs) to binary (OpenType, TrueType).
Apache License 2.0
777 stars 93 forks source link

Some anchors in non-spacing marks are not interpolated, fixed to the default master's position #863

Open sovichet opened 2 years ago

sovichet commented 2 years ago

I ran into this situation where the _bottom and _top anchors are fixed to the default master's anchor position. I have three masters – Thin (100), Regular (400), Black (900) – that the 400 is the default, and I want fontmake to interpolate other instances (100 to 900) using the provided .ufo master files.

fontmake -m TestBox.designspace -i -o otf

Here is the anchor in the original Thin master:

Screen Shot 2022-03-09 at 10 14 48

And this the result of interpolated instances ufo (it's the position from master 400):

Screen Shot 2022-03-09 at 10 15 07

Not sure if I did anything wrong with the .ufo or .designspace file.

TestBox.zip

sovichet commented 2 years ago

I exported the master ufo files directly from the Glyphs, and Glyphs generates the mark pos in the features.fea as well as anchor data in .glif files. If I removed the mark pos from master ufo files, and run the fontmake again, things are correctly interpolated.