在 Unicode 中,为什么阿拉伯数字有两种表示形式?

2024-02-17

我正在阅读 Unicode @ Wikipedia 的规范(阿拉伯语统一码 http://en.wikipedia.org/wiki/Arabic_Unicode) 我发现每个阿拉伯数字都有 2 个 Unicode 代码点。 例如,1 定义为 U+0661 和 U+06F1。

我应该使用哪一个?


根据代码表 http://www.unicode.org/charts/、U+0660 .. U+0669 是阿拉伯-印度数字值 0 到 9,而 U+06F0 .. U+06F9 是扩展阿拉伯-印度数字值 0 到 9。

在 Unicode 3.0 书中(5.2 是当前版本,但这些东西一旦设置就不会发生太大变化),U+066n 系列字形被标记为“阿拉伯-印度数字”,U+06Fn 系列字形被标记为“东部阿拉伯-印度数字(波斯语和乌尔都语)'。 它还指出:

  • U+06F4 - “波斯语和乌尔都语中的不同字形”
  • U+06F5 - “波斯语和乌尔都语共享与阿拉伯语不同的字形”
  • U+06F6 - '波斯语字形与阿拉伯语不同'
  • U+06F7 - '乌尔都语字形与阿拉伯语不同'

用于比较:

  • U+066n: РСТУФХЦЧШЩ
  • U+06Fn:0123456789

或者,通过将信息制成标题来放大:

U+066n: РСТУФХЦЧШЩ

U+06Fn:0123456789

Or:

     U+066n    U+06Fn
0      ٠         ۰
1      ١         ۱
2      ٢         ۲
3      ٣         ۳
4      ٤         ۴
5      ٥         ۵
6      ٦         ۶
7      ٧         ۷
8      ٨         ۸
9      ٩         ۹

(您是否可以看到其中任何一个,以及它们的区别程度可能取决于您的浏览器和计算机上安装的字体以及其他任何东西。我可以清楚地看到 4 和 6 的差异;5 在两个都。)

根据此信息,如果您使用中东的阿拉伯语,请使用 U+066n 系列数字;如果您使用波斯语或乌尔都语,请使用 U+06Fn 系列数字。作为 Unicode 应用程序,您应该接受任一组代码作为有效数字(但您可能会怀疑混合两组数字的序列 - 或者您可能只是不理会)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Unicode 中,为什么阿拉伯数字有两种表示形式? 的相关文章

随机推荐