Line cap
Line capは、PDF文書においてストローク描画されるオープンパスの端点の外観を制御するグラフィックス状態パラメータです。
Line capは、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 ) で定義されているように、このプロパティは線の端を平らなbutt cap、丸いround cap、または突出したprojecting square capのいずれで描画するかを決定します。Line capスタイルは、PDFコンテンツストリーム内で描画される線の視覚的外観と正確な寸法の両方に影響を与えます。
Line capは、PDFレンダリングエンジンがオープンパスストロークの終端点をどのように描画するかを指定します。PDF仕様では、3つの異なるline capスタイルが定義されています:
- Butt cap (0): ストロークは端点座標で正確に終端し、線の方向に対して垂直な平らなエッジを持ちます
- Round cap (1): ストロークは端点を超えて延長され、線幅と等しい直径を持つ半円弧が追加されます
- Projecting square cap (2): ストロークは端点を超えて延長され、線幅の半分に等しい長方形の突起が追加されます
Line capはline joinとは異なります。line joinは2つのパスセグメントが角度を持って接合する箇所の外観を制御します。Line capはパスのオープンな端点にのみ適用され、クローズドパスや中間の頂点には適用されません。Line capの設定はグラフィックス状態の一部であり、変更されるまで以降のすべてのストローク操作に影響します。
PDFの生成や操作を行う開発者にとって、line capの設定は視覚的な精度とデザインの忠実性に直接影響します。誤ったline cap値は、技術図面、建築計画、またはユーザーインターフェース要素において、正確な寸法が重要な場合に位置ずれの問題を引き起こす可能性があります。破線や矢印を描画する際、line capの選択は、隙間が一貫して表示されるかどうか、また矢じりが軸と適切に整列するかどうかに影響します。
Line capはアクセシビリティと印刷出力の品質にも影響を与えます。Round capは低解像度ディスプレイで細い線の外観を柔らかくすることができ、一方でbutt capは鮮明な再現のために鋭いエッジを維持します。他の形式からPDFへのベクターグラフィックス変換や、カスタムPDFレンダリングエンジンの実装を行う際には、line capの動作を理解することが不可欠です。
Line capはPDFコンテンツストリーム内でJオペレータの後に整数値(0、1、または2)を指定することで設定されます。この設定は現在のグラフィックス状態の一部となり、明示的に変更されるか、グラフィックス状態が復元されるまで持続します。PDF構文は以下のように表されます:
0 J % Butt cap
1 J % Round cap
2 J % Projecting square cap
PDFレンダラーがストローク操作(S、s、B、B*、b、またはb*オペレータ)を処理する際、現在のline capスタイルを各オープンパスの端点に適用します。Butt capの場合、ストローク領域はパスの端点座標で正確に終端します。Round capの場合、レンダラーは現在の線幅の半分に等しい半径を持つ半円形の延長を追加します。Projecting square capの場合、レンダラーは端点を超えて線幅の半分を測定する長方形の領域でストロークを延長します。
Line capは線幅と相互作用して、最終的な描画外観を決定します。10ポイント幅の線にround capを適用すると、幾何学的端点を超えてすべての方向に5ポイント延長されますが、同じ線にbutt capを適用すると端点で正確に終端します。この違いは ( 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 ) におけるバウンディングボックスの計算とクリッピング操作に影響します。
- Line join – 2つのパスセグメントが角度を持って接合する箇所の外観を制御するスタイル
- Line width – ストロークパスの太さ、ユーザー空間単位で測定されます
- Stroke operation – 現在の色と線のプロパティを使用してパスの輪郭に沿って描画するプロセス
- Graphics state – PDFでグラフィックス操作がどのように描画されるかを制御するパラメータの集合
- Content stream – ページの外観を記述する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
