🎨

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.

CollectionMaintainerScopeReference font
Adobe-Japan1Adobe TypeAdobe's own CJK glyph set, ~23,000 CIDsSource Han Serif / ζΊγƒŽζ˜Žζœ
Hanyo-DenshiIPA / Hanyo-Denshi committeeVariant glyphs for legal & academic useHanazono Mincho
Moji_JohoMoji Jōhō Kiban (IPA-led)MJ glyph set, ~60,000 variants for public registriesIPAmj明朝

A single character can be registered in multiple collections under different VS numbers. For 邉:

VS rangeCollectionVariants
U+E0100–E010EAdobe-Japan115 (CID 6930 + 14 alternates)
U+E010F–E011FHanyo-Denshi / Moji_Joho17 (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 邉:

VSStatusReason
U+E0100= defaultAdobe-Japan1 CID+6930 (the canonical default 邉)
U+E010F= defaultHanyo-Denshi JA7821 / Moji_Joho MJ026190 β€” visually identical to default
U+E011EdistinctHanyo-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:

FontLicenseRole
Jigmo (Koichi Kamichi + GlyphWiki)CC0Base glyphs and every IVS in IVD 2025-07-14
Source Han Serif JP / ζΊγƒŽζ˜ŽζœSIL OFL 1.1SVS for vertical-writing punctuation (、︁ 。︁ etc.)
IPAmj明朝IPA Font License v1.0Final 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-range so 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