# Ubuntu 中 WPS 的字体渲染问题

Ubuntu 上的 WPS 经常遇到字体渲染异常的问题,一方面是由于缺失,另一方面则是依赖。

# 字体缺失问题

这个 Github 仓库提供了解决方案:

git clone https://github.com/dv-anomaly/ttf-wps-fonts.git
cd ttf-wps-fonts
sudo bash install.sh

# 依赖缺失导致的渲染问题

通常是黑体的异常加粗重叠,我们需要手动安装 debian 的一个依赖包,在此处下载 libfreetype6_2.12.1+dfsg-5+deb12u3_amd64.deb 文件:

wget https://mirrors.ustc.edu.cn/debian/pool/main/f/freetype/libfreetype6_2.12.1%2Bdfsg-5%2Bdeb12u3_amd64.deb

然后安装

sudo dpkg -i libfreetype6_2.12.1+dfsg-5+deb12u3_amd64.deb

但是由于他并不是正统的 Ubuntu 包,因此在执行 sudo apt upgrade 更新时可能会要求更新:

The following packages have unmet dependencies:
 libfreetype-dev : Depends: libfreetype6 (= 2.13.2+dfsg-1build3) but 2.12.1+dfsg-5+deb12u3 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)

此时系统建议运行:

sudo apt --fix-broken install

这一操作会导致 libfreetype6 升级到 2.13.2,仍然导致 WPS 文字渲染异常

# 解决方法

在 Linux 系统中, libfreetype6 是字体渲染库,用于处理文本显示、抗锯齿、字体渲染等。

手动降级并锁定 libfreetype6 版本:

sudo dpkg -i libfreetype6_2.12.1+dfsg-5+deb12u3_amd64.deb

安装后,使用以下命令锁定 libfreetype6 版本,防止 apt upgrade 时自动升级:

sudo apt-mark hold libfreetype6

这样,未来系统更新时不会自动升级 libfreetype6

# 如果未来需要允许升级

如果未来不再需要 libfreetype6 2.12.1,可以解除 hold 并允许升级:

sudo apt-mark unhold libfreetype6
sudo apt upgrade