« 火災報知器設置 | トップページ | W62SA ピクトアイコン【その2】 »

2008年5月24日 (土)

W62SA ピクトアイコン自作【その1】

携帯機種変更したのでいろいろ触っていたら、どうも電池容量と電波強度のアイコン(ピクトアイコンと言うらしい)を変更出来るらしい(元々SANYOとCASIOは出来たらしい)。
「ピクト設定」と言うメニューがあって、その説明を見ると「電池、アンテナピクトのデザインを変更します」とある。

で、Webで検索してみると、自作も出来るらしい。

#メニュー等も自作出来るみたいだけど結構面倒そう。

Webで調べて分かったのは、

・元画像はPNG
・W62SAは(多分)44ドット×180ドット(1ピクト(22×18ドット)を2×10集めた物)らしい
 実際は上10個が通常使用されるアイコン。下10個は省電力モード時に使用されるアイコンらしいが、
 W62SAにデフォルトで登録されている電池・アンテナピクトも先頭の10個分しか登録されていないので下10個は未使用っぽい。
・実際の拡張子はPDL(これはマニュアルに載ってる)
・PDLはPNGに独自のダウンロード用ヘッダを付加したもの
・独自ヘッダの中に各機種固有の文字列を埋め込むとmicroSDからも登録可能になる(それ以外の機種用でもWebからダウンロードならOK)。

くらい。

でも、いちいちWebからダウンロードしてたらパケット代が勿体無いので、W62SA用の埋め込み文字列を確認してみる。

※ここで一応お断り
※以下の情報は私が勝手に調べたり試したりしたものです。何かお試しになる場合でもご自分の責任に於いてお試し下さい。

まずはW31SAとW33SA用のヘッダ付与プログラムを入手。
実際にPNGファイルをPDLに変換して独自ヘッダの内容を調べると、独自の文字列は、
 W21SA SANYO-PCT001
 W22SA SANYO-PCT002
 W31SA SANYO-PCT003
 W33SA SANYO-PCT005

らしい。
あとWebで調べたら以下の情報は探せた。
 W32SA SANYO-PCT004
 W41SA SANYO-PCT006
 W51SA SANYO-PCT009

これを元にauのWeb上にある機種別のデバイスIDを調べてソートした結果
※デバイスIDでソートしたのは、この順番で内部のコードが決定していると考えた為。

 W21SA SA31 SANYO-PCT001
 W22SA SA32 SANYO-PCT002
 W31SA SA33 SANYO-PCT003
 W32SA SA34 SANYO-PCT004
 W33SA SA35 SANYO-PCT005
 W41SA SA36 SANYO-PCT006
 E02SA SA37
 W43SA SA38
 W51SA SA39 SANYO-PCT009
 W52SA SA3A
 W54SA SA3B
 W61SA SA3C
 W42SA ST31
 W53SA ST32
 W55SA ST33
 W62SA ST34

これを見ると
 E02SA SA37 SANYO-PCT007
 W43SA SA38 SANYO-PCT008
は恐らく間違いないところ(デバイスIDの下1桁がそのまま埋め込み文字列の下1桁になっている)。

で、そう考えると、W61SAまでは
W52SA SA3A SANYO-PCT00A
W54SA SA3B SANYO-PCT00B
W61SA SA3C SANYO-PCT00C
だろうと予想がつくのだが、W42SA、W53SA、W55SA、W62SAはデバイスIDが今までの並びと違う(今まではSA(SANYO?)だったのに、ST(鳥取三洋?)になってる)。

W52SAとW42SAの埋め込み文字列が分かっていれば簡単なんだけどなぁ、とか思いつつも、色々考えても面倒だしどうせ確認出来ないので、以下のように勝手に予想し、埋め込み文字列を変更してmicroSDに書き込み確認してみる。

W21SA SA31 SANYO-PCT001
W22SA SA32 SANYO-PCT002
W31SA SA33 SANYO-PCT003
W32SA SA34 SANYO-PCT004
W33SA SA35 SANYO-PCT005
W41SA SA36 SANYO-PCT006
E02SA SA37 SANYO-PCT007
W43SA SA38 SANYO-PCT008
W51SA SA39 SANYO-PCT009
W52SA SA3A SANYO-PCT00A
W54SA SA3B SANYO-PCT00B
W61SA SA3C SANYO-PCT00C
W42SA ST31 SANYO-PCT00D
W53SA ST32 SANYO-PCT00E
W55SA ST33 SANYO-PCT00F
W62SA ST34 SANYO-PCT010   ←これ

で、結果。
なんと一発でビンゴッ!大正解。おれってスゲーとか自画自賛。
※全てWeb上の情報や私の予想なので、W62SA以外の値が正しい保証は全くありません。

さてそれでは実際に自作してみる。

Webで見つけた、W51SAのピクトアイコンの情報(同じ44×180)を見ると電池ピクトの右端1ドットは切られる、と書かれている。
ところが、W62SAにデフォルトで設定されているケータイアレンジの「ぐれ犬(ぐれいぬ)」の電池&アンテナピクトを見る限り、少なくともぎっしり書かれていて1ドットが削られている様子はない。

そこで実際にどのサイズまで表示出来るのか確認の為のピクトアイコン作成。
1個目。
22×18の外周に色を塗り、中に適当に文字を書いたピクトアイコン用画像をWindows付属のペイントで作成し、それをViXでPNG化。
これをPDL化して(W31SA用ヘッダ付加)PCT003をPCT010にバイナリエディタで書き換えた後、W62SAに登録してみた。

#いちいちバイナリエディタで開くのも面倒なので、W62SA用のPNG2PDLソフトをそのうち作ろう。

結果はやはり電池ピクトの右側1ドットラインが表示されていない・・・が、アンテナピクトの左側ラインがなんか2ラインあるみたい?・・・。

次に21×18と23×18の外周に色を塗った物を作成して確認してみることに。
をぉ、両方ともちゃんと外周まで表示されるではありませんか。

そんな訳でW62SAのピクトは
・電池ピクトは21×18ドット
・アンテナピクトは23×18ドット
・電池ピクトとアンテナピクトを上から
  ◆通常用
   電池満タン+アンテナバリ3
   電池残り2+アンテナ2
   電池残り1+アンテナ1
   電池残り0+アンテナ0
   要充電  +圏外
  ◆省電力モード用(未使用。指定してあっても無視される)
   電池満タン+アンテナバリ3
   電池残り2+アンテナ2
   電池残り1+アンテナ1
   電池残り0+アンテナ0
   要充電  +圏外
 となるように並べた44×180ドットのPNG画像
です、多分。

ところで、どっかのサイトから携帯でダウンロードした際にちゃんと表示されるピクトアイコンとちゃんと表示されないピクトアイコンがあった。
理由は今のところ不明。

一応、考えられる理由として、
1.埋め込まれるタイトル名長が奇数バイトだとNG?(=画像の開始が奇数バイト目から始まるのが駄目?)
 PDLヘッダの構造を見る限り、多分関係ないと思うけど・・・。
2.PNGの圧縮率の問題?(表示出来た自作分はViXで圧縮率"1"で作成)
3.PNGのヘッダの問題?(PDL化出来るヘッダ情報が決まっているとか?)
4.PNG画像の色数の問題?(1/2/4/8/16/24ビット画像全てOKかどうか不明だし)
5.省電力モード部分に画像が存在する(関係無いような気はするけど、少なくとも上手く表示出来なかった奴はそうだったし)。
くらいかなぁ。

とりあえず自作の場合でどうなるか、追いかけてみました。

上記1は関係無しでした(まぁ当たり前ですね)。ただタイトル名が何文字までOKかは確認してない。
上記2も関係無しでした。画像によっては圧縮率9の方が大きくなる場合もあるので何が一番適当かはその都度確認する必要有りです。
上記3は不明。検証するのも面倒くさいので(^^;放置。
上記4ですが、24ビットでもOKなので関係ないかなぁ、と思われます。
上記5も関係無しでした。少なくとも自作した奴は大丈夫だった。

と、予想を裏切り自作分は大丈夫と言うことに。
まぁ今回は自作する、って事がメインなのでOKとします。
あとはPNG画像を作成する際のツールによるのかなぁ、と言うくらいですかね。

次回はPDLヘッダの内容でも書いてみます(分かっている範囲で)。
不明な点もありますが、それも別途追っかけてみて解明出来れば良いなぁと思っています。

最終的にはまとめてどっかに置いておきたいと思います、健忘録として。

|

« 火災報知器設置 | トップページ | W62SA ピクトアイコン【その2】 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 火災報知器設置 | トップページ | W62SA ピクトアイコン【その2】 »