image-processing - 为什么imagemagick的字体列表是空的?

标签 image-processing fonts imagemagick

我正在尝试使用 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/

相关文章:

iphone - HoughCircles 给出了错误的圈数和位置 - iOS

.net - 在 .NET 应用程序中嵌入/部署自定义字体

imagemagick - imagemagick标识给出 “dyld: Library not loaded:/usr/local/lib/libtiff.3.dylib”

c# - 翻转/镜像图像

Python、Numpy、OpenCV——创建修改后的(同样快的) "addWeighted"函数

css - 这个 CSS 字体系列如何正确显示 "Economica"?

html - 自定义字体在 Mac OS X 上看起来不同(更高)

php - imagick 模块问题 - PHP

php Stamping - 使用另一个 pdf 或 html 为 pdf 加水印

python - 如何在模板匹配中使用 cv2.minMaxLoc()