关于微软雅黑
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+苹方不知道会不会还能有显著地观感提升。
本文作者 LER0ever,同时发表于 L.E.R Space https://rongyi.io 和 博客园 https://www.cnblogs.com
原文链接: https://rongyi.io/2019/05/26/replace-msyahei-with-pingfang-sc/
转载须注明来源,以及遵循CC BY-NC-ND 4.0协议