我一直在Ubuntu9.10的ImageMagick上玩图像生成。我想让它能够识别一个字体,这样我就可以用它的“昵称”来称呼它。
我可以通过输入以下命令找到ImageMagick识别的字体列表
identify -list font
在这个列表中,我看到了Times-Bold。因此
convert -font Times-Bold label:abcdef times.gif
将生成一个使用Times New Roman Bold字体的gif文件。
我知道我可以将路径传递给字体,而不是它的昵称,但我需要能够使用它的昵称,以便在系统之间移动时出现更少的错误。我特别想要使用的字体是一种名为Segoe UI的真类型字体。
我已经在我的系统中安装了Segoe UI。如果我将路径传递给字体,它就能正常工作。但是我希望能够使用像这样的东西
convert -font Segoe-UI label:abcdef segoe.gif
谢谢!
发布于 2010-04-16 09:22:35
据我所知,identify
使用一个名为type.xml的配置文件来按名称查找字体。您可以在系统级别更改imagemagick自己的此文件副本,或在用户级别添加额外的字体。
有一个名为imagick_type_gen的脚本,它将使用“定位”数据库在您的系统中查找字体并生成其中一个配置文件,然后您可以使用该文件来配置imagemagick;对于普通用户,我认为这适用于~/.magick/type.xml
,尽管您可以将其放在系统级别的某个地方。这通常是what I've used in the past。
所以,基本上我认为你需要配置你的系统type.xml文件或者添加一个用户级别的文件。当你移动到一个新系统时,只要你能做到这一点,对于运行imagemagick的用户来说,如果字体的路径不同,你至少应该能够不改变你的代码。
https://stackoverflow.com/questions/2650882
复制