同一个字,为什么各地写法不同
适合谁看:遇到繁体、日文显示「看着别扭」,或者要做多地区产品、想弄清简繁和地区字形关系的人。
两种不同的差异
- 简体和繁体:是不同的字,有不同的编码。例如「国」和「國」。转换要用简繁转换工具,换字体解决不了。
- 地区字形:是同一个字、同一个编码,但各地的标准写法略有不同。例如「骨」字里面的部件,中国大陆和台湾、日本的写法方向不同;又如逗号、句号在中国大陆位于字面左下,在台湾、香港通常居中。
第二种差异是因为 Unicode 做了「汉字统一」:各地写法只是细节不同的字,合并成一个编码,具体长什么样交给字体决定[1]。
各地的字形标准
- 中国大陆:以《通用规范汉字表》等为准;
- 台湾:以「国字标准字体」为准;
- 香港:有《常用字字形表》;
- 日本、韩国:各有自己的汉字字形规范。
所以一款字体通常只符合某一个地区的规范。
思源字体的做法
思源黑体、思源宋体是 Adobe 与 Google 合作的开源泛中日韩字体,同一设计按地区分成多个版本[2]:
| 版本 | 地区 |
|---|---|
| SC | 简体中文(中国大陆) |
| TC | 繁体中文(台湾) |
| HC | 繁体中文(香港) |
| JP | 日文 |
| KR | 韩文 |
同一个字在 SC 和 JP 版本里可能长得不同。完整版本还可以通过 OpenType 的 locl(本地化形式)功能,按文本的语言标记自动切换字形[3]。
实际中会遇到什么
- 用日文字体显示中文:有的字会出现日本写法,标点位置也不对[4]。常见于没有中文字体、系统退回到日文字体的情况;
- 用简体字体显示繁体:繁体字可能缺字,退回到其他字体,一段话里字体忽大忽小;
- 网页:给页面写对语言标记(
<html lang="zh-CN">、zh-TW、zh-HK、ja),浏览器才会挑选合适的字体和字形。见《中文字体栈怎么写》。
怎么选
- 面向中国大陆读者:选 SC / 简体中文版本;
- 面向台湾、香港读者:选 TC / HC 版本,或明确标注支持繁体的字体;
- 多地区产品:按语言分别指定字体,不要让一款字体包揽所有地区。
缺字和方框问题,另见《繁体、日文、生僻字显示成方框怎么办》。
参考资料(4)
- 中日韩汉字常见问题(英文),Unicode 联盟
- 思源黑体(Source Han Sans)项目仓库,GitHub:adobe-fonts
- OpenType 功能标签 locl,Microsoft
- 中文排版需求 各地区标点位置示例,W3C