# 網路字型的好幫手 FontForge

[FontForge](https://fontforge.org/en-US/) 是一套免費（歡迎抖內）的字型編輯軟體，提供了圖形化的操作介面，還支援直接用 script 操作。

它可以：

1. 透過軟體介面編輯製作字型，想發明什麼字型都沒問題
    
2. 從現有的免費字型中抽取所需的字圖輸出成新字型
    
3. 匯入 svg 檔案組合成字型檔
    
4. 字型間的轉檔 例如：ttf 檔 轉 woff
    
5. 更多更多⋯⋯請看 [官方說明文件](https://fontforge.org/docs/tutorial.html)
    

![截圖 2022-05-23 下午3.11.10.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1653487617104/IpOPzvjbK.png align="left")

更吸引人的是～ 它內建支援 python，只要你的電腦環境有安裝 python，安裝 fontforge 之後就能把它當成套件來使用～

> 巴特！光是下載軟體是不能在終端機用 Python 執行它的喔！

在 mac 環境，要直接在終端機執行，是要透過 [homebrew](https://formulae.brew.sh/cask/fontforge#default) 來安裝的

```plaintext
brew install --cask fontforge
```

安裝完成後可以試看看在 python 中 import 它：

```python
import fontforge
```

如果安裝後，它沒有自動連結到 python 的話，執行時會發生 `no module named fontforge` 的錯誤， 這時候就是移除後再重新安裝，我之前發生過安裝時一直抓到 fontforge 舊版，後來更新 homebrew 才順利安裝完成。

另外它還有一個小 bug，似乎是在 mac 環境才有，就是「無法直接透過 python 產生 woff/woff2 格式的檔案」，輸出的檔案都是壞掉的，但是同事用 windows 是可以正常產生的。

遇到這種狀況，目前我是用它的軟體開啟 ttf 檔來產生 woff2 檔：

![另存woff.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1653487344760/6MX905Nbc.png align="left")

雖然有些小小不便，但還是瑕不掩瑜。

另外，在找關於 woff/woff2 問題解法時，意外發現一篇文章寫的好淺顯易懂，推薦給大家～ [透過減少 ttf 字體檔案大小來增進網頁效能](https://blog.techbridge.cc/2021/04/25/make-smaller-ttf-font-files-for-web/)

Tip: 選擇 `Encoding -> Compact` 就能一次刪掉字體裡的所有空白字圖

fontforge 真的是一個很棒的軟體，有機會用它來做個小白體吧！

### 參考資料

* [FontForge](https://fontforge.org/en-US/)
    
* [透過減少 ttf 字體檔案大小來增進網頁效能](https://blog.techbridge.cc/2021/04/25/make-smaller-ttf-font-files-for-web/)
