[ 
https://issues.apache.org/jira/browse/FOP-1840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13530458#comment-13530458
 ] 

Luis Bernardo commented on FOP-1840:
------------------------------------

you need to have the <fo:block span="all" /> for the balancing algorithm to 
kick in (you can check that without it computeDemerits() never gets called). 
without it means you don't want balancing.

regarding the example balance-4.fo, I agree that at first is puzzling but upon 
close inspection one sees that although there are span="all" blocks they are 
not in the right place and the balancing algorithm is not called at all for the 
content that matters. the result is the same as not having them at all. see 
attached edited balance-4-*.fo.xml files.
                
> [PATCH] Region-Body Column balancing incorrect if content is table with header
> ------------------------------------------------------------------------------
>
>                 Key: FOP-1840
>                 URL: https://issues.apache.org/jira/browse/FOP-1840
>             Project: Fop
>          Issue Type: Improvement
>          Components: page-master/layout
>    Affects Versions: 1.0
>         Environment: Operating System: All
> Platform: PC
>            Reporter: a.kovacs
>            Assignee: fop-dev
>         Attachments: b49801_dirty_hack.patch, b49801.fo, 
> balance-2-expected.pdf, balance-2.fo, balance-2.pdf, balance-3.fo.xml, 
> balance-4.fo.xml, balance-4.pdf, balancing-fos.zip, fix.diff, fo.xml, 
> patch.diff, test-after.pdf, test-before.pdf
>
>
> To reproduce bug please do the following:
> Use:
> <fo:region-body region-name="PageBody" column-count="2" />
> Fill the region-body with content like :
> <fo:block span="none" > ...(content is table with header) ..
> <fo:block span="all"> ... (one line (summary)) ..
> If the content is made of normal blocks the columns are balanced before the 
> span="all" summary line.
> like:
> 123456    456789
> 234567    567890
> 345678    678901
> Summary: 1234567890
> If the content is a table without headers the columns are balanced correct. 
> like:
> 123456    456789
> 234567    567890
> 345678    678901
> Summary: 1234567890
> If the content is a table with header the columns are not balanced correct. 
> (the right one is shorter.)
> Header    Header
> 123456    567890
> 234567    678901
> 345678    
> 456789
> Summary: 1234567890
> The "computeDemerits()" algorithm is wrong in class 
> "BalancingColumnBreakingAlgorithm".
> The "fullLen" value is to short. Exactly the replicated header width is 
> missing. In the "par" list the header is contained only once although the 
> header is displayed in every column. (in the example twice)
> Solution could be to place the header as many times in the "par" list as many 
> columns exist, or to count the existing one header as many times as needed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to