-
Notifications
You must be signed in to change notification settings - Fork 63
Lack of support for applying extra spacing between Chinese/Japanese and Western text #401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The first comment in this issue contains text that will automatically appear in one or more gap-analysis documents as a subsection with the same title as this issue. Any edits made to that comment will be immediately available in the document. Proposals for changes or discussion of the content can be made in comments below this point. |
This comment has been minimized.
This comment has been minimized.
The main problem with the workaround is the lack of control in how the widths of these spaces are adjusted. For Japanese spacing, the space glyph in whatever font is likely too wide and doesn't collapse correctly when the line is compressed. For Korean, the space character is always input for word spaces, but again the width is not correct and not contextually controllable (Latin-K versus K-K can be different). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Btw, i think this issue probably also applies to Thai and other scripts that don't use space as a word-separator, not just C&J. And you should probably create a stub, pointing here for the Japanese gap-analysis doc, so that we don't end up duplicating work. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I did consider Thai at the time of writing, but because Thai do use spaces (although not as a word-separator), I didn’t write it. If you are sure that Thai also has this requirement, I can write it in this issue. Or should I create a sealreq issue? |
I updated the links to reflect the refactoring of text-spacing in Feb 2023. |
Added a link to another Chromium issue. |
Added a link to another WebKit issue. |
Safari added support for the |
Uh oh!
There was an error while loading. Please reload this page.
This issue applies to Chinese and Japanese.
In Chinese and Japanese composition, it is usually recommended to apply extra spacing between Chinese/Japanese han/kana characters and certain other types of text to make the text read better. The gap is typically used between han/kana characters and Latin letters, numbers, or punctuation, and should be smaller than an ASCII space would be.
ASCII spaces are not only too wide, but they spoil the semantics and behaviour of the text.
More:
The GAP
Currently, browsers do not support this feature, so content authors have to work around the problem by adding spaces manually, but because this produces too wide spaces and inserts characters that are not appropriate into the text, many texts don't have any gap between these runs of text.
In the css-text specification,
text-autospace
is intended to create 1/8em extra spacing between runs of ideographs/kana and Western letters/numerals.In order to remediate texts where ASCII spaces have been used, the CSS text-autospace property also has a
replace
value, which will (without changing the underlying code points) replace the spaces with an appropriately-sized gap during the rendering of the text.Gecko, Blink, and Webkit browsers all fail to add the extra spacing between runs of ideographs and non-ideographic letters.
Priority
Given that, though not ideal, people have been forced to omit the gap or (worse) use ASCII spaces, this is prioritised as an advanced issue, however this is really a basic feature of Chinese/Japanese text, and so needs to be addressed.
Tests & results
text-autospace: ideograph-alpha ideograph-numeric; creates a thin gap between runs of han characters and both ASCII letters and digits in Chinese
text-autospace: ideograph-alpha ideograph-numeric; creates a thin gap between runs of kanji and both romaji letters and digits in Japanese
text-autospace: ideograph-alpha ideograph-numeric; creates a thin gap between runs of hiragana and both romaji letters and digits in Japanese
text-autospace: ideograph-alpha ideograph-numeric; creates a thin gap between runs of katakana and both romaji letters and digits in Japanese
text-autospace: ... replace; replaces ASCII spaces with a thin gap when adding text spacing in Japanese
Action taken
Gecko • Blink 1 • Blink 2 • WebKit 1 • WebKit 2 • WebKit 3
Outcomes
As of version 18.4 WebKit browsers now support
text-autospace: ideograph-alpha|ideograph-numeric
, but they don't yet support thereplace
keyword.Unicode proposal: EAST ASIAN AUTO SPACING (Proposal)
The text was updated successfully, but these errors were encountered: