通过ImageMagick使用UTF文本

通过ImageMagick使用UTF文本,image,utf-8,imagemagick,Image,Utf 8,Imagemagick,我使用的是ubuntu14.0.4。我想通过命令使用一个UTF8文件。你可以看到: 如果您想要绘制的UTF-8文本已经生成,您可以 可以使用“@filename”直接从文件中读取它 从UTF-8编码的中文文本文件创建中文标签(无 文件中的最后一个换行符) 现在,我测试了一个类似于上面命令的命令,该命令用于一个名为label1.txt的文本文件,其内容是一个波斯语单词: سلام 命令是: convert -background lightblue -fill blue -pointsize 48

我使用的是
ubuntu14.0.4
。我想通过命令使用一个UTF8文件。你可以看到:

如果您想要绘制的UTF-8文本已经生成,您可以 可以使用“@filename”直接从文件中读取它 从UTF-8编码的中文文本文件创建中文标签(无 文件中的最后一个换行符)

现在,我测试了一个类似于上面命令的命令,该命令用于一个名为
label1.txt
的文本文件,其内容是一个波斯语单词:

سلام

命令是:

convert -background lightblue -fill blue -pointsize 48 label:@label1.txt   label_utf8.png
但我得到了这个图像:


您可以看到
字符而不是所需的字符。如何解决此问题?

首先,您需要指定要使用的ImageMagick字体,因此您需要如下内容:

convert -background lightblue -fill blue -pointsize 48 -font XYZ ...
为确保所选字体为ImageMagick所知,您需要查看已知字体列表:

identify -list font
或者,更具体地说,在您的情况下:

identify -list font | grep -i Kacst

如果列出了字体,请使用该名称。如果未列出,请参阅。

您省略了
-font…
@MarkSetchell,我必须使用哪个
font
字符?一个可以使用波斯语字符的字符-抱歉,我自己也不知道。@MarkSetchell我尝试使用
KacstArt
作为
-font
选项的值,但是我遇到了这个错误:
convert.im6:无法读取字体
KacstArt'@warning/annotate.c/RenderType/853.`您的字体文件有扩展名吗?试着加上这个。另外,请尝试
identification-list font | grep-i KacstArt
,查看ImageMagick是否知道该字体。如果没有,请尝试
identify -list font | grep -i Kacst