W3C home > Mailing lists > Public > xsl-editors@w3.org > April to June 2001

Re: XSL-FO: text-align on fo:block-container etc.

From: Anders Berglund <alrb@us.ibm.com>
Date: Wed, 27 Jun 2001 13:04:27 -0400
To: MURAKAMI Shinyu <murakami@nadita.com>
Cc: xsl-editors@w3.org
Message-ID: <OF6A788BB8.DF8DFECD-ON85256A78.005DAE5C@pok.ibm.com>

The "xsl-modification" to text-align (last sentence) needs to be updated
to refer to usage (b).

"text-align" has already been added to fo:table-and-caption in the
WG internal draft of XSL.

The WG discussed your proposal of adding text-align as applying to
more FOs. It was decided not to do so; one of the reasons put forward
was that it would break CSS2 compatibility. In a future version of
XSL (with generalized regions) one would give full control with
expressions to control the indents and inline-progression-dimension
e.g. end-indent="i-p-d-of-closest-ancestor-reference-area - 5cm - 2cm".

Assume that the inline-progression-dimension of the content rectangle
of the outer block-container is 10cm (thus the i-p-d of the
"closest ancestor reference area" of the inner block-container is
10cm) AND that text-align does not apply to fo:block-container.
The inner block container specifies a start-indent of 2cm and an
end-indent of 1cm and a i-p-d (I am assuming a lr-tb writing mode)
of 5cm. According to 5.3.4 this is "overconstrained geometry"
(5cm + 2cm + 1cm is not equal to 10cm) and the end-indent is
changed to be 3cm to give equality. (This is the CSS2 rule "translated"
into XSL).
Graphically:

 |---------------- 10 cm ----------------| content rectangle of outer b-c
 |---2 cm---|-------- 5 cm----|--- 3 cm--|
            |ccccccccccccccccc|            content rectangle of inner b-c

MURAKAMI Shinyu <murakami@nadita.com>@w3.org on 06/25/2001 12:32:38 PM

Sent by:  w3c-xsl-fo-sg-request@w3.org


To:   xsl-editors@w3.org
cc:
Subject:  XSL-FO: text-align on fo:block-container etc.



In the XSL CR spec the description of the text-align property seems to be
insufficient.

The text-align should have two meanings:

  (a) how inline content of a block is aligned
  (b) how reference-area is aligned

In [7.14.9 "text-align"] of the spec only (a) is mentioned.
But (b) is also found in [6.6.5 fo:external-graphic],
[6.6.6 fo:instream-foreign-object] and [6.7.2 fo:table-and-caption].

    6.6.5 fo:external-graphic
    ...
    Once scaled, the reference-area is aligned with respect to the
    viewport-area using the text-align and display-align traits.
    ...
    The following properties apply to this formatting object:
    ... [7.14.9 "text-align"] ...

    6.6.6 fo:instream-foreign-object
    ...(ditto)

    6.7.2 fo:table-and-caption
    ...
    The children of the areas generated by the fo:table-and-caption
    are one or two areas; one for the table caption and one for the table
    itself. They are placed relative to the content-rectangle of the
    generated area as specified by the text-align trait.
    ...
    ...(but text-align is not found in this fo's property list)

That is, the text-align on fo:external-graphic aligns the graphic
reference-area, and the text-align on fo:table-and-caption aligns
the table-caption and the table reference-areas.

I have several questions.

How is the text-align="justify" treated? -- treated as "start"?

Is text-align applied to other formatting objects?
I think that the following formatting objects may have text-align property.

    fo:block-container
    fo:inline-container
    fo:table-and-caption
    fo:table-caption
    fo:table-cell

These formatting objects generate reference-areas that may contain child
block-level reference-areas which the text-align may be applied to.

And more clarification note is needed.

<fo:block-container text-align="center" width="10cm">
  <fo:block-container text-align="end" width="5cm"
                      start-indent="2cm" end-indent="1cm">
    ...
  </fo:block-container>
</fo:block-container>

How the inner area (5cm) aligned in the outer area (10cm)?
"center" aligned (specified on the outer block-container) or
"end" aligned (specified on the inner block-container)?
(probably "center" is the answer but it is not very clear.)

And how about the effect of start-indent and end-indent?
(probably should be aligned between start-indent and end-indent)


Regards,

Shinyu Murakami
Antenna House XSL Formatter team
http://www.antennahouse.com
Received on Wednesday, 27 June 2001 13:05:04 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:59:52 GMT