探索自由而開放的 Web 字體

探索自由而開放的 Web 字體

谷歌字體和開放字體庫中的免費 Web 字體已經改變了遊戲規則,但僅在有限的範圍內。-- Nathan Willis(作者)


毫無疑問,近些年來互聯網的面貌已經被開源字體所改變。早在 2010 年之前,你在 Web 瀏覽器上幾乎只能看到微軟製作的通常“Web 安全”的 核心字體 。但這一年(2010)正好是好幾輪技術革新開始的見證之年: Web 開放字體格式 (Web Open Font Format)(WOFF)的引入為通過 HTTP 有效地傳輸字體文件提供了一個開放的標準,以及像 谷歌字體 和 開放字體庫 (Open Font Library)這樣的 Web 字體服務的推出,使得 Web 內容發佈者可以在開源許可證之下免費使用海量的字體庫。

這些事件對 Web 排版的積極影響再誇大都不過分。但是要將 Web 開放字體的成功與整個開源排版等同起來,並得到結論——挑戰已經遠離了我們,困難悉數被解決了——卻很容易。然而事實並非如此,如果你很關注字體,那麼好消息是你有好多機會參與到對這些字體的改進工作當中去。

對新手來說,至關重要的是必須要意識到谷歌字體和開放字體庫提供了專用的服務(為網頁提供字體),而沒有為其他使用情況制定字體解決方案。這不是服務方面的缺點,這只是意味著我們必須去開發其它的解決方案。

需要解決的問題還非常多。可能最明顯的例子就是給 Linux 桌面計算機的其他軟件安裝字體所遇到的尷尬情況。你可以通過任何一種服務下載任何一種 Web 字體,但是你得到的只是一個最普通的壓縮包文件,裡面有一些 TTF 或 OTF 二進制文件和一個普通文本文件的許可證。接下來會發生什麼完完全全需要你去猜。

大部分用戶很快學會了“正確”的步驟就是手動地複製這些字體二進制文件到他們硬盤裡幾個特殊文件夾裡的某一個裡。但是這樣做只能使這個文件對操作系統可見。它並不能為用戶體驗帶來什麼提升。再強調一遍,這不是 Web 字體服務的缺陷,相反它佐證了對於關於服務到哪裡停止和需要在其他方面做更多工作的觀點。

在用戶視角來說,一個巨大的提升可能就是在“只是下載”這個階段,操作系統或者桌面環境變得更智能。系統或桌面環境不僅會把字體文件安裝到正確的位置上,更重要的是,當用戶選擇要在一個項目中使用的字體時,它會自己添加用戶所需要的重要的元數據。

這些附加信息包含的內容與它如何呈現給用戶與另一個挑戰有關:與其它操作系統相比,在 Linux 環境管理一個字體庫顯然不那麼令人滿意。字體管理器總是時不時的出現一下(例如 GTK+ 字體管理器 ,這是最近的一個例子),但是它們很少變得流行起來。我一直在思考一大堆這些軟件讓人失望的方面。一個核心的原因是它們把自己侷限於只展示內嵌在二進制字體文件內的信息:基本字符集的覆蓋、粗細/寬度和斜率的設定,內置的許可證和版權說明等等。

但是除了這些內嵌數據中的內容,在選擇字體的過程中還涉及很多決策。嚴肅的字體用戶,像信息設計者、雜誌文章作者,或者書籍美工設計者,他們的字體選擇是根據每一份文件的要求和需求做出的。這當然包含了許可證信息,但它還包含了更多,像關於設計師和廠商的信息、潮流風格的趨勢,或者字體在使用中的細節。

舉個例子,如果你的文檔包含了英語和阿拉伯文,你多半想要拉丁文和阿拉伯文的字體由同時熟悉這兩種 字母系統(script)的設計師所設計。否則,你將浪費一大堆時間來微調字體大小和行間距來使兩種字母系統良好地結合在一起。你可能從經驗中學到,某些設計師或字體廠商比其他人更善於多種字母系統設計。或許和你職業相關的是今天的時尚雜誌幾乎無一例外的採用 “ Didone ”風格的字體,“ Didone ”是指一種兩百多年前最先被 Firmin Didot 和 Giambattista Bodoni 設計出來的超高反差的字體風格。這種字體恰好就是現在的潮流。

但是像 Didone、Didot 或 Bodoni 這些術語都不可能會出現在二進制文件的內置數據當中,你也不容易判斷拉丁文和阿拉伯文是否相得益彰或其它關於字體的歷史背景。這些信息有可能出現在補充的材料中,類似某種字形樣本或字體文件中,如果這些東西存在的話。

字形樣本(specimen)是一份設計好的文檔(一般是 PDF),它展示了這種字體的使用情況,而且包括了背景信息。字形樣本經常在挑選字體時充當市場營銷和外觀樣例的雙重角色。一份精心設計的樣本展示了字體在實際應用中的情況和在自動生成的字符表中所不能體現的風格。字形樣本文件也有可能包含了一些其他重要信息,比如怎樣激活字體的 OpenType 特性、提供的數學表達式或古體字,或者它在支持的多種語言上的風格變化。在字體管理應用程序中向用戶提供此類材料,對於幫助用戶找到適合其項目需求的字體將大有幫助。

當然,如果我們希望一個字體管理軟件能夠處理文件和樣本問題,我們也必須仔細觀察一下各種發行版提供的字體包所隨附的內容。Linux 的用戶剛開始只有自動安裝的那幾種字體,並且發行版存儲庫提供的包是大部分用戶除了下載通用的壓縮包檔案之外的唯一字體來源。這些包往往非常的“簡陋”。商業字體總的來說都包含了樣本、文檔,還有其他的支持項目,然而開源字體往往沒有這些配套文件。

也有一些優秀的開放字體提供了高質量的樣本和文檔(例如 SIL Gentium 和 Bungee 是兩種差異明顯但是都有效的方案),但是它們幾乎不涉足下游的打包工作鏈。我們顯然可以做的更好一些。

要在系統的字體交互方面提供更豐富的用戶體驗上面還存在一些技術問題。一方面, AppStream 的元數據標準定義了一些字體文件特有的參數,但是到現在為止,這些參數沒有包含樣本、設計師/廠商和其他相關細節的任何信息。另外一個例子, SPDX ( 軟件包數據交換(Software Package Data Exchange))格式也沒有包含太多用於分發字體的軟件許可證(及許可證變體)。

最後,就像任何一個唱片愛好者都會告訴你的,一個不允許你編輯和完善你的 MP3 曲庫中的 ID3 信息的音樂播放器很快就會變得令人失望(LCTT 譯註:ID3 信息是 MP3 文件頭部的元信息,用於存儲歌曲信息)。你想要處理標籤裡的錯誤、想要添加註釋和專輯封面之類的信息,本質上,這就是完善你的音樂庫。同樣,你可能也想要讓你的本地字體庫也保持在一個方便使用的狀態。

但是改動字體文件的內置數據一直有所忌諱,因為字體往往是被內置或附加到其他文件裡的。如果你隨意改變了字體二進制文件中的字段,然後將其與你的演示文稿一起重新分發,那麼下載這些演示文稿的任何人最終都會得到錯誤的元數據,但這個錯誤不是他們自己造成的。所以任何一個要改善字體管理體驗的人都要想明白如何從策略上解決對內置或外置的字體元數據的重複修改。

除了技術角度之外,豐富的字體管理經驗也是一項設計挑戰。就像我在前面說的一樣,有幾種開放字體也帶了良好的樣本和精心編寫的文檔。但是更多的字體包這兩者都沒有,還有大量的更老的字體包已經沒有人維護了。這很可能意味著大部分開放字體包想要獲得樣本和證明文件的唯一辦法就是讓社區去創建它們。

也許這是一個很高的要求。但是開源設計社區現在比以往任何時候都要龐大,它是整個自由開源軟件運動中的一個高度活躍的組成部分。所以誰知道呢,也許明年這個時候會發現,在 Linux 桌面系統查找、下載和使用字體會變成一種完全不同的體驗。

在這一連串關於現代 Linux 用戶的文字設計上的挑戰的思考中包含了打包、文檔設計,甚至有可能需要在桌面環境加入不少新的軟件部分。此外還有其他一系列的東西也需要考慮。其共通性就是在 Web 字體服務不可及的地方,事情就會變得更加困難。

從我的視角來看,最好的消息是現在比起以前有更多的人對這個話題感興趣。我認為我們要感謝像谷歌字體和開放字體庫這樣的 Web 字體服務巨頭讓開放字體得到了更高的關注。


via: https://opensource.com/article/18/3/webfonts

作者: Nathan Willis 譯者: Fisherman110 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: