注意書き:
日本語表示するために、うまくいかず調べてたらすっきりする方法が見つかりました。下の方に、自分が調べた限り少ない記述でのやり方を書いてますが、記録としてめんどくさいやり方も残しておきますw
※読み返してみたらすぐ下に書いてあるコードがめんどくさいみたいにとれる感じがしたので書き直してます。
自分のめんどくさいやり方というのは
kvファイルのLabelに1個ずつ font_name: ~ を
書くやり方ですw(追加する部分が3つしかないので、気付くまでそれで対処しようとしてた)
ここからが本題
from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path
resource_add_path('./fonts')
LabelBase.register(DEFAULT_FONT, 'mplus-2c-regular.ttf')
記事通りならこれでとおるはずなんだが、自分の環境のせいなのか通らない。
記述が間違ってないかも確認したし、全コピペでもだめだった。
ttfファイルを置いた階層も間違ってないはずなのに・・・
対処法:
KvファイルのLableに
font_name: "HGRPP1.TTC"
これをはっつけた。
このファイルは自分の場合(Windows10)
CドライブのWindow/fonts の中からコピーして持ってきた
置いた場所は
main.py
test.kv
HGRPP1.TTC
と、いう感じ。
まだ枠数が少ないから4か所程度で済んだけど、大きいプログラムを作るときが来た場合のために、勉強しながら探していこう。。
ちなみに結果はこんな感じ。
なんとか日本語表示をすることは出来た。
補足:
このやり方だとこの記事の上の方に書いてあるコードはいらないです。
さっき調べたときに
:
font_name: "HGRPP1.TTC"
っていうふうに書くってのがあったんだけど、なんで出来ないんだろうって思ってたらインデントをミスってただけでしたw
最終的に日本語表示するときはこのやり方にしましたw
TextWidget:
<Label>:
font_name: "HGRPP1.TTC"
<MyButton@Button>:
font_sise: 68
<TextWidget>:
BoxLayout:
orientation: 'vertical'
size: root.size
# ラベル
Label:
size_hint_y: 0.7
id: label1
font_size: 68
text: root.text
color: root.color
BoxLayout:
size_hint_y: 0.3
padding: 20,30,20,10
Button:
id: button1
text: "朝"
font_size: 68
on_press: root.buttonCliked()
Button:
id: button2
text: "昼"
font_size: 68
on_press: root.buttonCliked2()
Button:
id: button3
text: "夜"
font_size: 68
on_press: root.buttonCliked3()
pyファイル(メインのファイル)と同じ場所に
紹介されていた記事の
mplus-2c-regular.ttfというファイルも配置すればちゃんと読み込んでくれました。
こんなかんじで。
ただ今後、音楽や画像などを使ったりするときはごちゃごちゃするのでsoundフォルダやimageフォルダ, fontsフォルダなどを作り
font_name: "./fonts/mplus-2m-medium.ttf"
と書いた方がフォルダの中がスッキリします。
(kvファイルの方にパス指定するとうまくいくんだよなぁ。。)
まぁこのやり方が記述短いしいっか!
そして現在17のところ!
起動時orサンプル1クリック時に同じ画像らしいんだけど、
起動時だと真っ白なんだよねえ・・
ボタンを押すと画像が切り替わる機能はちゃんと動いてるのになんでだろー。
2017/5/16
追記:
記事の作成者様から元記事の補足と訂正のコメントをいただきました。
解決しました!
ありがとうございます!