Работа с урду и арабскими именами в Python - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь работать с текстом на урду, но не могу получить правильный вывод.

name = '\xd9\x87\xd9\x84\xd9\x84\xd8\xa7 \xd8\xa7\xd9\x85\xd8\xa7\xd9\x86'
print name

OUTPUT
للا امان

желаемый выход
امان اللہ

пожалуйста, сообщите.

1 Ответ

0 голосов
/ 27 июня 2018

Я вижу две основные проблемы с вашим фрагментом.

Во-первых, в арабском языке есть специальные кодовые точки для целых слов, и слово, которое вы пытаетесь напечатать اللہ, называется ARABIC LIGATURE ALLAH ISOLATED FORM, то есть 0xFDF2 или 0xEF 0xB7 0xB2.

Если вы напишите его изолированно (каждый отдельный символ), вы не получите правильное представление.

Во-вторых, ваш шрифт в вашем терминале (или любом другом приложении, используемом для рендеринга текста) должен поддерживать глиф, и вы должны убедиться, что направление текста переключено справа налево.

Вот пример из онлайн-оболочки Python :

>>> print(u"\uFDF2")
ﷲ

Поскольку эта оболочка не настроена справа налево, вы можете видеть, что она печатает слева направо.

...