关于微软雅黑

Windows从Vista开始用到现在的”微软雅黑”十多年以来基本没什么大改动,而大家的显示器从CRT进化到了IPS高分屏,十年前看着还OK的字体现在在绝大多数屏幕上可能就是这个样子的:

原因是雅黑作为十年前设计的字体,所有的hinting都是手动操作的,就会带来一堆shi一样的问题。比如字形是忽上忽下的,hinting过重导致扭曲了笔画,为了显示内白精简部分汉字等等。在高分屏上,微软有尝试用ClearType更加精细的显示字体,配上之前被扭曲的笔画和厚重的hinting,整套字体显示的时候锐不锐毛不毛完全看心情。我这儿一台27寸4K显示器和2016MBP 2K内置视网膜屏的显示效果都和上图差不多。

Noble Scarlet!

解决方法就很简单,因为这个完全是字体文件的问题,跟渲染策略其实关系不大。微软也在着手解决这个问题,在17025的时候引入了”次世代微软雅黑” Noble Scarlet,总体来说更接近使用MacType+旧微软雅黑的效果。一张Mac上的对比图

微软雅黑 vs 苹方 vs Noble Scarlet

其实说实话Noble Scarlet在Windows上HiDPI下的观感是非常不错的,然而微软在RS5的时候把这个次世代项目取消了… 于是导致十年前的微软雅黑强撑到了现在。

苹方简中替换微软雅黑

我在升级到上一个Windows大版本(1809)的时候就手动替换过微软雅黑,当时就想写这件事情,结果太忙忘了。微软今天下午刚刚放出了Windows 10 1903版本的大更新,因为是”大更新“,所以把我之前做的修改覆盖掉了,今天重新做了一次。

1. 备份所有雅黑和宋体

路径在C:\Windows\Fonts {msyh.ttc, msyhbd.ttc, msyhl.ttc, simsun.ttc, simsunb.ttf},虽然整个过程不大可能出错,这个是以防万一。

2. 下载苹方替换版雅黑和新宋

这不是苹果官方内置在macOS里的苹方,而是第三方爱好者把苹方提取出来做了些修改,使它对Windows而言就是微软雅黑(或者新宋体),但是实际渲染出来是苹方的效果。

3. 重启到CMD / Linux

因为微软雅黑是系统字体,而Windows启动之后就会一直占用着这个字体,在正常开机的状态下是不可能替换掉微软雅黑和新宋的。重启到CMD对绝大多数人来说会比较简单,按住Shift点击重启,然后选择疑难杂症(忘了叫什么了) –> 重启到命令提示符,执行以下复制命令

xcopy 原文件夹路径(C:\Users\...\Fonts) C:\Windows\Fonts

然后选A(All)全部替换,随后重启到新系统

实际效果

Windows设置 (UWP)

Slack (Electron)

Electron应用默认是使用新宋体渲染的字体,所以无论在什么屏幕上都会非常丑,以下是讲新宋替换成了苹方的显示效果。

文件管理器 (Win32)

OneNote (UWP)

对比macOS原生中文渲染

截图为系统缩放至外接4K显示器相同像素密度情况下的UI和文本字体渲染

结论

单纯通过替换字体,Windows 10和macOS在我这儿的表现其实已经差不太远了。我这个替换字体可能会用到下一次Windows大更新,如果那时候Noble Scarlet还没成为默认的话,我就会去尝试一下在Windows下使用Noto Sans CJK SC的对比效果,或者用MacType+苹方不知道会不会还能有显著地观感提升。

苹方的字体文件恕不能提供,该字体原则上不允许在macOS之外的其他系统上安装,并且协议明确规定不经允许不可以在互联网上分发。不过好在它一搜就有。

Leave a comment