#osxchat blog

2006/05/29

久違的粗體字(附帶一提OS X的字型挑選機制)

作者: lukhnos

OS X的語言設定(在「系統偏好」的「國際設定」裡)是個相當怪異的東西。那一張清單上的第一個項目,會是你所有軟體選單的語言。用UNIX的術語來說,就是你的system locale。但是,清單的順序,還會對系統造成各種不同的影響。

好比說,在我某天把語言設定的順序變成下列順序之後:



再度開啟Safari,以前所有消失的粗體字,全都一一出現了!



對比於之前的設定,用Safari完全看不出來 <b> 或 <strong>:



為什麼會這樣?

OS X對於中日韓漢字的處理,尤其在挑選預設字型時,所依據的,就是上面的那張清單。OS X裡內建的繁體及簡體中文是沒有各種重量(weight)變化的。但是日文就有。以Hiragino Kaku Gothic Pro這個字體來說,就有W3及W6兩種重量。如此一來Safari便能正確地把粗體字給顯示出來。

但是這樣設定並不是沒有缺點。雖然OS X 10.4裡的日文字型,造的字數已經比10.3來得足,但偶爾還是會有日文字型缺字、必須退回(fallback)語言清單裡下一個中日韓語系設定的字型。在我的清單裡,簡體中文放在繁體中文前面,是因為簡黑體比較接近日文。儘管如此,還是看得出差別來:



如果把繁體設在簡體上面,反差就更大了。

OS X裡面對於字型處理的奇怪之處,大體可如是觀之──只要是遇到字型挑選錯亂、「不合直覺」的地方,大概都是碰上了這個fallback機制。喔,對了,OS X還有個自作聰明的地方,那就是如果程式希望顯示的是serif字型,OS X遇到中日韓文字時,就會去挑一個近似serif特性的字(例如儷宋、華文宋體,或是Hiragino明朝體),san serif字型也有類似處理方式。因此,一旦改變語言順序,所發生的變化,往往令人意想不到......

另外,這份清單的順序也會影響選單的顯示順序。好比說,如果你的清單順序是「繁體中文→日文→簡體中文→英文」,那麼每次開啟一個應用程式時,OS X會先檢查該程式是否有繁體中文的選單可以顯示,如果沒有則會使用日文(以此順序fallback)。如果將日文和簡體中文的順序對調,系統就會先去尋找程式裡的簡體中文選單了。

我有很長一段時間,為了學法文,OS X的語言設定是先法語、再德語、然後是英文,接著才是繁體中文、日文、簡體中文。結果,那時每次開SubEthaEdit,都會看到德語的選單──這可以理解,因為CodingMonkeys是一群德國人,SEE早先沒有法文選單也就不那麼奇怪了(後來,SEE也有了法文選單)。

OS X的這種語系設定,其實是相當強大的,只是,就是要瞭解它後面的運作方式,才能解釋偶然會遇到的靈異現象。

至於我,當然還是希望下一版OS X附的日文字型,能把中文字(至少是繁體中文)的字面給造齊啦。我的語言選單其實正好反映了我對字型的偏好:Hiragino >> 華文黑體 >> 儷黑。嗯,日文字型++。

2 篇留言:

  • 奇怪的是,如果照您建議為了顯示出粗體字的順序,的確在safari底下可以正常顯示,但用camino則會出現問題,即粗細相間的狀況。

    附帶一提,當在那樣的順序底下,有時中文的「一」會變成直的﹍尤其在香草輸入的情況下,但若用camino卻反而是正常﹍

    作者: Blogger silverback 發表時間: 7/10/2006 02:04:00 上午  

  • 嗯,先說「一」的問題,我想你指的應該是注音符號的「ㄧ」吧,因為某些字型確實將它弄成了直的。

    Camino的狀況就有點奇怪了,不知道是否是採用了另一種fallback方式的原因。這實在是令人頭疼...

    作者: Blogger lukhnos 發表時間: 7/17/2006 11:06:00 上午  

張貼留言

逆向鍊結:

建立連結

? 回前頁