Hi Georg,

Georg Datterl wrote:
> Hi everybody,
> 
> This weeks funny guessing game deals with tables again. I found that problem 
> earlier but until now I was unable to create a sufficiently short and easy 
> example. Please have a look at the attached fo file. 
> 
> In the file you will see a table with two columns and one row. The table 
> background is red. 
> 
> In the left column, there's only one block with some padding afterwards. The 
> cell background is blue, the block background green.
> In the right column, you will find two blocks. The first block has a space 
> afterwards and a pink background color. The second block has an orange 
> background color and contains a simple table with one column, one header row 
> and two data rows.
> The pink and the orange block together are slightly higher than the green 
> block. 
> 
> So, what would we expect? I'd expect to see four colored blocks, left upper 
> corner green from the green block, right upper corner pink, right lower 
> corner orange. The left lower corner I'd expect to be blue, since the blue 
> cell would extend below the green block to give a nice rectangular shape. 
> 
> Now run the attached fo file through the latest code from subversion and be 
> surprised. The left lower corner is blank. The complete table height is the 
> height of the left column, not the height of the right column. 

This is due to a bug in the table stepping algorithm, whose complete
description is out of the scope of this list. The attached patch against
the Trunk fixes the issue. I’ll commit it in the next days, after I’ve
created an appropriate test case and documented the fix.


> Why? (Answer is worth 5pt)
> How can I avoid that? (Answer is worth 15pt)
> Is it fixable? (Answer is worth 10pt)
> Can it be fixed this week? (Fix is worth 50pt, no problem if I have to apply 
> it locally)
> Why am I always running into such things? (Answer is worth 20pt, 200pt if I 
> can use it verbatim to get a pay rise)
> 
> Regards,
>  
> Georg Datterl


Vincent
Index: src/java/org/apache/fop/layoutmgr/table/ActiveCell.java
===================================================================
--- src/java/org/apache/fop/layoutmgr/table/ActiveCell.java	(revision 809978)
+++ src/java/org/apache/fop/layoutmgr/table/ActiveCell.java	(working copy)
@@ -399,6 +399,7 @@
         if (nextStep.end < elementList.size() - 1) {
             while (afterNextStep.totalLength <= limit && nextStep.breakClass == Constants.EN_AUTO) {
                 nextStep.set(afterNextStep);
+                nextStep.condBeforeContentLength = 0;
                 if (afterNextStep.end >= elementList.size() - 1) {
                     break;
                 }

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org

Reply via email to