← The Bench
LOG 012·Jun 2026·Shipped

Covenant Display

A custom display typeface with no drawing app anywhere in the pipeline. Every letter is geometry defined in code, compiled straight to a font file. The specimen below is the real thing, running in your browser.

RIDGELINE

Discretionary ligatures are on. Try typing to summon the Ridgeline Sigil.

Uppercase
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Lowercase
abcdefghijklmnopqrstuvwxyz
Numerals + symbols
0123456789 $ % & @ # . , : ; ! ? - – ( ) / * + = °

01Type design as code

A typeface is usually drawn in an app like Glyphs or FontLab, curve by curve. Covenant Display skips that entirely. Each glyph is a list of polygons in font units on a 1000-unit grid: solids fill, and inner contours are marked as counters (holes). A small Python builder turns those coordinates into outlines and compiles the whole family with fontTools. Editing a letter means editing numbers and re-running the script.

The payoff is that the design is parametric and versionable. Stem weight, cap height, and the chamfer size are constants at the top of the file. Change one, rebuild, and the whole alphabet moves in sympathy. The source is the type design.

02The design language

A heavy geometric grotesk with a hardware streak. The rules it holds to:

03One hidden glyph

There is a single easter egg in the face: the Ridgeline Sigil, a small peak with a diamond core that echoes the pointed apexes and diamond dots used elsewhere in the letterforms. It rides on a discretionary-ligature rule, so with dlig enabled, typing 33 collapses the two digits into the mark. The specimen tester above runs with that feature on, so type 33 and watch it fire.

04Get the font

Eighty-eight glyphs: A–Z, a–z, 0–9, and core punctuation. A display face, happiest at 40pt and up.

05Source

The builder is one Python file. Here is the shape of it: the chamfered-box helper, two glyphs as polygon lists, and the two lines that hide the covenant in the compiled font.

build_covenant.py — glyphs as geometry (excerpt)
parametric type source
# heavy geometric display grotesk, 45° chamfers, ridgeline apexes.
# Every glyph is a list of polygons in font units (UPM 1000, y-up).

def bx(x0, y0, x1, y1, tl=0, tr=0, br=0, bl=0):
    """Rectangle with optional 45-deg chamfers per corner."""
    ...

G_['A'] = (660, [                      # pointed apex = Smoky Mountain ridgeline
    [(35,0),(200,0),(365,CH),(295,CH)],
    [(625,0),(460,0),(295,CH),(365,CH)],
    bx(175,160,485,275),
])
G_['O'] = (680, [                      # chamfered outer + counter (hole)
    bx(45,0,635,CH, 160,160,160,160),
    H(bx(160,115,520,585, 70,70,70,70)),
])

# easter egg: "3 3" -> ridgeline sigil, dormant unless dlig is enabled
addOpenTypeFeaturesFromString(fb.font,
    "feature dlig { sub three three by sigil; } dlig;")
The Bench · LOG 012Bench No. 2308