5. SkiaSharp and HarfBuzzSharp allowed, in .Html only
Date: 2026-09-12
Status
Accepted; amended on 2026-09-26 by 43,
which also allows Skia in .Rendering and makes bidirectional analysis and line breaking ours.
Context
Writing a quality shaper takes years, and the result would be typographically worse. Confining these to the HTML package keeps the core dependency-free.
Decision
HarfBuzz for shaping (ligatures, kerning, complex scripts, bidirectional text), Skia for image decoding and SVG fallback rendering.
Consequences
- Rejected — everything managed (disproportionate cost), Skia everywhere (contaminates the core).
Recorded as D04 before this project adopted Architecture Decision Records; the identifier still
appears in commit messages and in CLAUDE.md.