もっとちゃんと調べてみました。でもあんまり見つからない。(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 必須じゃないかなぁと思います。
てかですます僕ってなんか……
スーパー適当実装 iTXt 埋め込み用クラス(でもサイズとかも取得できるよ)。微妙に中途半端だけど力尽きたのでまた今度にします。デバッグ用のコード (p
) 満載。