Macos 在OSX中找不到Imagemagick字体

Macos 在OSX中找不到Imagemagick字体,macos,imagemagick,homebrew,Macos,Imagemagick,Homebrew,尝试向ImageMagick中的图像添加批注时失败,出现以下消息: convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype... 如何让Imagemagick找到这些字体?中给出了适合我的解决方案: 创建imagemagick配置文件夹:mkdir~/.magick 另存为/tmp/script.pl 使脚本可执行:chmod+x/tmp/script.pl 本地运行脚本并将输出重定向到~/.magick中

尝试向ImageMagick中的图像添加批注时失败,出现以下消息:

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

如何让Imagemagick找到这些字体?

中给出了适合我的解决方案:

  • 创建imagemagick配置文件夹:
    mkdir~/.magick
  • 另存为
    /tmp/script.pl
  • 使脚本可执行:
    chmod+x/tmp/script.pl
  • 本地运行脚本并将输出重定向到
    ~/.magick
    中的文件
    type.xml
    /tmp/script.pl>~/.magick/type.xml
  • 这解决了字体问题,而文件和其他一些技巧却没有

    太好了!现在,我可以用图像大小和分辨率对一些图像进行注释(我想用它为我正在开发的应用程序找到最佳分辨率)

    下面是我如何在macOS 10.12+上安装imagemagick 7+时使用它的答案。(这也假设您已经安装了
    perl

  • 下载并将其保存到
    /usr/local/bin/imagick\u type\u gen

  • 使脚本可执行:

    • chmod+x/usr/local/bin/imagick\u type\u gen
  • 通过运行
    convert-list font | grep path
    查找imagemagick的字体路径。这应该返回imagemagick查找字体的位置。我的苹果之路是这样的:

    • /usr/local/ceral/imagemagick/7.0.7-22/etc/imagemagick-7/type apple.xml
  • 运行
    imagick\u type\u gen
    并将输出指向上面的路径:

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


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

    它已经在这里了。。。酷!奇怪我怎么没有找到它。不幸的是,这似乎没有得到TTC fontsOn OSX 10,我发现我必须编辑脚本以包括/System/Library/Fonts以及/Library/Fonts。将第482行中的查找从
    find/Library/font-type f-name'*.*.'
    更改为
    find/Library/font/System/Library/font-type f-name'*.'.*.'
    这似乎是系统安装的字体,但不是我作为用户安装的许多字体。脚本似乎也没有使用任何参数来修复此问题。检查~/Library/font有多难?这在自制软件中很有效;被接受的答案是否定的。谢谢。@badkya我安装了Ghostscript(brew安装gs),然后它确实输出了一个字体列表。@Smek
    brew安装gs
    帮我完成了这项工作,你应该将其作为答案发布;)自Catalina以来,macOS字体已移动,因此脚本需要更新以查看
    /System/Library/fonts
    ——它出现在脚本中的两个位置(编写时的第478行和第482行)