Ambiguity in Spec on How to Calculate Dimensions of Rotated Block Containers

I have this markup in a test document:

<fo:flow>
   <fo:block>hebrew sample</fo:block>
   <fo:block-container reference-orientation="-90">
     <fo:block-container
         inline-progression-dimension="40%"
         reference-orientation="90">
       <fo:block-container reference-orientation="-90">

There appears to be some ambiguity about how the dimensions of these 
block containers should be determined in this case. XSL Formatter and 
XEP give different results and both provide reasonable interpretations 
of the spec for their implementation choices (XSL Formatter produces two 
pages, one with the initial block, a second with the block-container; 
XEP produces one page with both).

Antenna House says:

"However, in XSL Spec it is unclear where the value of percent value 
should be taken from in the case that the reference area is rotated."

RenderX says:

"according to the recommendation, inline-progression-dimension for a 
block container must be specified explicitely unless it is parallel to 
inline-progression-direction" (Meaning that the IPD is undefined in this 
case.)

However, my reading of the spec has yet to confirm RenderX' assertion, 
so I'm currently in agreement with Antenna House that the spec is simply 
unclear on the subject.

I couldn't find anything in the time I had that seems to require an 
explicit IPD for rotated block containers and I can't think of a reason 
why they should--there will always be a containing reference area with a 
well-defined extent in both dimensions, namely the containing region, so 
there should always be a solid reference point from which to calculate 
dimensions, either automatically or by percentage. But the standard's 
language doesn't seem to say that explicitly, or if it does, it is not 
stated in an easy-to-find place :-)

I think the key issues are:

1. When a block-container is rotated and has BPD="n%", is its BPD 
relative to the BPD of its containing area or is it relative to the IPD 
of its containing dimension (that is, the extent available in the 
rotated block's IPD)?

2. When IPD is "auto" and a block-container is rotated 90 degrees from 
its container, is the IPD of the inner block-container determined by the 
IPD of first its content and then, if content has no constrained IPD, 
the BPD of its container?

If we had an answer to these questions, then I think it would be clear 
how the dimensions of any block container can be calculated.

Thanks,

Eliot
-- 
W. Eliot Kimber, eliot@isogen.com
Consultant, ISOGEN International

1016 La Posada Dr., Suite 240
Austin, TX  78752 Phone: 512.656.4139

Received on Thursday, 31 October 2002 11:55:56 UTC