« 2006年06月22日 | メイン | 2006年06月24日 »

2006年06月23日

XSL-FOによるXMLのPDF化 (15) XSL-FOの概要 4

4.2.2 フォーマット化特性(Formatting Property)

組版の対象となるFOに対して、どのようにレイアウトするかを指定するのが、フォーマット化特性です。

(1) FOとフォーマット化特性の関係
例えば、fo:blockという段落を囲む領域については、背景の色、四辺の境界線の種類・色・太さ、インデントやマージン、前後のブロックとの空き量、フォントファミリー、フォントサイズなど、様々な特性を指定することができます。

fo:block-containerについても同じように背景、境界、マージンなどの特性を指定できます。しかし、fo:block-containerには直接テキストを含むことができませんので、フォント関連のようなテキストに対する特性は指定できません。fo:block-conatinerの中にfo:blockを配置して、fo:blockにテキストを含めます。

一方で、fo:block-containerには、reference-orientation特性を指定して、周囲に対して回転させることができます。また、writing-mode特性を使って縦書きも指定できます。block-progression-dimension (またはheight)特性で高さを指定したり、inline-progression-dimension (またはwidth)特性で幅を指定できます。

このように、それぞれのFOに対して適用できるフォーマット化特性が決まっています。

次にどのようなフォーマット化特性があるかを挙げてみます。これらの特性の多くはCSSを元にして、必要に応じて拡張されています。

(1) 一般的なアクセス性特性
V1.0とV1.1とも次の2種類があります。
source-document
role

(2) 一般的な絶対位置決め特性
V1.0とV1.1とも次の5種類があります。
absolute-position
top
right
bottom
left

(3) 一般的な聴覚特性
これは、PDF化というよりも、音声読み上げなどのタイプのレンダラを想定する特性です。XMLからPDFに変換するタイプの組版エンジンは未対応となっています。リストは省略します。

(4) 一般的な境界,パディング及び背景特性
領域の背景、境界線に関する特性です。領域の4辺について別々に指定できます。before、after、start、endという指定方法とtop、bottom、left、rightという指定方法があります。一般的な横書きでは、beforeはtop、afterがbottom、startがleft、endがrightになります。縦書きでは、beforeはright、afterはleft、startがtop、endがbottomに対応します。パディングは、境界線と文字を配置する内容領域の間隔です。V1.0 とV1.1で変わりありません。
background-attachment
background-color
background-image
background-repeat
background-position-horizontal
background-position-vertical
border-before-color
border-before-style
border-before-width
border-after-color
border-after-style
border-after-width
border-start-color
border-start-style
border-start-width
border-end-color
border-end-style
border-end-width
border-top-color
border-top-style
border-top-width
border-bottom-color
border-bottom-style
border-bottom-width
border-left-color
border-left-style
border-left-width
border-right-color
border-right-style
border-right-width
padding-before
padding-after
padding-start
padding-end
padding-top
padding-bottom
padding-left
padding-right

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック