Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Font decoding

フォントデコーディング(Font decoding)は、PDFドキュメント内のエンコードされた文字コードを、フォントプログラムとエンコーディング情報を使用して対応する文字識別子(グリフ)に変換するプロセスです。

カテゴリ: Text & Fonts
キーワード: font decoding, Font decoding

概要

フォントデコーディング(Font decoding)は、PDFドキュメント内のエンコードされた文字コードを、フォントプログラムとエンコーディング情報を使用して対応する文字識別子(グリフ)に変換するプロセスです。このプロセスは、PDFワークフローにおけるテキスト抽出、レンダリング、およびアクセシビリティ機能の基礎となります。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) によれば、適切なフォントデコーディングにより、テキストコンテンツを異なるシステムやプラットフォーム間で正確に解釈し、表示できることが保証されます。

定義

フォントデコーディングは、PDFコンテンツストリーム内のバイトシーケンスを、グリフとしてレンダリングしたりUnicodeテキストとして抽出したりできる意味のある文字識別子に体系的に変換する処理です。PDFドキュメントでは、テキストは文字コードのシーケンスとして保存されており、これらは ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているフォントのエンコーディングテーブル、CMAPリソース、ToUnicodeマッピングの組み合わせを使用してデコードされる必要があります。

このプロセスは単純な文字マッピングとは異なり、多くの場合、複数の変換レイヤーを伴います。まずバイト値をコンポジットフォントの文字ID(CID)にデコードし、次にそれらをフォントプログラム内のグリフインデックスにマッピングし、最後に—テキスト抽出の目的で—Unicode値に変換します。フォントデコーディングは、デコーディング後に行われ、文字識別子を画面や紙上の視覚的なグリフ形状に変換するフォントレンダリングとは異なります。

重要性

PDF処理を行う開発者にとって、フォントデコーディングはいくつかの重要な操作において不可欠です。テキスト抽出機能は、文字化けしたシーケンスではなく意味のある検索可能なテキスト出力を生成するために、正確なフォントデコーディングに完全に依存しています。 ( Citation: N.A., (N.A.). (). 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におけるフォントデコーディングは、フォントタイプに応じていくつかの技術的ステップを含みます。シンプルフォント(Type 1、TrueType)の場合、プロセスは単一バイトのエンコーディングスキームを使用し、各バイトはWinAnsiEncodingやMacRomanEncodingなどのエンコーディング辞書を通じて直接文字にマッピングされます。

コンポジットフォント(Type 0、CIDFont)の場合、デコーディングプロセスはより複雑です。文字コード—これはマルチバイトの場合があります—は、まずCMAP(Character Map)リソースを通じて処理され、文字ID(CID)に変換されます。これらのCIDは、特定のグリフ形状から独立した抽象的な文字識別子を表します。

ToUnicode CMAPは、存在する場合、文字コードまたはCIDからUnicode値への重要なマッピングを提供し、 ( Citation: N.A., (N.A.). (). 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 CMAPが存在しない場合、PDFプロセッサは事前定義されたCMAPまたはエンコーディングテーブルにフォールバックする必要がありますが、これらは完全または正確なUnicodeマッピングを提供しない可能性があります。

最新のPDF処理ライブラリは、通常、階層化されたアーキテクチャを通じてフォントデコーディングを実装しています。バイトからCIDへの変換を処理する低レベルデコーダ、エンコーディングテーブルとCMAPを管理する中レベルコンポーネント、そしてアプリケーションで使用可能なUnicode文字列を生成する高レベルテキスト抽出レイヤーです。

関連用語

  • Character Encoding – フォント内で文字コードと文字識別子を関連付けるマッピングシステム
  • CMAP(Character Map) – コンポジットフォントにおいて文字コードからCIDへのマッピングを定義するリソース
  • ToUnicode CMAP – テキスト抽出とアクセシビリティのためにUnicodeマッピングを提供する特別なCMAP
  • Glyph – フォントからレンダリングされる文字の視覚的表現
  • CID(Character ID) – 文字識別子とグリフ表現を分離するためにCIDFontで使用される抽象的な文字識別子

出典

(N.A.) (2020)
(N.A.). (). 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.). (). 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