User space
User spaceは、PDFドキュメント内でコンテンツの配置とレンダリングに使用されるデフォルトの座標系です。
User spaceは、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次元平面を定義し、座標は通常1インチの1/72に相当する単位で測定されます。この単位は、タイポグラフィで伝統的に使用されるポイント測定に近いものです。PDF内のすべてのグラフィカルオブジェクト、テキスト、画像は、変換が適用される前に、最初にuser space座標を使用して指定されます。
User spaceは、PDFコンテンツストリームがグラフィカル要素の位置と寸法を記述する基本的な座標系です。デフォルトでは、原点(0,0)はページの左下隅に配置され、x軸は右に、y軸は上に伸びています ( 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 ) 。User spaceの基本測定単位は1/72インチで、つまり72 user space単位が1インチに等しくなります。これはPostScriptから継承された慣例で、伝統的な印刷ポイントと一致します。
User spaceは、出力デバイスの実際のピクセルまたはドット解像度を表すdevice spaceとは異なります。また、form space、pattern space、glyph spaceなど、PDFで特定のコンテキストで使用される他の専用座標系とも異なります。重要な違いは、user spaceがCurrent Transformation Matrix(CTM)を通じて変換(スケーリング、回転、平行移動、または歪み)が適用される前の、基礎的なデバイス非依存の座標系を提供することです。
User spaceの理解は、PDF生成、操作、レンダリングに携わる開発者にとって不可欠です。プログラムでPDFコンテンツを作成する際、テキストの配置、図形の描画、画像の配置を正しく行うために、user space単位で座標を指定する必要があります。これらの座標を誤って計算すると、コンテンツの位置ずれやページ外への要素の配置につながります。
PDFビューアやコンバータを実装する開発者にとって、user space座標をdevice space座標に変換して、さまざまな解像度の画面やプリンタにコンテンツを正確にレンダリングする必要があります。この変換プロセスには、user spaceがページの物理的寸法や出力デバイスとどのように関連しているかを理解する必要があります。
1/72インチのデフォルト設定は、実用的な計算にも重要です。標準的なUS Letterページ(8.5×11インチ)は612×792 user space単位となり、A4ページは約595×842単位となります。これらの変換を知っていることで、開発者は適切なサイズのコンテンツを作成し、ページの寸法を検証できます。
User spaceは、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コンテンツがレンダリングされる際、グラフィックス状態はuser space座標をdevice space座標にマッピングするCurrent Transformation Matrix(CTM)を維持します。
変換プロセスは次の手順に従います:
- 初期設定:コンテンツストリームは、デフォルトの1/72インチ単位を使用するuser spaceで開始します
- 座標指定:グラフィックス演算子はuser spaceで座標を受け取ります(例:
100 200 mは位置x=100、y=200に移動) - マトリックス変換:CTMは、スケーリング、回転、または平行移動操作を通じてuser space座標を変換します
- デバイスマッピング:最終的な変換は、レンダリングのためにデバイス固有のピクセルまたはドットに変換します
開発者は、cm(行列の連結)などの変換演算子を使用して、user spaceをスケール、回転、または平行移動することで座標系を変更できます。たとえば、2.0のスケーリング変換を適用すると、1 user space単位が1/72インチではなく1/36インチに等しくなります。ただし、基礎となるuser space座標系は一貫したままで、device spaceとの関係のみが変化します。
User space座標系は、PDFでのデバイス非依存性を維持するための基本です。コンテンツ作成者は最終的な出力デバイスの解像度を知らなくても位置と寸法を指定でき、レンダリングエンジンが適切な変換を処理します。
- Device space – 出力デバイス(画面またはプリンタ)の座標系で、ピクセルまたはドットで測定されます
- Current Transformation Matrix(CTM) – User space座標をdevice space座標に変換する行列
- Page boundaries – User space単位でページ寸法を定義するさまざまなボックス(MediaBox、CropBoxなど)
- Graphics state – CTMを含む、グラフィックス演算子の実行方法を制御するパラメータの集合
- Content stream – User space座標を使用してページコンテンツを記述する命令シーケンス
- (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
