· metrics

Contrast: the thickest stroke divided by the thinnest

How font.io measures stroke contrast — the ratio between a letter's thickest and thinnest strokes, measured straight off the outlines.

Bodoni Moda: 6.2. Inter: 1.05. That single number is stroke contrast — how much a font’s strokes swell and pinch as they travel around a letter. Near 1 means even, monolinear strokes. Above 2 or so, you start seeing real thick-and-thin drama.

Contrast v2: normal-shooting, animated
Bodoni Moda ‘O’ — a probe travels the outer contour; at each stop the dashed tick is the tangent and the colored ray fires along the normal to the inner contour. The magnifier zooms into the probe point.
thin
thick
Each ray length = local stroke width. Thinnest rays land near the top/bottom of the bowl, thickest on the sides — that max/min ratio is the contrast. In the magnifier, dots mark the actual flattened-outline segment endpoints the measurement runs on (90-unit window follows the probe).

Here’s the short version of how we measure it. Take the capital O and walk around its outline, stopping at 240 points. At each stop, shoot a ray straight out from the curve — perpendicular to it, not just horizontally or vertically — and measure the distance to the opposite edge. That gives 240 stroke widths. Divide a large one (95th percentile) by a small one (5th percentile) and you have the contrast.

Shooting perpendicular to the curve matters. Older methods only scanned horizontally and vertically, so they missed contrast that lives on the diagonal — Cormorant Garamond’s thinnest point sits at 112°, and the old scan read 3.4 where the real number is 5.3.

A real example: Bodoni Moda Regular’s O measures 6.19 — high contrast, the classic Didone look. Inter Regular’s O measures 1.05 — low, strokes all but even.

One caveat: if the O slot doesn’t hold a real O — some symbol fonts park a math symbol there — we flag the number instead of publishing it.