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.
Display grotesk · 182 characters · version 0.100
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
Width changes the counters, not the stems. A Compressed Bold and an Extended Bold have the same weight on the page.
This build of the font has no variable axes.
Made by machines. Proven for machines.
Width axis
One family for the narrow column and the wide poster. Bold, width 70–140.
Weight axis
Horizontals stay at 84 percent of the stem at every weight: the small contrast of a Swiss grotesk.
Construction
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
Read from the font's character map when the site is built. Select a character to see it large. The figures are tabular.
a
Loading the character map.
Made by machines
Agents write the generator, the tests and the CI. People set the goals and review the proofs.
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.
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.
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.