前の頁へ   次の頁へ

老い学の捧げ物 PartⅡ

4.日本語化

記号ではボタンの意味が分かりにくいので、日本語で表示しましょう。先ずmain.pyと同じフォルダにfontフォルダを作成します。そして任意の日本語フォントを選んでfontフォルダに配置します。Gは ’ipaexg.ttf’ を選び、fontフォルダに入れて配置しました。kvファイルでは、日本語を表示したい箇所を日本語にします。そして main.pyに下記の5行を追加します。
 import urllib.request
 from kivy.core.text import LabelBase, DEFAULT_FONT
 from kivy.resources import resource_add_path
 resource_add_path("font")
 LabelBase.register(DEFAULT_FONT, "ipaexg.ttf")

実行画面は以下のようになります。ちゃんと日本語で表示されていますね。

main.pyです。
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
import urllib.request
from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path
resource_add_path("font")			# fontフォルダへのpath
LabelBase.register(DEFAULT_FONT, "ipaexg.ttf")	# 使うフォントファイルを定義

class MyLayout(BoxLayout):
	pass

class MemoApp(App):
	pass

if __name__ == '__main__':
	MemoApp().run()
kvファイル(memo.kv)です。
MyLayout:
    BoxLayout:
        orientation: 'vertical'

        BoxLayout:
            orientation: 'horizontal'
            size_hint_y: None
            height: '48dp'
            padding: '2dp'

            canvas:
                Color:
                    rgb: 0, 1, 0
                Rectangle:
                    pos: self.pos
                    size: self.size

            Button:
                text: 'リスト'
                size_hint_x: None
                width: self.height

            TextInput:
                id: text_box
                font_size: '16sp'
                multiline: False
                hint_text: 'タイトル'

            Button:
                text: '消去'
                size_hint_x: None
                width: self.height

        TextInput:
            id: text_box_2
            font_size: '16sp'
            multiline: True
            hint_text: 'メモ内容'

ところが Windows10で起動し TextInputに日本語を入力してみると、思うように改行されずちょっと変です。しかしこの現象は、 Linux(Ubuntu)では見られませんでした。なお、android用の apkファイルをビルドしてスマホで起動してみましたが、IMEにひらがなが表示されず、日本語入力ができません。英語であればメモを入力可能です。今のところこの現象は Gには解決不可能なので、放置して先に進みます。

前の頁へ   次の頁へ