我正在尝试查找阿拉伯语版本的 Windows (XP Pro x86 SP3) 中出现的 (C++) Windows 应用程序中的问题。
我们在对话框的静态文本字段中显示如下密码:
0123456789ABC0123456789ABC
...并且某些东西导致前导数字显示为阿拉伯数字:
٠١٢٣٤٥٦٧٨٩ABC0123456789ABC
请注意,只有前导数字受到影响。这让我认为Windows的某些自动功能导致了这种情况,但我搜索了MSDN并没有找到任何线索。我不太了解 Windows 中从右到左的语言(或阿拉伯语),因此我不确定其机制是什么,或者如何抑制这种行为。
任何有编写英语/阿拉伯语 Windows 应用程序经验的人都可以阐明这一点吗?
感谢您的帮助。
最佳答案
这被称为 contextual digit substitution ,有时也称为 digit shaping 。正如第二个链接网页所示,您可以添加 U+206F 前缀来强制使用欧洲数字。
关于windows - 为什么字母数字字符串中的前导数字会转换为东部阿拉伯数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877014/