I haven’t done any font editing but is this true in general? Sounds like some kind of application-defined constraint. You’re talking about quadratic splines with the shared approximating point between interpolating points, and probably quadratic Bézier, not B-splines, I would guess. Quadratic Bézier would do this if the application decides to constrain all tangents to be smooth, which is a choice, not a property of the spline. Quadratic B-splines do not in general have this property; you can move any of the control points and have local control of the curve that doesn’t extend beyond the two neighboring control points. The difference is that B-splines don’t have interpolating control points in general - the curve only approximates all the control points, and you have to use phantom points or duplicated points to ensure the curve touches them.
Mostly font editors use Bézier curves with four control points, so the effect of moving an off-curve point is limited to that portion of the curve from the associated on-curve node up towards the opposing on-curve node as affected by the other on-curve node.
It is my understanding that only a couple of very expensive font editors use B-splines where there are three control points which ripple as I noted, however it seems that FontForge supports order2 (quadratic, TrueType) or order3 (cubic, PostScript).
Comments
I haven’t done any font editing but is this true in general? Sounds like some kind of application-defined constraint. You’re talking about quadratic splines with the shared approximating point between interpolating points, and probably quadratic Bézier, not B-splines, I would guess. Quadratic Bézier would do this if the application decides to constrain all tangents to be smooth, which is a choice, not a property of the spline. Quadratic B-splines do not in general have this property; you can move any of the control points and have local control of the curve that doesn’t extend beyond the two neighboring control points. The difference is that B-splines don’t have interpolating control points in general - the curve only approximates all the control points, and you have to use phantom points or duplicated points to ensure the curve touches them.
Mostly font editors use Bézier curves with four control points, so the effect of moving an off-curve point is limited to that portion of the curve from the associated on-curve node up towards the opposing on-curve node as affected by the other on-curve node.
It is my understanding that only a couple of very expensive font editors use B-splines where there are three control points which ripple as I noted, however it seems that FontForge supports order2 (quadratic, TrueType) or order3 (cubic, PostScript).