fontconfig 的設定是否有優先權? - BBS

Table of Contents

※ 引述《[email protected] (蒙古大夫 2.0)》之銘言:
: 這只是在確定會讀到,不是他的優先順序。請手動測試一下就知道了。
: * 是 load 的順序,不是執行上的優先性。
: 怕有些設定,無法在 ~/.fonts.conf 及 local.conf 之後讀到。
: ps. 雄雄被你問倒,去查了一下 ChangeLog。至於,是不是有些 element
: 項目有特定的執行優先,這個我就不敢肯定,目前所知是沒有。

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=302025

昨天晚上機器不在手邊時,在 google 看到這篇 bug report,
Keith Packard 提到對 alias 來說最先讀到的 ~/fonts.conf 會 override 其他
fontconfig 的設定 (包含 local.conf 和 fonts.conf),所以,在字型選擇上,
使用者可以在 ~/.fonts.conf 裡寫自己偏好的字型這是可以確定的。

其中 Keith 又提到一句 "While local.conf *can* override per-user settings,
it shouldn't be set up that way." (詳細內容請看連結前後文)
這跟您先前提到的 "如果使用者有設 ~/.fonts.conf 那麼,這是最後 scan 到的,
以 ~/.fonts.conf 的設定為準。" 好像不太一樣,所以今天一早又做了個實驗。

我將 local.conf 和 ~/.fonts.conf 裡面的內容簡化到只有處理字型優先選擇順序
和 AA 開啟與否。

我在 ~/.fonts.conf 裡設定中文用宋體,關閉 AA。local.conf 裡設定中文用黑體,
開啟 AA。用 firefox 作驗證的工具。

alias 方面,果然是呈現先 load 進的 ~/.fonts.conf 裡的宋體,但是 AA 的部份
是開啟的 ( AA 結果和 ~/.fonts.conf 裡設的不同),也就是說 AA 的部份是吃到
晚一步載入的 local.conf 的設定。

我很惡搞的動手把 50-user.conf 和 51-local.conf 的編號互換,讓 local.conf
先 load,改變原本的順序。

結果,alias 的部份因為先 load 到 local.conf,中文字型是黑體呈現,
而 AA 的部份則是關閉的。

從以上實驗,我個人得出的結論是,alias 的部份,個人設定可以 override 全域設定
但是對於字型的表現方式 (alias, hinting...) 這些若是有全域設定的話,目前版本
使用者是無法對這部份作個人化喜好設定。(有錯請指正)

因為我機器上的使用者都是 microsoft 的依賴者,所以我必須把堪用的字型環境在
全域設好,才會一直在鑽 local.conf 的設定上,還請見諒...

--

All Comments