为什么字母数字字符串中的前导数字被转换为东部阿拉伯数字?

时间:2012-03-26 17:43:47

标签: windows arabic right-to-left

我正在尝试跟踪阿拉伯语版Windows(XP Pro x86 SP3)中出现的(C ++)Windows应用程序中的问题。

我们在对话框的静态文本字段中显示如下所示的密码:

0123456789ABC0123456789ABC

...和某事导致前导数字显示为阿拉伯数字:

٠‎١‎٢‎٣‎٤‎٥‎٦‎٧‎٨‎٩ABC0123456789ABC

请注意,只会影响前导数字。这让我觉得Windows的一些自动设施正在引起这种情况,但我搜索过MSDN并没有发现任何线索。我不太了解Windows中的从右到左的语言(或阿拉伯语),所以我不确定机制可能是什么,或者如何抑制这种行为。

任何有英语/阿拉伯语编写Windows应用程序经验的人都可以对此有所了解吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

这称为contextual digit substitution,有时也称为digit shaping。如第二个链接网页所示,您可以在U + 206F前加上强制欧洲数字。