一直以来,Windows 常常因为糟糕的字体渲染表现广为诟病,加之默认的中易黑体时不时以点阵形式出现戳瞎双眼,而 Mac 顺滑的字体显示则让笔者在内的诸多 Windows 用户羡慕不已。不过即使再多的羡慕,因为苦于没钱的万恶之源也只能停留于羡慕而已。
但是没有 Mac 就不能享受较好的字体渲染了吗?MacType 的答案是否。
关于 MacType
MacType 是基于一个 GDI++ 开源项目开发的字体渲染软件,虽然其最近一次更新时间已是在三年前,但却能一直无障碍兼容到最近的 Windows 10 Version 1607。MacType 的出现给 Windows 用户带来了优良的字体显示效果,也使得我们能够「热替换」系统默认字体而不修改系统文件。
简单来说,MacType 可以:
- 改善 Windows 字体渲染
- 热替换系统默认中易宋体
但因 MacType 是基于 GDI++ 只能接管 Windows 中 GDI+ 组件的字体渲染任务,所以对于自 Windows 7 以来引入的新字体渲染引擎 DirectWrite,MacType 一直无能为力,这使得平时看惯了 MacType 渲染的笔者在使用 Spotify、Chrome 以及诸多 UWP 应用等调用了 DirectWrite 的软件时产生各种不适。
幸运的是,近日来自日本友人开发的补丁使得 MacType 增加了对 DirectWrite 的支持,给 Windows 用户的眼睛带来了光明。
目前网络上的 MacType 教程或过于简单,或过于专业,信息散落十分零碎,所以基于个人摸索的结论写下这篇并不专业的教程。
安装配置
首先下载 MacType(因年代久远以及 Google Code 的死亡,其最近版本的初始发布页面已经不可考)并正常安装,安装完成后不急着配置启用。
我们需要下载 MacType Beta 更新,解压后将 MacType.dll
和 MacType64.dll
两个文件分别覆盖至 MacType 的安装目录(32 位系统为 C:\Program Files\MacType
,64 位则为 C:\Program Files (x86)\MacType
)。
为了热替换系统默认的中易宋体,我们还需要下载 IoF(Impression of Font)字体集用于代替显示中易宋体(发布页面),下载完成后先将压缩包解压,解压完成后可以看到文件内依然包含一个 7Z 包 IoF_20140711_103833.7z
,这里运行文件夹内的 !Install.bat
并按提示操作来将这个 7Z 包解压得到 IoF-Released
。
首先将 01:IoF字体集
目录里每一字体文件夹内除下划线开头和 simsun.TTC
以外的所有字体文件,例如在 IoF-Released\01:IoF字体集\XCross_Blade
内,即右击 XCross_Blade.TTC
、XCross_Blade-Mono.TTC
和 XCross_Blade-SimSun.TTC
这三个字体文件并在弹出菜单中选择「安装」。
安装完所有字体文件后,到 IoF-Released\03:IoF专用配置文件
内将 IoF
文件夹拷贝至 MacType 的配置文件夹内(32 位系统为 C:\Program Files\MacType\ini
,64 位为 C:\Program Files (x86)\MacType\ini
)。配置拷贝完毕后,我们接着打 DirectWrite 补丁,访问 MacTypePatch 发布页下载最新版本的补丁,解压后先至 MacType 安装目录将 EasyHK32.dll
和 EasyHK64.dll
两个文件重命名备份。然后将压缩包内的 EasyHK32.dll
和 EasyHK64.dll
以及对应系统版本文件夹内的 UserParams.ini
复制到安装目录下。
同时 EasyHK32.dll
和 EasyHK64.dll
还需对应系统位数版本复制到以下目录:
32bit
C:\Windows\System32\EasyHK32.dll
64bit
C:\Windows\System32\EasyHK64.dll
C:\Windows\SysWOW64\EasyHK32.dll
以上工作完成后打开「MacType 用户向导」,可以看到 MacType 有注册表、服务、MacTray 托盘三种加载模式,需要注意的是 DirectWrite 补丁不支持 MacTray 托盘模式所以须在注册表与服务之中根据自己所需选一,在下一步中选择「热替换为**」的配置文件,点击完成。
配置完成后重启,即可开始享受一个字体渲染愉快的 Windows 了。
排除冲突进程
需要注意的是,部分应用可能会与 MacType 渲染存在冲突(例如 MacType 会影响 Office 2016 的安装失败),这时我们需要使用通过排除进程来使应用正常工作。
打开 MacType 安装目录下的 MacType.ini
中添加以下内容:
[UnloadDll]
sample1.exe
sample2.exe
sample3.exe
将其中 sample*.exe
替换为所需排除的程序名即可。另外需要注意的是若使用「注册表加载模式」,配置文件的变更需要重启才能生效。