How to glyph data formats reference: names, unicode, metrics
- Step 1Glyph index — Sequential 0..N integer. Index 0 is always .notdef (the tofu rectangle). Indices are font-internal — same glyph in two different fonts can have different indices.
- Step 2Glyph name (post) — Optional human-readable name (home, A, fi, A.smcp). Stored in the post table. Many fonts strip post names to save 5–20 KB; the inspector surfaces 'Glyph 42' style names when post is absent.
- Step 3Unicode (cmap) — The cmap table maps Unicode codepoints to glyph indices. One glyph can have multiple Unicode mappings (e.g., a glyph for both Latin A and Cyrillic А). The inspector shows all codepoints per glyph.
Frequently asked questions
Why doesn't every glyph have a Unicode value?+
Some glyphs are 'unencoded' — accessible only via OpenType features (smcp small caps, ligature glyphs like fi). They have a glyph index but no codepoint. The inspector marks these as 'no Unicode' in the JSON export.
What's the .notdef glyph?+
Always glyph index 0. Renders as the tofu rectangle when a Unicode codepoint has no matching glyph. Required by the OpenType spec — every font must have it.
Can I get advance width per glyph?+
Yes — the hmtx table stores horizontal metrics. The inspector surfaces this as 'advance' in the per-glyph data. Useful for kerning analysis and layout calculations.
Privacy first
Every JAD Font tool runs entirely in your browser using opentype.js and the wawoff2 WASM Brotli encoder. Your fonts never leave your device — verified by zero outbound network requests during processing.