I've done some investigation here. It looks like fixing this leads to a
somewhat bigger issue. But first things first:

- The list-block (and tables and block-containers) don't get rendered
because their Position objects don't return true on generatesAreas().
LineLayoutManager filters those in addAreas() because of that.

- the mustKeepTogether() method in ListBlockLM must be adjusted like it
was already done in BlockLM.mustKeepTogether(). The other LMs will need
to be checked, too.

That would fix the issue at hand but if I use a block-container inside
an fo:inline I get an NPE because stackLimit in the LayoutContext is
null. I then found out that stackLimit is used in both IP-direction and
BP-direction. I think this would need to be split in two fields so the
BP-direction value can be preserved so that block-level LMs which are
children of an inline-level LM can restore the stackLimit value that was
used by the last block-level LM in the stack.

Andreas, have you, by chance, started on this one already? I want to
avoid that two people are working on the same problem.

On 05.03.2008 22:48:11 Andreas Delmelle wrote:
> On Mar 5, 2008, at 22:28, Steve Protulipac wrote:
> 
> >
> >> Correct. As a workaround, you could insert a fo:block between the
> >> inline and the list:
> >>
> >> <fo:inline>
> >>    <fo:block>
> >>      <fo:list-block...>
> >
> > When I try the fo:block, the list is not rendered.  I get a blank  
> > page.
> > I tried the fo:block just as above, with no attributes.
> 
> Just as a confirmation:
> You're right! The text I just saw rendered was inside a separate  
> block outside of the list. The list itself is indeed not rendered.
> 
> Sorry.
> 
> Cheers
> 
> Andreas



Jeremias Maerki

Reply via email to