You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The enclosed archive contains a .designspace file using two ufos. Running the "generate_instances.py" script writes a third master, based on the instance defined in the .designspace file.
The single glyph shape in those ufos have a cluster of points at each corner: an on-curve point, two off-curve point, another on-curve point, all at the same (x, y) position. (These could then be used to interpolate to a sharp corner with rounded-corner sources.)
The output of the script has all off-curve point stripped, so is no longer compatible with the sources. (The purpose here is to insert the generated ufo as a new source in the designspace.)
The fontmake instantiator uses fontMath.MathGlyph to do the interpolation, which messes with the topology of the shapes. In this case it filters out off-curve points that coincide with neighboring on-curve points.
MathGlyph recently got a "strict" flag to disable this behavior, and I think fontmake should use it.
This fixesgooglefonts#961, and makes instantiator.py as strict as varLib when interpolating.
Depends on robotools/fontMath#305, though, as fontMath doesn't properly propagate its "strict" flag down to copies.
So this PR should probably also update its fontMath version dependency, once a new fontMath is out.
The enclosed archive contains a .designspace file using two ufos. Running the "generate_instances.py" script writes a third master, based on the instance defined in the .designspace file.
The single glyph shape in those ufos have a cluster of points at each corner: an on-curve point, two off-curve point, another on-curve point, all at the same (x, y) position. (These could then be used to interpolate to a sharp corner with rounded-corner sources.)
The output of the script has all off-curve point stripped, so is no longer compatible with the sources. (The purpose here is to insert the generated ufo as a new source in the designspace.)
The fontmake instantiator uses
fontMath.MathGlyph
to do the interpolation, which messes with the topology of the shapes. In this case it filters out off-curve points that coincide with neighboring on-curve points.MathGlyph
recently got a "strict" flag to disable this behavior, and I think fontmake should use it.That said, fontMath has a bug of its own here: robotools/fontMath#305
fontmake_test.zip
The text was updated successfully, but these errors were encountered: