Hi Vincent, >>> And, speaking about that, the 'orphans' property on the 'U' paragraph >>> is at its default value of 2, so there shouldn't be just one line of >>> that paragraph at the bottom of page 3. > >> AbstractBreaker.doLayout() creates a blockList for the fo:block. This list >> contains (I guess) a KnuthBlockBox for each line and a KnuthPenalty for >> each possible break. This list is correct, there are two boxes before the >> first break and two boxes after the last break, as required by orphan and >> widow parameter. Obviously the break after the first line is introduced >> later, >> I guess somewhere down doPhase3().
> I had a short debugging session and the problem has to do with the fact that a > forced breaking point has to be chosen because there is not enough space on > the > page to make the first two lines of the spanning block fit. Normally this > mechanism should defer the content to the next page but for some reason this > doesn't happen. Apparently the bug doesn't appear when column balancing > operates > and the same conditions are re-created (space available for only one line at > the > bottom of the page). I filed a bug report using the default column balancing. It's not related to my changes and not only ignores orphans but margin-bottom as well. Maybe Jeremias could help us here, if it is related to the balancing method? I think I recall he was involved there. Regards, Georg Datterl ------ Kontakt ------ Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH: www.irs-nbg.de Willmy PrintMedia GmbH: www.willmy.de Willmy Consult & Content GmbH: www.willmycc.de