【问题标题】: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)。

    这一切都归结为名为@9​​87654322@ 的环境变量,它定义了要使用的语言环境。在您的情况下,这将默认为 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"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-11
        • 1970-01-01
        • 2013-01-28
        • 2017-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多