【初心者向け】KivyによるWindowsアプリ作成9 日本語の表示方法

前回から引き続き、ログイン画面の修正を行っていきます。

今回は表示を日本語化する方法について紹介します。

<スポンサーリンク>

和文フォントファイルの入手

早速ですが、Kivyでは英文は適切に表示できるものの、日本語を表示しようと思うと文字化けしてしまいます。これは、Kivyが使うフォントファイルとして導入されているものが、和文フォントではなく欧文フォントであるためです。

そこで、まずは和文フォントを入手しましょう。

本記事ではIPAが公開しているフリーフォントのうち、IPAexゴシックフォントというものを使います。以下のリンクでIPAのサイトを開くと、ページ中ごろからIPAexゴシックフォントのzipファイルがダウンロードできます。

IPAexフォント ダウンロードページ

ダウンロードできましたらファイルを解凍の上、その中に含まれているttfファイルをPythonファイルとKvファイルを置いているフォルダ直下に保存して下さい。

使用するフォントの指定

続いて、先ほどダウンロードしたフォントファイルがKivyアプリで使えるように、Pythonファイルを更新します。

現在、main.pyの冒頭にはimport文が1行書かれていると思いますが、その下に2行ほどコードを追加します。

from kivy.app import App
from kivy.core.text import LabelBase, DEFAULT_FONT #追加

LabelBase.register(DEFAULT_FONT, "ipaexg.ttf") #追加

#以下略

2行目は、4行目の処理に必要なモジュールをインポートしています。

次に4行目ですが、ここはKivyが使うデフォルトのフォント(DEFAULT_FONT)にIPAexゴシックフォント(ipaexg.ttf)を登録しています。

これで日本語を使う準備は整いました。

Kvファイルの修正

それでは、Kvファイルを修正し、ウインドウ上の表示を日本語化してみましょう。

なお、現状でKvファイル上の日本語は、文字コードをShift-JISにして記述しなければアプリ上で文字化けしてしまいます。Atomのデフォルトの文字コードはUTF-8ですので、以下の手順により文字コードを変更します。

まずは、Atomのウインドウ右下の「UTF-8」をクリックします。

すると、文字コードの検索画面が表示されますので、検索ウインドウに「Shift」と入力し、結果として表示される「Japanese (Shift JIS)」を選択します。

すると、文字コードがShift-JISに変更されます。

この状態で、Kvファイルを修正しましょう。修正すべきところは、ラベル3か所とボタン1か所上の文字列ですが、それぞれ以下のように書き換えます。

  • text: “Login” ⇒  text: “ログイン画面”
  • text: “User” ⇒ text: “ユーザID”
  • text: “Password” ⇒ text: “パスワード”
  • text: “Login” ⇒ text: “ログイン” ※ボタン上の文字列

ログイン画面の日本語化のための対応は以上です。これで、プログラムを実行してみましょう。

いかがでしょう。無事に日本語は表示されましたでしょうか。

終わりに

今回はKivyアプリで日本語を表示する方法について説明しました。修正したファイルはGitHubにアップしていますので、必要に応じてご参照下さい。

GitHub

さて、残りの作業として、ログイン画面の表示面に関しては、ログイン失敗時にエラーメッセージを表示することができれば完成なのですが、それは一旦保留とし、次回はログインボタンを押したときに、次の画面(経費申請画面)へ遷移する処理を実装していきたいと思います。

<スポンサーリンク>

シェアする

フォローする