zero-length Bézier control point on a (PostScript) curve: how bad is it?

Sometimes, almost always from dubious sources, I see a PS curve defined in a way that one of the Bézier Control Points is placed fairly normally, or maybe even a bit exaggerated… and the other one is hidden—it turns out to be a zero-length BCP.

In some (most?) cases, this is clearly a Bad Thing. The curve is such that it should be more balanced, and it isn’t.

But in _some_ cases, it isn’t such a clearly bad thing from an appearance point of view. Something that starts out closer to a straight line and gradually curves more seems ~ reasonable. Rather like a spiro curve. Although, in such cases, usually a short but not zero-length BCP would also work pretty well.

I hae to admit, in terms of BCP criss-cross concerns, I don’t even know how to evaluate a zero-length BCP! Is it impossible for it to go wrong? Is it always wrong? Heck if I know.

Are there other technical or rendering-efficiency reasons to avoid a zero-length BCP on a curve?

(Of course, if you have _two_ zero-length BCPs defining a curve, you get a straight line; no reason to have a curve at all, unless it is for compatibility in a variable font.)

Comments

  • Craig Eliason
    Craig Eliason Posts: 1,440
    Some earlier discussion here
  • John Hudson
    John Hudson Posts: 3,229
    Are there other technical or rendering-efficiency reasons to avoid a zero-length BCP on a curve?
    Conversion to quadratic curves will produce an off curve point on top of an on curve point, which is a no-no in TrueType.

  • Thomas Phinney
    Thomas Phinney Posts: 2,898
    Thanks! That is super helpful!

    I remembered it being A Bad Thing, and have always avoided it. I was writing about it in some guidance for newbies, only… I couldn’t remember any specific reason it was bad.