Text matrix (Tm)
テキストマトリックス(Tm)は、PDFコンテンツストリーム内でテキストの位置、スケール、向きを定義する変換マトリックスです。
テキストマトリックス(Tm)は、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コンテンツストリーム内のテキストオブジェクトに存在する3×2の変換マトリックス(6つの数値:a、b、c、d、e、fで表現)です。すべてのグラフィックス要素に影響する現在の変換マトリックス(CTM)とは異なり、テキストマトリックスはテキストレンダリングに特化して適用され、BT(テキスト開始)オペレーターとET(テキスト終了)オペレーターの間にのみ存在します。テキストマトリックスは、テキストラインマトリックス(Tlm)と連携して、現在のテキスト位置と現在のテキスト行の開始位置の両方を追跡します。BTオペレーターでテキストオブジェクトが開始されると、TmとTlmの両方が単位マトリックス[1 0 0 1 0 0]に初期化されます。これは、テキストが原点から変換なしで開始されることを意味します。
PDF生成やテキスト抽出に携わる開発者にとって、テキストマトリックスの理解は正確なテキストの配置と操作に不可欠です。テキストマトリックスはテキストがページ上のどこに表示されるかに直接影響するため、プログラムによるテキスト配置、正確な位置情報を伴うテキスト抽出、テキスト検索機能の実装などのタスクで極めて重要です。テキストマトリックス操作の蓄積方法を誤解すると、テキストが誤った位置に表示されたり、確実に抽出できなくなったりする可能性があります。さらに、アクセシビリティツールやスクリーンリーダーは、論理的な読み上げ順序でコンテンツを提示するために適切なテキストマトリックスの使用に依存しており、これはPDF/UA ( 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 ) などの標準への準拠に影響します。
テキストマトリックスは、その値を変更する一連のテキスト配置オペレーターによって動作します。最も直接的なオペレーターはTmで、6つのマトリックス値すべてを明示的に設定します。Td(テキスト位置の移動)やTD(テキスト位置の移動と行送りの設定)などの他のオペレーターは、平行移動値とのマトリックス連結を実行することでテキストマトリックスを変更します。T*オペレーターは、現在の行送り値を使用して次の行に移動します。テキスト表示オペレーター(Tj、TJ、’、または")が実行されると、テキストマトリックスを使用してグリフ座標をテキストスペースから中間的なグリフスペースを経てユーザースペースに変換します。変換プロセスでは、テキストマトリックスに水平および垂直スケーリング係数(ThとTv)、フォントサイズ(Tfs)、フォントマトリックスを乗算して、最終的なグリフの位置と外観を決定します。各グリフのレンダリング後、テキストマトリックスはグリフの変位値によって水平方向に平行移動され、次の文字のためのテキスト位置が自動的に進められます。
- Content stream(コンテンツストリーム) – テキストオブジェクトを含むページコンテンツを記述するオペレーターとオペランドのシーケンス
- Text object(テキストオブジェクト) – テキストがレンダリングされる、BTおよびETオペレーターで区切られたコンテンツストリームのセクション
- User space(ユーザースペース) – デバイスレンダリング前にページコンテンツが定義される座標系
- Current transformation matrix(CTM、現在の変換マトリックス) – ページ上のすべてのグラフィカル要素に影響する一般的な変換マトリックス
- Text-positioning operators(テキスト配置オペレーター) – テキストの配置を制御するためにテキストマトリックスを変更する、Tm、Td、T*などの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
