FontMod(字体外挂软件)是修改老win32系统应用程序字体的dll文件,win32上的一些老应用程序没有对中文进行「特色优化」,这会导致系统将中文等CJK字符渲染为万恶的「中易宋体」,使用FontMod可以避免出现这个问题!
![FontMod(字体外挂软件)](https://thumb.jfcdns.com/thumb/n331yds319c11218g32/16f5e266dec9e7fb_460_0.jpeg)
软件介绍
事实上,FontMod的工作原理非常简单易懂,和一些游戏外挂的原理类似。我们可以这样理解:FontMod就是一个专门修改应用程序字体「外挂」,都是利用在原有程序的执行的基础之上,加载我们自己的DLL。那么,这样的话,我们就可以在DLL中将应用程序字体渲染的部分逻辑进行修改,使得应用程序使用我们指定的字体进行显示。
FontMod的大致工作原理
不过,值得注意的是,DLL注入和「游戏外挂」一样,实际上都非常危险,能够将原先安全的应用程序核心数据进行篡改。如果FontMod不是一款开源软件,那么我是不会使用它,也不会推荐给大家使用。
使用方法
Mendeley是一个学术文献的管理应用,其客户端MendeleyDesktop应该是直接利用Qt编写的。另外,Mendeley也不负众望,其客户端就连英文字体都渲染成了「中易宋体」…???我们以Mendeley为例子,具体介绍如何将FontMod挂载到主应用程序上,使之生效。
找到目标程序的安装目录
首先,我们需要找到Mendeley的安装目录。在Windows的开始菜单,右键点击Mendeley,选择「更多?打开文件位置」,在打开的目录下选择Mendeley的快捷方式,再次右键,选择「打开文件所在位置」,不出意外的话,我们就进入了Mendeley的安装目录。
找到Mendeley的安装目录
![](https://thumb.jfcdns.com/thumb/n331j5n31je6125q632/16f5e266deda6dad_460_0.jpeg)
仔细观察,我们可以看到MendeleyDesktop.exe这一可执行文件,也就是我们Mendeley客户端的本体。另外,下方还有一些带有Qt字样的DLL文件的蛛丝马迹,这些线索表明Mendeley客户端很大可能是直接使用跨平台UI框架Qt编写的,验证了我们的猜想。
接下来,我们拿到刚刚下载好,并更改名称为winmm.dll的FontMod文件,进行挂载的工作。
让FontMod挂载目标程序
我们将winmm.dll直接复制进入刚刚的Mendeley安装目录下,这一步骤可能需要「管理员权限」,如果提醒我们,点击授权即可。此时,如果我们尝试双击MendeleyDesktop.exe打开Mendeley客户端,很可能出现报错,提示你未找到一个名叫FontMod.yaml的文件。不必担心,这是正常现象。
Mendeley默认安装位置位于WindowsC盘的ProgramFiles目录下,这一目录需要管理员权限才能创建文件,因此上一步中FontMod没有将自己的配置文件在第一次运行时成功创建,导致报错。我们需要在Mendeley的这一安装目录下手动创建一个名为FontMod.yaml的文件作为配置文件。
另外,如果你打开之后发现没有什么问题,那么很可能就是FontMod为我们创建好了这一文件,我们继续接下来的工作即可。
字体软件