Skip to the fonts
Portfolio
David Hatleydesign · AI/ML · generative tools

No. 08 / 16 · Mono · SansSpecimen · 2026-10-27

Cap 700X 500Base 0Desc −234Outline

Hoop fitted to one 600-unit cell, with slabs on i, j, l and r. Code and terminals.

Glyphs 108Styles 1Kerning noneUPM 1000Cap 700x 500WOFF2 12.0 KBTTF 53.9 KBSizes anyChecksum 31A7
00Type tester

Try it

git commit -m "fix: kern F"

72 px · click the text to edit it

01Construction

How it is built

The same skeletons as Hoop, each centred in a 600-unit cell. Wide letters (m, w, M, W) are squeezed horizontally before stroking, so the stroke itself keeps its weight.

Narrow letters get slabs: i, j, l and r would float in a wide cell, so they get feet and flags the way terminal faces do.

A vector face: it works at any size. The tester and the waterfall use the house steps.

PLATE 8.1 · CONSTRUCTION · HOOP MONO i107 ON-CURVE · 28 OFF-CURVE · QUADRATIC
Baseline 0x-height 500Cap height 700Descender −2341234
  1. NodeAn on-curve point at (300, 705). 107 in this glyph.
  2. HandleAn off-curve point at (155, 493). Quadratic curves: one handle per curve. 28 here.
  3. Advance600 units wide: 106 of space on the left, 106 on the right.
  4. SlabA foot on i, so a narrow letter fills its 600-unit cell the way terminal faces do.
Plate 8.1. Hoop Mono i, drawn from the built font file: every square is a node and every ring a handle the outline really has.
02Spacing

How it fits

PLATE 8.2 · SPACING · HOOP MONOMONOSPACED
12
  1. Advance boxEvery glyph is 600 units wide: monospaced, so columns line up.
  2. Side bearingsg keeps 72 units of space on the left and 72 on the right. No kerning: the boxes do the spacing.
Plate 8.2. Hoop Mono fitted by its advance boxes alone, drawn from the hmtx table.
03Waterfall

Every size it is drawn for

120 pxgit commit -m "fix: kern F"
72 pxgit commit -m "fix: kern F"
48 pxgit commit -m "fix: kern F"
32 pxSphinx of black quartz, judge my vow.
25 pxSphinx of black quartz, judge my vow.
20 pxSphinx of black quartz, judge my vow.
16 pxSphinx of black quartz, judge my vow.
04Character set

All 108 characters

Char
i
Code point
U+0069
Glyph
i
Advance
600
LSB · RSB
106 · 106
Contours · points
2 · 135

Uppercase · 26

Lowercase · 26

Figures · 10

Punctuation and symbols · 46

05In use

Good at

Terminal20 px

$ stemctl crisp --styles Wide

Wide: 0 grey px at 16 32 48 72 120

06Download

Get Hoop Mono

TTF for desktops, WOFF2 for the web, or the zip with both, the licence and a readme. Free for anything, commercial included, under the SIL Open Font License 1.1.

CSS · put the .woff2 next to your stylesheet
@font-face {
  font-family: "Hoop Mono";
  src: url("HoopMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

h1 { font-family: "Hoop Mono", sans-serif; }