MacOS 解决 CS:GO 社区服中文乱码问题
我是疯狂丶
2020年06月03日 20:52

第一次写B站专栏(。

众"苹果电脑用户&#​34;周知,苹果系统玩V社部分 Source 引擎的游戏,中文是没法正常显示的,当然也包括CS:GO。

在 CS:GO 中,除了全景UI上的中文能够正常显示(游戏主界面、游戏内聊天框、拆弹倒计时等),其它地方的中文均不能正常显示(如社区服左侧菜单、HUD文本、游戏辅导消息等),整个界面看起来如下图

菜单和HUD文本中文异常,聊天框中文正常

去年8月我在github上给V社 csgo-osx-linux 项目提了个issue,隔天版主给上了个标签后这件事就不了了之了。

直到昨天突然有人回复了这个issue,给了一个解决办法(特此感谢这位用户)

围绕着这个方法折腾了一阵子居然真的给我弄好了,所以这篇文章接下来就是关于这个方法的操作步骤,动手能力强的大佬可以直接开干不用往下看了(

此方法截至文章发布前,在 MacOS Catalina 10.15.5 上测试通过。

首先是下载 FontForge,下载地址:https://fontforge.org/en-US/downloads/mac-dl/

下载完成后双击 dmg 文件打开,把 app 拖到应用程序内安装

接着在访达图表上按右键,点击“前往文件夹”,输入 /System/Library/Fonts/Helvetica.ttc,点前往

接着就会自动定位到 Helvetica.ttc,此字体是 MacOS 默认字体,并且 CS:GO 部分界面是调用的这个字体文件,然鹅这个字体并没有包含中文,所以嗝屁。

把 Helvetica.ttc 和同级目录下的 Arial Unicode.ttf 复制一份出来,放在别的地方,然后打开 FontForge,左上角 File -> open,选中 Helvetica.ttc 打开。

打开字体

Pick a font 默认选第一个就行了。

默认选第一个就好

然后用同样的方法打开 Arial Unicode.ttf。

这时候你的桌面应该会有3个 FontForge 窗口,一个是默认的,另外两个是刚刚选择文件打开的。

重点:在 Helvetica 的窗口上,选 Element -> Merge Fonts, 在弹出的窗口中选中 ArialUnicodeMS,点OK

合并字体

选择要合并的字体

点了之后可能会卡一会,属于正常现象。

卡完之后,窗口往下拉,看到中文就说明合并成功了。

接下来在 Helvetica 的窗口上,左上角 File -> Generate TTC 生成字体文件

需要反选Untitled1 (不要勾),然后点 Generate 生成

点生成后又会卡一下,正常现象,正常来说卡完之后应该就生成完成了。

接下来打开终端(按 cmd+space 打开聚焦搜索,输入terminal),在终端输入下面命令,将生成的字体文件代替原来系统的字体文件:

sudo mount -uw /

sudo cp  合并后的字体的文件路径 /System/Library/Fonts/Helvetica.ttc

技巧:可以在访达中选中合并后的字体,按 cmd+option+c ,即可复制文件路径,然后替换掉上面命令的红色部分

终端命令运行完之后可以用访达回到 /System/Library/Fonts/ 这个目录,看一下 Helvetica.ttc 的最后修改时间,如果更新了那就恭喜你操作成功了。

接下来可以打开游戏进行体验了,中文可以正常显示了,虽然有点别扭,但总归可以显示了,泪目

备注:

1. 如果还不行试试重启电脑

2. 记得备份原始字体文件

3. 有后遗症:因为 Helvetica.ttc 是系统默认首选字体,被合并的中文字体可能会在电脑运行某些程序时被优先显示,这个只可意会不可言传(

第一次投稿专栏,不会排版,多多见谅