首先我想到用 XP 中的 fontview.exe 文件替换掉 Vista 的,成功。但文件毕竟是 XP 的,不知道会不会引发其它问题。于是用 Restorator 2007 打开 XP 的 fontview.exe ,发现有一个“信息表”资源,一堆16进制编码,不过从右侧的预览可以看出这部分的确包含字体预览窗格中的文字。再打开 Vista 的文件,没有“信息表”资源,想必是在它的 mui 中,用 XP 的“信息表”替换掉 Vista 的。随便找一个字体打开,没有出错,不过文字显示位置全部错乱,比如窗口左上角的“打印”变成了我们苦苦寻找的“Windows 中文字型范例 1234567890”,看来对应关系不太一样,于是导出 Vista 的“信息表”,使用16进制编辑软件打开想手动修改,不过软件貌似不支持将字符替换为中文,于是又搜中文转16进制码的东西。
自认为修改完成后想要替换回 mui 文件时,手一抖将 mui 文件拖拽到了 ResHacker 的图标上,不看不知道,一看...原来 ResHacker 可以直接对“信息表”资源进行修改(ResHacker 称之为“消息表”),晕...费了我半天劲...于是直接修改完毕,顺便还汉化了2个微软没有翻译的地方。保存,试验成功。这样以后就可以直接查看该字体中文字符的样式了,不过某些字体无法显示中文名称的问题还是没有解决(如果你认为这一点很重要那么就使用 XP 的 fontview.exe 吧)。
下面是对比图,上为 Vista 默认状态,下为修改 mui 后的效果。