Documentation
Mapleglyph is one binary with four commands. Point any of them at a font file.
Install
cargo install mapleglyph # Rust 1.74+
brew install mapleglyph/tap/mapleglyph
# or grab a binary from the releases page and put it on your PATH
Supported containers: .ttf, .otf, .ttc (pass --index N to pick a face) and .woff2. Parsing is done with ttf-parser; nothing is sent anywhere.
coverage
Summarise the font's codepoints by Unicode block.
mapleglyph coverage FONT [--all] [--json] [--block NAME]
| Flag | Effect |
|---|---|
--all | List every block, including 0% ones |
--json | Emit machine-readable output for scripts and CI |
--block | Restrict to a single block, e.g. --block "Box Drawing" |
show
Draw a codepoint range as a grid, using your terminal font for the preview.
mapleglyph show FONT U+2500..U+257F
mapleglyph show FONT --block "Arrows"
Covered codepoints are shown solid; the ones the font lacks are dimmed, so a gap is obvious at a glance.
diff
Compare two fonts and report the codepoints that differ.
mapleglyph diff Old.ttf New.ttf
+ U+20BF BITCOIN SIGN only in New.ttf
+ U+1FAE0 MELTING FACE only in New.ttf
- U+2639 FROWNING FACE only in Old.ttf
Exit code is non-zero when the two sets differ, which makes it drop-in for a regression check on a font build.
missing
Given a sample of text, list everything the font can't draw.
mapleglyph missing --text copy/strings.txt Brand-Bold.otf
line 12 U+2011 NON-BREAKING HYPHEN
line 48 U+2009 THIN SPACE
Useful before you commit to a display face for a UI: run it over your real strings, not a pangram.
Exit codes
| Code | Meaning |
|---|---|
0 | Ran cleanly; for diff/missing, nothing to report |
1 | Differences found (diff) or missing glyphs (missing) |
2 | Could not read or parse the font file |