標籤:

「字」在某些字體下會不會像「宇」?

你覺得圖中第八個字像什麼… http://www.zhihu.com/question/20242267/log/self


閃開,讓專業的來。

這明顯是 Gridfit 的問題,至於是誰造成的,問 Monotype。

首先打開 msyhbd.ttf

找到「字」

在 Hinting 中找 Debug 開始調試。注意這裡的 Pointsize 是可以不同的,Gridfit 實際上能處理橫縱不等的縮放……

然後你可以看到一步一步的輪廓是怎麼給弄到像素邊緣上的……

然後你就會看到幾個關鍵點的位置在 14ppem 下明顯跑偏,頂點 11 19 明顯偏低,而頂點 16 偏高,於是「字」就給弄得像「宇」。

這是 IUP[y] 結束後的輪廓:

然後你還會發現整個字的字高很矮,只有 12……至於為什麼是這樣,那真的只有當年修字的那位 Monotype 的師傅才知道了。msyhbd 里有些 delta 加的真可以說是莫名其妙……我懷疑那些 gridfit 是針對某個特定的大小所作(也許是 12ppem?),然後其他大小下就吃癟了……


這個是 Hinting 造成的, Hinting 是手動做出來的, 一言蔽之, 是故意的. 因為它是既定的並非偶然, 而且 "字" 就是被弄成了 "宇" 而並非看起來像 (下面會詳細說明), 所以感覺提問句有些不妥.

Hinting 的作用是通過手動調節 (內置在字體中), 使矢量字體在特定字型大小下, 呈現出特定的狀態. 因為當前主流桌面顯示器的精度還不夠高, 而漢字筆畫繁多, 小字型大小下受像素柵格所限, 所以有必要省略一些筆畫才能夠顯示清楚, 否則某些字會糊成一片.

圖是雅黑 Regular 與 Bold 的 Hinting 效果圖 (點擊放大). 以 Regular 為例, 可以看到 5~8 的字模糊不清, 從 9 開始筆畫突然變清晰 (但細節還是一團糟); 9~20 字的筆畫都是只佔 1px 寬; 22~34 是占 2px 寬; 35~42 是占 3px 寬, 這都是 Hinting 起到的調節效果.

再看 Bold, 只有 14 的 "字" 被顯示成了 "宇", 不論它之前還是之後都是正常的. 雖然是故意為之, 但對這個字來說應該算是疏忽, 縱然顯示清晰很重要, 然而如果因此讓人會認錯字就得不償失了.

PS: 我最煩匿名提問了, 有必要麼?


Windows 7 系統下,17寸三星 CRT 顯示器,解析度 1024*768 。Chrome 瀏覽器默認字體為微軟雅黑時,[字」為粗體時和「宇」會很近似。

Mac OS X Lion 系統下,解析度1280*800 解析度,Safari 顯示器默認字體為冬青黑體簡體中文時,效果如下:


既然問的是會不會,我就直接貼圖了。


推薦閱讀:

sketch插件-FontRapid
【乾貨】最全免費可商用字體大集合(附字體包)
方正字型檔做網站的人都是馬鹿么?
八輔音義補全計劃(一)?字體篇
使用這些現代感的字體,助你走在設計的最前沿(附免費下載地址)

TAG:知乎 | 字體 |