【问题标题】:How to solve ImageMagick's "Fontconfig warning: ignoring UTF-8: not a valid region tag" error?如何解决 ImageMagick 的“Fontconfig warning: ignoring UTF-8: not a valid region tag”错误?
【发布时间】:2014-09-02 22:20:14
【问题描述】:
我想用 ImageMagick 在图像文件上添加一些文本,
这是我输入的:
convert -font Verdana label:"Text 123" pic.jpg pic_new.jpg
但是它返回错误如下:
Fontconfig warning: ignoring UTF-8: not a valid region tag
生成的图片没有添加任何测试。
我用谷歌搜索了它,但大多数帖子都没有多大帮助。
感谢您的任何提示!
【问题讨论】:
标签:
image-processing
fonts
imagemagick
imagemagick-convert
【解决方案1】:
显示此警告是因为您的本地环境声明了一个无效的区域设置(在本例中为 UTF-8)。
这一切都归结为名为@987654322@ 的环境变量,它定义了要使用的语言环境。在您的情况下,这将默认为 UTF-8,这根本不是您系统上可用的语言环境,因此您会看到 ImageMagick 显示警告。
你可以跑
echo "$LC_CTYPE"
查看当前设置是什么。
我知道解决这个问题的两种方法:
A) 修复你的 shell 配置
根据您使用的系统,有多种方法可以将不同的默认值应用于您的 shell。在我的情况下,问题只是本地的,我运行 OS X,所以解决方案非常简单。在Advanced选项卡下的终端应用程序配置中,有一个名为International的部分。
在启动时设置语言环境变量框默认被选中。取消选中它并重新启动终端会话后,LC_CTYPE 不再设置。因此,ImageMagick 不再发出警告。
B) 提供语言环境
我个人认为这不是一个好方法。它更像是一种可能很混乱的解决方法,最好避免。这也不是处理问题的正确方法,但它仍然不会导致 ImageMagick 发出进一步的警告。
通过查找 ImageMagick 的locale.xml,您可以识别语言环境配置文件列表。找到与您的工作环境相匹配的那个(假设您不希望默认使用不同的语言环境),您可以复制该文件并在locale.xml 中留下参考,该参考由locale="UTF-8" 标识。
如果您的问题发生在某个远程服务器上,您仍然可以应用方法(A),但您需要了解如何在会话后设置环境变量LC_CTYPE(或取消设置)开始。
希望这会有所帮助。
【解决方案2】:
utf8无法识别编码,你可以试试
export LC_CTYPE="en_US.UTF-8"