解决 Steam for Linux 部分 Valve 游戏中文显示问题

Steam for Linux 上有许多好玩的免费游戏,像 Valve 出品的 Team Fortress 2CS:GODota 2Left 4 Dead 2 等,而且自带中文。然而,这些 Valve 出品的游戏普遍有个问题就是中文无法正常显示。

Google 说这些游戏需要文泉驿正黑字体才能正常显示中文,但我的 openSUSE 已经安装了文泉驿正黑了,照样无法显示。后来搞了很久才弄明白,openSUSE 官方源里 wqy-zenhei-fonts 包含 WenQuanYi Zen Hei MonoWenQuanYi Zen Hei Sharp,而 Steam 要的是 WenQuanYi Zen Hei

没错!也就是说,Steam 需要的不是文泉驿等宽正黑或文泉驿点阵正黑,而是最纯粹的那个文泉驿正黑。而这,openSUSE 官方源里没有。

解决方法就是 fontconfig,配置如下:

1
2
3
4
5
6
7
8
<match target="pattern">
<test qual="any" name="family">
<string>WenQuanYi Zen Hei</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>WenQuanYi Micro Hei</string>
</edit>
</match>

上面这段配置的意思,无论有没有安装文泉驿正黑,都用文泉驿微米黑来代替它。当然也可以根据喜好指定由别的字体来代替,只要修改上面的 WenQuanYi Micro Hei 字段即可。