2004年 11月 17日

ContactXML?

なんかこういうのを見つけて仕様 (PDF) を見てみたけど、XML である意味が薄いところが多々あると思う。それと仕様が緩くて仕様の意味が薄かったり、そもそもアプリケーション間のエクスポート・インポートにしか使えない。手で書いたとき creator 属性には何を入れればいいんだろう? 想定外なんだろうけど、メールで XML を送ってインポートさせてあげられれば相手の手間が省けるんじゃないかなぁ。

なんていうか ExtensionItem なんて要素作らずにアプリケーション個別の拡張のためなら独自のネームスペースでやればいいのになぁとか思った。せっかく eXtensible なのに……何か理由があるんだろうか。

2004年 11月 16日

zsh

zsh にしてみたけど日本語のディレクトリ名が正しく表示されない……あんまり困らないけども。

他人のプロンプトの設定を見ていて時々疑問なのだけど、ホスト名とユーザ名ってなんで左側なんだろう。リモートで操作するとそんな頻繁に変わるもんなのかな。

PROMPT='%(?..exit %?
)
%{^[[33m%}%~%{^[[m%}
%{^[[32m%}%(!.#.$)%{^[[m%}%{^[[m%} '
RPROMPT='%{^[[32m%}[%n@%m]%{^[[m%}'
 ~/data
$                                                             [cho45@C12H22O11]

^[ = C-q ESC

Linux ディストロ

いっぱいありすぎてドレがいいのかサッパリ。何にしても機械がないのでインスコできないんだけども……

あー

さっさと試験受けさせろよ。

2004年 11月 12日

PNG iTXt チャンク編集ツール

pngtxt.zip (458KB) MD5:44fda2b7421e94e6f181ee80a134e814

exerb で固めてみた。たぶん zlib.dll がいる。んでファイルサイズが大きい。

iTXt 以外のチャンクは (tEXt, zTXt チャンクも) 見ることさえできません。tEXt, zTXt チャンクを全部 iTXt に変換する機能とかあるけども、文字コード変換はやらないからあんまり意味ない。ついでに変換するやつに Unicode 文字以外があると微妙に危険。

Compress にチェックを入れても、圧縮しないほうがデータサイズが小さいときは自動的に無圧縮で保存されます。つまり Compress にチェックを入れても必ず圧縮されるわけじゃないです。たぶん多くの場合はこのほうが便利だと思うので……

夢。図書室にて

図書室から寝ぼけながら教室の自分の机に戻ると、知っている女の子が二人いる。一言二言話して行ってしまう。机の上に何か色々書いてある紙が置いてある。白黒でペンによって書かれている。右上から左下にかけて斜めに女の子の絵が描いてある。二人のうちの一人が書いたらしい。その周りにはいろいろメッセージがぎっしり書いてある。カバンの中に手帳が入っている。二人のうち一人のらしい。妙に幸せな気分だった。

起きたらなんか妙に切なかった。なんかそれでしばらく混乱しててひとつ授業受けそびれた……別にいいんだけど出席がやばめ。

とにかくごちゃごちゃ書いてある紙の絵が好きだった。

2004年 11月 11日

PNG チャンク編集ツール 2Edit PNG iTXt chunk

拙作編集ツールスクリーンショット

結局自分で作ってみた。exerb で EXE 化しようと思ったら mswin32 版の Ruby では zlib が原因不明の SEGV で落ちるのでどうしたものかと。

Ruby + VisualuRuby で GUI 作った。iTXt 以外は TweakPNG があるので何もしない。UI は見ての通り TweakPNG のパクり。

pngtxt.rb
GUI 部分。VisualuRuby 使ってます。何故かポップアップメニューが右ダブルクリックじゃないと出ない謎。
png.rb
iTXt を編集するのに使える部分だけ実装。ただ UTF-8 への変換はこのクラスはやらない。

使っているライブラリは Uconv と zlib と VisualuRuby かな。VisualuRuby が Win32API 使ってるか。といいますかですね、GUI まですぐ作れる Ruby ってやっぱ偉大なんですよ。

zlib.dll を変えていったら(?)直った。よく分からないけどめでたし。

PNG への RDF メタデータ埋め込み

とりあえず iTXt への書き込み/読み込み方法はできたので実際にどうやって埋め込むかを考える。考えるっていっても、メタデータを埋め込んでいる PNG ファイルというと RDF のアイコンが既にあるのでそいつをそのまま真似ればいいかなと。

この埋め込み方法は二つのチャンクを使う。一つはメディアタイプを明確にする Metadata Type チャンク。もう一つは実際にデータを埋め込む Metadata チャンク。RDF アイコンではこれらは tEXt チャンクに入っているけど、日本語を (というか国際化のために) 使うのでどちらも iTXt に入れる。Metadata Type (ASCII しか使われないっぽい) も iTXt にするのは tEXt, zTXt チャンクが iTXt 登場のおかげで既に古くさい感じが漂うから。

ってか実際何を埋め込んで何をしたら面白いかをちゃんと考えてない。まだあくまでこういう方法もできるという保険みたいなもん。何かいいことできないかな。