もっとちゃんと調べてみました。でもあんまり見つからない。(google: png iTXt)

PNGCRUSH
iTXt を埋め込めるらしいですが、コマンドラインで、僕の環境では起動したら CRUSH しました。なるほど。
TweakPNG
チャンクエディタ(&ビューワ) 。でも iTXt は (存在していても問題ないみたいですが) キーワードの表示しかできません。編集・追加もできません。と README に書いてありました。
もじうめ
読むかぎり tEXt を使用しているようです。説明にはちゃんとPNGの仕様上、アルファベットだけにしてください。と書いてあります。
PNG Comment Editor
tEXt に Shift_JIS データをそのまま書き込むようです。説明書に書いてないのでバイナリエディタで開きました。

PNG 仕様書の tEXt チャンクの仕様には

テキストは ISO/IEC 8859-1 (Latin-1) [ISO/IEC-8859-1] 文字集合に従って解釈されます。テキスト文字列はどのような Latin-1 も格納できます。テキスト文字列中の改行は LF 文字(十進 10)ひとつで表現されるべきです。ほかのコントロール文字をテキスト中に使うことは推奨されません。

と書いてあるので、マルチバイトは含めないみたいです。日本語に拘るなよとか言われたらそれまでという感じですけど、XML 格納するなら I18N 必須じゃないかなぁと思います。

てかですますってなんか……

png.rb

スーパー適当実装 iTXt 埋め込み用クラス(でもサイズとかも取得できるよ)。微妙に中途半端だけど力尽きたのでまた今度にします。デバッグ用のコード (p) 満載。

  1. トップ
  2. soft
  3. PNG チャンク編集ツール
▲ この日のエントリ