Cleartype 在显示小文本(例如 10-16px)时效果很好。
然而,当你显示超过 20px 的东西时它就开始看起来像泥土。
只需将其与 Photoshop 进行比较。Photoshop 在小尺寸下的渲染效果并不令人印象深刻,太模糊了。但如果在 20px 下进行比较,Photoshop 总是胜出。Cleartype 在边缘处看起来参差不齐,几乎就像根本没有 Cleartype 一样。
这个问题能修复吗,还是说 Cleartype 就是这样的?
答案1
我同意 ClearType 在高 DPI 下会失去很多优势,同样,当你有巨大字体时也是如此。
我介绍过尊重像素网格:
我不明白为什么苹果要我们牺牲现在,以牺牲未来。难道我们不能在低分辨率下也能有提示,在高分辨率下也能有准确度吗?当每个人都沉迷于 200 DPI 显示器的光辉时,将字体对齐到像素网格可能完全不重要。在那辉煌的一天到来之前,尊重像素网格肯定会让那些困在当下的人更容易阅读文本。
这两种策略...
苹果一般认为,算法的目标应该是尽可能地保留字体的设计,哪怕是以一点点模糊为代价。(OSX/Safari 默认字体渲染)
微软一般认为,每个字母的形状都应敲入像素边界,以防止模糊并提高可读性,即使代价是不忠于字体。(ClearType)
... 在某种程度上互相排斥——一个在低 DPI 下看起来不好,另一个在高 DPI 下看起来不好。
在理想情况下,我们会根据所使用的 DPI 和字体大小动态切换这两种策略。我不知道有任何操作系统会在特定 DPI 级别或字体大小下动态切换字体渲染策略,但它们应该存在!
答案2
在 Windows 上使用 gdipp 我们可以同时获得两全其美的效果,并可以随意在两者之间切换。
- 下载gdipp 的最新版本在这里。
在设置文件中第一个 <font> 规则之前添加:
<font max_height="13"> <renderer>0</renderer> </font>
重新启动您的电脑(或使用 services.msc 重新启动 gdipp 服务)。
这将为尺寸小于 13 的字体选择默认的 Windows ClearType 渲染,然后对于较大的字体,将使用默认的 gdipp 设置(或您决定使用的任何其他设置)。
我发现“GDI++ 托盘”和许多人都声称 Windows 字体平滑效果不好,而 Mac OSX 字体平滑效果更佳。事实是,Mac 风格的字体平滑效果对于大字体来说很棒,但对于小字体来说却难以阅读。
(我知道这个问题很老了,而且已经有了“答案”,但这是我谷歌查询的第一个结果,而不是真正的答案。经过广泛的搜索,我找到了自己的解决方案。这就是我在这里分享的。)