clreq
clreq copied to clipboard
[WIP] The glyphs of punctuation marks do not match the requirements for Chinese text layout
This issue applies to Chinese.
The glyphs in some system fonts do not match the requirements for Chinese text layout.
Below are the problematic code points.
- `U+2E3A TWO-EM DASH[⸺]`
- `U+2014 EM DASH [—]`: it should be vertically centred. It is not vertically centred in Microsoft JhengHei and Microsoft YaHei.
- `U+2026 HORIZONTAL ELLIPSIS`: it should be vertically centred. It is not vertically centred in PingFang, Microsoft JhengHei, and Microsoft YaHei.
- `U+2013 EN DASH [–]` should be vertically centred. It is not vertically centred in Noto Sans TC/SC, Microsoft JhengHei, and Microsoft YaHei.
- `U+00B7 MIDDLE DOT [·]`: it should have the same width or half the width of a Han character. It does not in PingFang, Noto Sans TC/SC, Microsoft JhengHei, and Microsoft YaHei.
The root cause of this problem is that some Chinese and Western punctuations share the same code points. See also requirements in clreq.
Tests & results: Interactive test U+2E3A TWO-EM DASH[⸺] will be vertically centred in Chinese.
It is not vertically centred in PingFang, Microsoft JhengHei, and Microsoft YaHei.
[TODO: To add more tests]
Priority: Given that a workaround is possible (i.e., changing the font), this is prioritised as an advanced issue.
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.
Relevant gap analysis documents include: Chinese
A quicker way to create and run tests for this is to send the characters to my font lister, eg. https://r12a.github.io/scripts/fontlist/?script=hans&text=%E2%80%A6%E4%B8%80%E2%8B%AF#result
That shows several fonts that you don't mention but which are problematic, such as Hei and Kai on the Mac.
Aside from adding new code points to address this and other CJK issues with Unicode, we may need to propose a comprehensive font solution for this issue (there are already some font features in place, but they are not supported everywhere). This issue is not only about certain code points' glyphs being biased to Latin typographic design when they lack a unique code point for CJK; other spacing requirements or rotation in vertical requirements are also lacking.
See also https://github.com/notofonts/noto-cjk/issues/278 .