Re: start-indent inheritance

2005-01-15 Thread Jeremias Maerki
Bloody little details! Thanks Peter. That was it. I'm going to fix this.

On 14.01.2005 20:19:36 Peter B. West wrote:
 Jeremias Maerki wrote:
  5.3.2 says for FOs that don't generate a reference area (ex. fo:block)
  the following is true:
 
 Not quite.  The following is true [i]f the corresponding absolute 
 margin property is specified on the formatting object and the 
 formatting object does not generate a reference area...


Jeremias Maerki



Re: start-indent inheritance

2005-01-14 Thread Chris Bowditch
Jeremias Maerki wrote:
There seems to have been some discussion about this in the CR phase:
http://www.w3.org/2001/08/28-XSL-PR-DOC.html (see comment 20)
It would seem that in the case of reference-area generating FOs
start-indent should simply be inherited (comment 20, item 3). In my
example the start-indent of the block-container would be 10pt, which is
then inherited by the orange block. This amounts to an effective 20pt
indent for the orange block and oops, AltSoft is suddenly right. I'm
confused.
I would say that in the absence of any clear right or wrong in the spec and 
different interpretations by different commercial renderers, I would suggest 
that implementing the easiest approach would be the best way to go.

Chris


Re: start-indent inheritance

2005-01-14 Thread Peter B. West
Jeremias Maerki wrote:
I'm trying to figure out what the indent of the orange block under the
block-container may be, or rather if our current implementation is
really ok. It's clear that for the yellow block start-indent is 10pt.
5.3.2 says for FOs that don't generate a reference area (ex. fo:block)
the following is true:
Not quite.  The following is true [i]f the corresponding absolute 
margin property is specified on the formatting object and the 
formatting object does not generate a reference area...

start-indent = inherited_value_of(start-indent) + margin-corresponding +
padding-corresponding + border-corresponding-width
start-indent = 10pt = 10pt + 0pt + 0pt + 0pt
The corresponding margin property is not specified, so start-indent is 
inherited_value_of(start-indent), i.e. 10pt.

For the block-container a different rule applies because it generates a
reference area:
Same problem.  If the corresponding absolute margin property is 
specified on the formatting object and the formatting object generates a 
reference area...

start-indent = margin-corresponding + padding-corresponding +
border-corresponding-width
start-indent = 0pt = 0pt + 0pt + 0pt
start-indent = inherited_value_of(start-indent) = 10pt.
Then for the orange block the first formula is used again:
start-indent= 0pt = 0pt + 0pt + 0pt + 0pt
start-indent = inherited... = 10pt
Now, it's interesting to note that XEP and AltSoft interpret this
differently. XEP indents the orange block by 10pt while AltSoft indents
it by 20pt.
Go with AltSoft.
You could also note that start-indent is specified as Inherited: yes
which somewhat contradicts the second formula above.
XEP seems to use the inherited start-indent for the block-container.
AltSoft seems to do the same and even does the same for the orange block
although rendering then orients itself on the reference area established
by the block-container, thus indenting the orange block by 20pt. AltSoft
is certainly wrong. The question is if XEP is right. :-)
I googled a bit and indeed, there seems be a certain amount of confusion
how this should be handled.
Any thoughts?
On 13.01.2005 16:07:02 jeremias wrote:
jeremias2005/01/13 07:07:02
 Added:   test/layoutengine/testcases block-container3.xml
 Log:
 Testcase for checking start-indent inheritance across block-containers.
 
 Revision  ChangesPath
 1.1  xml-fop/test/layoutengine/testcases/block-container3.xml
 
 Index: block-container3.xml
 ===
 ?xml version=1.0 encoding=UTF-8?
 !--
   Copyright 2005 The Apache Software Foundation
 
   Licensed under the Apache License, Version 2.0 (the License);
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
 
http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an AS IS BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 --
 !-- $Id: block-container3.xml,v 1.1 2005/01/13 15:07:02 jeremias Exp $ --
 testcase
   info
 p
   This test checks indents on block-containers.
 /p
   /info
   fo
 fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; xmlns:svg=http://www.w3.org/2000/svg;
   fo:layout-master-set
 fo:simple-page-master master-name=normal page-width=5in page-height=5in
   fo:region-body/
 /fo:simple-page-master
   /fo:layout-master-set
   fo:page-sequence master-reference=normal white-space-collapse=true
 fo:flow flow-name=xsl-region-body
   fo:block start-indent=10pt
 fo:block background-color=yellowfo:block|fo:block/fo:block
 fo:block-container
   fo:block background-color=orangefo:block|fo:block-container|fo:block/fo:block
 /fo:block-container
   /fo:block
 /fo:flow
   /fo:page-sequence
 /fo:root
   /fo
   checks
 eval expected=35 xpath=/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@ipd/
 eval expected=36 xpath=/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@ipda/
 !-- TODO Complete checks after clarifying interpretation --
 !--eval expected=35 xpath=/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[1]/@ipd/
 eval expected=35 xpath=/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[1]/@ipda/--
   /checks
 /testcase
Peter


Re: start-indent inheritance (was: cvs commit: xml-fop/test/layoutengine/testcases block-container3.xml)

2005-01-13 Thread Jeremias Maerki
There seems to have been some discussion about this in the CR phase:

http://www.w3.org/2001/08/28-XSL-PR-DOC.html (see comment 20)

It would seem that in the case of reference-area generating FOs
start-indent should simply be inherited (comment 20, item 3). In my
example the start-indent of the block-container would be 10pt, which is
then inherited by the orange block. This amounts to an effective 20pt
indent for the orange block and oops, AltSoft is suddenly right. I'm
confused.


Jeremias Maerki