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
