日本語フォントと文字の知識マップ(知識グラフ)
type: Dataset
description: 文字化けはバイト列の解釈を誤るデータ層の事故、字形の違いはフォントが持つグリフの差である見た目層の事故で、対処もまったく異なります。JIS X 0213:2004では168字の例示字形が印刷標準字体に改められましたが、変わったのは字形だけで符号位置は同じです。字形をデータとして固定したいときの標準的な手段が異体字セレクタで、どの並びがどの字形を指すかはIVDが定め、フォント側はcmapのformat 14で実装します。非対応環境ではセレクタが無視されて基底字形になるのが正しい挙動ですが、IVS付きの1文字はUTF-16で最大4コード単位になるため、文字数の検証や切り出しは書記素単位で行う必要があります。外字は私用領域のコードポイントに字形を割り当てる仕組みで、フォントファイルがそのPCのものである以上、データと一緒に相手へ渡りません。
language: ja
creator: 合同会社小村ソフト
license: https://creativecommons.org/licenses/by/4.0/
is accessible for free: true
keywords: 符号位置とグリフの分離
keywords: 異体字セレクタ(IVS)
keywords: JIS2004の例示字形変更
keywords: IVD(Ideographic Variation Database)
keywords: OpenTypeのcmap format 14
keywords: 書記素単位での文字数計算
keywords: 外字(EUDC)と私用領域(PUA)
keywords: 文字情報基盤(MJ)と戸籍統一文字
keywords: フォントのfsType(埋め込みライセンス)
keywords: PDF/A(ISO 19005)
keywords: フォントリンクとフォールバック
keywords: Unicode正規化(NFC/NFD/NFKC/NFKD)
keywords: BIZ UDゴシック
keywords: OpenType jp90フィーチャ
keywords: 画面と帳票のフォント統一
keywords: 互換分解のUnicode正規化(NFKC/NFKD)
distribution: DataDownload
  encoding format: application/ld+json
distribution: DataDownload
  encoding format: text/turtle
citation: https://www.morisawa.co.jp/culture/dictionary/1927
citation: https://learn.microsoft.com/typography/font-list/ms-gothic
citation: https://learn.microsoft.com/globalization/encoding/unicode-standard
citation: https://www.unicode.org/ivd/
citation: https://learn.microsoft.com/typography/opentype/spec/cmap
citation: https://learn.microsoft.com/windows/win32/intl/end-user-defined-characters
citation: https://learn.microsoft.com/windows/win32/intl/character-sets-and-fonts
citation: https://moji.or.jp/mojikiban/
citation: https://houmukyoku.moj.go.jp/KOSEKIMOJIDB/M01.html
citation: https://pdfa.org/pdf-a-basics/
citation: https://learn.microsoft.com/typography/opentype/spec/os2
citation: https://learn.microsoft.com/globalization/fonts-layout/fonts
citation: https://learn.microsoft.com/windows/win32/intl/using-unicode-normalization-to-represent-strings
citation: https://learn.microsoft.com/typography/font-list/biz-udgothic
about: article

合同会社小村ソフト
type: Organization

符号位置とグリフの分離
type: Concept
definition: 同じUnicodeの符号位置でも、表示される字形はフォントが持つグリフ次第で変わるという性質。

異体字セレクタ(IVS)
type: Concept
definition: 漢字の直後にU+E0100以降の不可視の符号位置を置いて、字形の変種をデータとして指定する仕組み。
alternative label: IVS
alternative label: Ideographic Variation Sequence
mitigates: 符号位置とグリフの分離
requires: IVD(Ideographic Variation Database)
requires: OpenTypeのcmap format 14
requires: 書記素単位での文字数計算

JIS2004の例示字形変更
type: Concept
definition: JIS X 0213:2004で168字の漢字の例示字形が印刷標準字体に改められた変更。符号位置は変わらず字形だけが変わる。
may cause: 符号位置とグリフの分離
configured by: OpenType jp90フィーチャ

OpenType jp90フィーチャ
type: Concept
definition: OpenType Layoutのフィーチャタグのひとつで、JIS X 0208:1990ベースの字形(JIS90字形)への切り替えを提供する。

IVD(Ideographic Variation Database)
type: Concept
definition: どの基底文字+セレクタの並びがどの字形を指すかを定めるUnicodeコンソーシアムの登録簿。Adobe-Japan1・Hanyo-Denshi・Moji_Johoなどのコレクションが登録されている。

OpenTypeのcmap format 14
type: Concept
definition: フォントがUnicode Variation Sequenceと字形の対応を実装するためのcmapサブテーブル。

書記素単位での文字数計算
type: Concept
definition: 利用者が1文字と認識する並びを、UTF-16のコード単位ではなく書記素として数え、切り出すこと。

外字(EUDC)と私用領域(PUA)
type: Concept
definition: Unicodeの私用領域のコードポイントに利用者や団体が独自の字形を割り当てる仕組み。同じコードでもPCごと・組織ごとに別の字になり得る。
alternative label: 外字
alternative label: EUDC
alternative label: PUA
may cause: 符号位置とグリフの分離

文字情報基盤(MJ)と戸籍統一文字
type: Concept
definition: 行政事務で用いる約六万字の漢字を対象とする文字情報基盤と、戸籍で用いられる文字を検索できる戸籍統一文字情報。
uses: IVD(Ideographic Variation Database)

PDF/A(ISO 19005)
type: Concept
definition: 文書の表示に必要な要素をファイル内に含めることを求める長期保存用のPDF規格。フォントの埋め込みが必須になる。
requires: フォントのfsType(埋め込みライセンス)
prevents: フォントリンクとフォールバック

フォントのfsType(埋め込みライセンス)
type: Concept
definition: OpenTypeフォントが埋め込み権限(Installable / Restricted License / Preview & Print / Editable、サブセット禁止など)を宣言するOS/2テーブルのフィールド。

フォントリンクとフォールバック
type: Concept
definition: 指定したフォントにグリフがない文字を別のフォントで代替描画する仕組み。GDIではFontLink\SystemLink、DirectWriteやWPF・ブラウザーではフォントフォールバックが担う。
mitigates: 符号位置とグリフの分離

互換分解のUnicode正規化(NFKC/NFKD)
type: Concept
definition: 互換等価まで統合するUnicode正規化。全角半角や組文字などの表記上の区別を潰すため、区別の保持が要件のデータには適さない。
not recommended for: 文字情報基盤(MJ)と戸籍統一文字

BIZ UDゴシック
type: Concept
definition: Windows 10 バージョン1809以降に日本語補助フォントとして含まれる、モリサワ製のユニバーサルデザイン書体。

画面と帳票のフォント統一
type: Concept
definition: 画面表示と印刷・帳票出力で同じ書体を明示指定し、見た目や改行位置を一致させること。

subject: JIS2004の例示字形変更
predicate: mayCause
object: 符号位置とグリフの分離
description: 表外漢字字体表を受けてJIS X 0213:2004で168字の漢字の例示字形が印刷標準字体に改められた。符号位置は変わらないため、同じデータでも環境によって字形が違って見える。
evidence: https://www.morisawa.co.jp/culture/dictionary/1927
verified at: 2026-08-20
certainty: established

subject: JIS2004の例示字形変更
predicate: configuredBy
object: OpenType jp90フィーチャ
description: MSゴシックファミリーの既定字形はJIS2004ベースで、OpenTypeの'jp90'フィーチャを適用するとJIS90のレガシー字形を選べる。IVSの字形指定を担うcmap format 14とは別の仕組み。
evidence: ms-gothic
verified at: 2026-08-22
certainty: established

subject: 異体字セレクタ(IVS)
predicate: mitigates
object: 符号位置とグリフの分離
description: 基底文字の直後にU+E0100〜U+E01EF(VS17〜VS256)のセレクタを置くことで、字形の変種をデータとして指定できる。同じ「葛」でもどちらの字形かを区別できるようになる。
evidence: unicode-standard
verified at: 2026-08-22
certainty: established

subject: 異体字セレクタ(IVS)
predicate: requires
object: IVD(Ideographic Variation Database)
description: どの基底文字+セレクタの並びがどの字形を指すかは、UTS #37にもとづくIVDという登録簿で決まる。Adobe-Japan1(2007年)・Hanyo-Denshi(2010年)・Moji_Joho(2014年)などのコレクションが登録されている。
evidence: ivd
verified at: 2026-08-20
certainty: established

subject: 異体字セレクタ(IVS)
predicate: requires
object: OpenTypeのcmap format 14
description: フォント側はcmapサブテーブルformat 14でUnicode Variation Sequenceを実装する。対応フォントと対応アプリが揃わなければ、セレクタは無視され基底文字の既定字形で表示される。
evidence: cmap
verified at: 2026-08-20
certainty: established

subject: 異体字セレクタ(IVS)
predicate: requires
object: 書記素単位での文字数計算
description: セレクタは追加面の符号位置なのでUTF-16では常にサロゲートペアになり、基底文字も追加面なら1文字が最大4コード単位になる。文字数の検証・切り出しはコード単位ではなく書記素単位で行い、DBのカラム長も見かけの文字数の2〜4倍を見込む。
evidence: unicode-standard
evidence: cmap
verified at: 2026-08-20
certainty: established

subject: 外字(EUDC)と私用領域(PUA)
predicate: mayCause
object: 符号位置とグリフの分離
description: 私用領域のコードポイントには全世界共通の意味がなく、同じコードでもPCごと・組織ごとに別の字が割り当てられ得る。外字エディタで作った字形はeudc.tteに保存され、レジストリで各フォントに関連付けられる。
evidence: end-user-defined-characters
evidence: character-sets-and-fonts
verified at: 2026-08-22
certainty: established

subject: 文字情報基盤(MJ)と戸籍統一文字
predicate: succeeds
object: 外字(EUDC)と私用領域(PUA)
description: 行政側は戸籍統一文字や、行政事務で用いる約六万字を対象とする文字情報基盤を土台に、標準準拠システムで使う文字集合を定める方向へ動いている。氏名を扱うシステムは受け入れる文字集合を決めて明示するのが要点になる。
evidence: mojikiban
evidence: M01.html
verified at: 2026-08-20
certainty: context-dependent

subject: 文字情報基盤(MJ)と戸籍統一文字
predicate: uses
object: IVD(Ideographic Variation Database)
description: 文字情報基盤に対応するMoji_JohoコレクションはIVDに登録されており、IPAmj明朝で利用される。
evidence: ivd
verified at: 2026-08-20
certainty: established

subject: PDF/A(ISO 19005)
predicate: requires
object: フォントのfsType(埋め込みライセンス)
description: PDF/Aは表示に必要な要素をファイル内に含めることを求めるためフォント埋め込みが必須だが、埋め込みの可否はフォントのfsTypeが宣言する埋め込み権限で決まる。許諾されていないフォントを埋め込んではいけない。
evidence: pdf-a-basics
evidence: os2
verified at: 2026-08-20
certainty: established

subject: PDF/A(ISO 19005)
predicate: prevents
object: フォントリンクとフォールバック
description: 埋め込まなければ閲覧側は手元のフォントで代替描画し、字形どころかレイアウトも変わり得る。埋め込みは「10年後に開いたら字形が変わっていた」を防ぐ最も確実な方法になる。
evidence: pdf-a-basics
evidence: fonts
verified at: 2026-08-20
certainty: established

subject: フォントリンクとフォールバック
predicate: mitigates
object: 符号位置とグリフの分離
description: 指定したフォントにグリフがない文字は何も表示されないのではなく、別のフォントで代替描画される。豆腐(□)は指定フォントにもフォールバック先にもグリフがないという失敗の跡であり、データは生きていることが多い。
evidence: fonts
verified at: 2026-08-20
certainty: established

subject: 互換分解のUnicode正規化(NFKC/NFKD)
predicate: notRecommendedFor
object: 文字情報基盤(MJ)と戸籍統一文字
description: NFKC/NFKDは全角半角などの互換文字も統合するため、氏名データに安易にかけると保持すべき区別が失われる。
evidence: using-unicode-normalization-to-represent-strings
verified at: 2026-08-22
certainty: established

subject: BIZ UDゴシック
predicate: recommendedFor
object: 画面と帳票のフォント統一
description: BIZ UDゴシックはWindows 10 バージョン1809以降に日本語補助フォントとして含まれるユニバーサルデザイン書体で、画面と帳票で同じ書体を明示指定して見た目を揃える際の選択肢になる。
evidence: biz-udgothic
verified at: 2026-08-22
certainty: context-dependent