ubuntu liboffice字体显示异常
导读:Ubuntu 下 LibreOffice 字体显示异常排查与修复 一、先快速定位问题 在 LibreOffice 中打开「工具 > 选项 > LibreOffice > 字体替换」,查看是否存在将中文字体(如宋体/Sim...
Ubuntu 下 LibreOffice 字体显示异常排查与修复
一、先快速定位问题
- 在 LibreOffice 中打开「工具 > 选项 > LibreOffice > 字体替换」,查看是否存在将中文字体(如宋体/SimSun、微软雅黑/MSYH)替换为“DejaVu Sans”等通用字体的规则;若有,先取消或改为合适的映射(如映射为Noto Sans CJK或WenQuanYi Micro Hei)。
- 在终端检查字体是否可被系统识别:
- 列出已安装中文字体:
fc-list :lang=zh - 检查具体字体文件:
fc-match "SimSun"、fc-match "Noto Sans CJK SC"
- 列出已安装中文字体:
- 打开文档后,用「格式 > 字符 > 字体」确认实际应用的字体名是否与预期一致(有时文档内嵌了替换规则)。
- 若导出 PDF 仍异常,检查 LibreOffice 的 PDF 导出选项是否嵌入了所用字体(见下文“导出 PDF 时嵌入字体”)。
二、常见原因与对应修复
- 系统缺少常用中文字体
- 安装开源中文字体:
sudo apt-get install fonts-noto-cjk fonts-wqy-zenhei - 若文档依赖 Times New Roman 等常见西文字体:
sudo apt-get install ttf-mscorefonts-installer,安装后执行sudo fc-cache -f -v刷新缓存,再用fc-match "Times New Roman"验证。
- 安装开源中文字体:
- 字体缓存未更新
- 刷新字体缓存:
sudo fc-cache -f -v,然后重启 LibreOffice。
- 刷新字体缓存:
- LibreOffice 未识别到新字体
- 将字体放入用户级字体目录:
~/.local/share/fonts(或~/.fonts),再执行fc-cache -f -v。
- 将字体放入用户级字体目录:
- 全局安装 Windows 字体影响系统优先级(不推荐)
- 将 simsun.ttc、msyh.ttf、msyhbd.ttf 等复制到
/usr/share/fonts会全局生效,可能让 宋体 优先级过高,导致界面与文档出现“点阵宋体”等异常。若已操作,建议移除或降低优先级,改为用户级安装并重建缓存。
- 将 simsun.ttc、msyh.ttf、msyhbd.ttf 等复制到
- 字体替换规则不当
- 在「字体替换」中删除或修正错误映射,避免把中文映射为不支持 CJK 的字体。
三、稳妥的字体安装与配置方案
- 用户级安装(推荐,避免影响系统全局设置)
- 仅拷贝你需要的字体到用户目录:
~/.local/share/fonts(若目录不存在请先创建)。 - 刷新缓存:
fc-cache -f -v。 - 如需让 LibreOffice 专用,也可放入 LibreOffice 用户字体目录:
~/.config/libreoffice/4/user/fonts(版本号可能不同,如 6/7/24.2 等,按实际目录放置),然后重启 LibreOffice。
- 仅拷贝你需要的字体到用户目录:
- 系统级安装(谨慎)
- 拷贝字体到
/usr/share/fonts,设置权限:sudo chmod 644 /usr/share/fonts/*.ttf(或.ttc)。 - 刷新缓存:
sudo fc-cache -f -v。 - 注意版权与优先级,避免把 宋体 等设为全局优先导致界面与文档渲染异常。
- 拷贝字体到
- 字体选择与优先级
- 中文优先选用:Noto Sans CJK(开源、覆盖全面)、WenQuanYi Micro Hei(文泉驿微米黑)。
- 西文常用:DejaVu Sans / Liberation Sans、以及已安装的 Times New Roman(通过 mscorefonts-installer)。
四、导出 PDF 时嵌入字体与服务器端渲染
- 在 LibreOffice 导出 PDF 时勾选「嵌入字体」(PDF 选项),避免在其他设备上出现缺字或替换。
- 使用 JODConverter 或无头服务渲染时,确保 LibreOffice 能访问到所用字体:
- 将字体放入系统目录(
/usr/share/fonts)或 LibreOffice 用户目录(~/.config/libreoffice/.../user/fonts),并执行fc-cache -f -v。 - 若仍异常,检查 LibreOffice 安装路径配置是否正确(不要包含 /program 子目录),并重启服务。
- 将字体放入系统目录(
五、一键检查与修复清单
- 安装常用字体:
sudo apt-get install fonts-noto-cjk fonts-wqy-zenhei ttf-mscorefonts-installer - 刷新字体缓存:
sudo fc-cache -f -v - 验证:
fc-list :lang=zh | grep -i "noto\|wqy\|simsun\|msyh";fc-match "Times New Roman" - 检查 LibreOffice「字体替换」规则,删除错误映射
- 必要时将字体放入
~/.local/share/fonts或~/.config/libreoffice/.../user/fonts并重启 LibreOffice - 导出 PDF 时勾选「嵌入字体」
以上步骤覆盖了缺字、替换、优先级与导出嵌入等常见场景,通常可恢复中文与西文的正常显示与打印。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu liboffice字体显示异常
本文地址: https://pptw.com/jishu/777818.html
