為什麼 iOS 的系統語言為中文時,中文字體顯示的效果比系統語言是英文時好?

iOS 的系統語言設置為中文時,Safari 中看知乎的中文字體很漂亮。但如果系統語言是英文,中文字裡面有的字略粗,有的字略細,為什麼會這樣?


我的理解是,你遇到了這樣的狀況:
http://cl.ly/4Y3O

如果確實如此,這不是簡單的粗細問題,是兩種字體被混合了(想像一下把微軟雅黑和華文細黑雜亂地混在一起用吧)。
原因是:字體優先順序不正確

只是把系統語言設置為「English」的話,應該不會出現這個情況。真正導致這個的是在「多語言環境」設置的「語言」列表中,「日本語」位於「簡體中文」和「繁體中文」之上(而 iOS 的初始英文狀態下,「日本語」正是排在英文之下、中文之上)。
在這個「語言」列表中,不僅頂端的那一項控制系統語言,其餘項目的順序也對多語言的處理有影響。

我們都知道日文中有很多漢字,它們大多和中文漢字很像。實際上,在如今最常用的文本編碼(Unicode)中,簡體中文、繁體中文、日文以及韓文等書寫系統中的大多數漢字是共享編碼的。而在網頁或程序界面中遇到一個字元時,iOS 會按照「語言」列表的順序套用各個語言的默認字體來試圖顯示這個字元。

這樣,當「日本語」排在中文之上,iOS 會先套用日文字體(Hiragino Kaku Gothic ProN),如果在日文字體中沒有這個字,就按照列表順序套用下一個語言的默認字體,直到輪到中文,在中文字體(iOS 中,簡體中文和繁體中文都默認使用一套衍生自華文黑體的字體,分別叫 Heiti SC 和 Heiti TC,它們的風格是接近的)中總算找到了。
於是,因為一段文本中有的字能在日文字體中找到,而有的只存在於中文字體中,這段文本就混雜著用了日文字體和中文字體

但因 iOS 為日文和中文提供的默認字體風格很不一致(最顯著的就是日文字體的「粗體」比中文字體的粗多了,另外還有多方面的區別,包括高度),於是文本效果就很不好了。

- - -

另外,順便在此吐槽:
Mac OS X 和 iOS 什麼時候才能用 Hiragino Kaku Gothic 這個風格統一 CJK 啊!
現在 Mac OS X 已經有了 Hiragino Sans GB(簡體中文),但繁體中文的 Hiragino Sans CNS 在最後關頭被撤掉了,而韓文那邊似乎沒有動靜。
而 iOS 現在倒是用華文黑體的風格統一了 CJK(內置 Heiti SC、Heiti TC、Heiti J 和 Heiti K),儘管沒有都設置為默認吧。


iOS里日文字體顯示簡體中文的字體好, 除了極個別字, 日文字體hiragino kaku和冬青黑是同胞兄弟,幾乎一個風格,只有筆畫處理上的區別


推薦閱讀:

如何才能把字寫得更流(liao)暢(cao)?
給照片配上文字有哪些好的排版?
有沒有(或者有哪些)可以在練習硬筆書法時進行臨摹或參照的正楷計算機字體?
排版幻燈片正文時,除了微軟雅黑還有哪些字體效果較好?
想練字要怎麼選擇字體?

TAG:iOS | 中文字體 | 多語言環境 | iOS字體 |