AH Formatter / XSL Formatter
Q&A



XSLT/XSL-FO/SVG/MathML 仕様について

XSL-FO

トップ
基本・一般
AH Formatter について
XSL Formatter について
操作方法
プログラミング
XSLT/XSL-FO/SVG/MathML 仕様について
XSLT/XSL-FO/MathML テクニック
索引
Q.  side-float によって移動された fo:blocktext-indent が指定されているのですが有効になりません。 [No.2004040202]
A. 

これは intrusion-displace の正しい動作です。intrusion-displace が指定されていない場合(デフォルトの auto )は以下のように定義されています。

7.18.3 "intrusion-displace"

auto
For a reference-area, this value is treated as if "block" had been specified. For any other area, this value is treated as if "line" had been specified.

...

block
The start edge (and end edge) of the block is displaced by the least amount necessary to insure that (a) the start edge (end edge) of the block does not intersect any of the start intrusions (end intrusions) that overlap that block and (b) the amount by which it is displaced is at least as much as the displacement of the parent area, provided the parent is a block-area which is not a referencearea. An intrusion is said to overlap a block if the there is a line parallel to the inline progression direction that intersects the allocation rectangles of both the block and the intrusion.

block の start edge と end edge は必要最小量の位置で配置されます。つまり fo:block に指定された indent は (side-float によって移動された値よりも大きくない限り) 無効になります。

fo:block に指定した indent を有効にする場合は、intrusion-displace="indent" を指定してください。

indent
The start edge (and end edge) of each line within the block area on which the property occurs is displaced (a) by at least the same amount it would be displaced by the "line" value of this property and (b) in addition, by an amount that preserves the relative offset of that start edge (or end edge) with respect to the start edge (or end edge) of any other line displaced by any intrusion that cause the current line to be displaced. If there is more than one intrusion that could cause a displacement of the line, the largest such displacement is used.


Copyright © 1999-2011 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.