Text rendering mode
Text rendering modeは、PDFにおいてテキスト文字がページ上にどのように表示されるかを決定するパラメータです。
Text rendering modeは、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 ) 。この設定により、開発者は標準的な塗りつぶし文字からアウトライン化されたテキスト、さらには検索可能でアクセシブルな非表示テキストまで、テキストで様々な視覚効果を作成できます。
Text rendering modeは、PDFのグラフィックスステートパラメータの一つで、テキストのグリフをどのように描画するかを定義します。PDF仕様では、テキストオブジェクトに適用できる8つの異なる描画モード(0〜7の番号)が定義されています。これらのモードは、文字の形状を塗りつぶすか、ストローク(アウトライン)するか、またはその両方を行うか、さらに現在のクリッピングパスに追加するか、非表示にするかを決定します。
8つの標準的なtext rendering modeは以下の通りです:
- Mode 0: テキストを塗りつぶす(デフォルト)
- Mode 1: テキストをストロークする
- Mode 2: テキストを塗りつぶしてからストロークする
- Mode 3: 塗りつぶしもストロークもしない(非表示)
- Mode 4: テキストを塗りつぶしてクリッピングパスに追加する
- Mode 5: テキストをストロークしてクリッピングパスに追加する
- Mode 6: テキストを塗りつぶし、ストロークして、クリッピングパスに追加する
- Mode 7: テキストをクリッピングパスにのみ追加する
単純な色やフォントのプロパティとは異なり、text rendering modeはテキストがPDFグラフィックスモデルとどのように相互作用するかを根本的に変更し、見た目だけでなく、テキストがクリッピング操作にどのように関与するかにも影響を与えます。
Text rendering modeを理解することは、PDFの生成や操作を行う開発者にとって、いくつかの理由から重要です:
視覚効果: 異なる描画モードにより、別のグラフィックス操作を必要とせずに、アウトライン化されたテキスト、影付きテキスト、その他のスタイル効果を実現できます。
アクセシビリティの考慮事項: Mode 3(非表示テキスト)は、スキャンした画像から作成された検索可能な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 ) 。
フォームフィールドと注釈: 適切なtext renderingにより、フォームフィールドが正しく表示され、インタラクティブな要素が異なるPDFビューア間で意図した外観を維持できます。
クリッピング操作: テキストをクリッピングパスに追加する高度な描画モードにより、テキストの形状が他のコンテンツをマスクしたり表示したりする洗練されたグラフィックス効果が可能になります。
Text rendering modeの設定が正しくない場合、テキストが表示されなかったり、予期しないアウトラインで表示されたり、アクセシビリティ要件を満たさなかったりする可能性があります。
Text rendering modeは、PDFコンテンツストリーム内のTrオペレーターを使用して設定され、単一の整数パラメータ(0〜7)を取ります。このオペレーターは、テキストオブジェクト内(BTとETオペレーターの間)またはグラフィックスステートの一部として呼び出される必要があります。
テキストが描画される際、PDFプロセッサは指定されたモードを各グリフに適用します:
塗りつぶしモード(0、2、4、6)は、グラフィックスステートの現在の塗りつぶし色を使用して、文字グリフの内部を塗りつぶします。塗りつぶし操作は、non-zero winding number規則を使用して、グリフの内部となる領域を決定します。
ストロークモード(1、2、5、6)は、現在のストローク色、線幅、その他の線関連のグラフィックスステートパラメータを使用して、文字の形状をアウトライン化します。これにより、文字パスの周囲にアウトラインが作成されます。
クリッピングモード(4、5、6、7)は、テキストのアウトラインを現在のクリッピングパスに追加し、後続の描画操作がページにマークできる場所を制限します。これにより、テキストの形状が他のコンテンツをマスクできます。
非表示モード(3)は、位置決めと間隔のためにテキストを処理しますが、ページには一切マークしません。テキストはコンテンツ構造に残り、テキスト抽出アルゴリズムによって抽出できるため、検索可能な画像ベースのPDFに有用です。
描画モードは、別のTrオペレーターによって明示的に変更されるまで、グラフィックスステートの一部として持続します。Tagged PDFドキュメントでは、適切なtext renderingにより、コンテンツ構造が視覚的な表示と整合することが保証されます
(
Citation: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
。
- Graphics state(グラフィックスステート) – PDFにおいてグラフィックスとテキストがどのように描画されるかを制御するパラメータの集合
- Content stream(コンテンツストリーム) – PDFページの外観を記述するオペレーターとオペランドのシーケンス
- Text object(テキストオブジェクト) – BTとETオペレーターで囲まれたコンテンツストリームのセクションで、テキスト表示操作を含む
- Clipping path(クリッピングパス) – 描画操作がページに影響を与える境界を定義するパス
- Glyph(グリフ) – 特定のフォントにおける文字の視覚的表現
- (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
