温馨提示×

CentOS LibOffice字体安装问题

小樊
31
2025-12-15 19:27:01
栏目: 智能运维

CentOS 上 LibreOffice 字体安装与中文显示修复

一 准备与检查

  • 安装字体与配置工具,并确认系统已有字体列表:
    • 安装:sudo yum -y install fontconfig ttmkfdir
    • 查看:fc-list(若无输出或缺少中文字体,继续下一步)
  • 若在无图形界面的服务器环境,建议安装 LibreOffice 组件以便命令行转换:
    • 安装:sudo yum -y install libreoffice-headless libreoffice-writer
    • 验证版本:libreoffice --version
  • 说明:本文以LibreOffice为准(常被误写为“LibOffice”)。以上工具用于字体管理与无头转换场景。

二 安装常用中文字体

  • 推荐将字体放入系统字体目录并重建索引,便于所有用户与 LibreOffice 使用:
    • 复制字体(示例为常用的宋体/仿宋/黑体/楷体):
      • sudo mkdir -p /usr/share/fonts/zh_CN
      • 将 Windows 的 simsun.ttc、simfang.ttf、simhei.ttf、simkai.ttf 等拷贝到该目录
    • 设置权限并重建索引:
      • sudo chmod -R 644 /usr/share/fonts/zh_CN
      • cd /usr/share/fonts/zh_CN && sudo mkfontscale && sudo mkfontdir
      • sudo fc-cache -fv
  • 验证安装结果:
    • 列出中文字体:fc-list :lang=zh | grep -i “simsun|simfang|simhei|simkai”
  • 说明:将字体放入 /usr/share/fonts 并更新缓存是最通用、最稳妥的做法。

三 服务器无头转换与常见报错处理

  • 无头转 PDF 的基本用法:
    • 命令:libreoffice --headless --convert-to pdf /path/file.docx --outdir /path/out
    • 若提示缺少 writer 模块:sudo yum -y install libreoffice-writer
  • 常见报错与修复:
    • 报错“source file could not be loaded”:安装 writer 组件后重试
    • 报错“libcairo.so.2: cannot open shared object file”:安装 cairo 相关库(如 sudo yum install cairo),再重试
    • 转换后中文仍乱码:回到第二节确认字体已安装、缓存已刷新,并再次转换测试

四 进阶配置与排错

  • 字体别名与替换(解决文档指定字体缺失时的回退):
    • 编辑配置文件:/etc/fonts/local.conf(或用户目录 ~/.config/fontconfig/fonts.conf
    • 示例(将缺失的宋体/仿宋回退到常用中文字体):
      <?xml version="1.0"?>
      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
      <fontconfig>
        <alias>
          <family>serif</family>
          <prefer>
            <family>Noto Serif CJK SC</family>
            <family>SimSun</family>
          </prefer>
        </alias>
        <alias>
          <family>sans-serif</family>
          <prefer>
            <family>Noto Sans CJK SC</family>
            <family>SimHei</family>
          </prefer>
        </alias>
        <alias>
          <family>monospace</family>
          <prefer>
            <family>Noto Sans Mono CJK SC</family>
            <family>SimSun</family>
          </prefer>
        </alias>
      </fontconfig>
      
    • 保存后执行:fc-cache -fv
  • 快速自检清单:
    • 系统层面:fc-list :lang=zh 能看到已安装的中文字体
    • LibreOffice 层面:在文档中选用该字体,或用命令行转换 PDF 验证显示效果
  • 版本与迁移提示:
    • CentOS 7 已于 2024-06-30 停止维护,若长期维护与兼容性需求较高,建议迁移至仍受支持的 RHEL/SLES 等发行版。

0