なぜフォント1つでは足りないのか: CJK異体字とフォント対応の不揃い
CJK フォントごとに対応する IVD コレクションが異なる仕組み、単一フォントで全異体字を表示できない理由、本サイトが 3 つのフォントを組み合わせて全 IVS を正しく描画している舞台裏。
登録されている ≠ 表示できる
邉 (U+9089) は Unicode IVD に 32 個の異体字シーケンスが登録されており、これは全文字中最多です。しかし「登録」は「この組み合わせには意味がある」と宣言しているだけで、実際に異なる字形が表示されるかどうかはフォント次第です。
代表的な日本語 OS 標準フォント (游明朝、MS 明朝など) で確認すると、32 個の異体字のうち多くがデフォルト字形と同じ見た目で描画されることがわかります。フォントが全ての登録 IVS に対して個別のアウトラインを持っていないからです。
3 つの IVD コレクション、3 つの流儀
IVD はコレクションに分かれていて、それぞれ別の組織が違うスコープで管理しています。フォントは普通そのうちの 1 つを対象にしていて、IVD 全体ではありません。
| コレクション | 管理団体 | スコープ | 代表的なフォント |
|---|---|---|---|
| Adobe-Japan1 | Adobe Type | Adobe 独自の CJK 字形集 約23,000 CID | 源ノ明朝 (Source Han Serif) |
| Hanyo-Denshi | IPA / 汎用電子情報交換環境整備プログラム | 法務・学術用途の異体字 | 花園明朝 (Hanazono Mincho) |
| Moji_Joho | 文字情報基盤 (IPA 主導) | MJ 字形集 約60,000、戸籍・公的台帳向け | IPAmj明朝 |
同じ文字が複数のコレクションに別の VS 番号で登録されることもあります。邉の場合:
| VS 範囲 | コレクション | 異体字数 |
|---|---|---|
| U+E0100–E010E | Adobe-Japan1 | 15 (CID 6930 + 14 異体字) |
| U+E010F–E011F | Hanyo-Denshi / Moji_Joho | 17 (両者で重複登録) |
Adobe-Japan1 だけ知っているフォントは Moji_Joho 範囲をデフォルト字形のままにします。Moji_Joho だけ知っているフォントは Adobe-Japan1 範囲を放置します。全異体字を正しく描画するには、その文字が登録されている全てのコレクションをカバーするフォント、または複数のフォントの組み合わせが必要です。
「デフォルトと同じ」という登録
同じコレクション内でも、IVS のエントリが 意図的に「デフォルトと同じ字形」として登録されることがあります。フォントの cmap format-14 テーブルでは、これを None (グリフ参照なし、ベース文字のデフォルトを使う) で表します。
これはフォントのバグや欠落ではなく、「字形は同じだが識別子としては別物」という IVD の設計です。邉の例:
| VS | 状態 | 理由 |
|---|---|---|
| U+E0100 | = デフォルト | Adobe-Japan1 CID+6930 (邉の正規デフォルト) |
| U+E010F | = デフォルト | Hanyo-Denshi JA7821 / Moji_Joho MJ026190 — デフォルトと同じ字形 |
| U+E011E | 異なる字形 | Hanyo-Denshi TK01090330 — 実際に別字形 |
Unicode Viewer の詳細パネルでは、この 3 つの状態をバッジの色で区別しています。青: 異なる字形あり (IVS)、シアン: 「デフォルトと同じ」登録、グレー: フォントに登録されていない、の 3 種です。
本サイトが 3 フォントを使い分ける理由
登録された全ての異体字を正直に表示するため、本サイトは 3 つのフォントから組み立てた単一の Web フォントを配信しています。それぞれが他では埋まらない役割を担当しています。
| フォント | ライセンス | 役割 |
|---|---|---|
| Jigmo (上地 幸一氏 + GlyphWiki) | CC0 | ベース字形と IVD 2025-07-14 の全 IVS |
| 源ノ明朝 (Source Han Serif JP) | SIL OFL 1.1 | 縦書き句読点等の SVS (、︁ 。︁ など) |
| IPAmj明朝 | IPA Font License v1.0 | Moji_Joho 固有の SVS の最終補完 |
なぜ 3 つも必要なのか? それぞれが特定の隙間を埋める唯一の現実解だからです。
- Jigmo は IVD 2025-07-14 を完全実装した、自由に再配布可能な唯一のフォントです。IVS を全て同一フォントで賄うことで、ベースと異体字が同じ書体デザイナー由来になり、詳細パネルの並べ表示で「字形の構造差」と「書体の癖の差」が混ざらず、純粋に構造差だけを比較できます。
- 源ノ明朝 には Jigmo にない SVS テーブル (Standardized Variation Sequence) が含まれます。これがないと、縦書きで使う中央寄せ句読点 (、︁ 。︁) のグリフが一切無くなります。
- IPAmj明朝 は源ノ明朝が登録していない Moji_Joho 固有の SVS をいくつか補完します。
SVS グリフを源ノ明朝から取り込んだ文字については、ベース cmap (素のキャラクタ) も源ノ明朝の字形に書き換えています。これがないと、素の 。 と 。︁ で別の書体デザイナーの手が混ざってしまい、純粋な構造差が見えづらくなるためです。
実用上の影響
戸籍管理・氏名処理・古文書のデジタル化等で IVS に依存するツール / 文書 / Web サイトを作る場合、フォント選定は装飾の話ではなく、変種が見えるか見えないかを決定する致命的な選択です。
- 採用フォントが対応している IVD コレクションを確認しましょう。Adobe、文字情報基盤、Jigmo の README にそれぞれカバレッジが公開されています。
- 異体字がデフォルトと同じに見える時、それは「フォントが実グリフを持っていない」のか「IVD で『デフォルトと同じ』として登録されている」のかを区別する必要があります。対処法が変わります。
- Web では
unicode-rangeによるチャンク分割で、ユーザーが必要なグリフだけダウンロードする方式が現実的。本サイトは 256 コードポイントごとに 121 チャンクに分割、合計 14MB だが 1 ページ閲覧では通常 1MB 未満。