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

No. 07 / 16 · SansSpecimen · 2026-10-27

Cap 700X 500Base 0Desc −239Outline

A geometric monoline sans drawn from lines and one circle. The text face of this site.

Glyphs 108Styles 2Kerning 2,994 pairsUPM 1000Cap 700x 500WOFF2 9.1 KBTTF 29.0 KBSizes anyChecksum A662
00Type tester

Try it

Small legible worlds

72 px · kerning on · click the text to edit it

01Construction

How it is built

Every glyph is a skeleton of lines, arcs and dots on a 1000-unit em, stroked with round caps and joins and merged into one clean outline. Every lowercase bowl (a b d g o p q) is the same circle, which is what makes the face geometric.

Bold is the same skeletons stroked at 136 units instead of 88, with the skeleton moved inward so stems still land on the baseline and x-height. Kerning is read off the outlines: each pair's tightest gap is pulled toward the gap between two n's.

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

PLATE 7.1 · CONSTRUCTION · HOOP g10 ON-CURVE · 50 OFF-CURVE · QUADRATIC
Baseline 0x-height 500Cap height 700Descender −2391234
  1. NodeAn on-curve point at (464, -40). 10 in this glyph.
  2. HandleAn off-curve point at (119, 433). Quadratic curves: one handle per curve. 50 here.
  3. Advance604 units wide: 52 of space on the left, 52 on the right.
  4. The one circleEvery lowercase bowl, this one included, is the same circle.
Plate 7.1. Hoop g, 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 7.2 · SPACING · HOOPTIGHTEST 8 OF 2,994 PAIRS
12
AT −120
AV −120
AY −120
LT −120
LV −120
LY −120
TA −120
TJ −120
  1. UnkernedThe second letter where its advance width alone would put it: hairline.
  2. KernedThe pair as the font sets it, pulled in by the value under it, in units of a 1000-unit em.
Plate 7.2. The eight tightest pairs in Hoop’s kerning table, each set over its unkerned ghost.
03Waterfall

Every size it is drawn for

120 pxSmall legible worlds
72 pxSmall legible worlds
48 pxSmall legible worlds
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
g
Code point
U+0067
Glyph
g
Advance
604
LSB · RSB
52 · 52
Contours · points
2 · 60

Uppercase · 26

Lowercase · 26

Figures · 10

Punctuation and symbols · 46

05In use

Good at

Running text20 px

Hoop draws every letter from a few lines and one circle, then strokes the skeleton with round ends. It reads calm and even at text sizes and keeps its shape in a headline.

Headline48 px

Prompt to playable

06Download

Get Hoop

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";
  src: url("Hoop-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Hoop";
  src: url("Hoop-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

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