经过许久的摸索,终于找到了一个目前最好的work around,解决Win10字体难看的小方法。
那么简短的步骤来了:
1、升级到windows10
2、替换字体,把预置的微软雅黑,替换成无hinting版本的微软雅黑
下载地址:MSYH-m.TTC字体网盘下载
下载后更名为MSYH.TTC,放到C:/Font/文件夹里(我知道你没有这个文件夹,要手动建立一个)。
替换方法:进入系统设置→更新和安全→恢复→高级启动→立即重启→疑难解答→高级选项→命令提示符。
重启后输入命令:
copy C:/font/msyh.ttc C:/windows/fonts/
- 输入yes确认覆盖
- 输入exit退出
- 选择继续Windows10
3、安装Mactype解决legacy app的渲染问题
4、Modern应用会自己采用合适的方式进行渲染,所以你基本不用管他们。
5、让Mactype完全采用灰阶模式来抗锯齿。
配置文件下载:win10.ini网盘下载
下载之后放到C:/Program Files (x86)/MacType/ini/文件夹里,然后用MacType的自带工具启用它,接着再重启一次系统就ok了。
附效果图:
还有一个挺重要的事儿忘了说了:
Surface默认是开了UEFI的【安全启动】的,这个时候你的MacType没法以注册表模式自动启动,你得把安全启动先关掉(方法自己必应),然后把MacType切换到注册表启动模式,重启电脑,然后在进入Windows桌面之后再进到UEFI设置,打开安全启动。
下面我再来解释下,为什么要这么做。
1、升级到Windows10
• Windows10解决了Windows 8.1时的一些问题。例如,Windows 8.1的Modern应用,默认会优先采用日文和繁体中文字体来显示简体中文的内容。这就导致了非常可怕的字体显示效果,我就不赘述了。这个bug在Windows10里修好了。
• 另外Windows10的Direct Write在高分屏上可以把无hinting的文字渲染得很好看,所以我们先升级到Windows10。
2、替换字体,把预置的微软雅黑,替换成无hinting版本的微软雅黑
为什么要换成无hinting版本呢?因为Direct Write不会忽略掉字体里内置的hinting信息。
先要解释下,一个字体,实际上一般有两个重要的部分,一个是glyph,也就是字形的矢量图部分;另一个是gridfitting,通常来说其中最重要的就是hinting(微调)信息了。
首先,普通版雅黑为了保证字体的屏幕可读性,所以对字体做了很重的hinting。而这种hinting,在高分屏幕上其实是无所谓、没必要的。对于高分屏来说,只要glyph信息好(字形好看、粗细均匀、不要太细),就可以获得很不错的显示效果。而且必须得承认微软雅黑的hinting比较丑……
所以,既然你用的是200PPI左右或者更高的屏幕,那么就没什么必要在DW环境下留着hinting了。因为如果你用微软雅黑的纯glyph部分,那么可以获得很好看的渲染结果。
3、装MacType解决legacy app的渲染问题。
4、让MacType完全采用灰阶模式来抗锯齿。
虽然微软很早就推出了Direct Write,但是仍采用传统GDI方式渲染文字的桌面应用依然很多。但现在问题来了:GDI方式渲染的文字非常依赖hinting信息。而你刚才替换的字体,已经把hinting信息给去掉了。所以在默认情况下,你可能会在这种老应用里获得很糟糕的渲染效果。
怎么办呢?用MacType。MacType可以劫持掉GDI的部分,从而让原本采用GDI渲染的文字,现在调用Mactype的策略来进行文字渲染。
MacType过去我一直是不推荐用的,因为它的渲染方式某种程度上牺牲了可读性。不过它有一点非常好:它支持灰度渲染。前面我们说了,我们已经有了很好的glyph信息,就差一个好的渲染引擎了。而MacType的灰度渲染模式就是我们需要的这个渲染引擎。你几乎不需要做任何事,只要打开MacType的自动微调和灰度渲染就行。总的来说效果和DW非常类似
左侧是Edge浏览器,采用DW渲染。右侧是Explorer,采用MacType渲染。
虽然DW更好看一些,不过MacType并没逊色到哪里去。
而且因为你用的是高分屏和设计之初就很考虑字形可读性的微软雅黑,所以可读性甚至都没怎么降低!