使用 imagemagick 从 unicode 字符串生成图像的问题

Posted

技术标签:

【中文标题】使用 imagemagick 从 unicode 字符串生成图像的问题【英文标题】:Problem with generating images from unicode strings using imagemagick 【发布时间】:2009-02-20 20:46:14 【问题描述】:

我正在使用以下命令序列生成文本图像

convert -background "rgb(233, 231, 218)" -fill black \ 
-font media/fonts/FuturaStd-Medium.otf \
-pointsize 13 label:"ğüşıöçĞÜŞİÖÇ" -size 88x18 \
media/images/category_images/food-drink/category-top-row/tr_food-drink.png

生成以下图像。 alt text http://img54.imageshack.us/img54/5461/trfooddrinkai3.png

ğşĞİŞ 有问题,其他人显示正确。我的语言环境是 en_US.UTF-8。 尝试从http://www.imagemagick.org/Usage/text/#unicode 中提取的以下示例我也没有任何问题

convert -background lightblue -fill blue -pointsize 32 \
      label:' é è à ù ç Ö ÿ ‘ ’ “ ” ° ² ³ € x ÷ '    label_i8n.gif

在 label_i8n.gif 中正确显示 unicode 字符。

如何使 imagemagick 正确地将这些字符转换为图像?

edit:以下图像是使用 gimp 使用相同的字体创建的。 alt text http://img93.imageshack.us/img93/1986/gimpfuturastdnc4.png

【问题讨论】:

您可以在文本编辑器中使用该特定字体插入这些字符吗?它可能只是缺少那些字形。 img93.imageshack.us/img93/1986/gimpfuturastdnc4.png 用 gimp 创建,使用相同的字体,可以正确显示字符。 【参考方案1】:

可能字体没有这些字形,这就是它们显示为“?”的原因。使用字符映射应用程序检查它。

【讨论】:

以上是关于使用 imagemagick 从 unicode 字符串生成图像的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 Imagemagick 从图像中自动裁剪文本(签名)并更改背景颜色

使用 ImageMagick 从图像生成调色板

如何使用 ImageMagick 从文件夹中每个 JPG 图像的底部裁剪 486 像素?

使用 ImageMagick(图像裁剪语法)从其他部分组装图像

使用 ImageMagick 调整大小,然后从命令行裁剪图像

使用 ImageMagick 从 MPEG4 中提取每第 n 帧