W3C home > Mailing lists > Public > xsl-editors@w3.org > July to September 2004

Handling of text-align="justify" when nesting blocks

From: <arnd.beissner@cappelino.de>
Date: Fri, 3 Sep 2004 09:40:45 +0200
To: xsl-editors@w3.org
Cc: fop-dev@xml.apache.org
Message-ID: <OFC098D705.1DBBE839-ONC1256F04.0028DBE5-C1256F04.002FA015@cappelino.de>

Editors,

please consider the following inconsistency in the recommendation:

Example:

<fo:block text-align="justify">
TEST TEST TEST TEST ..... ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES 
..... TEST ENDS A. 
<fo:block>
whatever
</fo:block>
TEST TEST TEST TEST ..... ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES 
..... TEST ENDS B.
</fo:block>

Now what would you expect:

Version A:

TEST TEST TEST TEST
TEST ENDS A.
whatever
TEST TEST TEST TEST
TEST ENDS B.

OR

Version B: (second line is justified)

TEST TEST TEST TEST
TEST   ENDS      A.
whatever
TEST TEST TEST TEST
TEST ENDS B.

Common sense would probably say "A":

But, 7.15.9 of the rec says:

The last (or only) line of any block, and any lines in the block ending in 

U+000A, will be aligned in accordance with the "text-align-last"
property value. If such lines are to be justified specify
"text-align-last='justify'".

In the example, line 2 is neither the last nor the only line of a block, 
and it's also not a line ending in U+000A, so it should be justified.

In contrast to this, 7.15.10 (text-align-last) says
(thanks to Luca Furini for the hint):

"Specifies the alignment of the last line-area child of the last
block-area generated and returned by the formatting object, and to any
line-area generated by the formatting object whose following sibling is a
block-area that is not a line-area, and any lines in the block ending in 
U+000A."

If 7.15.9 were worded like 7.15.10, the example would be formatted like
in Version "A", which is probably what the editors intended.

7.15.9 and 7.15.10 now clearly contradict each other, IMO.
My suggestion is to change the cited portion of 7.15.9 to the
following wording:

"The last line-area child of the last block-area generated and returned
by the formatting object, and any line-area generated by the formatting
object whose following sibling is a block-area that is not a line-area,
and any lines in the block ending in U+000A, will be aligned in accordance
with the "text-align-last" property value. If such lines are to be
justified specify "text-align-last='justify'".

Thanks for considering this,

Arnd
-- 
Arnd Bei▀ner
Cappelino Informationstechnologie GmbH
Received on Friday, 3 September 2004 08:40:40 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:29 UTC