Clean-room TrueType / OpenType font reader.
Parses the sfnt table directory plus the metric, character-map, outline, and
layout tables we need to lay out and embed text: head (units per em),
maxp (glyph count), hhea/hmtx (vertical metrics + advance widths),
cmap (character → glyph, formats 4 and 12), glyf/loca (TrueType
outlines for subsetting), legacy kern format-0 pair kerning, focused GPOS
pair positioning, GSUB standard ligatures, and optional fvar/avar font
variation axes (named instances + clamped axis mapping). Latin-first,
zero-dependency, and free of unsafe/unwrap/panic — every read is
bounds-checked.
CFF/OpenType outline subsetting and broader script shaping are still future
increments. The current module is enough for bundled TrueType fonts, real
PDF metrics, deterministic subset embedding, kerning, ligatures, and
selectable ToUnicode output.
Factored out of franken_markdown's src/text.rs into this standalone
fmd-font workspace crate so the wider Franken suite can consume the
font subsystem directly (franken_manim's Scribe is the first external
consumer). The [outline] module is the piece added with the factoring:
a decoder from glyf point data to quadratic-Bézier contours with
phantom-point-correct metrics.