Glyph ID (GID)
Glyph ID(GID)は、フォントプログラム内の特定のグリフを一意に参照する数値識別子です。
Glyph ID(GID)は、フォントプログラム内の特定のグリフを一意に参照する数値識別子です。PDFドキュメントにおいて、GIDは文字をその視覚的表現にマッピングする内部アドレッシング機構として機能します ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。フォント内のすべてのグリフ(文字、数字、記号、合字など)には固有のGIDが割り当てられ、レンダリングエンジンはこれを使用して正しい形状を特定し表示します。
Glyph IDは、フォントのグリフテーブルへのインデックスとして機能する整数値です。抽象的な文字を表す文字コード(Unicode値など)とは異なり、GIDは特定のフォントファイル内の具体的な視覚的形状を直接参照します。例えば、文字「A」のUnicode値はU+0041ですが、そのGIDは使用されている特定のフォントプログラム内でのグリフの位置に完全に依存します。あるフォントではGID 36、別のフォントではGID 150となる可能性があります。
GIDは多くのフォント形式でゼロインデックスとなっており、最初のグリフは通常GID 0です(多くの場合「.notdef」または欠落グリフ記号用に予約されています)。文字コードとGIDの関係は、フォント内のエンコーディングテーブルや文字-グリフマッピング構造によって確立され、テキスト処理システムが入力テキストを適切な視覚的グリフに変換できるようにします。
PDF開発者にとって、Glyph IDを理解することは以下の理由から極めて重要です。
フォントレンダリングの正確性:PDFドキュメントを作成または操作する際、文字コードをGIDに正しくマッピングすることで、特に複雑なフォント、特殊文字、合字を扱う場合に、テキストが意図したとおりに表示されます。
アクセシビリティ準拠:PDF/UAなどのPDFアクセシビリティ標準は、正確なテキスト抽出を要求しており ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) 、これは正確な文字-グリフマッピングに依存しています。GIDの不適切な使用は、支援技術がドキュメントコンテンツを読み取ろうとする際に、テキストの文字化けを引き起こす可能性があります。
フォントサブセット化:PDFにフォントを埋め込む際、開発者は多くの場合、ドキュメントで実際に使用されているグリフのみを含むようフォントをサブセット化します。これには、正しいグリフが含まれ適切に参照されるよう、正確なGID管理が必要です。
クロスプラットフォーム一貫性:異なるプラットフォームでは、フォントエンコーディングの処理が異なる場合がありますが、GIDはシステムのデフォルト文字エンコーディングに関係なく、特定のグリフを参照する一貫した方法を提供します。
PDFドキュメントにおいて、テキストコンテンツとGlyph IDの関係は複数のレイヤーを通じて機能します。
フォント辞書とエンコーディング:PDFのフォントオブジェクトには、ドキュメントのテキスト文字列の文字コードを、埋め込まれた、または参照されたフォントプログラム内のGIDにマッピングするエンコーディング情報が含まれています ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。このマッピングは、定義済みエンコーディング、カスタムエンコーディング辞書、または複雑なフォント用のCMap(Character Map)リソースによって定義できます。
CIDフォントと複合フォント:大規模な文字セット(CJKフォントなど)をサポートするフォントの場合、PDFはCIDキー付きフォントを使用します。ここでは、文字識別子(CID)が文字コードとGIDの間の中間ステップとして機能します。CIDToGIDMapが実際のグリフ位置への最終的な接続を確立します。
TrueTypeおよびOpenTypeフォント:これらのフォント形式は、数値インデックスを持つテーブルにグリフを格納します。PDFがTrueTypeフォントを参照する場合、GIDはフォントのグリフテーブル内のインデックスに直接対応し、レンダリングエンジンが表示用のグリフアウトラインを取得できるようにします。
テキスト抽出とToUnicodeマッピング:適切なテキスト抽出とアクセシビリティのために、PDFはGIDをUnicode値にマッピングし直すToUnicode CMapsを含むべきです。これにより、スクリーンリーダーや検索機能が視覚的グリフを意味のあるテキストとして解釈できるようになります ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) 。
- Character Code(文字コード) – 特定のエンコーディングシステムにおける文字を表す数値。レンダリングのためにGIDにマッピングされる必要がある
- CID(Character Identifier、文字識別子) – 複合フォントで使用される中間識別子。大規模な文字セットを整理してからGIDにマッピングする
- Font Encoding(フォントエンコーディング) – PDFのテキストストリーム内の文字コードがフォント内のグリフにどのように対応するかを定義する機構
- Glyph(グリフ) – フォントプログラムで定義された文字の実際の視覚的表現または形状
- ToUnicode CMap – テキスト抽出とアクセシビリティのために、GIDをUnicode値に変換するマッピングテーブル
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
