Font indexing
Font indexing(フォントインデックス)とは、PDFプロセッサが文字コードをフォントプログラム内の特定のグリフ表現にマッピングする仕組みを指します。
Font indexing(フォントインデックス)とは、PDFプロセッサが文字コードをフォントプログラム内の特定のグリフ表現にマッピングする仕組みを指します。 ( 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文書では、このインデックスシステムによって、コンテンツストリーム内の数値がページ上の可視文字にどのように変換されるかが決定されます。インデックス方式は使用されるフォントタイプとエンコーディングスキームによって異なるため、PDFワークフローにおけるテキストレンダリングの基本的な側面となっています。
Font indexingとは、文字コード(通常はバイト値)をフォントのグリフコレクション内の特定のグリフに関連付ける体系的なプロセスです。PDF文書では、このマッピングは複数のメカニズムを通じて行われます:Type 1およびTrueTypeフォント用のシンプルなバイト対グリフマッピング、CIDFont用のCID(Character Identifier)システム、またはカスタムマッピングを定義するエンコーディング辞書などです。フォント埋め込み(フォントデータの組み込みに関するもの)やフォントサブセット化(グリフセットの削減を伴うもの)とは異なり、font indexingはコードを視覚的表現に変換するルックアップメカニズムに特化して対応します。
インデックスシステムは、さまざまなフォント形式とエンコーディング標準に対応する必要があります。シンプルフォントでは、バイト値がグリフ配列内の位置に対応する直接インデックスを使用しますが、複合フォントではCIDマッピングを使用する2段階プロセスを採用します。 ( 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仕様では、これらのメカニズムを定義することで、異なるプラットフォームやビューア間で一貫したテキストレンダリングを保証しています。
PDF生成または操作に携わる開発者にとって、font indexingの理解はいくつかの理由から重要です。不適切なインデックスは、文字が欠落グリフとして表示される、正しく表示されない、またはコピー&ペーストが正常に機能しないといったテキストレンダリングの失敗につながります。 ( 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を作成する場合、適切なfont indexingは、支援技術がテキストコンテンツを正確に解釈できることを保証します。これは、文字コードがテキスト抽出のためにUnicode値に確実にマッピングされる必要があるためです。
Font indexingは、テキストの検索可能性、コンテンツ抽出、国際化対応に直接影響します。PDFテキスト操作を実装する開発者は、意味のないバイトシーケンスではなく意味のあるテキストを抽出するために、インデックススキームを正しく解釈する必要があります。これは、非ラテン文字スクリプトやカスタムエンコーディングを扱う場合に特に重要で、不適切なインデックス解釈は文字化けした出力結果をもたらします。
Font indexingプロセスは、PDFコンテンツストリームに文字列データを持つテキスト表示オペレータが含まれている場合に開始されます。PDFプロセッサは、アクティブなフォントのエンコーディングとインデックススキームに従って、これらのバイトシーケンスを解釈します。シンプルフォントの場合、各バイトは通常、事前定義されたエンコーディングベクトル(WinAnsiEncodingやMacRomanEncodingなど)またはカスタムEncoding辞書へのインデックスとして扱われ、その後、フォントプログラムがレンダリングする特定のグリフ名にマッピングされます。
複合フォント(Type 0)の場合、インデックスにはCMap(Character Map)リソースが関与し、文字コードをCID(Character Identifier)に変換します。次にCIDFontはこれらのCIDを使用してグリフコレクションにインデックスします。 ( 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 ) で定義されているこの2段階プロセスにより、シンプルフォントの256グリフ制限を超える中国語、日本語、韓国語などの大規模な文字セットのサポートが可能になります。
ToUnicode CMapは、文字コードを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 ) で要求される適切なテキスト抽出とアクセシビリティサポートを可能にします。正しいToUnicodeマッピングがない場合、適切にレンダリングされたテキストであっても、スクリーンリーダーにアクセスできなかったり、文書からコピーした際に不正な結果を生成したりする可能性があります。
- Font encoding – バイト値がフォント内の文字にどのように対応するかを定義する文字セットとマッピングスキーム
- CIDFont – 大規模な文字コレクション用に設計されたフォント形式で、グリフインデックスにCharacter Identifierを使用する
- ToUnicode CMap – フォント固有の文字コードをテキスト抽出用のUnicode値に変換するマッピングテーブル
- Glyph – フォントプログラムによってインデックスされレンダリングされる文字の視覚的表現
- Font subsetting – フォントから使用されるグリフのみを含める手法で、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
- (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
