字型的選擇,是網頁開發的關鍵因素之一。
合適的字型,對網頁的美觀度(或可讀性)有著舉足輕重
的影響。
但是,相比英文字型,中文字型的網頁開發有著極大的侷限性。因為,一套中文字型最少也要有幾千個字元,體積為幾個MB;單單為了瀏覽網頁,開發者不可能讓使用者去下載字型,只能依靠作業系統的預裝字型。(*注:確實有網站提供中文字型的web服務,從技術角度,我不推薦這樣做。)
不同的作業系統、不同的版本預裝不同的字型(因為版權),幾乎沒有交集。因此,大多數開發者索性忽略中文字型,讓作業系統自行渲染,或者用圖片呈現字型效果。
下面是目前中文字型的最佳實踐,主要參考了Kendra Schaefer的文章。
一、作業系統的預裝字型
作業系統決定了開發者可以使用的字型。所以,第一步,我們必須瞭解作業系統到底提供哪些字型。
Windows作業系統:
- 黑體:SimHei
- 宋體:SimSun
- 新宋體:NSimSun
- 仿宋:FangSong
- 楷體:KaiTi
- 仿宋GB2312:FangSongGB2312
- 楷體GB2312:KaiTiGB2312
- 微軟雅黑:Microsoft YaHei (Windows 7開始提供)
OS X作業系統:
- 冬青黑體: Hiragino Sans GB (SNOW LEOPARD開始提供)
- 華文細黑:STHeiti Light (又名STXihei)
- 華文黑體:STHeiti
- 華文楷體:STKaiti
- 華文宋體:STSong
- 華文仿宋:STFangsong
如果使用者裝了MicroSoft Office,還會多出一些字型。
- 隸書:LiSu
- 幼圓:YouYuan
- 華文細黑:STXihei
- 華文楷體:STKaiti
- 華文宋體:STSong
- 華文中宋:STZhongsong
- 華文仿宋:STFangsong
- 方正舒體:FZShuTi
- 方正姚體:FZYaoti
- 華文彩雲:STCaiyun
- 華文琥珀:STHupo
- 華文隸書:STLiti
- 華文行楷:STXingkai
- 華文新魏:STXinwei
二、font-family命令
CSS的font-family命令,指定了網頁元素所使用的字型。下面是一個例子。
1 2 3 4 |
font-family: Georgia, "Times New Roman", "Microsoft YaHei", "微軟雅黑", STXihei, "華文細黑", serif; |
它的規則有三條。
(1)優先使用排在前面的字型。
(2)如果找不到該種字型,或者該種字型不包括所要渲染的文字,則使用下一種字型。
(3)如果所列出的字型,都無法滿足需要,則讓作業系統自行決定使用哪種字型。
根據這些規則,font-family應該優先指定英文字型,然後再指定中文字型。否則,中文字型所包含的英文字母,會取代英文字型,這往往很醜陋。
上面圖片中,紅框內的英文字母,左邊採用英文字型渲染,右邊採用中文字型渲染,哪一種效果比較好,一目瞭然。
為了保證相容性,中文字型的中文名稱和英文名稱,應該都寫入font-family。比如,”微軟雅黑”的英文名稱是Microsoft YaHei。
此外,中文字型的中文名稱,以及由多個單片語成的英文名稱,應該放在雙引號內。
三、 Windows平臺和Mac平臺
由於Windows和Mac的中文字型沒有交叉,所以應該同時為兩個平臺指定字型。
常見的做法是,Windows平臺指定”微軟雅黑”(Microsoft YaHei),Mac平臺指定”華文細黑”(STXihei)。
四、襯線體和無襯線體
所謂”襯線體”(Serif),指的是筆畫的末端帶有襯線的字型。
就像英文字型一樣,中文字型也可以分成”襯線體”和”無襯線體”(San-serif)。比如,對於繁體字來說,微軟正黑(Microsoft JhengHei)是無襯線體,新細明體(PMingLiU)是襯線體。
對於簡體字來說,微軟雅黑(Microsoft yahei)是無襯線體,宋體(SimSun)是襯線體。
一般來說,襯線體裝飾性強,往往用於標題;無襯線體清晰度好,往往用於正文。
五、幾種常見中文字型
(1)宋體(SimSun)
宋體是最常見的中文字型,如果沒有指定字型,作業系統往往選擇它來渲染。很多人認為,這種字型並不美觀。
(2)微軟雅黑(Microsoft YaHei)
微軟雅黑的美觀度和清晰度都較好,可以作為網頁的首選字型。它在Mac平臺的對應字型是華文細黑(STXihei)。
但是,Windows XP沒有預裝這種字型,這時可以選擇黑體(Simhei)替代。不過,黑體比較粗,不應用於字號較小的文字。
(3)仿宋(FangSong)
這種字型是襯線體,比宋體的裝飾性更強。如果字號太小,會影響清晰度,所以只有在字號大於14px的情況下,才可以考慮這種字型。
它在Mac平臺的對應字型是”華文仿宋”(STFangsong)。
(4)楷體(KaiTi)
楷體也是襯線體,裝飾性與仿宋體接近,但是寬度更大,筆畫更清楚一些。這種字型也不應該在小於14px的情況下使用。
它在Mac平臺的對應字型是”華文楷體”(STKaiti)。