GlyphTag Specification (仕様書)

Author: jp-rad
Established: 2026‑10‑02 (つるっつる豆腐の日)

1. 適用範囲および目的(Scope and Purpose)

本仕様書は、文字図形識別名(glyph-name)を基軸として字形情報を抽象化・表現するための共通タグ形式「GlyphTag」の構文および処理モデルを規定します。

1.1 背景と目的(Background and Purpose)

デジタル環境における未定義グリフの代替表示(いわゆる「豆腐文字」)の発生、および既存システム等に閉じた特定の字形構造は、文字情報の厳密性と相互運用性を著しく損なう長年の構造的課題です。 また、異体字を含む人名等の検索においては、実装文字コード(IVS等)を正確に入力して検索することが困難であり、検索性の低下を招く要因となっています。

本仕様書は、制定日(2026-10-02)を象徴的な基点とし、文字図形識別名(glyph-name)を軸とする抽象化層を確立することを目指します。

これにより、表示基盤に依存する豆腐文字の発生を根絶するとともに、標準・非標準を問わず多様な字形体系を包摂・保全し、いかなる環境においても意図された字形の正確かつ堅牢な描画を実現します。 さらに、基本文字コードを用いた共通展開モデルを提供することで、一般的な日本語入力環境からでも人名等の高度な検索・照合を容易にします。

1.2 コンセプト:処理系と人間系の両立

GlyphTag は、「処理系(プログラム・表示システム)も人間系(開発者・運用者)も直感的に理解できる」 構造を目指して設計されています。

1.3 主な機能

  1. 抽象レイヤの提供: 文字図形識別名を「基本文字コード」および「実装文字コード」へ対応付けます
  2. 共通フォーマットの標準化: MJ文字図形名やGJ文字図形名、および独自に定義された固有字形をはじめとする異なる字形体系を統一的に扱います
  3. 固有文字体系の保全と吸収: 固有の表示環境が消失した場合でも、抽象タグとして字形識別情報および縮退表示用情報を保持・継承します
  4. 検索性の飛躍的向上: 描画(基本優先モード)を用いて基本文字コードへ展開した文字列を事前に生成・保持しておくことで、特殊な異体字の入力を要しない一般的な入力環境からの容易な人名・住所等の検索を可能にします
  5. ライフサイクル管理(処理モデルの分離): 正規化(Normalization)、描画(Rendering)、および簡略化(Simplification)の各フェーズを明確に分離して処理します

2. 用語の定義(Terms and Definitions)

本仕様書において使用する主要な用語の定義は次の通りです。

3. 構文仕様(Syntax Specification)

GlyphTag の基本構文を次に示します。

{<glyph-name> [b=<UCSSeq>] [v=<UCSSeq>] [set=<Identifier>]}

3.1 構成要素

3.2 タグの表現形態(基本タグと属性付きタグ)

GlyphTag には、属性記述の有無に応じて次の2つの表現形態が存在します。

3.3 属性の記述規則

3.4 UCSSeq(UCS コードポイント系列)の表現

UCSSeq は、1 つ以上の Unicode コードポイントを半角スペース区切りで並べた系列です。

U+XXXX
U+XXXX U+YYYY
U+XXXX U+YYYY U+ZZZZ

3.5 エスケープ処理規則(Escape Rules)

GlyphTag の開始記号 { を地の文として記述したい場合は、{{ とエスケープ表現にします。

ライフサイクルにおける挙動:

評価例:

4. 処理モデル(Processing Model)

GlyphTag の処理は、目的の異なる3つの独立したフェーズ(正規化・描画・簡略化)から構成されます。

4.1 正規化処理(Normalization Process)

適用環境の字形体系に従い、タグの属性値を決定・上書きしてデータを確定する処理です。基本タグが入力された場合は属性値が付与され、属性付きタグへと変化します。

  1. 照合と上書き: <glyph-name> を適用環境の文字図形表と照合し、既存の属性値の有無にかかわらず b, v, set の各属性値を適用環境の定義値で更新します
  2. 結果出力: 属性値が確定した属性付きタグ(正規化タグ)を出力します

入力と出力結果の例


4.2 描画処理(Rendering Process)

正規化済みの GlyphTag を、表示対象の Unicode 文字列へ展開する処理です。

  1. コードポイント選択:

  2. 文字展開とエスケープ解除:
    選択されたコードポイントを出力し、保護されていた {{ を { に復元します
    なお、適用可能なコードポイントが存在しない場合は表示システムが規定する豆腐文字(例: U+25A1「□」)を出力します

入力と出力結果の例

4.3 簡略化処理(Simplification Process)

付加された属性を取り除き、基本表現である基本タグ({<glyph-name>} 形式)へ復元・還元する処理です。

  1. 属性の削除: タグ構文から b, v, set の属性記述を除去し、<glyph-name> のみを残します
  2. 結果出力: 抽象化された基本タグを出力します

入力と出力結果の例

Annex(補足資料)

Annex A — Unicode IVS / IVD との整合性(国際標準)

Annex B — MJ文字(Moji_Joho IVD)の定義例

MJ文字は Unicode に符号化済みであり、必要に応じて IVS を保持します。

MJ022335: { b: "U+845B", v: "U+845B U+E0102" }   // 奈良県葛城市の「葛」
MJ022336: { b: "U+845B", v: "U+845B U+E0103" }   // 東京都葛飾区の「葛」

Annex C — 行政事務標準文字(MJ+GJ)の構成

行政事務標準文字は次の要素で構成されます。

Annex D — GJ文字の表現手法(暫定私用面)

Unicode 未符号化である GJ文字は、GlyphTag において次の属性構造で表現します。

Annex E — フォント実装と参照情報

MJ文字およびGJ文字を実装した代表的なフォント環境と参照URLは次の通りです。

Annex F — 文字体系の保全と統廃合(文字のライフサイクル管理)

MJ文字やGJ文字を含む公的・民間の文字規格では、運用の過程で実施される「再同定作業」や「規格改訂」に伴い、文字(文字図形識別名)の統合、廃止、符号の割り当て変更、または別の文字識別名への付け替えが発生することがあります。

Annex G — 既存・固有文字体系との連携モデル

GlyphTag は既存システム等の固有文字体系との親和性を確保します。