在OSX中找不到Imagemagick字体

Ada*_*tan 1 macos homebrew imagemagick

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

convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype...
Run Code Online (Sandbox Code Playgroud)

如何让Imagemagick找到这些字体?

Ada*_*tan 6

Neville这篇文章中给出了对我有用的解决方案:

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

这解决了字体问题,在安装fondu时,imagemagick pkg文件和其他一些技巧没有.

大!现在我可以使用图像大小和分辨率来注释一些flickr猫(我想要找到我正在处理的应用程序的最佳分辨率).

在此输入图像描述

在此输入图像描述

在此输入图像描述


abo*_*ron 5

采用Adam Matan的答案,以下是我如何让它与使用homebrew安装的 macOS 10.12+ 上的 imagemagick 7+ 一起使用。(这也假设您已经perl安装。)

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

  2. 使脚本可执行:

    • chmod +x /usr/local/bin/imagick_type_gen
  3. 通过运行查找 imagemagick 的字体路径convert -list font | grep Path。这应该返回 imagemagick 正在寻找字体的位置。我的苹果之路是这样的:

    • /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 现在应该可以看到您系统上安装的字体。

  • 这似乎获得了系统安装的字体,但不是我作为用户安装的许多字体。该脚本似乎也没有使用任何参数来解决这个问题。检查 ~/Library/Fonts 有多难? (2认同)
  • 自 Catalina 以来,macOS 字体已发生变化,因此脚本需要更新才能在 `/System/Library/Fonts` 中查找 - 它出现在脚本中的两个位置(撰写本文时为第 478 行和第 482 行) (2认同)