SUSIE カタログファイル仕様書(ものすごくいい加減α版) Mishiki Sakana 2004/01/05 ● 概要 SUESIE のカタログファイル(サムネールを格納しているファイル)は、通常のフォ ルダなら“_thumbnl.sue”、アーカイブファイルなら“アーカイブファイル名.sue” という名前で作成されます。SUSIE にフォルダやアーカイブを引数として与えると、 その中に含まれる画像ファイルに対して、8bit、16bit または 24bit の色数を持 つ、長辺 48、64、60 または 96 ドット(設定画面で変更可能)のサムネール画像が 自動的に作成され、それぞれの .sue ファイルに格納されます。本いい加減な仕様書 は、このカタログファイルの大まかな仕様を述べたものです。 なおこのいい加減な仕様書の全内容は、SUSIE の作者たけちん氏に無関係です。 ● カタログファイル( .sue )の仕様 .sue ファイルは、ヘッダの後に各サムネールが連続する単純な構造です。 ・ヘッダ部: 「SUECAT」で始まり、0xF2F700 まで。委細調べてません。サムネール画像を抽出す るだけなら読み飛ばせるので。 ・各サムネール部: 各サムネール部は、サムネールへッダ部とイメージリソース部とに別けられます。サ ムネールヘッダの構造は以下のとおりです。 4byte ;長さ(サムネールヘッダ部とイメージリソース部の合計) 1byte ;アイコンタイプ(01 が画像ファイルを表していると思われ) 1byte ;色数 2byte ;横ピクセル数 2byte ;縦ピクセル数 4byte ;画像ファイルの最終更新日時( time() の値) 1byte ;画像ファイル名の文字列長 適宜 ;画像ファイル名の文字列(Shift_JIS) 以下イメージリソース部が続く ・サムネール内のイメージリソース部の構造: サムネールの色数が 16bit(デフォルト設定)の場合、SUSIE は独自の フォーマッ トで RGB 値を保存しています。一般的な 16bit BMP とは異なりますので、注意が必 要です。 一般的な 16bit BMP は、R、G、B の順番に各色 5bit の計 15bit でデータを格納 し、リトルエンディアンで記録します。最上位ビットは常に 0 です。ですから、例 えば青は 0x1F00 に、緑は 0xE003 になります。また、横列のバイト数が4の倍数に なるような 4byte アライン処理が必須です。 一方 SUSIE がサムネールに利用しているフォーマットでは、B、G、R の順番に、そ れぞれ 5bit、6bit、5bit でデータを格納し、ビッグエンディアンで記録します。で すから、例えば青は 0xF800 に、緑は 0x07E0 になります。もちろん、4byte アライ ン処理はありません。拙作の suedecat では、G の最下位ビットを読み捨てて 一般 的な 16bit BMP へ変換してます。理想的には BI_BITFIELDS を立てて G の全ビット を活かした方が良いのでしょうが、SUSIE 自身が BI_BITFIELDS の立った 16bit BMP に非対応です。 サムネールの色数が 24 bit の場合は、24bit フルカラーの BMP リソースそのもの ですが、こちらも 4byte アライン処理はありませんので、BMP へ展開する場合は自 前で適宜パディングする必要があります。 サムネールの色数が 8bit の場合については調べてません。多分今後も調べません。