發表文章

目前顯示的是 2月, 2014的文章

Cantarell + cwTeX 衍生字型的 OFL 與 GPL 議題

原本企圖整合兩個字型成為一個新字型,不過馬上遇到授權問題。Cantarell 從 2010 年起採用 SIL OFL 而放棄 GPLv3[0],cwTeX 與其衍生作品則採用 GPLv2+。麻煩的地方就在 SIL OFL 與 GPL 不相容[1]。 Cantarell 的 COPYING 檔案寫道: The fonts were initially published on the 6th of July 2009 on Dave Crossland's foundry website  under the terms of the GNU General Public License version 3.  In May 2010 the fonts were republished through Google Web Fonts under the terms of the SIL Open Font License version 1.1. In November 2010 the project became part of the GNOME project and is now under active development by the GNOME design community.  Dave Crossland, 21st March 2011 之所以與 GPL 不相容,是因為 SIL OFL 中有個規定,在 Section 5 of SIL OFL 1.1 寫道:  "The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license." 這與 GNU GPL 不相容,因為 GNU GPL 也有類似的聲明,要求整個作品必須基於 GNU GPL;而 SIL OFL 則要求衍生品只能採用 SIL OFL。 好了,所以要整合兩個字型,有四個辦法:一、挖出 GPL 版的 Cantarell,拿來與 cwTeX 衍生品整合就沒煩惱 (2009

字型工作

昨天終於把 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。你可以將這個作法視為「絕對替換」看待。因此,這樣衍生出個小技法可以用在較少字的字型上,例如將中文字族偏好別名設定為西文字族,就可以替換掉中文字型中醜陋不協調的西