Skip to content

The glyphs of punctuation marks do not match the requirements for Chinese text layout #430

@xfq

Description

@xfq

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[⸺]`: it should be vertically centred. It does not exist in PingFang SC/TC, Microsoft JhengHei, and Microsoft YaHei.
  • `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 SC/TC, 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 SC/TC, 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 The glyphs of punctuation marks will match the requirements for Chinese text layout.

  • PingFang SC: U+2E3A ❌ U+2014 ✅ U+2026 ❌ U+2013 ❌
  • PingFang TC: U+2E3A ❌ U+2014 ✅ U+2026 ❌ U+2013 ❌
  • Microsoft JhengHei: U+2E3A ❌ U+2014 ❌ U+2026 ❌ U+2013 ❌
  • Microsoft YaHei: U+2E3A ❌ U+2014 ❌ U+2026 ❌ U+2013 ❌
  • Noto Sans TC: U+2E3A ✅ U+2014 ✅ U+2026 ✅ U+2013 ❌
  • Noto Sans SC: U+2E3A ✅ U+2014 ✅ U+2026 ✅ U+2013 ❌

Priority:
Given that a workaround is possible (i.e., changing the font), this is prioritised as an advanced issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    doc:clreqUsed for gap analysis (only) to indicate target document.gapThe first comment in this issue is read by the gap-analysis document.i:fontsFonts & font stylesl:zhChinesep:advanceds:haniChinese script

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions