favicon.icoの作成を自動化しようとして、いくつかCLIの変換ツールを物色していた。最終的にImageMagickのconvertに行き着いたので、あまり得られるところはなかった……。

png2ico

$ png2ico favicon.ico logo-16.png logo-32.png logo-48.png logo-256.png

特に何も考えずに使える良いツールだった。しかし256x256以上、つまり256x256のアイコンは含めることができない制限がある。16x16以外に32x32だけでなく、256x256を含めてやりたい現状だとちょっと使いづらい気がする。

ToICO

$ toico -o favicon.ico logo-16.png logo-32.png logo-48.png logo-256.png

これもあまり考えずに使えた。しかし生成されるICOファイルが異様に大きい。256x256を含めたところ70KBを超えるサイズになってしまった。高解像度を含めるとはいえ、せめて20KB、できれば10KB以下にはしたいので、このサイズはちょっと厳しい。

ImageMagickのconvert

$ convert logo-16.png logo-32.png logo-48.png logo-256.png favicon.ico

樹海のようにコマンドライン・オプションが複雑だが、ICOへの変換は単純なものだった。特に問題はなさそうに見える。出力サイズも15KBとまずまずだった。


ポータビリティーのことも考えるとやはりImageMagickかという感じだ。パスを通さずにいかにして使うかみたいに頑張るのが一番大変だった。C:\WINDOWS\system32\convert.exeを消しさりたい。