Windows的ClearType渲染字體方式,結(jié)合臭名昭著的hinting技術(shù)使微軟雅黑字體備受爭議,正所謂:成也hinting,敗也hinting。
首先什么是hinting?
Hinting 這個(gè)詞一直都沒有中文名稱,我用粵語將它音譯為“牽挺”。
個(gè)人解釋:?"牽" 可以理解為引導(dǎo)和調(diào)整,而 "挺" 則可以解釋為挺拔、優(yōu)雅。
按照官方的解釋,Hinting的目的是為了確保在低分辨率屏幕上,小字號字體也能夠清晰可讀。然而,在追求清晰的同時(shí),hinting可能會導(dǎo)致筆畫的位置偏移和錯(cuò)位,從而損害了字體的整體設(shè)計(jì)美感。
在我看來,hinting是一種動(dòng)態(tài)模擬點(diǎn)陣字體效果的技術(shù)。
因此,微軟雅黑字體在小字號下會出現(xiàn)各種奇怪的筆畫位置不正確的現(xiàn)象,主要是因?yàn)閔inting為了在狹小的點(diǎn)陣像素空間內(nèi)實(shí)現(xiàn)清晰展示,犧牲了原本中文字體的設(shè)計(jì)意圖。
相比之下,Mac OS采用的平滑渲染字體效果一直受到許多用戶的喜愛,Windows用戶只有眼饞的份。為了追求模擬Mac OS的平滑渲染字體效果,擺脫Windows hinting的影響,字體愛好者追捧先后出現(xiàn)的GDI++和MacType等外掛式字體渲染工具,使得Win系統(tǒng)的字體顯示更加“所見即所印”。(GDI++是MacType的先驅(qū)。我是從2008年開始在WinXP系統(tǒng)使用GDI++,2012年后Win7系統(tǒng)使用MacType。)
Windows 10之后引入了DirectWrite渲染方式,但在系統(tǒng)縮放比例200%以下,DirectWrite仍無法完全解決微軟雅黑字體顯示不平滑的問題。那就繼續(xù)用MacType唄……更糟糕的是,越來越多的生產(chǎn)力應(yīng)用(如Chrome瀏覽器、WPS、Photoshop等)已經(jīng)我行我素,強(qiáng)行使用Hinting渲染,完全無視MacType,導(dǎo)致MacType可渲染的對象越來越少,MacType的地位變得越來越不重要。
因此,干脆直接干掉字體的hinting吧!盡管這樣會導(dǎo)致在小字號下顯示比較模糊。在只要把系統(tǒng)的字體縮放比例設(shè)為125%以上,微軟雅黑的觀感將顯著提升。
早在2008年坊間就有流傳過“無hinting的微軟雅黑”字體,字體名稱為 iYahei,文件大約8M。可惜在WinXP、Win7系統(tǒng)默認(rèn)的渲染模式下顯示發(fā)虛,筆畫的粗細(xì)不一,遠(yuǎn)遠(yuǎn)達(dá)不到MacType的效果。
然而我把 iYahei 存入手機(jī)代替默認(rèn)字體卻能完美展現(xiàn)。從2008年我使用的諾基亞手機(jī),到后來的安卓系統(tǒng)的手機(jī),我都替換手機(jī)的默認(rèn)字體為 iYahei。除了 iYahei,也有其他人制作的無hinting字體,受多人推崇。
為什么不直接把有hinting的微軟雅黑替換安卓手機(jī)的默認(rèn)字體?我早已嘗試過,帶有hinting的微軟雅黑在安卓系統(tǒng)里也會按照hinting信息渲染字體,跟Windows的默認(rèn)渲染效果一樣不好看。唯有去除hinting,才能真正再現(xiàn)字體設(shè)計(jì)的本色。
多年以來,我都在尋找一款能夠刪除hinting的工具,現(xiàn)在終于找到了,并將其記錄如下:
需要用到的利器:?TtfAutoHint?(度盤鏈接:https://pan.baidu.com/s/1Mv-hpb7mqxzLf22Z1lDGbA?pwd=ttj5 提取碼: ttj5)
另外,需要 WinPE環(huán)境(U盤或者本地硬盤安裝)。
在Windows的命令提示符使用以下命令來刪除hinting:
d:\downloads\ttfautohint -d c:\windows\fonts\msyh.ttc c:\msyh.ttc
微軟雅黑常規(guī)體文件msyh.ttc原先體積是22.5M,經(jīng)過這樣去除hinting之后,生成的新字體文件大大縮小到8M,這跟多年前的 iYahei 字體差不多大了,可見微軟每次升級Windows系統(tǒng)和微軟雅黑字體,為了討好眼球,都是制造更多的?hinting。在我看來,這些 hinting 都是垃圾,真正有效的矢量字體信息就是8M夠了。
如果要批量轉(zhuǎn)換Windows系統(tǒng)的字體,可以在命令行下可以使用下面命令:
cd /d %windir%\fonts
for %a in (*.tt?) do d:\downloads\ttfautohint -d %a c:\%a
這樣就一次性把系統(tǒng)所有.ttc和.ttf的字體都去掉hinting,輸出到C盤根目錄。
在重啟后切換到WinPE環(huán)境,把C盤根目錄處理后的字體文件復(fù)制粘貼到C:\windows\fonts目錄并替換,再重啟進(jìn)入正常的Windows環(huán)境,這樣微軟雅黑字體的渲染效果變得更加平滑。雖然與MacType的效果相比還有少許差距,但至少不再擔(dān)心MacType占用系統(tǒng)內(nèi)存的問題。
需要注意的是:
1、不是所有刪掉hinting的字體都令人滿意。
如:宋體(simsun.ttc),我覺得保留hinting反而比刪掉的更好。
常用的英文字體(Arial、TImes New Roman、Tohama、Verdana、Calibri等)也沒必要去掉hinting,反正去不去掉hinting視覺上的影響沒那么明顯。
2、顯示器分辨率不超過1440x900,而且系統(tǒng)字體縮放比例是100%的話,勸你別試了。用默認(rèn)的帶hinting的字體反而使小字號字體顯示更清楚。
附圖1:去除hinting之前的微軟雅黑(系統(tǒng)縮放比例100%)
?附圖2:去除hinting之后的微軟雅黑(系統(tǒng)縮放比例100%)
附圖3:去除hinting之后的微軟雅黑(系統(tǒng)縮放比例125%)
附圖4:有無hinting的微軟雅黑小五、五號、小四、四號字體的表現(xiàn):
以“重量”為例,去除hinting之前,在hinting的作用下各個(gè)筆畫都在有限像素的空間內(nèi)盡可能清晰呈現(xiàn),可以看出hinting的實(shí)質(zhì)是在各個(gè)字號里模擬點(diǎn)陣字,但犧牲了原來字體的設(shè)計(jì),如“重”的第一筆是撇,但hinting的作用下全部變成橫線。刪掉hinting之后的字雖然在小字號情況下顯得模糊,但筆畫是正確的,忠實(shí)還原字體設(shè)計(jì)的本來面目。文章來源:http://www.zghlxwxcb.cn/news/detail-633212.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-633212.html
到了這里,關(guān)于忘掉MacType吧,TtfAutoHint手工刪除ttc、ttf字體的hinting,微軟雅黑字體更顯平滑的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!