Ligature
Ligature(合字)は、2文字以上の文字列を表す単一のグリフであり、タイポグラフィにおいて視覚的な美しさと可読性を向上させるために一般的に使用されます。
Ligature(合字)は、2文字以上の文字列を表す単一のグリフであり、タイポグラフィにおいて視覚的な美しさと可読性を向上させるために一般的に使用されます。PDF文書では、ligatureはフォント内の個別のグリフとして保存されますが、正確なテキスト抽出とアクセシビリティを確保するために、構成要素である文字に適切にマッピングされる必要があります ( 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 ) 。一般的な例としては「fi」「fl」「ff」「ffi」「ffl」などがあり、結合された形式により不自然な間隔や文字の衝突を防ぎます。
Ligatureは、複数の文字を単一の視覚的単位に組み合わせたタイポグラフィ文字です。単に文字を隣接して配置するのとは異なり、ligatureはフォントファイル内で独立したグリフとして設計されており、各部分の単純な合計とは異なる独自の視覚的表現を持ちます。例えば、多くのセリフフォントでは、「fi」ligatureは「i」のドットと「f」のフックを接続して、より美しく読みやすい組み合わせを作り出します。
PDFの文脈では、ligatureはマルチバイト文字や合成グリフとは異なり、複数の論理的文字を表現しながら単一の視覚的要素として表示されます。PDF仕様では、ToUnicode CMapsまたはActualTextエントリを通じた適切な文字マッピングが要求されており、ユーザーがligatureを含むテキストを選択、コピー、検索する際に、基礎となる文字列が正しく解釈されることを保証します ( 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 ) 。
PDFの生成と処理を行う開発者にとって、ligatureの適切な処理は以下の理由から重要です:
テキスト抽出の精度:PDFに適切な文字マッピングのないligatureが含まれている場合、テキスト抽出ツールは誤った結果を返す可能性があります。「office」という単語が「ffi」ligatureでレンダリングされている場合、単一の未知の文字またはガベージテキストとして抽出され、検索機能やコンテンツの再利用が機能しなくなる可能性があります。
アクセシビリティへの準拠:スクリーンリーダーや支援技術は、テキストを適切に音声化するために正しい文字からUnicodeへのマッピングに依存しています ( 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 ) 。適切なエンコーディングのないligatureは、障害を持つユーザーにとって障壁となり、コンテンツが理解できなくなったり、PDF/UA規格への準拠に失敗する可能性があります。
検索と選択:ユーザーは「find」を検索し、「fi」ligatureでレンダリングされたテキストとマッチすることを期待します。適切なマッピングがない場合、この機能は動作せず、ユーザーエクスペリエンスが低下し、PDF文書が印刷物よりも機能的でなくなります。
PDFアーキテクチャでは、ligatureは視覚的表現と論理的文字内容を分離する多層的なアプローチで処理されます:
フォントレベルでの実装:Ligatureはフォントのグリフコレクション内で個別のグリフとして定義され、それぞれが一意のグリフIDを持ちます。フォントファイルには、テキストレイアウト中に文字列をligatureグリフに置き換えるタイミングを定義する置換テーブル(OpenType GSUBテーブルなど)が含まれる場合があります。
文字マッピング:Ligatureグリフと構成要素である文字との関係を維持するために、PDFでは各グリフIDを対応するUnicode文字列にマッピングするToUnicode CMapsを使用します ( 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 ) 。例えば、「fi」ligatureグリフは、2文字のUnicode文字列U+0066 U+0069にマッピングされます。
Tagged PDFにおける考慮事項:Tagged PDF構造では、ligatureはActualTextエントリを使用して処理されることもあり、ligatureの意味的内容を表す明示的な文字列を提供します ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) 。このアプローチは、標準的な文字エンコーディングでは関係を適切に表現できない場合に特に重要です。
レンダリングと抽出:レンダリング中、PDFプロセッサはフォントで設計されたligatureグリフを表示します。テキスト抽出またはコピー操作中、同じプロセッサは文字マッピングを使用して元の文字列を再構築し、「coffee」が「ff」と「ee」のligatureグリフでレンダリングされていても、6文字としてコピーされることを保証します。
- Glyph – フォント内の文字またはligatureの視覚的表現
- ToUnicode CMap – グリフIDをUnicode文字列に変換するマッピングテーブル
- ActualText – コンテンツ要素の置換テキストを指定するTagged PDFプロパティ
- Font encoding – フォント内の文字コードをグリフにマッピングするシステム
- Text extraction – 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
