《百问百答》第5期:修复异常中文字体

困扰我已久的文字界面异常,居然是字体在捣乱。

《百问百答》第5期:修复异常中文字体

为了方便开发,我在开发机器上的系统语言设定一直是英文。但是这种设定有一个问题,系统在显示中文的时候有异常,例如:

图里上方是我在系统里看到的,下方是正常字体的样子。

此前我一直不明白是怎么回事,直到前段时间偶然看到一个商家的广告里有类似的错误,后来经过研究是使用了错误的字体造成的——上排其实是日文字体。

于是我去问了一下AI,果然,AI回答如下:

你的系统 locale 是 en_US.UTF-8,不携带 CJK 语言标记。fontconfig 在处理中文时:70-fonts-noto-cjk.conf 的规则只匹配 lang=zh-cn/zh-tw 等精确语言标记 → 英文 locale 下不触发,于是回退到 64-language-selector-cjk-prefer.conf 的全局 CJK 排序 → JP > KR > SC,日文优先。

解决方法AI也给了:

创建优先级更高的配置文件,把 SC(简体中文)提到最前面。

这个操作需要修改系统文件,所以让AI来帮你完成。修改完成后,使用如下指令验证:

fc-match -s sans-serif:lang=zh | head -5

注意看,第二行是SC版本的字体,修复完成。

转发至

微信扫一扫分享

WeChat QR Code

有技术问题需要解决?

论文复现、模型部署、代码审查 —— 把问题带来,我帮你走通整条链路。

微信聊聊 微信二维码 关于我