前言
众所周知,微软雅黑是一款被无数人喜(tuo)爱(qi)的Windows默认字体。无论如何,它都在Windows数年的历程中有着无数的功劳。下面,让我们来替换它,让它结束它的使命
方法一:NoMeiryoUI:简单但不将就
我们不是第一个思考如何替换字体的人。所以,有大佬做出了通过注册表一键替换全局字体的工具:NoMeiryoUI
- 安装想要替换的字体
- 打开软件
- 选择要替换的字体
- 设置全部并退出
- [可选】重启

方法二
本方法仅在Windows10、Windows11上测试通过,未在其他Windows版本上进行测试
基础知识
相信你一定被这个标题所吸引,我们要通过替换微软雅黑来实现字体的替换
首先我们要了解一下官方微软雅黑的结构:
微软雅黑————msyh.ttc————微软雅黑Regular
| |——微软雅黑UI Regular
|
|—msyhl.ttc————微软雅黑Light
| |——微软雅黑UI Light
|
|—msyhl.ttc————微软雅黑Bold
|——微软雅黑UI Bold微软雅黑和微软雅黑UI是同一字体家族中的不同版本:微软雅黑(Microsoft
YaHei)是一款通用的中文字体,而微软雅黑UI(Microsoft YaHei
UI)是为用户界面优化的版本,在设计上进行了调整以提高屏幕阅读体验 ————Gemini
Light、Regular与Bold
Light、Regular和Bold是字体中常用的三种字重,它们代表字体的粗细程度。其中,Light 是最细的(字重数值
300),Regular 是常规粗细(字重数值 400),而 Bold 是粗体(字重数值 700)
————Gemini
聪明的读者已经想到了,我们直接用第三方字体替换三个微软雅黑的字体文件不就完成替换了吗?
但我们可爱的Microsoft怎么会就这么让我们成功呢?
下面这些问题不解决,就没法成功
Windows在加载微软雅黑时,会校验字体的名称、家族、字重
TTC和TTF都是TrueType字体格式,主要区别在于TTC(TrueType
Collection)是一个包含多个字体文件的集合,而TTF(TrueType Font)则只包含一个字体文件
————Gemini
在Windows中,微软雅黑以TTC存储,每个TTC包含了普通微软雅黑与微软雅黑UI。我们如果单纯的把TTF改元信息、后缀,可以正常识别。但,微软雅黑和微软雅黑UI中一定有一个加载不出来,然后无法加载,并回调宋体
了解完微软雅黑的组成,让我们来着手替换微软雅黑
前期准备
- 原版微软雅黑的三个TTC PowerFile下载
- 需要修改的第三方字体(本教程仅适用于有三个不同的字重的第三方字体,一些字体的成品替换包在文末。如果你的字体为TTC格式,请使用UniteTTC将其分离成单个TTF,方法见下)
- TTFname3(年代久远的小工具,用于提取、合并TTF的元信息)PowerFile下载 备用第三方下载
- UniteTTC(分离、打包TTC)
- 良好的心态与优秀的阅读能力
TTFname3合并:把元信息的xml和字体拖到TTFname3上
UniteTTC分离:把TTC拖到UniteTTC上,会在同目录下生成此TTC包含的所有TTF
UniteTTC打包:cmd运行
UniteTTC {TTC名称.ttc} {1号TTF名称.ttf} {2号TTF名称.ttf}字体预处理
本教程仅支持至少有三个字重的字体
本教程仅支持至少有三个字重的字体
本教程仅支持至少有三个字重的字体
把微软雅黑、第三方字体和工具放在同一文件夹内,使文件夹路径不包含中文
我们需要把每个微软雅黑的ttc文件拖到UniteTTC上以提取ttf
你需要决定用哪三个字重用于显示,不一定是Light、Bold和Regular,但一定是三个字重不同的同种字体(建议)。删除除这三个字重以外的所有第三方字体,并把这三个字体按字重从细到粗以此命名为XXX-Light、XXX-Regular、XXX-Bold以便你识别

字体元信息替换
首先,我们把XXX-Light.ttf拖到ttfname3上。ttfname3会在同目录生成一个XXX-Light.xml,这就是这个字体的元信息。
对msyhl001.ttf、msyhl002.ttf进行同样的操作,得到msyhl001.xml与msyhl002.xml
用记事本同时打开这三个xml,把XXX-Light.xml的每一项数值(引号里的内容)分别复制到msyhl001.xml与msyhl002.xml中,所有数值均需复制!!!
对Bold字重、Regular字重执行同样的操作。
对Bold字重、Regular字重执行同样的操作。
对Bold字重、Regular字重执行同样的操作。

合并为TTC
msyh001.ttf
msyh002.ttf
msyhl.ttc
msyhl001.ttf
msyhl002.ttf
msyhbd.ttc
msyhbd001.ttf
msyhbd002.ttf
我们需要把ttf与其元信息进行合并
以Light字重为例:把XXX-Light.ttf与msyh001.xml一起拖到ttfname3上(按住control依次点),得到msyhl001_mod.ttf,用于替换微软雅黑
把XXX-Light.ttf与msyh002.xml一起拖到ttfname3上,得到msyhl002_mod.ttf,用于替换微软雅黑UI
对Bold字重、Regular字重执行同样的操作。
对Bold字重、Regular字重执行同样的操作。
对Bold字重、Regular字重执行同样的操作。

接下来,我们要合并TTC为TTF
在当前目录打开cmd(在地址栏输入cmd并回车),依次执行以下命令,如文件名不一致请手动修改
UniteTTC msyh.ttc msyh001_mod.ttf msyh002_mod.ttf
UniteTTC msyhl.ttc msyhl001_mod.ttf msyhl002_mod.ttf
UniteTTC msyhbd.ttc msyhbd001_mod.ttf msyhbd002_mod.ttf现在你的文件夹里应该有了三个新的ttc文件:msyh.ttc、msyhl.ttc和msyhbd.ttc
打开他们,检查字体是否为想要替换的字体、字重是否正确。是,继续;不是,从头开始
替换微软雅黑
在C盘根目录下创建文件夹font,把改好的msyh.ttc、msyhl.ttc、msyhbd.ttc放进去
下面我们要进入Windows RE模式,请准备好账户密码、BitLocker磁盘加密恢复密钥(如有)
按住shift,点开始菜单中的重启,依次点击:疑难解答——高级选项——命令提示符
在命令提示符依次中执行
xcopy C:\font C:\Windows\Fonts
exit然后点“继续使用Windows”。大功告成!
成品字体替换包
霞鹜文楷:PowerFile下载
OPPO Sans:PowerFile下载