Every font file is the same tables in a different wrapper
TrueType and OpenType files are a directory of 4-letter tables: cmap maps characters to glyphs, glyf or CFF holds outlines, name holds the family and licence, OS/2 the weight and embedding rights. WOFF compresses each table with zlib, and WOFF2 transforms glyf and loca and runs everything through one Brotli stream. Open a font, load the site’s own Geist from Google Fonts, or build a real pixel font here and type with it.
Each character is measured twice with canvas measureText, once as “this font, then monospace” and once as “this font, then serif”. Equal widths mean this font drew it; different widths mean the browser fell back.
Each lit pixel becomes a square contour in glyf. The page writes head, hhea, maxp, OS/2, hmtx, cmap, loca, glyf, name and post with correct checksums, loads the result through the FontFace API, and wraps it as WOFF 1.0 with zlib. Pick a letter and click cells to change it.