字体渲染—¥还是Ұ?
总所周知,”羊角符号¥“被用于来表示人民币,但是这个羊角符号 Y 中间应该是两道水平线还是一道水平线呢?这是一个比较常见的问题,在前端开发中,往往设计师给出的设计稿是两道水平线但是在某些设备上却被显示成中间只有一道水平线的符号。
货币符号
¥是以下两种货币的符号:
- 日元(JPY)
- 人民币(CNY)
它们的货币单位都是圆,符号由拉丁字母Y和两道平行水平线组成。在中国大陆早期多使用一道水平线,现在则多使用两道水平线。使用拉丁字母Y的原因是圆的中文和日语在英文中的拼写分别是yuan和yen,它们的首字母都是Y。
所以其实单单使用¥作为货币符号是有歧义的,它既可能指的是日元也可能是人民币,在混淆的情况下可以使用RMB¥来作为人民币符号,也可根据ISO 4217将日元写作JP¥,将人民币写作CN¥。
计算机中的表示
在 HTML 中¥的实体是¥,Unicode 码点为¥和¥(16 进制)。
虽然现在多使用两道水平线的羊角符号来表示yuan或yen,但是在不同的字体/字重(font-weight)中仍然可能存在差异,部分字体的实现是中间只有一道水平线,虽然它们的实际含义是相同的。比如在”微软雅黑“中实现为两道水平线,但是在”Tahoma“中却只有一道水平线。
在移动端的字体渲染也可能存在差异,比如在小米手机中”miui“字体普通字重的实现为两道水平线,粗体为一道水平线,“miuiex”的实现都为一道水平线。
西里尔字母
其实标题中的¥和Ұ是两个完全不同的字符,这里有一点标题党了,之前谈到的水平线数量的差异是指的货币符号,虽然它们的字体实现可能不同但是在计算机中内部表示却是一致的。但是Ұ却是另外一个字符,它是一个西里尔字母,主要使用于哈萨克语中。
在计算机表示中,大写的Ұ和小写的ұ Unicode 分别表示为 Ұ 和 ұ)。
总结
现代表示货币符号的¥用于表示人民币或者日元,Y 中间水平线的数量取决于字体的实现,Ұ表示一个西里尔字母。
原文出处 https://github.com/Jiavan/jiavan.github.io 觉得对你有帮助就给个 star 吧