Andreas L. Delmelle wrote:
Nested inlines... My guess is: there's the bugger!
Correct.
Can you try rendering again, but replacing the inner fo:inline in the above
snippet with an fo:wrapper,
Won't work. The problem is as follows: The line layout is
called with a bunch of characters. It is scanned for possible
line breaks, more or less whitespace (which is incomplete in
itself). If the character sequence is exhausted before a break
possibility is encountered but there's still space left in
the line, the text snippet processed so far is stored in
the pending area list, because it might be wrapped to the
next line. Upon the next call, scanning proceeds, and if
the line is full without finding a break possiblity,
processing is unwound unto the block, which generates a new
line. This new line grabs the pending area list from the
previous line and adds it to itself, because it's word content
which had been wrapped.
The problem occurs if the overflowed line is at the end of the
page, because the block layout code which would otherwise
generate a new line returns up to the page layout loop.
New block areas are created, the link to the line with the
non-empty pending area list is lost, and the new line starts
without the wrapped text. The error message is generated in
the renderer which simply looks at the pending area list of
the line, which should have been emptied.
The problem occurs rarely because it only happens if a word is
fragmented so that the pending area list is filled. Because
some code accumulates the SAX character events, only inline
FOs which mark parts of a word may cause this. The only way
around the bug is to eliminate the inline FOs, or fine tune
display space in order to avoid having the content in question
falling at the edge of a page.
A similar, but code-wise unrelated bug occurs when an inline
graphic is added which is too high to fit the available space
on the page: the text already in the line is lost. Fortunately,
FOP can't cope with dynamic line height anyway, so people
rarely do this.
J.Pietschmann
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]