You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04下ImageMagick更新后无法识别Ghostscript字体

Ubuntu 22.04 下ImageMagick更新后GhostScript字体无法识别的解决方法
  • 检查配置文件权限与归属
    先确认/etc/ImageMagick-6/type-ghostscript.xml和/etc/ImageMagick-6/type.xml的权限和归属是否正确,运行:

    ls -l /etc/ImageMagick-6/type*.xml
    

    正常权限应为644,归属是root:root,如果不对,执行以下命令修复:

    sudo chmod 644 /etc/ImageMagick-6/type*.xml
    sudo chown root:root /etc/ImageMagick-6/type*.xml
    
  • 验证GhostScript字体识别状态
    ImageMagick依赖GhostScript读取这类字体,先确认GhostScript本身能否识别Helvetica等字体:

    1. 查看GhostScript版本:
      gs --version
      
    2. 列出GhostScript识别的字体:
      gs -c "quit" -dNOPAUSE -dSAFER -dQUIET -dSHOWFONTS
      

    如果Helvetica不在输出里,说明GhostScript的字体配置有问题,先安装免费字体包:

    sudo apt install fonts-freefont-ttf
    

    然后更新系统字体缓存:

    sudo fc-cache -fv
    
  • 重新生成ImageMagick字体配置
    先备份原有配置文件:

    sudo cp /etc/ImageMagick-6/type-ghostscript.xml /etc/ImageMagick-6/type-ghostscript.xml.bak
    

    用imagick_type_gen重新生成配置,指定字体目录(以freefont为例,可根据实际路径调整):

    sudo imagick_type_gen -d /usr/share/fonts/truetype/freefont/ > /etc/ImageMagick-6/type-ghostscript.xml
    

    之后直接运行命令验证字体是否被识别:

    convert -list font | grep Helvetica
    
  • 检查ImageMagick字体搜索路径
    查看ImageMagick的字体搜索路径配置:

    identify -list configure | grep FONTPATH
    

    确保输出中包含GhostScript字体所在的目录(比如/usr/share/fonts/truetype/freefont/),如果缺失,可在/etc/ImageMagick-6/policy.xml中添加对应路径(注意格式规范)。

  • 实际调用测试
    如果convert -list font还是没显示,但想确认字体能否实际使用,可运行测试命令:

    convert -font Helvetica -pointsize 24 label:"Test Text" test.png
    

    若能成功生成图片,说明字体实际可用,列表不显示可能是配置列表生成的小问题;若报错,根据错误提示进一步排查。

内容的提问来源于stack exchange,提问作者Elier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:34:57