-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mangled contours if start point is offcurve #5
Comments
I don't agree with this. I think it only accidentally works for some reason (perhaps the same reason as why RF doesn't show the startpoint correctly in the offcurve ufo?). These outlines are obviously not compatible, and the fact that it accidentally "works" in one environment is no reason for this to work everywhere. (Sorry to interfere – Frank and I just had a private discussion about this.) |
In other words: IMO GlyphMath/FontMath (which I assume is responsible for the "working" example) is buggy for not complaining about this incompatibility. ScaleFast is perhaps not designed to catch problems like this (the "Fast" in the name suggests as much), so it can be argued it's actually doing the right thing (the number of points is the same in both masters, it's just the point types that don't match). |
@frankrolf I have found your script to fix this very helpful, a number of times. Would it be alright with you if I were to include it in an open, OFL font project repo? I will include credit to you where I use these functions. |
Umm … sure. I don’t know if a band-aid like approach like this really is the solution we’re after, but go ahead. |
I noticed that an interpolation with scaleFast may mangle curves if the starting point is inconsistent across masters – one contour may start with an offcurve, the other with an oncurve. While this doesn’t cause any problems in many interpolation scenarios, scaleFast isn’t that forgiving:
I solved the issue by pre-processing my UFOs with this little script first, which makes sure all contours start with oncurve points:
(for a modernized version of this script, which processes all UFOs at once, see https://gist.github.com/frankrolf/e75980e3895df26615cc8ed1e60f9c5b )
The text was updated successfully, but these errors were encountered: