Handling of text-align="justify" when nesting blocks
Editors, please consider the following inconsistency in the recommendation: Example: TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS A. whatever TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS B. 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
Re: Handling of text-align="justify" when nesting blocks
Luca Furini <[EMAIL PROTECTED]> schrieb am 03.09.2004 10:19:06: > Section 7.15.10 of the recommendation states that the property > text-align-last "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." Thanks for digging this out. I will make a suggestion to the xsl-editors to change the wording in 7.15.9 accordingly. Thanks, Arnd -- Arnd Beißner Cappelino Informationstechnologie GmbH
Re: Handling of text-align="justify" when nesting blocks
Arnd Beißner wrote: > 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. Section 7.15.10 of the recommendation states that the property text-align-last "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." So, as a fo:block generates a block-area that is not a line-area (its children are line-areas), I think line 2 should *not* be justified. Regards Luca
Re: Handling of text-align="justify" when nesting blocks
On Wed, Sep 01, 2004 at 10:10:52PM +0200, [EMAIL PROTECTED] wrote: > > TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES > TEST ENDS A. > > whatever > > TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES > TEST ENDS B. > > > The line 2 ( TEST ENDS A.) is the last line before the block "inner" > starts, but it's not the last line of the block with id "outer". The last > line of the block "outer" is: ( TEST ENDS B.). > > Get my point, or am I still being unclear? > > Can we safely assume the rec. means "block area" here instead of just > "block"? I think we can't, since then that would mean that the last line > on a page (or column) would also be formatted left-aligned instad of > justified even if it's not the last line of the block ("block" as in > "fo:block"). It sounds like you are right. This would apply to a displayed formula in a paragraph. Nobody would want a layout in which the last line before the display is justified, so there seems to be a problem here. Regards, Simon -- Simon Pepping home page: http://www.leverkruid.nl
Re: Handling of text-align="justify" when nesting blocks
"J.Pietschmann" <[EMAIL PROTECTED]> schrieb am 01.09.2004 22:48:17: > > > > TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES > > TEST ENDS A. > > > ... > > 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. > > It is the last line in the block. Trailing whitespace util the > closing tag is normalized away (or should be, FOP shows bugs here). > Why do you think it is otherwise? Hm, I think it's not the last line of the block. Let's see my example again, but this time with ids: TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS A. whatever TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS B. The line 2 ( TEST ENDS A.) is the last line before the block "inner" starts, but it's not the last line of the block with id "outer". The last line of the block "outer" is: ( TEST ENDS B.). Get my point, or am I still being unclear? Can we safely assume the rec. means "block area" here instead of just "block"? I think we can't, since then that would mean that the last line on a page (or column) would also be formatted left-aligned instad of justified even if it's not the last line of the block ("block" as in "fo:block"). Thanks for any input, Arnd -- Arnd Beißner Cappelino Informationstechnologie GmbH
Re: Handling of text-align="justify" when nesting blocks
[EMAIL PROTECTED] wrote: TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS A. ... 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. It is the last line in the block. Trailing whitespace util the closing tag is normalized away (or should be, FOP shows bugs here). Why do you think it is otherwise? J.Pietschmann
Handling of text-align="justify" when nesting blocks
Hi fopdevs, if you have time, consider this: TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS A. whatever TEST TEST TEST TEST TEST . ENOUGH TEXT TO FORMAT INTO MULTIPLE LINES TEST ENDS B. Now what would you expect: A: TEST TEST TEST TEST TEST ENDS A. whatever TEST TEST TEST TEST TEST ENDS B. OR 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. Right? FOP 0.20.5 does A. Any opinions? BTW: you can ignore any whitespace/linefeed-treatement issues here (all set to default): the above example formats the same with FOP if you put all of it in a single line. Thanks, Arnd -- Arnd Beißner Cappelino Informationstechnologie GmbH