I don’t know about you, but this is definitely my least favorite font error. If your glyph outlines aren’t constructed in just the right way, fontforge will complain about missing “extremas”. But what
are extremas anyway?
An extrema is a special kind of point that helps define the edges of a glyph. The word is Latin—technically a single extrema is called an
extremum, with
extrema being the plural. But the term has become so common among type designers, that
extrema and
extremas have become the terms used to describe these points in a glyph outline.
An extrema is just a curve’s minimum or maximum in the
xy coordinate plane. This is just like finding the maximum of a parabola or some other curve, except applied to bézier curves.
Each bézier segment of a glyph’s outline (read: each
segment between two points, not the entire glyph outline) must be a
one-to-one function*—i.e. it has to pass both the horizontal and vertical line tests. A bézier segment in a font shouldn’t change direction in either the
x or the
y direction—otherwise it should be split into two one-to-one segments. A handy (but not foolproof) way of checking this is looking to see if the curve fits into the rectangle determined by its endpoints (though an ‘s’ shaped curve can pass this test and still not be one-to-one).
 |
| The curve on the left is acceptable—it doesn’t change direction in the x or y axis. The curve in the middle folds back on itself, so it needs to be split in two (right). |
Why is this a thing? Well apparently it helps with hinting, by letting the renderer know the bounding boxes of the glyph outline. It also makes it easier to measure stems and set sidebearings, since you can measure distances between points instead of vague spots along a curve. But the truth is, most renderers get along fine without any extremas. No vector illustration program requires extremas on its paths. Extremas are just extra points on the ends that help protect glyph outlines, since fonts undergo much more heavy-duty scaling and rasterizing than most other forms of vector art. Think of them as protective bumpers on your letters that keep your font from getting distorted by dumb renderers.