type

Display grotesk · 182 characters · version 0.100

machine-made Heddle

A Swiss display grotesk for posters, headlines, wordmarks and big figures. Every letter is built from four parts, and every opening is a level cut. Two axes: weight 100–900 and width 70–140.

Playground

Set a headline

Width changes the counters, not the stems. A Compressed Bold and an Extended Bold have the same weight on the page.

700
100
96 px

Made by machines. Proven for machines.

Width axis

Compressed to Extended

One family for the narrow column and the wide poster. Bold, width 70–140.

Weight axis

Thin to Black

Horizontals stay at 84 percent of the stem at every weight: the small contrast of a Swiss grotesk.

Construction

Four parts and a level cut

No curve is drawn by hand. Rounds are superellipses with one exponent, 2.6. Diagonals keep their optical weight. Each opening is a level cut through one ring, which is where the Swiss terminals come from.

Character set

182 characters

Read from the font's character map when the site is built. Select a character to see it large. The figures are tabular.

a

Character
Latin Small Letter A
Unicode
U+0061
Glyph
a

Loading the character map.

Made by machines

From a sketch to a font

Agents write the generator, the tests and the CI. People set the goals and review the proofs.

The loom

A Python generator. It ports the approved sketch engine, builds every glyph from the four parts, and writes 12 UFO masters (weight × width) with the same points in each. fontmake compiles them. No outline comes from another font.

Read the loom

Proofs

The sketch engine and the font are rendered side by side at the corners of the designspace. A drift report measures every glyph between the masters.

See the proofs

CI

Every pull request runs the tests, builds the fonts, checks that the build matches the committed files byte for byte, and runs Fontspector. GitHub Actions are pinned to commit SHAs.

See the CI runs

Get Heddle 0.1

Download from GitHub Install and @font-face