一、问题复现
Linux的steam客户端在打开时有可能会出现中文乱码的情况,具体表现如下面这些图片所示:
图1.设置为英文时的语言设置界面

图2.设置为简体中文时的语言设置界面

图3.游戏启动按钮周围

二、原因分析
(以下原因分析以我所遇到的状况为基础,不一定具有普遍性)
我注意到Arch Wiki的Steam/Troubleshooting(https://wiki.archlinux.org/index.php/Steam/Troubleshooting)页面有这么一段话:
图4.引用Arch Wiki

“文本崩坏或消失
Steam支持页面(https://support.steampowered.com/kb_article.php?ref=1974-YFKL-4947)对于Windows的解决方法似乎对Linux也能生效。
你可以通过steam-fonts安装包(https://aur.archlinux.org/packages/steam-fonts/)来安装它们(指缺失的字体),或者手动下载SteamFonts.zip(https://support.steampowered.com/downloads/1974-YFKL-4947/SteamFonts.zip)来进行安装。
注:当steam找不到Arial字体时,font-config会跑回去使用Helveticia点阵字体。Steam不能渲染这款字体,也许Steam也不能正确地渲染其他点阵字体,因此移除出问题的字体或者禁用点阵字体最有可能在不安装Arial或者ArialBold字体的情况下解决这个问题。
……”
这段话指出steam不能正确的渲染点阵字体,而我使用的恰好是点阵字体——文泉驿点阵宋体。
三、问题解决
1、在系统设置内将字体切换为Noto Fonts并打开抗锯齿进行尝试,文字显示正常:
图5.系统字体设置界面

图6.字体恢复正常(请忽略泰语
)

注:如果在修改字体后不起作用,请在修改字体后重启电脑再试。
2、我非常喜欢文泉驿点阵宋体,不打算更换这款点阵字体,因此我采用设置FONTCONFIG_FILE环境变量的方法来对steam字体进行单独设置。
首先建立一个名为99-name.conf的文件,写入下面的配置:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/fonts/wenquanyi/wqy-zenhei</dir>
<dir>/usr/share/fonts/wenquanyi/wqy-microhei</dir>
<dir>/usr/share/fonts/wenquanyi/wqy-microhei-lite</dir>
<dir>/usr/share/fonts/noto-cjk</dir>
</fontconfig>
上述配置通过设置字体目录的方式来对应用所使用的字体进行限制。将99-name.conf保存在某个目录下,我保存在/home/wyy/Temp/下,然后使用以下代码启动steam:
export FONTCONFIG_FILE=/home/wyy/Temp/99-name.conf&&/usr/bin/steam-runtime %U
图7.我的字体设置

图8.启动代码

图9.字体显示正常(请忽略泰语
)

3、为某些游戏单独设置字体
我的游戏Portal在我进行完steam字体设置后出现了字体不显示的状况:
图10.Portal字体异常

我进行了以下配置:
图11.在Portal上右键,然后点击属性

图12.在常规选项卡下单击设置启动选项,然后再弹出的界面中输入启动选项代码

启动选项代码:export FONTCONFIG_FILE=/home/wyy/Temp/99-name.conf&&%command%
图13.字体恢复正常

四、总结
本人受水平所限,如有疏漏,烦请指正,谢谢!
PS:这是我在百度贴吧第一次发帖,如果有什么做的不对,烦请指正。
Linux的steam客户端在打开时有可能会出现中文乱码的情况,具体表现如下面这些图片所示:
图1.设置为英文时的语言设置界面

图2.设置为简体中文时的语言设置界面

图3.游戏启动按钮周围

二、原因分析
(以下原因分析以我所遇到的状况为基础,不一定具有普遍性)
我注意到Arch Wiki的Steam/Troubleshooting(https://wiki.archlinux.org/index.php/Steam/Troubleshooting)页面有这么一段话:
图4.引用Arch Wiki

“文本崩坏或消失
Steam支持页面(https://support.steampowered.com/kb_article.php?ref=1974-YFKL-4947)对于Windows的解决方法似乎对Linux也能生效。
你可以通过steam-fonts安装包(https://aur.archlinux.org/packages/steam-fonts/)来安装它们(指缺失的字体),或者手动下载SteamFonts.zip(https://support.steampowered.com/downloads/1974-YFKL-4947/SteamFonts.zip)来进行安装。
注:当steam找不到Arial字体时,font-config会跑回去使用Helveticia点阵字体。Steam不能渲染这款字体,也许Steam也不能正确地渲染其他点阵字体,因此移除出问题的字体或者禁用点阵字体最有可能在不安装Arial或者ArialBold字体的情况下解决这个问题。
……”
这段话指出steam不能正确的渲染点阵字体,而我使用的恰好是点阵字体——文泉驿点阵宋体。
三、问题解决
1、在系统设置内将字体切换为Noto Fonts并打开抗锯齿进行尝试,文字显示正常:
图5.系统字体设置界面

图6.字体恢复正常(请忽略泰语

注:如果在修改字体后不起作用,请在修改字体后重启电脑再试。
2、我非常喜欢文泉驿点阵宋体,不打算更换这款点阵字体,因此我采用设置FONTCONFIG_FILE环境变量的方法来对steam字体进行单独设置。
首先建立一个名为99-name.conf的文件,写入下面的配置:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/fonts/wenquanyi/wqy-zenhei</dir>
<dir>/usr/share/fonts/wenquanyi/wqy-microhei</dir>
<dir>/usr/share/fonts/wenquanyi/wqy-microhei-lite</dir>
<dir>/usr/share/fonts/noto-cjk</dir>
</fontconfig>
上述配置通过设置字体目录的方式来对应用所使用的字体进行限制。将99-name.conf保存在某个目录下,我保存在/home/wyy/Temp/下,然后使用以下代码启动steam:
export FONTCONFIG_FILE=/home/wyy/Temp/99-name.conf&&/usr/bin/steam-runtime %U
图7.我的字体设置

图8.启动代码

图9.字体显示正常(请忽略泰语

3、为某些游戏单独设置字体
我的游戏Portal在我进行完steam字体设置后出现了字体不显示的状况:
图10.Portal字体异常

我进行了以下配置:
图11.在Portal上右键,然后点击属性

图12.在常规选项卡下单击设置启动选项,然后再弹出的界面中输入启动选项代码

启动选项代码:export FONTCONFIG_FILE=/home/wyy/Temp/99-name.conf&&%command%
图13.字体恢复正常

四、总结
本人受水平所限,如有疏漏,烦请指正,谢谢!
PS:这是我在百度贴吧第一次发帖,如果有什么做的不对,烦请指正。










