iconutilで作ったアイコンの表示が崩れるとき
Macアプリのアイコンは原料となる所定サイズのpngファイルからiconutilによって作られるわけですが、遊んでいたらicnsにした途端表示が崩れる事例に遭遇したのでメモ。
- プレビューで確認すると、原料のpngは各サイズとも問題ないが、icns変換後は各サイズとも崩れる。
- 崩れるというのは、縞々になるというか、がびがびになるというか、ずれたのが重なるというか、インターレス風というか、なんとも言葉で表現しづらい崩れ方。ずれ幅というか縞々幅というかはサイズによらず一定。
最終的に判明した原因はICCプロファイル。
- Photoshop(手元はCS4)はpng保存時にICCプロファイルの保存を尋ねてこないが、実はICCプロファイルを埋め込んでいるらしい。確かにFinderから見るとICCプロファイルが入っている。
- 表示が崩れるのは、たまたま変な設定になってしまっていた(sRGBじゃなかった)作業用色空間が埋め込まれたpngを食わせたせい。sRGB変換して食わせると解決。
確かにAppleのガイドラインにもsRGBプロファイルのPNG推奨って書いてある(汗
英語でググってもいまひとつ情報がなかったので最後にひと言。
If you get corrupted .icns image with iconutil, check that the sRGB color profile is embedded in your PNG files in .iconset.