Parent: #320
Blocked by the renderer-record schema child.
Extract renderer-ready non-MATH glyph data for every bundled face.
Acceptance criteria:
- emit cmap/fallback mappings, face/glyph metrics, advances, bounds, and complete contours
- represent composite/simple outlines without retaining raw SFNT tables
- deterministic offsets/counts and explicit missing-glyph behavior
- exhaustive parity tests compare every emitted record with Typography/OpenFontReader for all three faces
- document any intentionally unused non-MATH tables; no silent data loss
- production rendering remains unchanged
Parent: #320
Blocked by the renderer-record schema child.
Extract renderer-ready non-MATH glyph data for every bundled face.
Acceptance criteria: