Kivy Advent Calendar 7日目 Kivyで日本語を表示する

  • 最初に

下記のようにコードを変更します。

# -*- coding: utf-8 -*-                                                                                                    

from kivy.app import App
from kivy.uix.button import Button

class HelloApp(App):
    def build(self):
        return Button(text = u'こんにちはKivy')

HelloApp().run()

実行すると以下のような残念な結果になります。

f:id:ytakeuch:20121207002422p:plain

  • システムフォントを使う

OS Xのフォントを使うためにはフォントのパスを指定します。

# -*- coding: utf-8 -*-                                                                                                    

from kivy.app import App
from kivy.uix.button import Button

class HelloApp(App):
    def build(self):
    return Button(text = u'こんにちはKivy', font_name = '/Library/Fonts/Osaka.ttf')

HelloApp().run()

f:id:ytakeuch:20121207003224p:plain

システムフォントを使う場合、デバイス毎に異なるフォントを指定しなければなりません。共通のフォントを使う方法を次に示します。

fonts/ 以下にIPAフォントを置きます。

下記のようにフォントの相対パスを指定します。

# -*- coding: utf-8 -*-                                                                                                    

from kivy.app import App
from kivy.uix.button import Button

class HelloApp(App):
    def build(self):
    return Button(text = u'こんにちはKivy', font_name = 'fonts/ipaexg.ttf')

HelloApp().run()

実行結果は次のようになります。

OS X

f:id:ytakeuch:20121207003648p:plain

iOS

f:id:ytakeuch:20121207003706p:plain