當前位置:首頁 > 芯聞號 > 充電吧
[導讀]Web 中文字體應用指南 在 Web 上應用字體是一項基本技術(shù),同時也是一門藝術(shù)。對于英文字體來說可選擇的范圍實在是太廣泛了,合理的使用它們將會為你的網(wǎng)站增色不少。關于英文字體的使用和搭配技巧,在這

Web 中文字體應用指南

在 Web 上應用字體是一項基本技術(shù),同時也是一門藝術(shù)。對于英文字體來說可選擇的范圍實在是太廣泛了,合理的使用它們將會為你的網(wǎng)站增色不少。關于英文字體的使用和搭配技巧,在這里不做贅述,只推薦一套非常好的視頻:Fundamentals of Design?by CodeSchool

而真正的挑戰(zhàn)在于中文字體,由于中文字體組成的特殊性導致其體積過于龐大,除了操作系統(tǒng)內(nèi)置的字體之外,我們很難在網(wǎng)站上應用其他的字體。在可選性很差的前提之下,如何正確的使用中文字體呢?

首先,以下的字體聲明都是很糟糕的,切忌使用:

font-family: "宋體";

font-family: "宋體", Arial;

font-family: Arial, "宋體", "微軟雅黑";

font-family: Helvetica, Arial, "華文細黑", "微軟雅黑";

...

接下來,我們一步一步來說明如何定義好的字體聲明。

中文字體也有英文名稱

很多開發(fā)者忽略了這一點:盡管我們在操作系統(tǒng)中常??吹?code style="font-family:Monaco, Menlo, 'Courier New', monospace;font-size:12px !important;color:rgb(68,68,68) !important;background-color:rgb(248,248,255) !important;border:1px solid rgb(222,222,222) !important;">宋體、微軟雅黑、華文細黑這樣的字體名稱,但實際上這只是字體的顯示名稱,而不是字體文件的名稱。雖然說在大多數(shù)情況下直接使用顯示名稱也有效,但有些用戶卻工作在一些很極端的情況下,這會導致你的字體聲明無效。

比如說,用戶安裝了中文版的操作系統(tǒng)(這意味著系統(tǒng)有中文字體),但是卻切換到了以英文為主要語言——這種情況在那些希望加強英語鍛煉的中文用戶當中是很常見的。這時候,操作系統(tǒng)很有可能無法按照顯示名稱找到正確的字體,所以我們要記住的第一件事情就是:?同時聲明中文字體的字體名稱(英文)和顯示名稱(中文),就像這樣:

font-family: SimSun, "宋體";

font-family: "Microsoft YaHei", "微軟雅黑";

font-family: STXihei, "華文細黑", "Microsoft YaHei", "微軟雅黑";
永遠不要忘記聲明英文字體,并且英文字體應該在中文字體之前

記住這個事實:絕大部分中文字體里包含英文字母(但是基本上都很丑),而英文字體里不包含中文字符。

在網(wǎng)頁里中/英文混排是很常見的,你絕對不會喜歡用中文字體顯示英文的效果,所以一定不要忘了先聲明英文字體:

font-family: Georgia, SimSun, "宋體";

font-family: Arial, "Microsoft YaHei", "微軟雅黑";

另外還有一個好習慣,就是在最后補充英文字體族的名稱。字體族大體上分為兩類:非襯線和襯線,它們之間的區(qū)別和使用規(guī)則請見本文開始介紹的視頻。一般來說,你應該這么做:

font-family: Georgia, SimSun, "宋體", serif;

font-family: Arial, "Microsoft YaHei", "微軟雅黑", sans-serif;

請注意:以上兩句聲明中的宋體微軟雅黑不應該調(diào)換(盡管調(diào)換了也不會發(fā)生錯誤),這是因為從字體的式樣來看,微軟雅黑是非襯線的,而宋體才是襯線的。然而中文并不像英文那樣嚴格區(qū)分字體族,所以這一點在實際應用當中并不那么重要。

別忘了照顧不同的操作系統(tǒng)

作為一個 Web 開發(fā)者,你理應對 Windows, Mac OS, Linux 家族等常用操作系統(tǒng)里的系統(tǒng)字體有足夠的了解,特別是中文。在這里,我們假設目標網(wǎng)站要同時給予 windows 用戶和 mac 用戶最好的字體體驗,于是我們可以這樣聲明:

font-family: Helvetica, Tahoma, Arial, STXihei, "華文細黑", "Microsoft YaHei", "微軟雅黑", sans-serif;

這句聲明都做到哪些事情呢?讓我們一一說明(括號內(nèi)代表其對應的目標操作系統(tǒng)):

對于英文字符,首先查找Helvetica(Mac),然后查找Tahoma(Win),都找不到就用Arial(Mac&Win);若是以上三者都缺失,則使用當前默認的sans-serif字體(操作系統(tǒng)或瀏覽器指定);對于中文字體,我們已經(jīng)了解其規(guī)則了。華文細黑(Mac),微軟雅黑(Win)是這兩個平臺的默認中文字體。 注意向下兼容

到此為止,我們的字體聲明已經(jīng)很不錯了——如果你不必考慮還在使用舊版本操作系統(tǒng)的用戶的話。遺憾地是,中文市場還有大量的用戶在使用 Windows XP,宋體才是他們的主要中文字體。為了照顧到這些用戶,你可以為微軟雅黑增加一個 fallback:

font-family: Helvetica, Tahoma, Arial, STXihei, "華文細黑", Heiti, "黑體", "Microsoft YaHei", "微軟雅黑", SimSun, "宋體", sans-serif;

同樣地,你看到我們也為 Mac 系統(tǒng)使用了黑體作為 fallback。

其他 不加雙引號可以嗎?

可以。有些英文字體的名稱多于兩個單詞,因為單詞中間有空格所以需要用?""?包裹起來。中文字體很特別,按照英文的角度來看,像微軟雅黑究竟算是一個詞還是四個詞呢?沒關系,好在中文字體的名稱里沒有空格,所以?""?不加也沒什么大礙。

不過,誰都不能保證在任何操作系統(tǒng)/瀏覽器環(huán)境下都是如此,若是發(fā)生了奇怪的事情,不妨加上雙引號試試看。

可以默認顯示某種字體嗎?比如微軟雅黑

你可能注意到了,在我們最后的字體聲明里,華文細黑是默認字體(如果你的系統(tǒng)上安裝了聲明里所有的中文字體的話),為什么我要先聲明 Mac 系統(tǒng)的字體呢?

按理來說,大多數(shù)網(wǎng)站的主要目標市場還是 Windows 用戶的,所以理論上這個才是合理的聲明:

font-family: Helvetica, Tahoma, Arial, "Microsoft YaHei", "微軟雅黑", SimSun, "宋體", STXihei, "華文細黑", Heiti, "黑體", sans-serif;

但實際上卻并非如此。在中文字體的用戶群體里,很大一部分擁有 Mac 的人都同時安裝了 Win 下常用的中文字體(這得歸功于 Office for Mac);但極少有 Win 用戶去安裝 Mac 下的中文字體。

因此,把 Mac 用字體聲明在前面幾乎不會對 Win 用戶產(chǎn)生什么影響(因為他們壓根沒有?。?,倒是用來做 fallback 的黑體可能會取代微軟雅黑的位置,所以更保險的做法或許是這樣:

font-family: Helvetica, Tahoma, Arial, STXihei, "華文細黑", "Microsoft YaHei", "微軟雅黑", SimSun, "宋體", Heiti, "黑體", sans-serif;

但無論如何請不要把微軟雅黑放在中文字體的最前面,作為史上最丑陋的中文字體之一,微軟雅黑實在不是什么好的選擇,請照顧一下被 Mac 寵壞的用戶吧,謝謝!(僅代表個人觀點)

BTW,如果你也像我一樣不喜歡呆頭呆腦的微軟雅黑,那就干脆把它刪了吧~

到此為止,雖然在我們的示例代碼里沒有包含 Linux 家族的例子,不過相信你也明白該怎么做了吧。

一點補充

鑒于一些人對微軟雅黑的排位產(chǎn)生異議,我不妨把上文的解決方案再延伸一步。事實是這樣子的:

微軟雅黑放前面,會導致安裝了微軟雅黑字體的 Mac 用戶不得不面對微軟雅黑,而在 Mac 下比微軟雅黑優(yōu)雅得多的中文字體比比皆是;

把 Mac 下的字體放前面,也會對 Windows 用戶造成差不多的困惑,畢竟微軟雅黑是 Windows 平臺下顯示效果最好的字體(目前為止);

1 和 2,哪一種出現(xiàn)的概率更大一些?我想這是一個不需要計算就能知道的答案吧?

但是——的確還有另外兩個因素在糾結(jié)著:

不少 Windows 用戶因為各種原因關閉了?ClearType,在此情形下微軟雅黑將會慘不忍睹!但是 Mac 的字體也不是好的選擇,真正的勝出者?猜對了,宋體。

絕大部分 Mac 下的黑體在 Windows 下模糊不清,而微軟雅黑雖然丑但在 Mac 下至少能看。(間接體現(xiàn)了兩個平臺的字體渲染技術(shù)的差距)

所以在實踐中,真正接近“萬無一失”的方案需要考慮以下幾點:

利用 UA 判斷為不同的平臺加載不一樣的字體聲明;

除非有特別的原因,否則盡量保持正文用宋體,標題和其他可以放大些的地方用微軟雅黑(針對 Windows);

Mac 下的冬青體效果極佳,但是該字體在 Mac OS X 10.6 以前是沒有的,所以謹慎考慮你的用戶群體,或者使用華文黑體系列做 fallback;

最后,我不想再和任何人爭論字體的優(yōu)劣,本文的目的是介紹使用方法而不是字體選擇?!懊馈被颉俺蟆毕騺矶际呛苤饔^的事情,只因為我是作者,所以我免不了會有傾向性,然而我也相信你自己會有正確的判斷,和我較真沒有任何實際意義。

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術(shù)
關閉
關閉