急救室
首发于急救室

让你的Windows 10字体显示效果达到最佳(续)

让你的Windows 10字体达到最佳显示效果 - 急救室 - 知乎专栏 这里介绍了个不算很繁琐的work around,可以最大程度改进高分屏幕下、Windows上中文字体的显示效果。

下面我再来解释下,为什么要这么做。

1. 升级到Windows 10
2. 替换字体,把预置的微软雅黑,替换成无hinting版本的微软雅黑

3. 装Mactype解决legacy app的渲染问题
4. Modern应用会自己采用合适的方式进行渲染。所以你基本不用管他们。
5. 让Mactype完全采用灰阶模式来抗锯齿。

1. 升级到Windows 10

Windows 10解决了Windows 8.1时的一些问题。例如,Windows 8.1的Modern应用,默认会优先采用日文和繁体中文字体来显示简体中文的内容。这就导致了非常可怕的字体显示效果,我就不赘述了。这个bug在Windows 10里修好了。

另外Windows 10的Direct Write在高分屏上可以把无hinting的文字渲染得很好看。所以我们先升级到Windows 10来。

2. 替换字体,把预置的微软雅黑,替换成无hinting版本的微软雅黑

为什么要换成无hinting版本呢?因为Direct Write不会忽略掉字体里内置的hinting信息。

先要解释下,一个字体,实际上一般有两个重要的部分,一个是glyph,也就是字形的矢量图部分;另一个是gridfitting,通常来说其中最重要的就是hinting(微调)信息了。

首先,普通版雅黑为了保证字体的屏幕可读性,所以对字体做了很重的hinting。而这种hinting,在高分屏幕上其实是无所谓、没必要的。对于高分屏来说,只要glyph信息好(字形好看、粗细均匀、不要太细),就可以获得很不错的显示效果。而且必须得承认微软雅黑的hinting比较丑……

所以,既然你用的是200PPI左右或者更高的屏幕,那么就没什么必要在DW环境下留着hinting了。因为如果你用微软雅黑的纯glyph部分,那么可以获得很好看的渲染结果。

3. 装MacType解决legacy app的渲染问题。

5.让Mactype完全采用灰阶模式来抗锯齿。

虽然微软很早就推出了direct write,但是仍采用传统GDI方式渲染文字的桌面应用依然很多。但现在问题来了:GDI方式渲染的文字非常依赖hinting信息。而你刚才替换的字体,已经把hinting信息给去掉了。所以在默认情况下,你可能会在这种老应用里获得很糟糕的渲染效果。

怎么办呢?用MacType。MacType可以劫持掉GDI的部分,从而让原本采用GDI渲染的文字,现在调用Mactype的策略来进行文字渲染。

MacType过去我一直是不推荐用的,因为它的渲染方式某种程度上牺牲了可读性。不过它有一点非常好:它支持灰度渲染。前面我们说了,我们已经有了很好的glyph信息,就差一个好的渲染引擎了。而MacType的灰度渲染模式就是我们需要的这个渲染引擎。你几乎不需要做任何事,只要打开MacType的自动微调和灰度渲染就行。总的来说效果和DW非常类似,我这里有个对比图:

左侧是Edge浏览器,采用DW渲染。右侧是Explorer,采用MacType渲染。

虽然DW更好看一些,不过MacType并没逊色到哪里去。

而且因为你用的是高分屏和设计之初就很考虑字形可读性的微软雅黑,所以可读性甚至都没怎么降低!


==

好了,大致就解释到这里,诸君应该已经了解啦。

发布于 2015-07-14

文章被以下专栏收录

    不是软狗不要看,不是软狗不要关注。 现已成为微软官方商城软文广告中心( 其他文章随意转载,不过请著明出处:知乎@可可苏玛 微信:cocosuma 微博:同知乎ID