2014年4月6日日曜日

シェルスクリプトの余談

一つ前の投稿で、Puppy linuxに於けるマウス設定のシェルスクリプトの恥を晒した訳です。
その時点では、マウスのテーマ切替でdefaultのプレビューが表示できなかった。

defaultのプレビューが表示できない

それは、defaultのマウスカーソル画像を探したけど見つけられず、
gtkdialogの<pixmap><input file>で指定すべき画像を用意できなかったから。

で、考えたのは、画像を外部ファイルとして用意できなければ、シェルスクリプト内に
データとして持ってしまえば良いということ。
XPM形式のデータを埋め込んで、プレビュー用の画像に展開できることはすぐに確認できた。
ファイル形式がXPMでも、他の画像と共通に扱えるように、ファイル名は .png で終わるように
した。
が、肝心のカーソルのデータをどうやって作成すれば良いのか?

defaultのカーソルはcursor.pcfと言うファイルで、フォントの形式であるらしい。
下記参照。
http://www.murga-linux.com/puppy/viewtopic.php?search_id=742059936&t=85706

このcursor.pcfの中身を見るには、一旦bdfファイルに変換して、フォント編集ツールを
使えば良いとのこと。
先ず、pcf2bdfと言うツールでcursor.bdfを作り、それをfontforgeと言うツールで開く
ことにした。

cursor.bdfをfontforgeで開いてみた
これを基にして、下の図のようにXPMデータを記述。

left_ptrのXPMデータ
hnadのXPMデータ
watchのXPMデータ
結果、pngファイル名で書き出したXPMファイルが↓この様に表示された。

そして、こうなった

めでたし、めでたし(?)

0 件のコメント :

コメントを投稿