在 CentOS 中为 LibreOffice 添加字体的正确做法
一 系统级安装字体步骤
- 安装字体工具与依赖
- 安装字体配置组件:sudo yum install -y fontconfig
- 可选:安装生成字体索引的工具(部分旧系统需要):sudo yum install -y ttmkfdir
- 准备字体文件
- 常见格式:.ttf / .otf;也可从 Windows 拷贝常用中文字体(如 simsun.ttc、msyh.ttc)到服务器
- 复制字体到系统目录
- 推荐路径:/usr/share/fonts/(系统级,所有用户可用)
- 示例:sudo mkdir -p /usr/share/fonts/chinese && sudo cp /path/to/*.ttf /usr/share/fonts/chinese
- 设置权限
- sudo chmod -R 755 /usr/share/fonts/chinese
- 生成/更新字体缓存
- 通用:sudo fc-cache -fv
- 旧系统或需要索引文件时,在字体目录执行:mkfontscale && mkfontdir
- 验证安装结果
- 查看是否识别:fc-list :lang=zh(中文)或 fc-list | grep “字体名”
- LibreOffice 将自动使用系统字体,无需重启应用或系统。
二 用户级安装仅当前用户可用
- 创建用户字体目录:mkdir -p ~/.local/share/fonts
- 复制字体到该目录并赋权:cp /path/to/.ttf ~/.local/share/fonts && chmod 644 ~/.local/share/fonts/.ttf
- 更新缓存:fc-cache -fv
- 重新打开 LibreOffice 即可使用。
三 常用目录与命令速查
- 字体目录
- 系统级:/usr/share/fonts、/usr/local/share/fonts
- 用户级:~/.local/share/fonts、~/.fonts
- 常用命令
- 刷新缓存:fc-cache -fv
- 列出中文可用字体:fc-list :lang=zh
- 查看字体文件路径:fc-match “字体名”
- 说明
- 将字体放入上述任一系统目录并刷新缓存后,LibreOffice 即可调用;无需在 LibreOffice 内部单独安装。
四 验证与 LibreOffice 相关操作
- 验证字体是否生效
- 终端:fc-list :lang=zh | grep “你的字体名”
- LibreOffice:打开 Writer → 工具 → 选项 → 字体,查看可用字体列表
- 无界面/服务场景(如转 PDF)
- 命令示例:soffice --headless --convert-to pdf input.docx --outdir /path/to/output
- 若转换中文出现方框/乱码,多为字体缺失,按上文安装中文字体并刷新缓存后再试。
五 常见问题与处理
- 权限或索引问题
- 目录权限不足会导致字体不可用,执行:sudo chmod -R 755 /usr/share/fonts/你的字体目录
- 旧系统未生成索引时,在字体目录执行:mkfontscale && mkfontdir
- 依赖缺失导致 LibreOffice 异常
- 转 PDF 或启动报错如缺少 libcairo.so.2 等,安装依赖:sudo yum install -y cairo cups-libs libSM
- 中文字体缺失导致 PDF 乱码
- 安装常用中文字体(如 simsun.ttc、msyh.ttc)到 /usr/share/fonts/,执行 fc-cache -fv 后重试转换。