Types of points

mauro sacchettomauro sacchetto Posts: 334
edited January 10 in Font Technology
On Linux I use FontForge, which has three types of points: corner points, curve points and tangent points.
Now, in my (new) MacBook I've installed Glyphs, and I'm trying now to figure out how it works.
I note that in Glyphs the types of points allowed are however only two: in fact the tangent points are not counted.
What is the cause of this difference, and what can it lead to 1) drawing a glyph and 2) opening (import)) a file drawn with FontForge within Glyphs?
Thank you


  • John HudsonJohn Hudson Posts: 2,483
    Tangent, curve, and corner points can be simplified to smooth and non-smooth, which is how many font tools handle them. A tangent point is a smooth connection between a straight line and a curve segment, a curve point is smooth connection between two curve segments, and a corner point is any non-smooth connection. Smooth simply means that the control handle on a curve is aligned through the point to the line segment in a tangent node or to the opposite control handle in a curve node. So when editing outlines, a designer shouldn’t need to be concerned with whether a smooth point is a tangent or a curve because that is defined by what is on either side of the point: the only thing the designer needs to decide is whether the point is smooth or non-smooth.

  • Mark SimonsonMark Simonson Posts: 1,488
    edited January 10
    Paths in both PostScript fonts (cubic Bézier) and TrueType fonts (quadratic Bézier) are encoded in the font as segments, with an "on-curve" node at the start and end and zero or more "off-curve" nodes between them. If it's zero, it's a straight line segment. If it's more than zero (two in cubic and one in quadratic paths*), it's a curve segment.

    But this low-level fact is usually abstracted away in font editors and drawing apps since it's easier for users to think in terms of the nodes (on-curve points) and handles (off-curve points) along continuous paths. Restricting handles to be aligned with straight paths or other handles is a function of the app, not the font format. What you're noticing is that the way this abstraction is handled in terms of UI and terminology differs among apps.

    * You don't necessarily have to explicitly define on-curve nodes with TrueType paths in some situations. If you define two or more off-curve nodes in a row, virtual on-curve nodes between them are, in effect, created.
  • stevensteven Posts: 10
    No matter what type of point drawing you use, the final imported glyphs can be converted, so you can get better compatibility.

    Glyphs tool ➡️ route ➡️ other ➡️ You can convert to conic or cubic.

    Different software has different definitions of point types and other aspects, which is the case for most software.
  • mauro sacchettomauro sacchetto Posts: 334
    edited January 12
    "Tangent, curve, and corner points can be simplified to smooth and non-smooth". Ok, so it's not so relevant the differentation present in FF. And in any case it is something not to worry about in these terms. Thank you!

Sign In or Register to comment.