On 09 Mar 2011, at 00:04, Vincent Hennebert wrote:

<snip />

> Why?? Where in the spec is that interpretation of the term
> ‘reference-area’ given?
> 
> OTOH, in Section 4.2.2: “An area for which [the is-reference-area] trait
> is true is called a reference-area.”

Arrghh, too liberal interpretation from my end. Totally missed that the 
region's V/R pair behaves more like that of a block-container than that of a 
page.
Still, read on, as we must judge whether it is really worth investing too much 
time in this scenario.

>> The before-edge of the region-viewport-area (V)
> 
> This is ambiguous. Of which rectangle of the region-viewport-area? The
> edge is not the same whether we are talking about the
> border/padding-rectangle or the content-rectangle.

Border/padding are not supposed to play with regions, so that would only leave 
the content-rectangle, no?

You could ask the same question about the page, and bump into the explicit 
prohibition to use border/padding properties. For a region, background is still 
applicable, so the Common Border Padding and Background properties could not be 
excluded as a whole, but border/padding are still supposed to be 0 (spec says 
'must'; FOP supports it, nonetheless)

I see what you mean, though: the general definition of the trait derivation 
causes potential conflicts with the definitions a few lines up, for the area 
generation, but only in case the region's reference-orientation deviates from 
the page. 
That is not the normal scenario, and perhaps not supposed to be covered by 
those general definitions (or at least overlooked by the editors).

>> You got it completely correct for the reference-orienation on 
>> fo:page-sequence: the page-reference-area is rotated with respect to the 
>> page-viewport-area.
>> I'm still wondering why the regions would be so much more difficult? 
> 
> The descriptions of fo:simple-page-master and
> fo:region-before/after/start/end simply are different.
> 
> Which makes me realize that there is no mention of the
> page-viewport/reference-area pair in the description of the
> from-page-master-region() function. Sigh. That one will have to be
> handled another time I’m afraid.

Good point, and yes, it seems like I was confusing the descriptions between 
simple-page-master and region-*. Region behaves like a block-container...

One could come to the conclusion that a specified reference-orientation on 
fo:simple-page-master has no direct effect, /unless/ from-page-master-region() 
is used. It's not a region per se, but satisfies the -master- part at least. :-/

So, the 'proper' way in 1.1 is to use reference-orientation on the 
fo:page-sequence. 
This got me thinking: if both the page-reference-area's and the 
region-viewport-area's rotations are determined by the fo:page-sequence, then 
what happens if I say reference-orientation="90" there? The page-reference-area 
would be rotated 90 degrees, and the region's --another 90? Starting from the 
already rotated page-reference-area? That would seem unexpected, to say the 
least. I must be missing something else...

>> It's the same principle:
>> * viewport-area: implicit reference-orientation="0"
>> * reference-area: reference-orientation as specified
> 
> That is simply not true. I think the excerpts I took from the
> specification are clear enough on this regard.

I see what you are referring to, and I am now beginning to think that this is 
just the type of ambiguity that was meant to be reduced in the revised 
definitions. If only there were not the backward compatibility scenario...

Chewing on that for a while, it suddenly becomes clear to what extent 1.1 *did* 
simplify matters in this regard.

Strictly speaking, provided that the behavior I described above is wrong, and 
it was really the intention of having the regions just 'follow' the page (no 
additional rotation), there are only two ways to have the reference-orientation 
for a region's content deviate from that of the page:
1° use from-page-master-region() in combination with reference-orientation on 
the region
2° use a fo:block-container as the sole child of the fo:static-content, and 
specify the reference-orientation there

The first option clearly was added only to allow for easy transitioning from 
1.0. The required updates to stylesheets are trivial, where adding a 
fo:block-container to every fo:static-content is rather invasive. Breaking 
completely with the 1.0 approach, and requiring people to make the invasive 
changes, would probably have been the cleaner path. If resolving ambiguities 
was what it was about, that is... I guess time and money got their vote too, 
and from-page-master-region() was born. ;-)

In 1.1, the region's reference-orientation, by definition and by default would 
follow the page's. It is only by resorting to either of the above tricks that 
you can create situations that deviate from that normal situation. 

The second option might reduce the potential confusion somewhat. The rotation 
is more explicitly localized to the region's content, but visually, the 
end-result is the same.

If it is the intention to propagate/maintain the from-page-master-region() 
"hack" (on our end, but also @W3C), there is need for clarification still, as 
to:
- either what that 'before-edge of the content-rectangle this 
region-viewport-area' means (area generation)
- or the relationship between the region-viewport and region-reference, in 
terms of reference-orientation (trait derivation)

Is the region's viewport/reference pair supposed to behave like the page's or 
like a block-container's (as the definition of trait derivation implies)? 
If it's the latter, then the first part about the 'before-edge' should be 
extended with 'assuming no change in reference-orientation with respect to the 
page-reference-area'. 

Otherwise, it seems impossible to reconcile the two in all scenarios.

At any rate, I would see it as sufficient, for the moment, to assure that FOP 
supports the basic rule. 
For the other scenario, propagate the block-container workaround, and leave 
from-page-master-region() aside for the moment. --The KISS principle! :-)


Regards,

Andreas
---

Reply via email to