Windows 10 1703 字體優化方案(1.25-1.75x)

PS:如果您使用 100% 縮放比例,請直接 Ctrl+W 吧。如果您使用 200% 及以上的縮放比例,請到這裡(TechBench by WZT (v3.3))下載1703(15063),然後 Ctrl+W 吧。

Windows 10 1703 的字體渲染機制有了很多變化(閱讀本文前建議閱讀我寫的這個答案,效果請參見答案,本專欄文章僅說明修改過程和修改過程的坑。),比如說,新增了僅縮放圖形內容而可以保證文本漂亮地渲染出來的 GDI Scaling 模式(系統增強),而且 ClearType 也有了 y 軸渲染(但需要無 Hinting 字體;或者,對於小於 21 px 的字體,需要修改 gasp 表)。

下面我提供大家一個完美的渲染方案。

1、首先就是修改 gasp 表了,以往這樣做會改善 DirectWrite 渲染的效果,現在 ClearType 也從中受益了。由於相關文章很多,我不想碼字了,我直接搜一篇貼上吧。。(th0.me/1919.html/commen

PS:由於Windows總是喜歡為小於等於13pt@96DPI(即17px)的宋體強行加GRIDFIT,經常會造成某些軟體的英文和數字顯示徹底掛掉(如下圖):

解決方法是修改GaspHack_v2.ttx,然後重新輸出,建議同時修改批處理文件,僅複製宋體,關於修改的原理,請見極限社區 - 查看單個帖子 - 交流 win10 10586版本似乎對字體做了很多改進(另附96DPI下px和pt的換算:Approximate Conversion from Points to Pixels):

<?xml version="1.0" encoding="UTF-8"?><ttFont sfntVersion="x00x01x00x00" ttLibVersion="2.5"> <gasp> <gaspRange rangeMaxPPEM="17" rangeGaspBehavior="7"/> <gaspRange rangeMaxPPEM="65535" rangeGaspBehavior="10"/> </gasp></ttFont>

若不想讓其他字體在96DPI@9pt(即12px)下進行渲染,請修改為(對永遠不支持高分屏的模糊軟體非常好用),同時建議修改批處理,僅複製正黑,雅黑和Tahoma,Segoe UI,Arial:

<?xml version="1.0" encoding="UTF-8"?><ttFont sfntVersion="x00x01x00x00" ttLibVersion="2.5"> <gasp> <gaspRange rangeMaxPPEM="12" rangeGaspBehavior="7"/> <gaspRange rangeMaxPPEM="65535" rangeGaspBehavior="10"/> </gasp></ttFont>

最後的修改效果,可以看到宋體的英文和數字問題成功被解決了,微軟雅黑12px修改後也使用傳統ClearType了。

上圖為120DPI(125%)下宋體在Remote Desktop Connection Manager的表現(修復後)。

上圖為傳統模式的DPI虛擬化,可以看到,在我的調教後,小字型大小的宋體和≦12px的雅黑使用了傳統的ClearType而不再使用新式帶y軸渲染的ClearType。

PS:評論區內若繼續出現 「我升級了 1080p 沒有變化」等不看文章和我提及的相關回答/博客就評論的行為或是「堅持4K屏用100%」等在評論區中抬杠的評論,一律摺疊不謝。

2、如果您認為桌面圖標的白色字體不夠重,可以使用 MT DW Patch 作者的 WinFont 進行優化,注意請使用 Alpha3 版本:

「WinFont+」開発記録 Part 4 - しらいとブログ

然後修改註冊表,轉到HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWinlogon(注意:一定要修改HKCU而非HKLM,因為HKCU的優先順序更高,而WinFont並非可用的外殼程序,Explorer.exe才是,這裡使用Shell鍵值主要是為了讓WinFont優先於Explorer.exe啟動,此時該用戶可以使用兩個Shell:不合規的WinFont和符合規範的Explorer.exe)

然後創建一個新的 REG_SZ 值,賦名 Shell,賦值參考我的設置,註銷後即可生效:

這裡是 125% 下的前後對比:

如果想在任務管理器手動重啟資源管理器後依然保留渲染,請打開事件查看器-應用程序,尋找來源為 Winlogon,ID 為 1002 的日誌,創建一個這樣的計劃任務就好了。(如果該設備使用多用戶,請不要設置該計劃任務)

taskkill /im explorer.exe /fC:ToolsSystemWinFont+_alpha03WinFont+64.exe C:WindowsExplorer.exe

3、如果您的縮放比例是 150% 或 175%,教程結束。如果是 125% 且使用 Office 或 VS 的話,繼續,如果您注重安全,教程結束,相對路徑而又不含簽名校驗的AppInit DLL設置是非常危險的!(4/9更新:個人不建議在1703上使用MacType,很影響系統和Office的穩定性,所以我建議不用再做這步了,莫名的風扇狂轉、系統無響應和昨天編輯Office文檔時的各種卡死已經讓我放棄MacType了。)

若想繼續,請參見使用MacType優化125%(120DPI)上的Office 2013+和VS【不推薦】

教程結。

PS:我不建議在 1703 及以上版本全局使用 MacType 或者 WinFont(註:全局使用 WinFont 的方法是使用 AppInit_DLLs),因為它們會造成 GDI Scaling 完全失靈,而且可能會影響系統的穩定性。


推薦閱讀:

微軟不遺餘力地推動Windows 10系統,到底是為了什麼?
Windows下那些珍藏的良心軟體,效率工具集

TAG:Windows10 | 字体渲染 |