Я использую японские символы в графическом интерфейсе пользователя, используя python-gtk. Однако, вместо того, чтобы видеть японские символы, я вижу квадраты с буквами и цифрами внутри. Я думаю, что я должен использовать pango, чтобы исправить эту проблему. После прочтения документации pango http://people.redhat.com/otaylor/pango-mirror/xfonts.shtml, я понимаю, что я должен использовать xfonts, которые присутствуют в виде растровых изображений, в отличие от обычных шрифтов. По-видимому, в pango для xfonts существует другое правило, но на самом деле не совсем ясно, что делать.Как использовать японские символы в pygtk?
Вот мой код (я на самом деле пытаюсь напечатать слово «японский» на японском языке на экране):
jap_lang = u"\uFF62 \u65E5 \u672C \u8A9E \u300D"
button_language = gtk.Label()
button_language.set_label(jap_lang)
На сайте http://people.redhat.com/otaylor/pango-mirror/design.shtml я прочитал, что Pango предоставляет виджеты этикетки, которые прозрачно поддерживают Unicode и мульти - текстовый текст. Являются ли метки gtk, поддерживающие Unicode, так как gtk использует Pango? Или мы должны использовать явные метки Pango?
p.s. Сначала я думал, что японский шрифт не поддерживается моим компьютером, но даже после установки модуля xfonts-intl-japanese (с apt-get на Linux) символы, показанные на экране, не были японскими.
п.с.2. Когда я пишу:
jap_lang = u"\u2030"
вместо японского символов Unicode, символ показан это символ промилле. Так что он работает для обычных шрифтов (вместо xfonts)
Ваш пример отлично работает для меня (Python 2.7, GTK3 на Ubuntu 13.10). Что вы видите, когда пытаетесь использовать японский? Вам не нужно делать ничего особенного, чтобы поместить японский в виджет Gtk, если у вас установлены подходящие шрифты (я использую Takao). Конечно, не беспокойтесь о ужасных, архаичных растровых xfonts. – bobince
большое спасибо. Я установил Takao, и теперь он работает :-) –