Font search
Font search(フォント検索)は、PDFプロセッサがPDF文書内のテキストコンテンツをレンダリングするために適切なフォントを特定して選択するプロセスです。
Font search(フォント検索)は、PDFプロセッサがPDF文書内のテキストコンテンツをレンダリングするために適切なフォントを特定して選択するプロセスです。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 ) 。このプロセスは、テキストが正しく表示され、異なる表示プラットフォームやデバイス間で文書の意図した外観を維持するために不可欠です。
Font searchは、PDFリーダーやプロセッサがPDF文書内のフォント参照を解決するために使用するアルゴリズム的プロセスを指します。PDFにテキストが含まれている場合、埋め込みフォントプログラム、フォント記述子、または外部フォント名を通じてフォントを参照します。PDFプロセッサは利用可能なフォントリソースを検索して一致するものを見つける必要があります。まずPDF自体に埋め込まれたフォントをチェックし、次にシステムフォントを調査し、最後に完全一致が見つからない場合はフォント代替を試みます。
これは、フォントデータをPDFファイル自体に含めるフォント埋め込み(font embedding)とは異なります。Font searchはレンダリング時に発生しますが、フォント埋め込みは文書作成時に発生します。また、font searchが完全一致を見つけられなかった場合の代替メカニズムであるフォント代替(font substitution)とも異なります。Font searchは、成功した一致と代替ルーチンのトリガーの両方を含む、検索プロセス全体を包含します。
PDF生成、表示、または処理アプリケーションを開発する開発者にとって、font searchを理解することは以下の理由で不可欠です。
レンダリングの一貫性: Font searchの実装が不適切だと、テキストが誤ったフォントで表示され、レイアウトの問題、文字間隔の問題、さらにはグリフの欠落を引き起こす可能性があります。開発者は、視覚的な忠実性を維持するために、 ( 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 ) で指定された正しいフォント検索順序にアプリケーションが従うことを保証する必要があります。
アクセシビリティ準拠: Font searchはアクセシビリティ機能に直接影響します。フォントが適切に特定または代替されない場合、スクリーンリーダーや支援技術が正確なテキストコンテンツを抽出できず、 ( 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 ) などのアクセシビリティ基準に違反する可能性があります。これは、テキスト抽出が信頼できる必要があるTagged PDF文書では特に重要です。
クロスプラットフォーム互換性: 異なるオペレーティングシステムやデバイスには異なるシステムフォントライブラリがあります。開発者は、Windows、macOS、Linux、またはモバイルプラットフォームで表示されても文書が一貫してレンダリングされるように、font search動作のバリエーションを考慮する必要があります。
パフォーマンス最適化: 効率的なfont searchアルゴリズムは、文書の読み込み時間を短縮し、特に多数のフォント参照や大きな埋め込みフォントプログラムを含む文書のレンダリングパフォーマンスを向上させます。
Font searchプロセスは通常、階層的なアプローチに従います。
1. 埋め込みフォントの検索: PDFプロセッサは、まず必要なフォントプログラムが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 ) によると、埋め込みフォントが優先され、利用可能な場合は使用されるべきです。プロセッサはフォント辞書とフォント記述子を調査して、埋め込みフォントストリームにアクセスします。
2. システムフォントのマッチング: 埋め込みフォントが見つからない場合、プロセッサはシステムにインストールされているフォントを検索します。この検索では、フォント名(BaseFont)、フォントファミリー、ウェイト、スタイル、文字セットを含むフォント記述子からのフォント属性を使用します。プロセッサは、これらのプロパティに基づいて完全一致を見つけようとします。
3. フォント代替: 埋め込みまたはシステムフォントを通じて適切な一致が見つからない場合、プロセッサはフォント代替ルールを採用します。これは通常、フォントファミリー(serif、sans-serif、monospace)やその他の特性に基づいて類似したフォントを選択することを含みます。代替メカニズムは実装によって異なりますが、一般的に可読性を保ち、レイアウトを近似しようとします。
4. 文字レベルのフォールバック: 一致したフォント内で欠落しているグリフについては、一部のプロセッサは文字レベルのfont searchを実行し、代替フォントから個々の文字を特定しようとします。これは、多言語テキストや特殊記号を含む文書で特に関連性があります。
PDF内のフォント記述子は、FontName、FontFamily、FontWeight、FontStretch、Flags、および文字メトリクスなど、検索プロセスをガイドする重要なメタデータを提供します。PDFプロセッサを実装する開発者は、これらの記述子を正確に解析し、フォント名のバリエーション、記述子の欠落、または破損したフォントデータなどのエッジケースを処理する堅牢なマッチングアルゴリズムを実装する必要があります。
- Font embedding(フォント埋め込み) – 一貫したレンダリングを保証するために、PDFファイル内にフォントプログラムデータを含めるプロセス
- Font descriptor(フォント記述子) – font search中に使用されるフォントの特性に関するメタデータを含むPDF辞書
- Font substitution(フォント代替) – 指定されたフォントが見つからない場合に代替フォントを選択する代替メカニズム
- System fonts(システムフォント) – font search中にPDFプロセッサがアクセスできる、オペレーティングシステムにインストールされたフォント
- Glyph(グリフ) – font searchを通じて特定されたフォントを使用してレンダリングされる必要がある文字の視覚的表現
- (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
