Initial spike on the project (via Claude)

Fix boxed glyphs: base logical fonts on DejaVu, add symbol fallbacks master

MegaMek draws armor pips, heat markers, wind and pressure indicators with symbol codepoints. The generated fontconfig mapped the logical fonts to Noto Sans, which covers exactly ONE of the 18 codepoints MegaMek uses (U+00B0). Everything else rendered as boxes. Measured coverage with a GlyphCoverage probe (Font.canDisplay) rather than guessing, then: base DejaVu Serif / Sans / Sans Mono - broad symbol coverage fallback Noto Sans Symbols2 U+2B1D armor pips, U+2744, U+2B71/73 Material Symbols Rounded MegaMek's bundled Private Use icons Verified in gameplay, not in the lobby: a deploy-phase screenshot now shows armor pips, heat pips, the wind flag, direction arrow, atmospheric pressure and light indicators all rendering, with punctuation unaffected. Residue, documented in TODO: the temperature and gravity indicators still box. U+1F321 and U+1F525 are supplementary-plane emoji that the legacy fontconfig fallback does not appear to reach, and U+23AF exists only in Noto Sans Math / Noto Sans Symbols here. Recorded as "do not retry": adding "Noto Sans Symbols" (no 2) to cover U+23AF. Its family name is a prefix of "Noto Sans Symbols2" and the legacy parser mis-resolves between them - basic punctuation turns to boxes and the armor pips vanish entirely. Caught by screenshot and reverted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>


+88 -37
2 changed files