Я пытаюсь получить японские символы в своем приложении. Из документации и других источников я обнаружил, что Label (text = u '我 是 中文', font_name = 'fonts/ARIALUNI.TTF') должен работать (шрифт arialuni должен иметь возможность обрабатывать японские/китайские символы). Однако мне интересно, как это указать на языке Kivy в .kv-файле? Это то, что я пробовал:Kivy Encoding Japanese (Unicode)
main.py:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
class Design1(BoxLayout):
pass
class KanjiLayoutApp(App):
def build(self):
return Design1()
if __name__ == '__main__':
KanjiLayoutApp().run()
kanjilayout.kv:
<Design1>:
orientation: "vertical"
Label:
font_name: 'data/fonts/ARIALUNI.TTF'
text: u'速 dsf'
Однако это дает мне "ушного € Y DSF". Также текст: «速 dsf» без u не работает.
p.s. добавление あ い (кана) к тексту: текст: '速 DSF あ い' дает еще больше ошибок: UnicodeDecodeError: 'CharMap' кодек не может декодировать байт 0x81 в позиции 369: символ сопоставляется < Undefined>
Полный кана (хирагана) Ошибка: Traceback (самый последний вызов последнего): Файл . "D: \ Apps \ KanjiLayout \ main.py", строка 16, в KanjiLayoutApp() запустить() File " D: \ Apps \ _Kivy-1.8.0-py3.3-win32 \ kivy \ kivy \ app.py ", строка 765, в запуске self.load_kv (filename = self.kv_file) Файл" D: \ Apps \ _Kivy-1.8.0-py3.3-win32 \ kivy \ kivy \ app.py ", строка 585, в load_kv root = Builder.load_file (rfilename) Файл" D: \ Apps \ _Kivy-1.8.0- py3.3-win32 \ kivy \ kivy \ lang.py ", строка 1433, в load_file data = fd.read() Файл" D: \ Apps \ _Kivy-1.8.0-py3.3-win32 \ Python33 \ Lib \ кодирование s \ cp1252.py ", строка 23, в декоде –
NumesSanguis
, может быть, попробуйте' text: u '\ u9FXX dsf' или что бы то ни было, а не буква символа –
return codecs.charmap_decode (input, self.errors, decoding_table) [0] UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x81 в позиции 369: символьные карты на < undefined> – NumesSanguis