2023年5月1日 星期一

FontForge: 製作給網頁用的 web font

2023年5月1日 星期一

 打從 Flash 時代在設計國字旁加上直式排版的注音模組時,就一直有個困擾,在不同作業系統時,因為能使用的字型不同,尺寸大小就很難控制;尤其是在 Linux 中,調號的符號有的很小,差異更大。去年有花了一點時間研究怎麼製作 web font,將注音符號由教育部開放的字型中擷取出來,應用在 HTML5 FUN 國字加直式注音的程式中,效果滿不錯的。最近因為要讓「HTML5 對對碰」能使用「EngTRESS A」(教育部九年一貫英語組輔導群製作的 EngTRESS font),又需要製作 web font ,結果當然是因為太久沒用,根本完全忘了程序是什了。這一次特別手寫筆記,然後將程序記錄在本篇中,方便以後參考。

需要使用到的工具是「FontForge」,它的官網如下:

我下載回來的 EngTRESS font 的字型檔檔名是「EngTRESS.ttc」。

啟動 FontForge 以後,先找到存放 EngTRESS.ttc 的路徑,並開啟它:

這個字型檔中有兩種字型「EngTRESS A」和「EngTRESS B」,B 的字型是有加線的,所以選擇「EngTRESS A」:

接著選擇要製作成 web font 的字。因為 EngTRESS font 只有針對書寫英文時會用到的字設計,所以,以可以用這樣的程序來選取所有字:

  • 按上方主選單「Edit」中的「 Select」
  • 然後點選「 Glyphs Worth Outputting」

選好要處理的字以後,就可以產出 web font 了:

  • 按上方主選單「File」
  • 按「Generate Fonts」

在 Generate Fonts 的對話框中,選擇字型檔的格式及路徑:

  • 先選擇要儲存的資料夾
  • 選擇「Web Open Font (WOFF)」格式
  • 輸入檔名
  • 按「Generate」鈕來產出字型檔。


如果像上圖中有勾選了「Validate Before Saving」,可能會出現底下的訊息:

沒關係,就放心地按「Generate」的按鈕來儲存字型檔。

完成的話,就可以去前面指定的路徑找製作好的 .woff 檔案了。

前面我們是利用「Select」的「Glyphs Worth Outputting」來選取字型檔中有造字的部份,這個方法要是用在中文字型檔,應該滿可怕的,會有五、六千個宇,甚至一、兩萬個字。如果只是想製作注音符號的部份,可以這樣做:

  • 按主選單「Edit」中的「Select」。
  • 點選「Select by Script」。

接著在下拉式選單中找「Bopomofo」

另外兩個選項設為:

  • All glyphs
  • Select Results

按「OK」鈕,就會將所有注音符號選取好。

如果想再繼續加別的字集,就重覆前面的程序,並將「Select Results」換成「Merge Results」。

至於如何利用 JavaScript 來載入製作好的 web font 呢?可以參考「CSS Font Loading API 」中的「FontFace」:

相關連結


沒有留言:

張貼留言

 
雄::gsyan © 2009. Design by Pocket