
在一個(gè)百般無聊的晚上,我利用VMware Workstation Pro安裝了Mac。過程并不流暢,但好歹是體驗(yàn)了一下蘋果系統(tǒng)的感覺。
最喜歡是Mac的字體了。我用Chrome打開我自己網(wǎng)站的截圖。
一直以來就是對(duì)Windows字體渲染很不滿意。在WIN 7一段時(shí)間我使用了MacType 作為字體渲染軟件。但用MacType 帶來的是整個(gè)系統(tǒng)的卡頓。感覺得不償失。更何況用得比較多的Chrome并不支持DirectWrite ,所以 Mactype 渲染已陣亡。
蘋果 Mac OS X 對(duì)于字體的渲染和顯示的思路是讓屏幕上顯示的和在紙上打印的效果相同,而微軟 Windows 的思路則是適應(yīng)更多的設(shè)備,讓字體在低分辨率設(shè)備上也能看清楚,即便如此會(huì)導(dǎo)致字體筆畫發(fā)生一定的改變。這一最初設(shè)計(jì)思路的不同也就導(dǎo)致了兩者在字體渲染上很大的差異。從系統(tǒng)開發(fā)之初確定的這一思路陸續(xù)影響到了后來的應(yīng)用開發(fā)。而到了高分辨率屏幕漸漸普及的今天,傳統(tǒng)的 GDI 引擎不能適應(yīng)高分辨率,也就導(dǎo)致之前開發(fā)的 Win32 應(yīng)用中的字體在高 DPI 情況下顯示模糊或者不正常。
對(duì)于 Windows 10 所帶的微軟雅黑字體,其問題在于,其中包含了不合適的 GASP 表。比如在高 DPI 或者大字號(hào)下面就不需要讓字體渲染引擎進(jìn)行 Hint,大量的顯示器像素點(diǎn)完全可以達(dá)到矢量字體的設(shè)計(jì)效果。只有在字比較小或者低分辨率屏幕上,就應(yīng)該啟用 Hint,否則字體就模糊了。然而,如果用戶的屏幕本身已經(jīng)是高分辨率的情況下,再告訴渲染引擎用 Hint 對(duì)字體進(jìn)行清晰化,就會(huì)導(dǎo)致本來可以清晰顯示的字體變得十分難看,或是高低不平,或是擠成一團(tuán)?,F(xiàn)在很多電腦使用的 1080p 的屏幕。使用推薦的 125% DPI 情況下,字體筆畫之間仍然會(huì)出現(xiàn)一些不協(xié)調(diào)的情況。
解決問題:
極限社區(qū)的大神 RadarNyan 給出了的方案是修正 GASP 表來使所有 DPI 下均不使用 Hint。利用一個(gè)腳本可以批量將字體的 GASP 表進(jìn)行修正。我對(duì)這個(gè)腳本的通用性進(jìn)行了一定的改進(jìn)。
注意:以下操作涉及到系統(tǒng)文件修改,請(qǐng)注意備份。并且此修正方案在升級(jí)系統(tǒng)(大升級(jí))后可能會(huì)消失。風(fēng)險(xiǎn)自負(fù)。
(1)下載這個(gè)腳本,并解壓到合適位置。(GaspHack_v2_MOD)
(2)接著運(yùn)行 GaspHack_v2_MOD.bat ,等待執(zhí)行完成。
(3)執(zhí)行完成后,在 workingDir\output 下面找到 msyh.ttc(微軟雅黑)、segoeui.ttf、segui*.ttf(Segoe UI),復(fù)制出來待用。
(4)接著在 “設(shè)置”,“更新和安全”,“恢復(fù)” 中選擇 “立即重啟”(注意保存好工作),在 “疑難解答” 中選擇 “命令提示符”。
(5)用 copy 命令將復(fù)制出來的字體覆蓋到 X:\Windows\Fonts 下面(X 為系統(tǒng)安裝盤符)命令如下:
copy C:\X\*.* C:\Windows\Fonts
(6)重新啟動(dòng)系統(tǒng)。
最后,你會(huì)發(fā)現(xiàn) DirectWrite 下面字體的顯示有了很大的提升。
我是1080p 的屏幕,在使用推薦的 125% DPI 情況下,截圖如下:
基本滿意,有種耳目一新的感覺,最重要的是對(duì)系統(tǒng)近乎沒有任何影響。


