Re: empty columns on multi-column-page

2008-10-27 Thread Vincent Hennebert
Hi Georg,

Georg Datterl wrote:
 Hello Vincent,
  
 Well, most of the time even I would use the balancing algorithm, but not in 
 all cases. I guess I could implement a kind of fox-useBalancer=false 
 for this cases, but even that would not make Block C (see below) possible.
 
 Well, I think it would. Basically the option would be do not balance 
 columns before a block that spans the whole page. So, on your example 
 below, the 
 bottom of page 1 is reached before block E is encountered, so columns are 
 balanced. On page 2, block E is encountered so column balancing is disabled, 
 then re-enabled after block E until the bottom of the page, etc. Actually 
 this would be more efficient since there would be no need to re-typeset the 
 content, in order to balance columns before a spanning block, as I believe 
 it's done ATM. Might be a useful extension.
 
 So it would be an extension for the page, not for the block. Either for 
 simple-page-master or (probably better) for region-body, if I understand you 
 correctly.

Oh, you’re right actually, this can well be an extension for the
spanning block. That would provide more flexibility since it would be
possible to individually customize the behaviour. If the option were set
on the region-body it would be the same for all spanning blocks.


 Do you think that's possible and how much work would it be? Mind, I'm 
 not asking you to implement it, but if you say it's possible and you 
 could do it in a day, I guess I might be able to do it in a reasonable 
 time (actually, not me, but a colleague of mine who actually knows his 
 way around the fop source code, I hope). 

I’ve just had a quick look and there seems to be almost nothing to do on
the layout side (which is good news). You just have to go on l.111 of
org.apache.fop.layoutmgr.PageBreaker (handleSpanChange method) and
replace the assignment appropriately. Instead of:
needColumnBalancing = (childLC.getNextSpan() == Constants.EN_ALL);
something like
needColumnBalancing = (childLC.getNextSpan() == Constants.EN_ALL)
 childLC.nextHasFoxBalancingOption();

Simply setting false already gave me the desirable result on a small
example. The difficulty is to make the necessary wiring in order to
communicate the value of the option from the FO tree to the layout
engine. I can’t really help you on that matter, sorry, but you may want
to have a look at how the fox:orphan-content-limit is implemented and do
something similar:
http://xmlgraphics.apache.org/fop/trunk/extensions.html#widow-orphan-content-limit

If you decide to give it a go then switch to the fop-dev mailing list
for any question:
http://xmlgraphics.apache.org/fop/dev/index.html#mail-fop-dev

snip/

Thanks,
Vincent

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AW: empty columns on multi-column-page

2008-10-27 Thread Georg Datterl
Hello Vincent,

 If you decide to give it a go then switch to the fop-dev mailing list for any 
 question:
 http://xmlgraphics.apache.org/fop/dev/index.html#mail-fop-dev

Thanks for your help. I'll hand it all over to my colleague then.

Mit freundlichen Grüßen
 
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 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AW: AW: empty columns on multi-column-page

2008-10-24 Thread Georg Datterl
Hello Vincent,
 
  Well, most of the time even I would use the balancing algorithm, but not in 
  all cases. I guess I could implement a kind of fox-useBalancer=false 
  for this cases, but even that would not make Block C (see below) possible.

 Well, I think it would. Basically the option would be do not balance columns 
 before a block that spans the whole page. So, on your example below, the 
 bottom of page 1 is reached before block E is encountered, so columns are 
 balanced. On page 2, block E is encountered so column balancing is disabled, 
 then re-enabled after block E until the bottom of the page, etc. Actually 
 this would be more efficient since there would be no need to re-typeset the 
 content, in order to balance columns before a spanning block, as I believe 
 it's done ATM. Might be a useful extension.

So it would be an extension for the page, not for the block. Either for 
simple-page-master or (probably better) for region-body, if I understand you 
correctly. Do you think that's possible and how much work would it be? Mind, 
I'm not asking you to implement it, but if you say it's possible and you could 
do it in a day, I guess I might be able to do it in a reasonable time 
(actually, not me, but a colleague of mine who actually knows his way around 
the fop source code, I hope). 

  I don't mind the manual work (as long as it's the computer doing it), 
  mostly I mind the manual splitting of one fo:block into one 
  2-column-block (or right column block) on one page and a second 
  1-column-block with margin on the second page, because the block could 
  contain stuff like lists and that seems quite error-prone to me.
  
  keep-together.within-column would make the whole block move to the second 
  column if there are two blocks before a wide block. 
  Using a combination of keep-together=always and 
  keep-with-previous.within-column=always works fine for the first page, 
  but when breaking from 
  page 1 to page 2, I would want a page break, maybe even a column break on 
  page 1, but no column break on page 2 (Block C in this sketch): 

 My idea was to manually split block C, and surround the part of it that's on 
 the second page /and/ block D with another block that has a keep-
 together.within-column setting. An alternative to the spanning block with a 
 big right margin, that might be easier to implement, but that won't avoid 
 you to manually split the content unfortunately.

You are right, if I have to split the blocks anyway, I would not need the right 
margin. 

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 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



empty columns on multi-column-page

2008-10-21 Thread Georg Datterl
Hello everybody.

Like many poster before me, I do have a problem with different column-counts on 
one page. Only slightly different from the examples I found in this mailing 
list.

Usually, I want a 2-column-layout, but sometimes blocks span both columns. In 
this cases I want, contrary to all other examples I found up to now, only text 
in the first column. No column breaks, no centered column, only the first 
column filled:

Page 1:

aaa bbb
aaa ccc
aaa ccc
bbb ccc
bbb ddd

Page 2:

ddd
ddd
eee
fff fff
fff ggg

Page 3:

ggg iii
ggg iii
hhh iii
hhh
hhh

Page 4:

jjj
kkk lll
kkk mmm
kkk mmm
lll nnn

The only way I found to reach my goal would be manual splitting and adding 
span=all and margin-right to some blocks. Which is neither nice nor 
foolproof. Can anybody here think of a better solution?

Thanks in advance,
 
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 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]