无法将已安装的字体与 ImageMagick 一起使用

Posted

技术标签:

【中文标题】无法将已安装的字体与 ImageMagick 一起使用【英文标题】:Unable to use installed font with ImageMagick 【发布时间】:2015-06-29 11:04:14 【问题描述】:

我使用的是 OS X 10.10.3 并使用 Homebrew 安装了 ImageMagick。

我正在尝试使用 ImageMagick 创建动态图像生成脚本,但我收到了与字体相关的错误消息。这是我使用的命令,这是取自 ImageMagick 的字体效果页面的示例。我该怎么做才能将我机器上安装的字体与 ImageMagick 一起使用?字体是 TrueType 或 PostScript。

convert -size 320x100 xc:lightblue -font Arial -pointsize 72 \
-fill navy -annotate +25+65 'Anthony' \
-distort Arc 120  -trim +repage \
-bordercolor lightblue -border 10  /outputdirectory/font_arc.jpg

这是它返回的错误信息。

convert: delegate library support not built-in `/Library/Fonts/Arial.ttf' (Freetype) @ warning/annotate.c/RenderFreetype/1560.

以下是我运行命令“convert -list configure”时的输出

Path: /opt/ImageMagick/lib/ImageMagick-6.9.1//config-Q16/configure.xml

Name           Value
-------------------------------------------------------------------------------
CC             gcc
CFLAGS         -D_THREAD_SAFE -D_THREAD_SAFE -pthread -mmacosx-version-min=10.5 -Wall -march=core2 -fexceptions -D_FORTIFY_SOURCE=0 -D_THREAD_SAFE -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
CODER_PATH     /opt/ImageMagick/lib/ImageMagick-6.9.1/modules-Q16/coders
CONFIGURE      ./configure  '--prefix' '/opt/ImageMagick' '--enable-delegate-build' '--enable-opencl' '--without-x' '--without-freetype' '--disable-static' 'CFLAGS=-mmacosx-version-min=10.5'
CONFIGURE_PATH /opt/ImageMagick/etc/ImageMagick-6/
COPYRIGHT      Copyright (C) 1999-2015 ImageMagick Studio LLC
CPPFLAGS       -I/opt/ImageMagick/include/ImageMagick-6
CXX            g++
CXXFLAGS       -g -O2 -D_THREAD_SAFE -pthread
DEFS           -DHAVE_CONFIG_H
DELEGATES      bzlib mpeg fftw jng jpeg lcms lzma png ps tiff webp xml zlib
DISTCHECK_CONFIG_FLAGS 'CFLAGS=-mmacosx-version-min=10.5' --disable-deprecated --with-quantum-depth=16 --with-jemalloc=no --with-umem=no --with-autotrace=no --with-freetype=no --with-gslib=no --with-fontpath= --with-gvc=no --with-rsvg=no --with-wmf=no --with-perl=no
DOCUMENTATION_PATH /opt/ImageMagick/share/doc/ImageMagick-6
EXEC-PREFIX    /opt/ImageMagick
EXECUTABLE_PATH /opt/ImageMagick/bin
FEATURES       DPC OpenCL
FILTER_PATH    /opt/ImageMagick/lib/ImageMagick-6.9.1/modules-Q16/filters
HOST           x86_64-apple-darwin14.1.0
INCLUDE_PATH   /opt/ImageMagick/include/ImageMagick-6
LDFLAGS        -L/opt/ImageMagick/lib -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/fftw/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/fftw -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/jp2 -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/jpeg/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/jpeg -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/lcms/src/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/lcms/src -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/lzma/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/lzma -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/magick -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/png/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/png -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/tiff/libtiff/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/tiff/libtiff -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/wand -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/webp/.libs -L/Users/karlvr/Development/ImageMagick/ImageMagick-6.9.1-0/webp -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib
LIB_VERSION    0x691
LIB_VERSION_NUMBER 6,9,1,0
LIBRARY_PATH   /opt/ImageMagick/lib/ImageMagick-6.9.1
LIBS           -llcms -ltiff -ljpeg -lpng15 -lfftw3 -lwebp -L/usr/local/Cellar/xz/5.2.1/lib -llzma -lbz2 -lxml2 -lz -lm -Wl,-framework,OpenCL -lm
NAME           ImageMagick
PCFLAGS        -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
PREFIX         /opt/ImageMagick
QuantumDepth   16
RELEASE_DATE   2015-03-22
SHARE_PATH     /opt/ImageMagick/share/ImageMagick-6
SHAREARCH_PATH /opt/ImageMagick/lib/ImageMagick-6.9.1/config-Q16
SVN_REVISION   18245
TARGET_CPU     x86_64
TARGET_OS      darwin14.1.0
TARGET_VENDOR  apple
VERSION        6.9.1
WEBSITE        http://www.imagemagick.org

Path: [built-in]

Name           Value
-------------------------------------------------------------------------------
FEATURES       
NAME           ImageMagick
QuantumDepth   16

最后这是“brew info imagemagick”的结果。

imagemagick: stable 6.9.1-3 (bottled), HEAD
http://www.imagemagick.org
/usr/local/Cellar/imagemagick/6.9.1-3 (1444 files, 21M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/imagemagick.rb
==> Dependencies
Build: xz ✔, pkg-config ✔
Required: xz ✔, libtool ✔
Recommended: jpeg ✔, libpng ✔, freetype ✔
Optional: fontconfig ✔, libtiff ✔, little-cms ✘, little-cms2 ✔, libwmf ✘, librsvg ✘, liblqr ✘, openexr ✘, ghostscript ✔, webp ✘, fftw ✘, pango ✘

除此之外,这里是 TrueType 和 PostScript 字体的“识别列表格式”的结果。

PFA* TTF       r--   Postscript Type 1 font (ASCII) (Freetype 2.5.5)
PFB* TTF       r--   Postscript Type 1 font (binary) (Freetype 2.5.5)    
TTC* TTF       r--   TrueType font collection (Freetype 2.5.5)
TTF* TTF       r--   TrueType font (Freetype 2.5.5)

非常感谢任何建议。

【问题讨论】:

你跑identify -list font了吗? 【参考方案1】:

试试

identify -list font

查看您可以使用的字体。如果没有,看看我的回答here。

【讨论】:

嗨,迈克,感谢您的建议。我已经制作了自己的 type.xml 并按照您在帖子中的描述进行了设置。当我运行“识别 - 列表格式”时,我得到以下 TrueType TTC* TTF r-- TrueType 字体集合 (Freetype 2.5.5) TTF* TTF r-- TrueType 字体 (Freetype 2.5.5) 这些是否与是吗? 您能否在您的问题下单击edit 并将额外信息粘贴到那里 - 在 cmets 区域中真的很难阅读。 我已经编辑了我的问题并在底部添加了额外的信息。对此感到抱歉。

以上是关于无法将已安装的字体与 ImageMagick 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 7 上安装 ImageMagick 以与 PHP 一起使用 (3)

将 ImageMagick 和 GhostScript 与 nuget 一起使用

将 OpenType 功能与 ImageMagick 或 GraphicsMagick 一起使用

如何将已定义的接口与 io-ts 库一起使用?

Xcode 6 大小类中的自定义字体大小无法与自定义字体一起正常工作

字体ttf文件无法与IE一起使用