在 OSX 中找不到 Imagemagick 字体

Imagemagick fonts not found in OSX

尝试在 ImageMagick 中向图像添加注释时,失败并显示以下消息:

convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype...

如何让 Imagemagick 找到这些字体?

Neville in this post 给出了对我有用的解决方案:

  1. 创建 imagemagick 配置文件夹:mkdir ~/.magick
  2. this Perl script 另存为 /tmp/script.pl
  3. 使脚本可执行:chmod +x /tmp/script.pl
  4. 运行 本地脚本并将输出重定向到 ~/.magick 中的文件 type.xml/tmp/script.pl > ~/.magick/type.xml

这解决了字体问题,而 installing fondu, the imagemagick pkg 文件和其他一些技巧没有。

太棒了!现在我可以用图像大小和分辨率注释一些 flickr cats(我希望它能为我正在处理的应用程序找到最佳分辨率)。

领养's answer, here's how I got this to work with imagemagick 7+ on macOS 10.12+ installed with homebrew。 (这还假定您已安装 perl。)

  1. 下载perl script并将其保存到/usr/local/bin/imagick_type_gen

  2. 使脚本可执行:

    • chmod +x /usr/local/bin/imagick_type_gen
  3. 通过运行convert -list font | grep Path找到imagemagick的字体路径。这应该 return imagemagick 正在寻找字体。我的 Apple 路径是这样的:

    • /usr/local/Cellar/imagemagick/7.0.7-22/etc/ImageMagick-7/type-apple.xml
  4. 运行 imagick_type_gen 并将输出指向上面的路径:

    • imagick_type_gen > /usr/local/Cellar/imagemagick/7.0.7-22/etc/ImageMagick-7/type-apple.xml
  5. 运行 convert -list font | less 查看 imagemagick 将使用的字体名称,例如,某些字体将被标记为 GeorgiaB 而不是 Georgia Bold。 (点击 q 退出)

imagemagick 现在应该可以看到您在系统上安装的字体。

解决这个问题最简单的方法是复制你需要的字体到~/文件夹,或者你的脚本所在的任何地方,然后给出直接路径:

convert -font "~/MyFont.ttc"