Re: Spec drives me crazy: column-count and blocks with mixed spans

2003-06-26 Thread Arnd Beißner
Peter,

thanks for the answer.

 I have always *assumed* that column balancing is implied whenever 
 top-level block children of a flow have different span attributes, 
 because it's the only approach that makes sense.  If your second 
 scenario were intended, then the 'span=all' block could not share the 
 page with the previous 'span=none' blocks unless there were less than 
 one column's worth of text.  I.e.

Yes, that sure makes sense, but it's not really anywhere in the spec, is 
it?
You can still argue the spec makes sense without column balancing - 
at least you can use span=all blocks before span=none blocks. 

 That leaves open the question of whether, on the last page of a 
 page-sequence, the columns should be balanced.  My intuitive approach 
 would be to balance always.  However, there seems to be another 
 attribute required for column spill behaviour, especially for the last 
 page of a page-sequence.

I assume you really mean the end of the flow (or page-sequence) here, 
right? last page could
also be something like:

ABC
DDD
DDD

or even

ABC
DDD
EFG

Personally, I'd prefer no balancing for the end of the flow. Reason: For 
columns that contain
mostly text, that looks awfully strange if you can't have at least 2 
paragraphs in each column. 

Since the default behaviour really seems to be unspecified, and since 
there's no property to specify it,
I believe overall less harm is done if you don't balance at the end of the 
flow. This is because then you
can always trick the renderer into balancing by making the end not the 
end. Just put an fo:block
with invisible content and span=all at the end. Of course, a property 
for that would be nice, but at
least then you can have both.

How about that?
--
Cappelino Informationstechnologie GmbH
Arnd Beißner


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



Re: Spec drives me crazy: column-count and blocks with mixed spans

2003-06-26 Thread Chris Bowditch
From: Arnd Beißner [EMAIL PROTECTED]
snip/

Since the default behaviour really seems to be unspecified, and since
there's no property to specify it,
I believe overall less harm is done if you don't balance at the end of the
flow. This is because then you
can always trick the renderer into balancing by making the end not the
end. Just put an fo:block
with invisible content and span=all at the end. Of course, a property
for that would be nice, but at
least then you can have both.
this is how RenderX handle column balancing on the last page. Its off by 
default and if the user should need it, then they recommend putting an empty 
block with span=all at the end of the flow as you've suggested.

_
Tired of 56k? Get a FREE BT Broadband connection 
http://www.msn.co.uk/specials/btbroadband

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


Re: Spec drives me crazy: column-count and blocks with mixed spans

2003-06-26 Thread Peter B. West
Arnd Beißner wrote:
Peter,

thanks for the answer.


I have always *assumed* that column balancing is implied whenever 
top-level block children of a flow have different span attributes, 
because it's the only approach that makes sense.  If your second 
scenario were intended, then the 'span=all' block could not share the 
page with the previous 'span=none' blocks unless there were less than 
one column's worth of text.  I.e.


Yes, that sure makes sense, but it's not really anywhere in the spec, is 
it?
You can still argue the spec makes sense without column balancing - 
at least you can use span=all blocks before span=none blocks. 
No, it's not specified that I can see.  However, the restriction above 
would be highly artificial.

That leaves open the question of whether, on the last page of a 
page-sequence, the columns should be balanced.  My intuitive approach 
would be to balance always.  However, there seems to be another 
attribute required for column spill behaviour, especially for the last 
page of a page-sequence.


I assume you really mean the end of the flow (or page-sequence) here, 
right?
Yes.  There's only one flow per page-sequence.

last page could
also be something like:
ABC
DDD
DDD
or even

ABC
DDD
EFG
Personally, I'd prefer no balancing for the end of the flow. Reason: For 
columns that contain
mostly text, that looks awfully strange if you can't have at least 2 
paragraphs in each column. 

Since the default behaviour really seems to be unspecified, and since 
there's no property to specify it,
I believe overall less harm is done if you don't balance at the end of the 
flow. This is because then you
can always trick the renderer into balancing by making the end not the 
end. Just put an fo:block
with invisible content and span=all at the end. Of course, a property 
for that would be nice, but at
least then you can have both.

How about that?
Very sensible.  I had in mind my preferred method of dynamic balancing, 
but even with that model, it is simple enough to undo the balancing on 
the last page of a sequence.

Peter
--
Peter B. West  http://www.powerup.com.au/~pbwest/resume.html
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]


Re: Spec drives me crazy: column-count and blocks with mixed spans

2003-06-25 Thread Peter B. West
Arnd Beißner wrote:
Hi,

I just decided that I can't figure out what - according to the standard - 
should exactly happen if you have multiple columns in your body region and 
mix top-level fo:blocks of span=all with others of span=1. Perhaps one of 
you already found something...

I can see how the span-reference-areas need to be spaced horizontally 
(let's assume western writing modes for simplicity). And I can see that 
mixing top-level fo:blocks of different spans (at least 1 and all) is 
allowed, though only for fo:blocks that direct children of fo:flow.
In fact, none and all.

But as for stacking the areas into the columns? Let's say we have scenario 
3 (see below). Let's further assume that all content *could* fit on one 
page. But from how I read the spec, what would just happen is that first 
blocks are stacked into the first column until it's full. Then blocks are 
stacked into the next column. Let's say the second column would become 
about half full. Now for the following fo:block with span=all. There's no 
way to get a fitting area from that page - except of course if the block 
areas in the columns would be rearranged so that each of the columns is 
about half full. With FOP, this is roughly what seems to happen (not 
exactly, tough). But why? The spec doesn't seem to specify (or even allow) 
that.

Any ideas?

Scenarios: (always column-count=3)

Scenario 1 (just blocks with span=all):
ABC
ABC
ABC
ok, no problems.

Scenario 2 (block with span=all, then blocks with span=1)
AAA
BCD
BCD
clear so far.

Scenario 3 (blocks with span=1, THEN 1 block with span=all

Does this happen (let's assume content for the columns is able to fill 
about half the page):
ABC
ABC
DDD

or this?

ABC
ABC
ABC 
+ next page:
DDD
Arnd,

I have always *assumed* that column balancing is implied whenever 
top-level block children of a flow have different span attributes, 
because it's the only approach that makes sense.  If your second 
scenario were intended, then the 'span=all' block could not share the 
page with the previous 'span=none' blocks unless there were less than 
one column's worth of text.  I.e.
A
B
C
DDD
(Scenario none-all)

This is because column spill from the first column on the page could not 
happen until the first column had filled.

quote
The main-reference-area has as its children a sequence of 
span-reference-areas. These are reference-area block-areas with zero 
border and padding, whose inline-progression-dimension is equal to that 
of the main-reference-area, and which are normally stacked within the 
main-reference-area.
/quote

I.e. there may be multiple span-reference-areas in a single 
main-reference-area, and those S-R-As may have different numbers of 
normal-reference-area children, depending on the column-count attribute 
of the region-body and the span attribute of the block children of the flow.

This doesn't seem to make sense for the scenario none-all case above, 
unless column balancing is assumed.

That leaves open the question of whether, on the last page of a 
page-sequence, the columns should be balanced.  My intuitive approach 
would be to balance always.  However, there seems to be another 
attribute required for column spill behaviour, especially for the last 
page of a page-sequence.

Peter
--
Peter B. West  http://www.powerup.com.au/~pbwest/resume.html
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]


Re: Spec drives me crazy: column-count and blocks with mixed spans

2003-06-25 Thread Peter B. West
Peter B. West wrote:
Arnd Beißner wrote:

...

Scenarios: (always column-count=3)

Scenario 1 (just blocks with span=all):
ABC
ABC
ABC
ok, no problems.

Scenario 2 (block with span=all, then blocks with span=1)
AAA
BCD
BCD
clear so far.

Scenario 3 (blocks with span=1, THEN 1 block with span=all

Does this happen (let's assume content for the columns is able to fill 
about half the page):
ABC
ABC
DDD

or this?

ABC
ABC
ABC + next page:
DDD
...

  If your second 
scenario were intended,
(that should be, the second option of Scenario 3)

 then the 'span=all' block could not share the
page with the previous 'span=none' blocks unless there were less than 
one column's worth of text.  I.e.
A
B
C
DDD
(Scenario none-all)
Peter
--
Peter B. West  http://www.powerup.com.au/~pbwest/resume.html
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]