Your change tries to undo my change as soon as possible. In trunk the paragraphs were broken into lines by the LineLM. Now that happens by the ListItemContentLM, which is only a little bit higher up.
It still leaves it impossible to break a list item over a page, and let the next page have a different IPD. For that to be possible, the list item must be broken into lines as late as possible, when the page breaker needs them for a specific page. Simon On Thu, Oct 04, 2007 at 07:32:19PM +0200, Andreas L Delmelle wrote: > > Hi > > > Just played a bit more with Simon's (cool!) branch, and tried overriding > ListItemContentLM.getNextKnuthElements() to the following: > > public LinkedList getNextKnuthElements(LayoutContext context, int > alignment) { > LinkedList baseList = super.getNextKnuthElements(context, > alignment); > ListElement el; > LinkedList resultList = new LinkedList(); > LinkedList tmpList; > for (Iterator i = baseList.iterator(); i.hasNext();) { > el = (ListElement) i.next(); > if (el instanceof ParagraphListElement) { > tmpList = ((ParagraphListElement) el).doLineBreaking(); > resultList.addAll(tmpList); > } else { > resultList.add(el); > } > } > return resultList; > } > > I am unsure as to whether this is 'in the spirit of the algorithm' so to > speak, but the result is that all list-related tests now pass. > > End-result: 246 out of 368 tests pass on my end. -- Simon Pepping home page: http://www.leverkruid.eu