zhuque icon indicating copy to clipboard operation
zhuque copied to clipboard

针对不支持字体特性的软件,关于中西标点冲突的非标准解决

Open MY1L opened this issue 1 year ago • 7 comments

关于中西标点冲突,及统一码欠收录标点

(此处略去因历史原因,有些(半个)中文标点就是等同西文标点的问题。标点名及描述依新华字典)

  1. 破折号:横线、两倍全角、对齐汉字、不中断两端不顶格,当前编码方案与—(U+2014)冲突,~统一码或应收录~ (见下文破折号章节)
  2. 省略号:六点、两倍全角、对齐汉字,当前编码方案与…(U+2026)冲突,统一码应收录;
  3. 间隔号:圆点、全角、对齐汉字,与·(U+00B7)冲突;
  4. 引号:全角,蝌蚪形(弯引号),与“‘’”(U+201x)冲突,尤其隔音号就是「’」;
  5. 着重号:形如汉字下一圆点,统一码欠收录
  6. 专名号:限古籍和文史著作,形如专名下一横线,专名之间断开(如“成都司马相如”,断在“都司”之间),欠编码方案,统一码难以收录
  7. 浪线:限与专名号配合,替换书名号,欠编码方案,统一码难以收录

——新华字典没提的如示亡号没写。上述标“统一码收录”是指这这些标点应当视为一个2倍字宽、换行不中断的标点,而不是需要连打2次的标点。

目前大多东亚字体对此有各异的策略,但皆不能解决中西混排出现难堪的情况,特别是—— 把「’」做成全角,导致夹的西文「I’m」成了「I’ m」。思源也尤其依赖特性解决破折号,而且有问题。

破折号

我选择—(U+2014)默认为西文em线,维持Alegreya原状。 而~西文~标点⸺(U+2E3A TWO-EM DASH : omission dash)我考虑已知中西混排文献里不像「’」常用,不如说难得一见,则默认为两倍全角、对齐汉字、两端不顶格,充当破折号代餐。 不支持字体特性的软件需要复制粘贴使用。 思源的问题在连⸻(U+2E3B THREE-EM DASH)也做了还加入特性,不仅导致横排时撑行距(https://github.com/ichitenfont/I.Ming/issues/18#issuecomment-592688071 ),而且遇到4连击————就很难看了,我认为特性应当考虑此类不按章法来的情况。

更新:留意到统一码码表认可此标点用于中文,划去上文“西文”的描述。 image

省略号

我选择…(U+2026)默认为西文3点略号,维持Alegreya原状。 将⋯(U+22EF)做成全角、对齐汉字来冒充,因为这个符号是数学省略号,统一码没规定宽度,而东亚字体的“⋯”一般是设为全角的,如Adobe 宋体 Std、MS Gothic… 不支持字体特性的软件需要复制粘贴使用。 最佳解法当然是让统一码收个六点省略号,现在连代餐都没有😓

间隔号

我选择·(U+00B7)默认为西文中点,维持Alegreya原状。 将日文中点・(U+30FB KATAKANA MIDDLE DOT)做成全角、对齐汉字充当间隔号,这个在语义上应该问题不大? 不支持字体特性的软件需要复制粘贴使用。

引号

我选择默认西文弯引号,维持Alegreya原状。 注意到有提案:https://www.unicode.org/L2/L2023/23212r-quotes-svs-proposal.pdf 那么朱雀可以提前支持全角引号VS(变体序列),但问题是不支持字体特性的软件是否支持VS,似乎支持VS的软件更广泛?https://github.com/TrionesType/zhuque/issues/19#issuecomment-1775014300 关于代餐符号,我只见过一个人用❝❛❜❞(U+275x HEAVY ~ COMMA QUOTATION MARK ORNAMENT,属于2700 Dingbats区段的Ornament,甚至不是标点)当蝌蚪引号的。是否有必要选择这个?

统一码欠收录、难以收录的标点

目前无解,请大家设计编码方案。网页CSS都很难做到专名之间断开而专名不断。

字体实例

我制作了一个示例:https://github.com/MY1L/Plur/releases/tag/ZhuQue 请检查有无问题。

关于半角问题

西文标点是比例宽度并非等于半角,同时默认与小写西文对齐,显得各种括号在汉字靠下位置。一个高级西文字体往往还内置一套与大写西文对齐的标点,但不直接暴露给用户,在遇到上下文为大写时自动通过case特性调用。朱雀目前借用的Alegreya就藏了52个case标点字形以及几十个lf数字(大写平齐)

不支持字体特性的软件是无解的,中文西文总有一方难看。难道要用私用区吗。 目前策略是除了上述冲突情况,仅位于3000中日韩符号及标点 FF00半角及全角区段的默认做成中文标点(因为西文必然不用),其它皆小写西文标点,依赖特性改变。

MY1L avatar Dec 27 '23 02:12 MY1L