我正在尝试使用 ImageMagick 向图像添加一些文本。但是我发现它总是说我指定的字体不存在。仔细阅读手册后,我发现我可以使用 convert -list font
输出所有可用字体,但在尝试后我发现可用字体列表为空。
这就是我得到的:
shell$ convert -list font
shell$
感谢您提供任何提示。
最佳答案
我刚好告诉 ImageMagick 关于我的 OSX 系统上的字体,如下所示:
# Make a new directory for ImageMagick local settings and cd into it
mkdir ~/.magick
cd ~/.magick
# Grab script to find all fonts on system and store them in a config file
curl -L http://www.imagemagick.org/Usage/scripts/imagick_type_gen > type_gen
# Run script, telling it where my fonts are and create "type.xml" file with list
find /System/Library/Fonts /Library/Fonts ~/Library/Fonts -name "*.[to]tf" | perl type_gen -f - > type.xml
# Go to ImageMagick config folder - see note at end to find correct folder
cd /usr/local/Cellar/imagemagick/6.8.9-1/etc/ImageMagick-6
# Edit system config file called "type.xml" and add line near end to tell IM to look at local file we made in earlier step
<typemap>
<include file="type-ghostscript.xml" />
<include file="~/.magick/type.xml" /> ### THIS LINE ADDED ###
</typemap>
如何为您的 type.xml
找到正确的文件夹文件type.xml
所在的文件夹存储在系统和版本之间可能会有很大差异。最近的用户配置文件夹似乎是 ~/.config/ImageMagick
,但我知道找到它的最好方法是运行以下命令来查看 ImageMagick 在找:convert -debug configure -list font 2>&1 | grep -E "Searching|Loading"
Searching for configure file: "/usr/local/Cellar/imagemagick/7.0.11-6/share/ImageMagick-7/type.xml"
Searching for configure file: "/usr/local/Cellar/imagemagick/7.0.11-6/lib/ImageMagick//config-Q16HDRI/type.xml"
Searching for configure file: "/usr/local/Cellar/imagemagick/7.0.11-6/etc/ImageMagick-7/type.xml"
Searching for configure file: "/usr/local/Cellar/imagemagick/7.0.11-6/share/doc/ImageMagick-7/type.xml"
Searching for configure file: "/Users/username/.config/ImageMagick/type.xml"
Loading type configure file "/usr/local/Cellar/imagemagick/7.0.11-6/etc/ImageMagick-7/type.xml" ...
Loading type configure file "/usr/local/Cellar/imagemagick/7.0.11-6/etc/ImageMagick-7/type-ghostscript.xml" ...
Loading type configure file "/Users/username/.config/ImageMagick/type.xml" ...
所以有很多地方可以插入字体。一般来说,如果您选择以 /etc
开头的文件夹或 /usr/local
这些字体可供所有用户使用,也可供您的 Web 服务器中的脚本使用 - 如果您愿意的话。另一方面,如果您只是一个用户,您可能更愿意将字体配置文件保存在您的登录目录中,例如~/.config/ImageMagick/type.xml
.
关于image-processing - 为什么imagemagick的字体列表是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24696433/