5.4. 罫線を引く

 文章の区切りを明確にしたり、あるいは単に装飾のために罫線を引くことがあると思います。DSSSL で罫線を引く場合は、rule フロー・オブジェクト・クラスを用います。rule で描画できるのは、水平または垂直方向の線に限られます。斜線を描画することはできません。なお、表の罫線を引く場合は、後述する表関連のフロー・オブジェクト・クラスに備わっている機能を用います。
 rule フロー・オブジェクトは、インライン領域または表示領域のいずれかになります。インライン領域と表示領域のどちらにも成りうるオブジェクトのほとんどは、特質 display?: でどちらの領域とするかを指定しますが、rule フロー・オブジェクトの場合は線の描画方向をあらわす特質 orientation: によって決定されます。 orientation: は、次のいずれかのシンボルを引数とします。

horizontal, vertical …(表示領域)
escapement, line-progression …(インライン領域)

 horizontalおよびverticalは、意味どおり水平または垂直の線を意味します。一方のescapementline-progression ですが、こちらはrule オブジェクトが属する表示領域の特質 writing-mode: に依存し、escapement が字送り方向、line-progression が行送り方向になります。


図 5.3 インライン領域の rule の描画方向

  orientation:escapement 、または line-progression である場合、つまり、インライン領域に罫線を描画する場合は、特質 position-point-shift: で描画位置の調整が可能です(図5.4)。position-point-shift: の初期値は 0pt です。罫線の長さは特質 length:で指定します。引数は length-spec です。length: の指定を省略した場合、罫線の長さは状況に依存します。この他、box フロー・オブジェクト・クラスの説明で見たように、線の色や先端の形状、平行線の本数などを指定することができます。


図 5.4 特質 position-point-shift: による描画位置の指定

<<prev      next>>