アプリから日本語を表示したい。日本語フォント導入済み実機で再挑戦!

以前、シミュレータで日本語表示に挑戦して失敗したわけですが、日本語フォント導入済みの実機なら、アプリからでも日本語表示できそうですよね。確認してみました!

文字コード指定と、直接文字指定で確認。

//UTF-8文字コード指定
 text_layer_set_text(s_text_layer, "Pebble\xE3\x83\x9E\xE3\x83\x80\xE3\x82\xAB\xE3\x83\x8A");
//直接指定
 text_layer_set_text(s_text_layer2, "Pebbleマダカナ");

cloudpebble

シミュレータ上では、いずれもごらんのありさま。

果たして、実機上では…

madakana

ジャジャーン!無事表示されました!プログラム中に表示文字列を日本語で直接書いても問題ないですね。

ついでに、実機で明るい場所だと、緑色がかなり白っぽく見えることに気が付きました。

もちろん漢字もOKですよ!

text_layer_set_text(s_text_layer, "Pebble到着から");
text_layer_set_text(s_text_layer2, "一週間経過!");

kanji

日本語フォントサイズは、導入する日本語フォントによって変わっちゃうから、アプリでキッチリとレイアウト作るのは難しそうです。

日本語表示部分は余裕持った感じにするか、Web的な折り返し考慮の縦スクロール前提にするかが必要そう。


ちなみに、Pebble Adventure でのカタカナフォント表示は、文字ごとのドットマトリクスをプログラム内に定義して、graphics_draw_rect を用いてプログラムで文字を描画しています。

pebbleadv_1


(追記)
下記ページで、追加フォントでの日本語表示成功の報告がありました!「CHARACTERS」でフォントファイルから取り込む文字を指定する必要があったのか…!

androidはおかず
「Pebble TimeのWatchfaceで日本語を表示」
http://blog.livedoor.jp/nobia1-android/archives/4423562.html