我将手机调成韩语了 然后我的手机字体都变了 不知道为什么 哪位能告诉我怎么回事吗?什么情况啊?

发布时间:
2024-07-02 17:49
阅读量:
35

这是因为Unicode在编码中日韩文字的时候,为了节省码位,用了一种非常恶劣且愚蠢的方式:把中文、日文、韩文(朝鲜文)中的汉字混在一起编码,并且把不同语言中相似的汉字视作同一个字符。这种方式被称为表意文字认同原则[1]

U+95E8,门

U+95E8,也是门 ,只不过是日语环境

结果就导致了非常糟糕的后果——这两个“门”字,还有题主提到的两种“骨”、两种“浅”之类的字,在计算机看来完全是同一个字。我们平时用的是简体中文环境,字形就按照简体中文的样式来显示;像题主切换到了韩文环境,字形就全部按照韩文的样式来显示了,把简中的骨显示成了韩语的骨。

目前临时的解决办法主要有2个。一种是单独声明每种语言。比如在维基百科中,简中语言下默认显示中国写法的“门”字(上面第1张图),这时如果必须要显示日本写法的“门 ”(上面第2张图),就会用到特殊标记:{ lang | ja | 门 }[2],在页面上这串标记就会显示为日本写法的“门 ”(上面第2张图)。至于怎么显示出不同的字形,就看开发者和字体的水平了。

另一种是变体选择符[3]。这是官方提供的办法,在普通字后面跟一个隐形的变体选择符,就会显示为对应的字形。比如正常输入“门”,显示的是中文的“门”;而输入“门2”(此处用2代表变体选择符)时,就会显示成日本写法的“门 ”。但是现在的字体对变体选择符的支持特别差,所以几乎看不到这种用法。

而Unicode编码应用了这么多年,也已经很难纠正这些错误了。真要纠正的话,只能寄希望于主流字体和软件都广泛支持变体选择符,或者Unicode重新给中日韩的汉字单独分区(不可能的事)。

END