環境
- Mac OS Sierra
- ImageMagick 7 (6でも同様
SVG→PNG
手元にsvgファイルが有って
convert example.svg -resize 300x400 example.png
ってやっても
convert: non-conforming drawing primitive definition `Segoe' @ error/draw.c/DrawImage/3259.
って言われる。誰だよSegoeって
原因
MacのImageMagickはHomebrew経由でインストールしたのだが、そのImageMagickがSVGに対応していなかった。。。librsvg2対応のImageMagickでないと変換出来ない
ターミナルでconvert -version
すると対応しているライブラリ一覧が表示される。
普通にインストールした場合。これでは変換できない。
$convert -version Version: ImageMagick 6.9.7-3 Q16 x86_64 2017-03-27 http://www.imagemagick.org Copyright: © 1999-2017 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: Cipher DPC Modules Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib
対応している場合 rsvgというのがある
$convert -v Version: ImageMagick 6.9.9-38 Q16 x86_64 2018-03-17 http://www.imagemagick.org Copyright: © 1999-2018 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: Cipher DPC Modules Delegates (built-in): bzlib cairo fontconfig freetype jng jpeg ltdl lzma png rsvg tiff xml zlib
解決方法
rsvg対応のImageMagickを再インストールすればよい
いったんアンインストールして
brew install imagemagick
--with-librsvg
つけて再インストール
brew install imagemagick --with-librsvg
バージョン6でインストールする場合は
brew install imagemagick@6 --with-librsvg
これでいける