Steam中文支持
前言
整理Steam上的诸多游戏中文显示问题。
CSGO中文支持
原因
CSGO 内部社区服务器登陆器不支持中文,导致出现方块乱码
解决方案
CSGO 社区服务器的字体在游戏中独立设置的,与系统无关。
找到并打开 CSGO 游戏文件的 30-non-latin-inf-win.conf
默认路径:
1 | ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/panorama/fonts/conf.d/30-non-latin-inf-win.conf |
这文件打开就注明是设置确定非拉丁字体的优先级。
在倒二行(也就是 </match>和</fontconfig>之间),添加教程中的文泉驿正黑字体代码
1 | <match target="pattern"> |
例如:
上面这段的含义就是将文泉驿正黑字体代替:Helvetica
当程序要求调用 Helvetica
时,程序实际会调用文泉驿正黑字体。
当然 Helvetica
字体也就不能用了。但是,你不用担心这个,因为基本上是没有预装这个字体,而且我们经常是用它的替代字体 Arial
。
安装文泉驿正黑字体
1 | sudo pacman -S wqy-zenhei |
Dota2中文支持
中文显示问题
起因
Dota2的载入界面和玩家名称的中文却呈现空白
通过FC_DEBUG环境变量,观察V社游戏调用字体的过程。
最后发现出现中文空白的地方,往往是由于这一处的调用字体过程中,英文字体优先级高于中文字体。
这可能是由于此处的 lang 或 charset 参数没有设置正确,关于这一点,我并没有验证。但这不影响我解决中文显示问题。
解决方案
类似于上面的 CSGO中文支持 解决方案
首先,保证你的系统上已经安装了文泉驿正黑字体。
找到并打开 文件 /etc/fonts/conf.avail/25-wqy-zenhei.conf
然后在倒二行(也就是 </match>和</fontconfig>之间)插入一段
1 | <match target="pattern"> |
本解决方案对CS,CSGO以及CS起源的中文显示也有效
中文输入问题
仅针对
ibus
用户,对fcitix用户无效。由于V社采用SDL的版本还不支持ibus,后来有人自己开发支持ibus的SDL库,并且支持IBUS的特性将很有可能纳入下次新版的SDL中。fcitix
用户可参考这个链接
解决方案
- 下载该 网盘 中的文件。
提取码:y86i
- 在steam中右键
dota2
,属性
,本地文件
,浏览本地文件
。进入bin
文件夹。 - 将下载下来的
libSDL2-2.0.so.0
复制进去,以替换文件夹原有的。 - 然后,重启,试一试在 dota2 中打字交流的感觉。
steam聊天的中文输入同理
传送门2中文支持
起因
传送门2选择中文语言,进去发现界面却是一片空白
解决方案
与上面的 Dota2中文支持 解决方案一样。
to be continued…