必须将simsun.ttf放入/usr/share/fonts/truetype/等子目录并执行sudo fc-cache -fv刷新缓存,直接丢进/usr/share/fonts/根目录或不刷新缓存均无效。

直接把 simsun.ttf 或任意 .ttf 文件丢进 /usr/share/fonts/ 根目录下,不建子目录、不刷新缓存,99% 情况下字体不会被任何应用识别——这不是权限问题,是 fontconfig 的扫描机制决定的。
字体必须放进子目录,不能直接扔进 /usr/share/fonts/ 根下
fontconfig 默认只扫描 /usr/share/fonts/ 下的**子目录**(如 truetype/、opentype/),且要求子目录内至少含一个字体文件才触发加载。直接放根目录会被静默忽略。
- ✅ 正确路径示例:
/usr/share/fonts/truetype/simsun/或/usr/share/fonts/truetype/custom/ - ❌ 错误路径示例:
/usr/share/fonts/simsun.ttf、/usr/share/fonts/simsun/(无二级分类) - 系统级安装推荐统一用
truetype/子目录,避免某些发行版(如 Fedora)跳过非标准命名的子目录
fc-cache -fv 不只是“刷一下”,它决定字体是否真能被查到
复制完文件后不运行 fc-cache,等于没装。很多用户卡在 fc-list 查不到、GUI 应用字体列表里没有,根源就是这一步漏了。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 必须加
-f强制重建缓存(否则可能跳过已缓存目录) - 加
-v能看到具体扫描了哪些路径,方便确认是否扫到了你放字体的目录 - 如果只更新当前用户字体,用:
fc-cache -fv ~/.local/share/fonts/ - 系统级更新需
sudo:sudo fc-cache -fv /usr/share/fonts/truetype/
中文显示还是方块?别急着重装,先查字体的内部族名和语言标签
装了 simsun.ttf 却在 LibreOffice 里选不到“宋体”,或终端里 fc-match "sans-serif:lang=zh" 返回的仍是 DejaVu Sans,大概率是字体自身未声明对 zh 的支持,而非路径或缓存问题。
- 用
fc-query -v /path/to/simsun.ttf | grep -A5 "family\|lang"查看实际族名(如SimSun)和lang字段(是否含zh) - 若
lang只有en或为空,GUI 应用会跳过它;可临时测试:fc-match "SimSun:lang=zh" - 优先选明确带
CJK或zh-cn标签的开源字体(如NotoSansCJKsc-Regular.otf),比老版 Windows 字体更可靠
最常被忽略的一点:用户级字体目录是 ~/.local/share/fonts/,不是 ~/.fonts/——后者从 fontconfig 2.12+ 开始默认不扫描,但很多教程还在沿用旧路径,导致本地安装永远不生效。










