首页/系统/信创系统运维速查/文档显示方块或缺字的处理
常见问题65 条

文档显示方块或缺字的处理

办公文档或网页出现方块、缺字:用 fc-match 确认缺字体,从授权允许的渠道获取字体后安装并刷新缓存,重开会话验证。

信创系统运维速查系统更新于 2026-10-13

方块与缺字是怎么产生的

文档或网页出现方块、缺字,本质是「需要的字形在系统里找不到」:字体匹配(fontconfig)按名称查找已安装字体,找不到就回退到默认字体,而默认字体不含中文字形时就渲染成方块。处理顺序是:确认缺哪个字体 → 从授权允许的渠道取得字体文件 → 安装并刷新字体缓存 → 重开会话验证。

基本信息

诊断工具fc-match 查看匹配结果、fc-list 查看已装字体
安装位置/usr/share/fonts/ 下(系统级)或 ~/.local/share/fonts(用户级)
刷新缓存fc-cache -fv
授权前提字体受版权约束,只用开源或已购授权字体
生效范围用户级安装只对当前用户可见

典型使用场景

  • 办公文档打开后中文显示为方块或缺字
  • 浏览器页面字体渲染异常,替换字体不生效
  • 新装信创系统后缺少某些专业或商用字体
  • 只装了用户级字体,其他用户登录后仍缺字
  • 批量终端部署时统一补齐标准字体集

诊断与安装

诊断与安装
fc-match '宋体'                            # 匹配结果,未命中时会展回退到的默认字体
fc-match -s '宋体' | head -5               # 查看候选顺序,判断回退链
fc-list :lang=zh | head -5                 # 已安装的中文字体清单
fc-list | grep -ciE 'simsun|simhei|noto sans cjk'   # 按名称统计已装字体
sudo mkdir -p /usr/share/fonts/custom && sudo cp *.ttf /usr/share/fonts/custom/
fc-cache -fv                               # 刷新字体缓存
fc-match '宋体'                            # 复核匹配是否已命中目标字体
# 验证:重开应用(必要时重新登录)后再看渲染效果

现象与指向

现象可能原因确认方式
个别汉字显示为方块字体缺少对应字形fc-match 查看实际命中的字体
中文全为方块、英文正常系统无任何中文字体fc-list :lang=zh 输出为空
换了字体仍不生效应用有独立字体设置或缓存未刷新fc-cache -fv 后重开应用
其他用户仍缺字字体只装在用户目录改到系统级目录安装
字体受版权约束:只使用开源字体或已购授权的字体文件,不要从其他系统随意拷贝商用字体,这类问题在合规检查中常被点名。
只复制字体文件不刷新缓存,应用往往看不到新字体:安装后执行 fc-cache -fv,并重开应用(必要时重新登录)再判断是否生效。

易错点

  • 只复制文件不刷缓存:应用仍看不到字体,必须执行 fc-cache -fv
  • 只装到用户目录:其他用户与部分服务仍然缺字,要按使用范围选择安装位置
  • 随意拷贝商用字体:存在版权与合规风险,字体来源要有据可查
  • 只换默认字体不查回退链:缺的是特定字形时,换默认字体并不能解决问题
  • 改完不重开会话:应用启动时已加载字体列表,需要重启应用才生效

数据来源与参考

  • man 1 fc-cache
  • man 5 fonts-conf
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌