Почему первые цифры в буквенно-цифровой строке преобразуются в восточно-арабские цифры? - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь отследить проблему в приложении (C ++) для Windows, которая возникает в арабской версии Windows (XP Pro x86 SP3).

Мы отображаем пароль наподобиеследующие в статическом текстовом поле в диалоговом окне:

0123456789ABC0123456789ABC

... и что-то вызывает отображение начальных цифр в виде арабских цифр:

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

Обратите внимание, что затронуты только первые цифры .Это заставляет меня думать, что это вызвано каким-то автоматическим средством Windows, но я искал MSDN и не нашел никаких подсказок.Я не очень разбираюсь в языках с написанием справа налево в Windows (или арабском в этом отношении), поэтому я не уверен, каким может быть механизм или как подавить такое поведение.

Может ли кто-нибудь с опытом написания приложений для Windows на английском / арабском языке пролить свет на это?

Спасибо за любую помощь.

1 Ответ

4 голосов
/ 26 марта 2012

Это известно как контекстная замена цифр , иногда также называемая формирование цифр . Как показывает вторая связанная веб-страница, вы можете использовать префикс U + 206F для ввода европейских цифр.

...