和暦で日付を表示する Pebble の Watchface です。
書類などを書く際に確認しやすい時計です。
バッテリーが半分以下に減った時には画面上部にバッテリー残量表示が現れます。
祝日の表示もします。
Pebble、Pebble Time、Pebble Time Roundに対応しています。
日本語リソース、日本語フォントをインストールしていないPebbleでも動作します。
https://apps.getpebble.com/en_US/application/52ddceea6094ff6bf000001d
開発
和暦で年月日を表示していますが、一番下にUS表記でも日付を表示しています。
シンプルに表示させたかったので白バックに黒文字にすることでバックライト無しでも見やすくしてみました。
せっかく平成の年号を表示するようにしたので日本の祝日には旗を出してみるようにしてみました。
振替休日は旗日じゃないので旗の表示は無しです。
振替休日の他にも「国民の休日」というものもあり、ルールはちょっと複雑です。内閣府の資料等を参考にしています。
こうして祝日データを2年分作ってみました。こういうのがバグの元になったりするのですがね。来年以降の祝日は変更になる事があるのでニュースをみながら修正していきます。
今回は漢字を表示してみたのですが、これはフォントではなくて画像を表示させているだけです。
指定したPNGファイルを表示させるだけであれば割と簡単な話です。
しかし最初に作ったものは1時間くらいすると時刻を表示しなくなるという現象がでてしまいました。
参考に「Big Time」のソースを見てみたら画像の書き換えの時にオブジェクトを解放してまた作りなおすというようなことをしていました。ビットマップを書き換える様な部分はその手の処理をする必要がありそうです。文字盤の画像のように一度表示したら変更しないものにはこの処理は不要です。
ということで書き換え毎にdestroyしてcreateするようにしたら問題は解消しました。24時間以上問題無く動きました。
テキストの部分はこの手の処理は要らないようでした。(した方がいいのだろうけど)
Pebbleはメモリが非常に小さいためにこういう問題が出やすいようです。
「Big Time」のソースをみたら本体設定の24/12表示切り替えの方法が非常に簡単だったのでついでに実装してみました。
やる気があるうちにPebble TimeとPebble Time Roundに対応しました。ちょっとカラーになったのと丸いディスプレイ用に調整しただけですが。「#ifdef PBL_ROUND」「#ifdef PBL_COLOR」で調整する部分を追加しただけです。(2015/11/15)
今後の予定
- 祝日表示のON/OFF
- 画面の白黒反転(できたらやってみるかも)
バグ
- 表示不良
- 「10月」の「1」が表示されない問題に対応しました。(2014/10/01)
フォントの話。
最近のPC用フォントはアンチエイリアスがかかっているときにきれいに表示されるのですが、白黒で表示するとイマイチです。Pebbleは残念ながら白黒のディスプレイです。そのために表示に使用するフォントは古いビットマップフォントの方がきれいに表示できることがあります。
今回は表示用に「Narita2.2」の12ポイントを二倍に拡大して使用してみました。ガタガタでも味のある文字です。
Naritaフォントは大類聡明氏作のフォントで、MacがMacintoshと言われていた時代のSystem7の初期に多くのユーザがシステムフォントの置き換えのために使用していました。
Macで使われた後にも日本語化したPalmで使用されたりと非常になじみ深いフォントです。
(元ネタはさらに昔のSweetJAMの漢字フォントですね。)
この画像をキャプチャするためにエミュレータの mini vMac を久しぶりに起動してみました。
祝日の名前は当時の9ポイントOsaka。縦が8ドットしかないので嘘漢字ばかりですが読む事ができます。