Closed xfq closed 2 years ago
(Also adding the i18n-jlreq
label. Although this is mainly a use case for Chinese, since U+3000 is also used in Japanese, it may affect the use of Japanese, so it is an FYI for the jlreq folks.)
U+3000 is used in Japanese text sometimes - mostly in two cases, one major is the full-width line head indent at the beginning of a paragraph (which could be replaced with css-text feature now), and another is the full-width spacing right after dividing punctuation marks (e.g. !
). For latter, usually U+3000 will be collapsed at the line end. (cf. https://w3c.github.io/jlreq/#positioning_of_dividing_punctuation_marks)
I think that conflicts with the default rules in the current css-text spec.
I don't think it does. The current spec does not remove or collapse ideographic spaces and the start or end of lines, that only happens to collapsible spaces, and ideographic spaces aren't part of that.
Ideographic spaces at the end of the line do hang (by default), but that's a separate question, which I believe is appropriate.
I think that conflicts with the default rules in the current css-text spec.
I don't think it does. The current spec does not remove or collapse ideographic spaces and the start or end of lines, that only happens to collapsible spaces, and ideographic spaces aren't part of that.
Indeed. However, for line breaking, U+3000 is currently BA (tailorable) per UAX #14
and that conflicts with the requirements of Nuo tai. Perhaps this is something that should be tailored by the UA when lang
is zh
.
The BA class suppresses breaks before the character. In addition to that, css-text requires end-of-lines U+3000 to hang. For general use, I think that's the expected behavior. The 神
usage is very specific, and doesn't follow the usual rules. I would expect text intending to use that convention to adopt special markup. Maybe something like
起初<span class=god> 神</span>创造天地
which is then styled as
.god {
white-space: break-spaces;
line-break: anywhere;
}
The BA class suppresses breaks before the character. In addition to that, css-text requires end-of-lines U+3000 to hang. For general use, I think that's the expected behavior.
I might be missing something, but it looks like what BA does is the opposite of Nuo tai does. The BA class suppresses breaks before the character, while U+3000 in Nuo tai suppresses breaks after the character. After reading the definition of hang in css-text, I am not sure how it will help this use case either.
The person's name and the ideographic space in Nuo tai, like Arabic numerals and the minus sign or currency symbol before them, cannot be split into two lines. What BA prohibits is the line break before the space, not the line break after the space.
神
use caseThe
神
usage is very specific, and doesn't follow the usual rules. I would expect text intending to use that convention to adopt special markup. Maybe something like起初<span class=god> 神</span>创造天地
which is then styled as
.god { white-space: break-spaces; line-break: anywhere; }
Sounds fine to me. Thanks.
I'm not quite sure why this issue was closed as retracted. Quoting my comment in https://github.com/w3c/csswg-drafts/issues/6903#issuecomment-999512035 :
it looks like what BA does is the opposite of Nuo tai does. The BA class suppresses breaks before the character, while U+3000 in Nuo tai suppresses breaks after the character. After reading the definition of hang in css-text, I am not sure how it will help this use case either.
Unless I understood it wrong, I don't think the Nuo tai part of the issue has been resolved, so I'll reopen this issue.
@xfq because afaict your comment landed on "requires no change to spec, just authoring practice". If you want something different, you need to be clearer about what you want.
Maybe I wasn't clear enough, so let me try again.
This issue is about two use cases related to ideographic spaces at the beginning or end of lines, and the requirements of these two use cases are different. The first use case is explained in https://github.com/w3c/clreq/issues/411#issuecomment-997154843 and the second use case is explained in https://github.com/w3c/clreq/issues/411#issuecomment-997156623 . I'm happy to answer specific questions if the explanation in the clreq issue isn't clear.
I also edited the comment @fantasai quoted and added two headings and an hr
to make it clearer.
@frivoal suggested special markup and style for the second use case ( 神
), which I agree with.
And for the first (Nuo tai) use case, from what I understand, this is in conflict with BA, The BA class suppresses breaks before the character, while U+3000 in Nuo tai suppresses breaks after the character. That's why I didn't think the problem is fully resolved.
Is it clearer now?
@xfq The second case also requires either markup or Unicode formatting characters to add/suppress the break opportunities around U+3000. It's not something we can detect automatically, we cannot automatically detect this usage and distinguish it from other uses of U+3000 within Chinese.
OK, I'll close or comment on this issue after checking with the clreq folks about whether they're satisfied.
In Chinese text layout, IDEOGRAPHIC SPACE (U+3000) may appear at the beginning or end of a line, and should not be collapsed or moved. See https://github.com/w3c/clreq/issues/411#issuecomment-997154843 and the following comment for details. I think that conflicts with the default rules in the current css-text spec. Is there anything we can do for this use case?