2019年4月16日火曜日

PNGのチャンク 第11回 埋め込みコメント

こんにちは、きまぐれソフトです。

前回は色情報関連のチャンクを説明しました。今回は埋め込みコメントのチャンクを紹介します。
コメントを埋め込むチャンクは3種類有ります。

tEXtチャンク

tEXtチャンクは画像ファイルにコメントを埋め込むためのチャンクです。1つのチャンクでキーワードと説明が1つずつ保存できます。

  • キーワード
    コメントの見出しです。
  • Null
    Null文字(0x00)
  • 説明
    見出しに対する説明文です。

キーワードと説明の間にはセパレーターとしてnull文字(0x00)が使われます。キーワードも説明も使えるのはシングルバイト文字だけです。
キーワードは79バイト以下、説明は0バイト以上で、双方null文字を含めてはならないと決められています。
説明の文字数は指定されず、チャンクデータのnull文字以降すべてが説明として扱われます。
キーワードに使用する単語は指針が定められていますが、今回は説明を省きます。独自のキーワードも禁止されていません。

zTXtチャンク

zTXtチャンクもコメント用のチャンクですが、説明データ部分が圧縮されています。

  • キーワード
    コメントの見出しです。
  • Null
    Null文字(0x00)
  • 圧縮方式
    0(deflate)のみ使用可能です。

説明データの直前に圧縮方式が格納されますが、使えるのは0(deflate)のみです。
使用文字はシングルバイト文字だけです。
説明文が圧縮される以外はtEXtチャンクと同様です。
iTXtチャンク

iTXtチャンクもコメント用のチャンクですが、説明にUTF-8が使用できます。

  • キーワード
    コメントの見出しです。1バイト文字のみ使用可能です。
  • Null
    Null文字(0x00)
  • 圧縮フラグ
    説明文が圧縮されているかを示します。
    • 0 無圧縮
    • 1 圧縮されている
  • 圧縮方式
    圧縮方式を格納します。0(deflate)のみ使用可能です。
  • 言語タグ
    国や地域を示すタグが入ります。ISO-639で決められたタグを使います。
    日本ならja-JPとなります。
  • Null
    Null文字(0x00)
  • 国際キーワード
    コメントの見出しです。UTF-8で記述します。
  • Null
    Null文字(0x00)
  • 説明
    見出しに対する説明文です。UTF-8で記述します。

0 件のコメント:

コメントを投稿