知識マップ: 日本語フォントと文字の落とし穴 ── JIS2004・異体字セレクタ・外字を業務アプリでどう扱うか

記事「日本語フォントと文字の落とし穴 ── JIS2004・異体字セレクタ・外字を業務アプリでどう扱うか」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

文字化けはバイト列の解釈を誤るデータ層の事故、字形の違いはフォントが持つグリフの差である見た目層の事故で、対処もまったく異なります。JIS X 0213:2004では168字の例示字形が印刷標準字体に改められましたが、変わったのは字形だけで符号位置は同じです。字形をデータとして固定したいときの標準的な手段が異体字セレクタで、どの並びがどの字形を指すかはIVDが定め、フォント側はcmapのformat 14で実装します。非対応環境ではセレクタが無視されて基底字形になるのが正しい挙動ですが、IVS付きの1文字はUTF-16で最大4コード単位になるため、文字数の検証や切り出しは書記素単位で行う必要があります。外字は私用領域のコードポイントに字形を割り当てる仕組みで、フォントファイルがそのPCのものである以上、データと一緒に相手へ渡りません。

日本語フォントと文字の知識マップ符号位置とグリフを分けて考えること、JIS2004で字形だけが変わった構図、IVSによる字形のデータ指定とIVD・cmap format 14の関係、外字が持ち出せない理由、帳票のフォント埋め込みとfsType・PDF/A、フォールバックが救済装置であることを示す図原因になり得るで構成できる軽減する前提とする前提とする前提とする原因になり得るの後継利用する前提とする防止する軽減する用いるのは非推奨推奨される対応符号位置とグリフの分離異体字セレクタ(IVS)JIS2004の例示字形変更OpenType jp90フィーチャIVD(Ideographic Variation Database)OpenTypeのcmap format 14書記素単位での文字数計算外字(EUDC)と私用領域(PUA)文字情報基盤(MJ)と戸籍統一文字PDF/A(ISO 19005)フォントのfsType(埋め込みライセンス)フォントリンクとフォールバック互換分解のUnicode正規化(NFKC/NFKD)BIZ UDゴシック画面と帳票のフォント統一

概念間の関係(全14件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

符号位置とグリフの分離
同じUnicodeの符号位置でも、表示される字形はフォントが持つグリフ次第で変わるという性質。
異体字セレクタ(IVS)
漢字の直後にU+E0100以降の不可視の符号位置を置いて、字形の変種をデータとして指定する仕組み。
JIS2004の例示字形変更
JIS X 0213:2004で168字の漢字の例示字形が印刷標準字体に改められた変更。符号位置は変わらず字形だけが変わる。
外字(EUDC)と私用領域(PUA)
Unicodeの私用領域のコードポイントに利用者や団体が独自の字形を割り当てる仕組み。同じコードでもPCごと・組織ごとに別の字になり得る。
文字情報基盤(MJ)と戸籍統一文字
行政事務で用いる約六万字の漢字を対象とする文字情報基盤と、戸籍で用いられる文字を検索できる戸籍統一文字情報。
PDF/A(ISO 19005)
文書の表示に必要な要素をファイル内に含めることを求める長期保存用のPDF規格。フォントの埋め込みが必須になる。
フォントリンクとフォールバック
指定したフォントにグリフがない文字を別のフォントで代替描画する仕組み。GDIではFontLink\SystemLink、DirectWriteやWPF・ブラウザーではフォントフォールバックが担う。
互換分解のUnicode正規化(NFKC/NFKD)
互換等価まで統合するUnicode正規化。全角半角や組文字などの表記上の区別を潰すため、区別の保持が要件のデータには適さない。
BIZ UDゴシック
Windows 10 バージョン1809以降に日本語補助フォントとして含まれる、モリサワ製のユニバーサルデザイン書体。

機械可読データ

このデータセットについて

作成
合同会社小村ソフト
ライセンス
CC BY 4.0 ── 出典(合同会社小村ソフト)とライセンスへのリンクを明示し、改変した場合はその旨を示すことを条件に、再配布・改変を含めて再利用できます
最終確認日
2026-08-22 ── 収録する関係のうち、最後に出典と照合した日

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。