Why One Font Isn't Enough: CJK Variant Coverage Across Fonts
How different CJK fonts implement different IVD collections, why a single font can't show every registered variant, and how this site combines three fonts to render every IVS faithfully.
Registered β Renderable
A code point like ι (U+9089) has 32 Ideographic Variation Sequences registered in the Unicode IVD β the most of any character. But registration only says βthis combination is meaningfulβ; whether you actually see a different glyph depends entirely on the font.
Open one of the most comprehensive Japanese fonts on most operating systems (e.g. Yu Mincho, MS Mincho) and you will find that most of the 32 variants render identically to the default. The font simply doesn't carry distinct outlines for every registered IVS.
Three IVD Collections, Three Schools of Thought
The IVD is split into collections, each maintained by a different organisation with a different scope. A font typically targets one collection β not the whole IVD.
| Collection | Maintainer | Scope | Reference font |
|---|---|---|---|
| Adobe-Japan1 | Adobe Type | Adobe's own CJK glyph set, ~23,000 CIDs | Source Han Serif / ζΊγζζ |
| Hanyo-Denshi | IPA / Hanyo-Denshi committee | Variant glyphs for legal & academic use | Hanazono Mincho |
| Moji_Joho | Moji JΕhΕ Kiban (IPA-led) | MJ glyph set, ~60,000 variants for public registries | IPAmjζζ |
A single character can be registered in multiple collections under different VS numbers. For ι:
| VS range | Collection | Variants |
|---|---|---|
| U+E0100βE010E | Adobe-Japan1 | 15 (CID 6930 + 14 alternates) |
| U+E010FβE011F | Hanyo-Denshi / Moji_Joho | 17 (overlap between the two) |
A font that knows only about Adobe-Japan1 will leave the Moji_Joho range mapped to the default glyph. A font that knows only about Moji_Joho will leave the Adobe-Japan1 range alone. To render every variant correctly you need a font β or a combination of fonts β that covers every collection the character appears in.
The "Use Default" Quirk
Even within a single collection, some IVS entries are deliberately registered as identical to the default glyph. The font marks them in its cmap format-14 table with None as the glyph reference, meaning βuse the base character's default glyph here.β
This isn't a font bug or omission β it's the IVD's way of giving a stable identifier to a variant whose visual shape matches the default. For ι:
| VS | Status | Reason |
|---|---|---|
| U+E0100 | = default | Adobe-Japan1 CID+6930 (the canonical default ι) |
| U+E010F | = default | Hanyo-Denshi JA7821 / Moji_Joho MJ026190 β visually identical to default |
| U+E011E | distinct | Hanyo-Denshi TK01090330 β actually a different glyph |
The Unicode Viewer detail panel marks these three states with three different badge colours: blue for distinct IVS glyphs, cyan for β= defaultβ entries, and grey for entries the font doesn't register at all.
How This Site Combines Three Fonts
To show every registered variant honestly, this site bundles a single Web font assembled from three upstream sources, each filling a role the others can't:
| Font | License | Role |
|---|---|---|
| Jigmo (Koichi Kamichi + GlyphWiki) | CC0 | Base glyphs and every IVS in IVD 2025-07-14 |
| Source Han Serif JP / ζΊγζζ | SIL OFL 1.1 | SVS for vertical-writing punctuation (γοΈ γοΈ etc.) |
| IPAmjζζ | IPA Font License v1.0 | Final fallback for Moji_Joho-specific SVS |
Why three? Because each is the only practical option for a particular gap:
- Jigmo is the only freely-licensed font with a full IVD 2025-07-14 implementation. Using it as the single source for IVS means base + variant glyphs share one type designer's style, so the side-by-side comparison in the detail panel highlights structural differences instead of typographic drift.
- Source Han Serif ships a Standardized Variation Sequence (SVS) table that Jigmo lacks β without it, the centred punctuation forms (γοΈ γοΈ used in vertical Japanese writing) would have no glyph at all.
- IPAmjζζ covers a handful of Moji_Joho-specific SVS entries that Source Han Serif doesn't register.
Where Source Han Serif provides the variant glyph for an SVS, the merge also overrides the base cmap entry to point at Source Han Serif's default glyph, so the bare character and its variant render in the same typeface. Without that step, comparing γ with γοΈ would mix two designers' hands and obscure the structural difference.
What This Means for You
If you build a tool, document, or website that relies on IVS for legal records, kanji name handling, or historical text, font choice is not cosmetic β it determines whether the variants are visible at all.
- Verify which IVD collections your target font covers. Adobe's site, the IPA mojikiban downloads, and Jigmo's README all publish their coverage.
- If a variant looks identical to the default, check whether the font actually has a distinct glyph or whether the IVD entry is a β= defaultβ registration. The two situations need different fixes.
- For web delivery, consider chunked WOFF2 with
unicode-rangeso the user only downloads what they actually render. This site uses 121 chunks of 256 code points each, ~14 MB total but typically <1 MB per page view.
Related articles
Han Unification: How Unicode Merged 100,000 CJK Characters
How the IRG decided which characters from Japan, China, Taiwan, and Korea are 'the same,' with a tool to check any character's source.
IVS: How Unicode Represents 47 Versions of the Same Kanji
Understanding Ideographic Variation Sequences and Standardized Variation Sequences, with live font rendering of all registered variants.
JIS Levels and Kuten Codes: Japan's Character Classification System
How Japan classifies kanji into 4 levels across JIS X 0208 and JIS X 0213, with kuten positional codes.