字型工作
昨天終於把 cwTeX Q fonts 的 fontconfig 寫好了,接下來就是推入 fedora 官方了。 不過使用時也發現一些 cwTeX Q fonts 的字樣可以改善的地方,例如 Hei 體的全形標點長得太性格,以及希望將英數換成 Cantarell 這樣也就不用別名強綁定;小字希望能嵌入點陣等。所以等打包工作告一段落後,也打算 fork 一個 cwTeX Q fonts 以修改成自己期望的樣子,並開始協助 Droid Sans Fallback 字形臺灣版的編修。 目前在 GitHub 上開了個 l10n-tw 組織,打算將來這些字型改善計畫統統納入旗下。 以下是一些 fontconfig 設定的知識紀錄與心得分享。 別名的設計原意就是用來替換字族。例如想要用 Times 可是手邊只有類似的 Times New Roman,那就可以將 Times New Roman 設為 Times 所偏好的別名,這樣一來,當有人要「Times」的時候就會給他「Times New Roman」 。 〈別名〉的〈偏好〉可以依順序羅列多項,會依內含字族的撰寫順序前置於比對的清單之前。提供一個不是很正規的技巧,就是可以羅列多種風格類似的字型,這樣系統就會由上而下取字,能讓原名字型有更大的覆蓋率。這個技巧的壞處就是,羅列的字型都會成為原名字型的別名... 這會間接影響到其他字型比對的運作機制。 〈別名〉的〈接受〉可以依順序羅列多項,會依內含字族的撰寫順序附加在比對的清單之後。 〈別名〉的〈預設〉會將內含的字族附加在比對的清單最末端,主要用來設定字族所要採用的預設字型。常見用法為指定 sans-serif 等通用字體名稱,讓內含的別名字族成為該字體的預設字型。 〈別名〉的「強」屬性綁定,會讓字族元素比語言元素還先比對,這用起來幾乎等於是別名項目覆蓋掉原名項目。例如將 cwTeX Q Hei 偏好的字族別名設為 Cantarell 與 cwTeX Q Hei,並且屬性為「強」綁定,那麼當有人要 cwTeX Q Hei 時,其實系統會直接給 Cantarell,遇缺才會找 cwTeX Q Hei。你可以將這個作法視為「絕對替換」看待。因此,這樣衍生出個小技法可以用在較少字的字型上,例如將中文字族偏好別名設定為西文字族,就可以替換掉中文字型中醜陋不協調的西...