как использовать неевропейский язык с библиотекой Python - PullRequest
2 голосов
/ 18 июня 2011

Я относительно новичок в программировании, и недавно я начал играть с pygame (набором модулей для написания игр на python).Я ищу создание программы / игры, в которой некоторые надписи, строки, кнопки и т. Д. Написаны на арабском языке.Я предполагаю, что Pygame должен поддерживать арабские буквы, и это, вероятно, нет?Или я мог бы использовать другую библиотеку GUI, которая поддерживает арабский язык, и использовать ее в унисон с pygame?Любое направление будет высоко ценится!

Ответы [ 3 ]

5 голосов
/ 18 июня 2011

Ну, сам Python использует Unicode для всего, так что это не проблема. Быстрый поиск в Google также показывает, что PyGame должен уметь отображать шрифты Unicode очень хорошо. Поэтому я предполагаю, что проблема в том, что он не может найти шрифты для конкретного языка, который будет использоваться для рендеринга.

Здесь является кратким примером PyGame, и особенно эта ссылка должна быть полезной.

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

Примечание: я сам не использовал PyGame, так что это основано на предположениях и некотором быстром поиске того, как PyGame отображает шрифты.

PS: Если вы хотите, чтобы игра работала надежно для всех ваших пользователей, возможно, стоит добавить в ваш шрифт шрифт с открытым исходным кодом, в противном случае вам потребуется некоторая методология, чтобы проверить, установлены ли у пользователя некоторые шрифты, которые будут работает нормально - вероятно, нетривиальная проблема, если вам нужна поддержка Xplattform.

0 голосов
/ 19 июня 2011

Оба предыдущих ответа великолепны.Также есть отличная встроенная функция python, которая называется unicode.Это очень просто в использовании.Я хотел написать текст на иврите, поэтому я написал функцию:

def hebrew(text):
    # Encoding that supports hebrew + punctuation marks
    return unicode(text,  "Windows-1255")

Затем вы можете вызвать ее, используя:

hebrew("<Hebrew text>")

И он вернет ваш текст в кодировке на иврите.

0 голосов
/ 18 июня 2011

Python поддерживает кодировку Unicode .

Установите правильное кодирование исходного файла со строкой вида # coding: [yourCoding] в самом начале вашего файла,Я думаю, # coding: utf-8 работает для арабского языка.

Затем добавьте свои строковые литералы с u, например так:

u'アク'

(Извините, если у вас не установлен японский шрифтэто единственный, который мне пригодился!)

Это заставляет python обращаться с ними как с символами юникода.Есть дополнительная информация, специфичная для арабского языка на этом сайте .

...