Fonts 使ImageMagick识别字体

Fonts 使ImageMagick识别字体,fonts,installation,imagemagick,Fonts,Installation,Imagemagick,我一直在Ubuntu 9.10的ImageMagick上玩图像生成。我希望能够让它识别一种字体,这样我就可以用它的“昵称”来称呼它 我可以通过键入找到ImageMagick识别的字体列表 identify -list font 在这个列表中,我看到了泰晤士报的加粗。所以 convert -font Times-Bold label:abcdef times.gif 将生成一个带有泰晤士报新罗马粗体字体的gif文件 我知道我可以传递字体的路径,而不是它的昵称,但我需要能够使用它的昵称,这样在从一个

我一直在Ubuntu 9.10的ImageMagick上玩图像生成。我希望能够让它识别一种字体,这样我就可以用它的“昵称”来称呼它

我可以通过键入找到ImageMagick识别的字体列表

identify -list font
在这个列表中,我看到了泰晤士报的加粗。所以

convert -font Times-Bold label:abcdef times.gif
将生成一个带有泰晤士报新罗马粗体字体的gif文件

我知道我可以传递字体的路径,而不是它的昵称,但我需要能够使用它的昵称,这样在从一个系统移动到另一个系统时,我的错误就更少了。我正在尝试使用的字体是一种真正的字体,叫做

我的系统中已经安装了Segoe UI。如果我将路径传递给字体,它就会工作。但我希望能够使用类似

convert -font Segoe-UI label:abcdef segoe.gif

谢谢

根据我的记忆,
identify
使用一个名为type.xml的配置文件,按名称定位字体。您可以在系统级别更改imagemagick自己的此文件副本,或在用户级别添加额外字体

有一个名为的脚本,它将使用“定位”数据库在您的系统上查找字体,并生成其中一个配置文件,然后您可以使用它来配置imagemagick;对于一个普通用户,我认为这应该放在
~/.magick/type.xml
中,尽管您可以把它放在某个系统级别。这是一般的


因此,基本上我认为您需要配置system type.xml文件或添加一个用户级文件。只要您在移动到新系统时能够做到这一点,对于运行imagemagick的任何用户,如果字体路径不同,您至少可以不更改代码。

非常好。谢谢你,马特!对于那些对命令行还不熟悉的人,我通过键入“/path/to/imagick\u type\u gen”来执行脚本。我确实确保它是可执行的,首先是“sudo chmod+x/path/to/imagick_type_gen”。我还有两种字体:Segoe UI Bold和Segoe UI。我在使用的程序中传递了一个“bold”参数,RMagick,但没有变为bold。我所做的是编辑文件,以及所有指向seguibd.ttf文件的内容(这是Segoe UI的粗体版本),我将字体系列更改为我想要的昵称。不确定这是否是最好的方法,但它起了作用。在debian(2014年)中使用cli,而不是使用
标识-列表类型
,我使用
转换-列表字体
来获取可用字体的列表。太棒了,谢谢你的回答和你的博客文章。