Re: XSL PR - line-height.precedence problem

At Tue, 25 Sep 2001 16:36:04 -0400, Jeff Caruso wrote:
> 
> >  Date: Sat, 22 Sep 2001 16:33:06 -0400 (EDT)
> >  To: xsl-editors@w3.org, w3c-xsl-fo-sg@w3.org
> >  From: MURAKAMI Shinyu
> >  Message-Id: <200109230533.AII88599.VJNNSBBL@nadita.com>
> >  Subject: XSL PR - line-height.precedence problem
> >
> >  Dear XSL authors, please read my old comments:
> >
> >  - XSL FO: line-height and space-resolution rule
> > http://lists.w3.org/Archives/Public/xsl-editors/2000AprJun/0057.html
> >
> >  - XSL FO: letter-spacing and space-resolution
> > http://lists.w3.org/Archives/Public/xsl-editors/2000AprJun/0065.html
> >
> >  The recent XSL PR spec still have this problem.
> >  Am I wrong?
> >
> >  A simple example:
> >
> >  <fo:block space-after="1cm">AAA</fo:block>
> >  <fo:block>BBB</fo:block>
> >
> >  According to the current XSL spec, the space-after="1cm" must be
> >  suppressed!
> >  because the line-areas have space-before and space-after (= half-leading)
> >  with .precedence="force" and the fo:block's non-forcing space-specifiers
> >  are suppressed.
> 
> This was addressed in the Candidate Recommendation, 21 November 2000,
> and the language has been preserved in the Proposed Recommendation. I'm
> sorry we weren't clearer in communicating that.
> 
> The example is concerned about the interaction of the space-after of the
> AAA block-area and the space-before of the first line-area child of the
> BBB block-area.

It's not only that but also the interaction of the space-after of the 
AAA block-area and the space-after of the last line-area child of the 
AAA block-area. This case relates to Rule 2 of the "Block-stacking 
constraints" in section 4.2.5 Stacking constraints, "A is a block-area 
which is the last normal child of B, and S is the sequence consisting of 
the space-after of A", sice in this rule the block-area A may be a line-
area. Is this spec error?, or my misunderstanding?

Another example:

<fo:block>
  AAA
  <fo:block space-before="1cm">
    BBB
  </fo:block>
</fo:block>

In this case there are following interactions:
- the space-after of the line-area AAA and the space-before(="1cm")
  of the block-area BBB
- the space-before(="1cm") of the block-area BBB and the space-before
  of the child line-area BBB
and the space-before="1cm" of the block BBB must be suppressed.

> 
> These spaces do not interact because they area not part of the same
> block-stacking constraint.  According to Rule 3b of the "Block-stacking
> constraints"  in section 4.2.5 Stacking constraints, the space-after of
> AAA and the space-before of the first child of BBB will form a
> block-stacking constraint if the first child of BBB "is not a
> line-area". In other words, the space-after of a line-area can never
> suppress spaces outside of its parent block-area.
> 
> Similar language applies in 3c to prevent suppression of the
> space-before of the following block-area.

I cannot understand why only 3b and 3c the limitation "is not a line-
area" was added. It seems insufficient.

Smililar problem is in the inline spacing. For example:

   AAA<fo:inline space-start="1cm">BBB</fo:inline>

The space-start="1cm" of the inline-area BBB must be suppressed by the 
default letter-spacing.precedence="force" of the glyph-areas.

Please consider my proposal. I wrote "We need another default precedence 
value for line-height, letter-spacing and word-spacing -- force but not 
suppress adjacent non-forcing spaces."


Regards,

Shinyu Murakami
Antenna House XSL Formatter team

Received on Thursday, 27 September 2001 07:10:55 UTC