Glyph
Glyphとは、フォントで定義された文字の視覚的表現です。
Glyphとは、フォントで定義された文字の視覚的表現です。PDFドキュメントにおいて、Glyphはテキストがレンダリングされる際に画面上や印刷物に実際に表示される形状です ( 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 ) 。文字(抽象的なシンボル)とGlyph(視覚的表現)の違いを理解することは、PDF開発におけるフォントとテキストレンダリングの作業において基本的な事項です。
Glyphは、特定のフォント内で文字が取る具体的な視覚的形式を表します。文字が抽象的な概念(例えば、文字「A」や数字「5」)であるのに対し、Glyphはその文字を表示するために使用される具体的なグラフィカルな形状です。一つの文字は、文脈に応じて複数のGlyphを持つことができます。例えば、小文字の「a」は異なるフォントで異なるGlyph形式を持つ可能性があり、同じフォント内でもスワッシュオルタネートやリガチャなどのスタイルバリエーションとして異なるGlyphを持つことがあります。
PDFドキュメントでは、文字とGlyphの関係はフォントエンコーディングと文字マッピングメカニズムを通じて管理されます ( 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 ) 。単一の文字コードは異なるフォントで異なるGlyphにマップでき、一部のGlyphは複数の文字の組み合わせを表すこともあります(例えば、「fi」が単一のGlyphになるリガチャなど)。この分離により、PDFはテキストの意味的内容(アクセシビリティと検索のため)と正確な視覚的表現の両方を維持できます。
PDFを扱う開発者にとって、Glyphを理解することはいくつかの理由で重要です。第一に、PDFからテキストを抽出する際、Glyphを対応する文字に正しくマップし直す必要がありますが、このプロセスはフォントエンコーディング情報が欠落または不正確な場合に失敗する可能性があります。第二に、PDF/UAなどの標準に準拠したアクセシビリティのために、適切なGlyphと文字のマッピングによりスクリーンリーダーがドキュメントの内容を正確に解釈できることが保証されます ( 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 ) 。
PDFをプログラムで作成または操作する際、Glyphの処理は、フォントサブセット化(実際に使用されるGlyphのみを含める)、テキスト測定とレイアウト計算、異なる表示アプリケーション間での適切なレンダリングに影響します。Glyphマッピングの問題は、PDFのテキスト抽出、検索機能、アクセシビリティにおける問題の一般的な原因であり、堅牢なPDF処理アプリケーションにとってこの概念は不可欠です。
PDFファイルでは、フォントにGlyph記述が含まれています。これらは、アウトラインパス(ベクターフォント)またはビットマップ画像(ラスターフォント)のいずれかの形式です。各Glyphは、フォント内でGlyph識別子(GID)によって識別されます。PDFレンダリングソフトウェアがテキストを処理する際、次の手順を踏みます:
- 文字のデコード:PDFプロセッサがコンテンツストリームから文字コードを読み取る
- 文字からGlyphへのマッピング:フォントのエンコーディングとCMap(文字マップ)テーブルを使用して、各文字に対応するGIDを決定する
- Glyphの取得:レンダラーがGIDを使用してGlyph記述にアクセスする
- Glyphのレンダリング:視覚的形状が適切な位置に指定されたサイズ、色、変換で描画される
Tagged PDFドキュメントの場合、GlyphがUnicode文字と直接対応しない場合に、正確なActualTextエントリを維持することが重要になります ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) 。これにより、装飾的またはスタイル化されたGlyphが視覚的表現に使用されている場合でも、意味的内容がアクセシブルなまま保たれます。
- Character Encoding – PDFにおける文字コードを抽象的な文字にマッピングするシステム
- Font – 共通のデザインを共有するGlyphのコレクション、および使用のためのメタデータ
- CMap – 文字コードとGlyphの関係を定義する文字マップ
- Font Subsetting – ドキュメントで実際に使用されるGlyphのみを含める手法
- ActualText – 非標準のGlyph使用に対してUnicodeテキストの同等物を提供するTagged PDF属性
- (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
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (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
