On Nov 4, 2005, at 17:05, Luca Furini wrote:
Hi Manuel / Luca,
Manuel Mall wrote:
Here are some of the combinations I have identified:
<snip />
6. Breaking / elastic / non removable - eg. U+3000 Ideographic space
=> Must handle border/padding
=> Must handle text-align
Question: XSL-FO does not define U+3000 as removable white space
but would under common CJK typesetting conventions this be removed
at a line break?
I think so. That's precisely what the definition for the "auto" value
of suppress-at-line-break warns about. Does this mean that the use of
a fo:character is mandated if the user wants it removed? Yes, IMO.
Unless the editors can be persuaded to make U+3000 an exception to
the default "retain", like common spaces (U+0020), compliance means
treating this character maybe a bit counter-intuitively.
7. Breaking / elastic / removable - eg. U+0020 Space
=> Can occur in runs which must be wholly removed
=> Must handle border/padding
=> Must handle text-align
Any combinations I have missed, e.g. is there a "break / non
elastic / remove at break" case?
Maybe the fixed width spaces?
More generally: any fixed-width character, added through a
fo:character, implying a feasible/favorable break before or after,
and having suppress-at-line-break="suppress".
I could put:
<fo:character character="a" suppress-at-line-break="suppress" />
in a document, surrounded by non-collapsible whitespace, and the
formatter may decide to break before/after and drop the 'a'.
Fixed-width spaces could be viewed as a subset. If they aren't added
via a fo:character, they would belong to category 'break - non-
elastic - non-removable'. (speaking strictly XSL-FO)
Cheers,
Andreas