On 16.06.2006 15:07:25 Chris Bowditch wrote:
> Martin Zak wrote:
> > Hi all,
> > I'm using the absolutely positioned block-container for a side-note.
> > The page body has left margin defined while block-container has 
> > start-indent set to 0pt.
> > (so the block-container is rendered in a "column" left to the rest of 
> > the text on page like this:
> > 
> 
> <snip/>
> 
> >   <fo:page-sequence format="1" master-reference="sequence-chapter">
> >     <fo:flow font-family="Times" font-size="12pt" 
> > flow-name="xsl-region-body" margin-left="1.37in">
> > 
> >       <fo:block-container margin="0pt" padding="0pt" width="30pt" 
> > start-indent="0pt" absolute-position="absolute">
> >         <fo:block>[abs]</fo:block>
> >       </fo:block-container>
> > 
> >       <fo:block space-before="9pt">lorem ipsum dolores...</fo:block>
> 
> Whats happening here is the rules of conditional spacing. If a space is 
> the first in the reference area (fo:flow in your example) then the 
> default is to discard the space. If the space is not the first thing in 
> a reference area then its is retained. It seems the block-container 
> fools FOP into thinking that there is something before the space in the 
> reference area and it is therefore retained.

Indeed, the BlockContainerLayoutManager creates a KnuthBox (w=0) in the
element list for the absolutely positioned block-container which is
currently interpreted by the SpaceResolver as a fence. And a fence makes
the SpaceResolver believe that there's content before the space. Looks
like we should find a solution to indicate to the SpaceResolver which
boxes are no fences. Another example would be the often-used empty block
at the end of the flow for "page x of y" which probably creates a fence,
too.

> Without knowing the full context of your application I'm not sure of a 
> wrokaround. Specifying space-before.conditionality="retain" will ensure 
> the space is always shown, regardless of whether there is a block 
> container or not.
> 
> <snip/>
> 
> Chris


Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to