# Warzone 2100 [[https://wz2100.net|战地 2100]](英语:Warzone 2100,有人译作战争地带 2100,台译2100全民开打)是一个未来背景的即时战略游戏。科技树中包含400多种组件,首创单位组合概念,各种车辆都可以从部件整合设计。支持单机任务和联机游戏。因为2004年的公开源代码,使得开发持续进行,出现了新的活力,也使得其拥有跨平台能力。 ## Warzone 2100 2.2以后版本中文乱码问题的简单&完美解决方案 至少2.2版本以后,Warzone 2100在中文系统上100%会把中文全显示成小方块——部分Linux系统下甚至连调成英文凑合用都做不到。对于这一问题,网上有各种各样的教程,包括但不限于: * 修改`config`文件中的`fontname`字段——3.0版本以后根本没这个字段,写上也没用 * 替换`DejaVu`字体,包括替换为其他字体并改名、删除系统中的同名字体、修改字体文件删除中文相关内容等,测试无效 测试过一遍之后,我发现问题在于:**尽管Warzone 2100的安装包自带了字体(Windows安装包会自动解压一个字体,Linux会依赖一个字体包),但实际上在新版中用的根本不是磁盘上你看见的那个字体文件!**实际上使用的字体文件被压缩在了一个名为`base.wz`的文件中,它的扩展名是`.wz`,实际上是个`.zip`文件。而程序运行时则无脑使用压缩包中`fonts`目录下的两个`DejaVu`字体文件,甚至不关心文件中字体的名字具体是什么。 理论上只要用一个支持`.zip`的软件强行打开该文件,再随便找两个中文`ttf`字体修改名字后替换进去即可。我用的是之前折腾其他方案时下载的一个叫`MicroHei Faked`的字体,但是从来没在任何配置文件中设置有关`MicroHei Faked`的内容,所以文件中字体的名字应该是无关紧要的。 {{:ordinarysoftware:warzone2100替换字体.tar.gz|字体文件放在这里备用}} ## Warzone 2100 4以后版本中文乱码问题的简单&完美解决方案 今天玩了一把4.4,改进是不错的,高分屏上也有了清晰显示的可能。但是,中文变方块问题依旧存在,并且解决方式不一样了。 上面说的`base.wz`文件中依旧有两个字体文件,但改这俩文件解决不了问题了。现在需要替换的字体是`WarZone2100\data\fonts`下面的两个字体,文件名依旧是`DejaVuSans.ttf`和`DejaVuSans-Bold.ttf`。解决方法是把这俩文件替换成有中文字形的随便什么字体(字体名不一样也没关系)。我就直接用了网上下载的雅黑-consolas混合字体。