粗體字體是通過演算法實現還是設計師每個字重新設計的?
12-30
如果是通過演算法實現的,具體是通過什麼方式做到的呢?
分情況討論。
- 所使用的字體家族本身沒有粗體,或是類似方正蘭亭黑家族一樣,沒有將各個字重合併到一個家族中。這樣,渲染程序遇到調用粗體的時候,只能採用演算法加粗,也就是所謂「自動實現」。這樣的自動加粗效果相當不佳。
- 當字體家族中具有多重字重的時候,通常在程序中調用粗體,能夠使用真正的粗體。這樣的例子,有冬青黑體簡體中文、微軟雅黑、Source Han Sans 等等。這裡的粗體是經過獨立設計的,筆畫構件、負空間等得到了人手的優化,是正如 @梁海 所說的,「是字體設計師的汗水凝結而成的」。
具體的例子,可以比較 Windows 里中易宋體(字體名稱為「宋體」)和微軟雅黑的粗體表現。注意在小字型大小下,微軟雅黑的粗體表現因 ClearType 而顯得糟糕,建議放大字型大小。
此外,用 multiple master 技術可以插值生成一個字體中兩個字重之間的中間字重,在 Source Han Sans 等具有多個字重的字體的設計中,應用很廣。但是兩段的字重亦是需要人工設計的,而且我估計中間插值的字重可能也需要經過人工調整。總之,當你見到一個具有多個字重的字族時(包括蘭亭黑這樣的不同字重沒有合併到一個家族的字體),請記住這是字體設計師付出不少心血和汗水的產物。
最後,請避免使用演算法加粗的粗體。
是有一個人,畫了一個細的,一個粗的,然後捆在一起。
不過理論上來說,可以利用 Distance Field 來做加粗,也可以利用 Voronoi 網(註:是多邊形的 Voronoi 網,包括拋物線弧)實現。
通常是內文跟特粗字重Interpolate生成然後作合理修改而成。
是字體設計師的汗水(還有視力和頸椎)凝結而成的。
去你妹的「自動實現」。
不簡單的說:是一個一個字設計出來的,從想法到紙再到顯示器上,對每一個生字進行繪製。試想如此多的生字,就應該佩服和支持中文字體設計師。
推薦閱讀:
※中文簡歷用什麼字體會比較好?
※為什麼 iOS 的系統語言為中文時,中文字體顯示的效果比系統語言是英文時好?
※如何才能把字寫得更流(liao)暢(cao)?
※給照片配上文字有哪些好的排版?
※有沒有(或者有哪些)可以在練習硬筆書法時進行臨摹或參照的正楷計算機字體?