fontmake
將各種來源( .glyphs
、 .ufo
、 designspace
)的字體編譯為二進位( .otf
、 .ttf
)。您可以使用它來建立靜態實例和可變字體。
Fontmake 需要 Python 3.8 或更高版本。
版本可在 PyPI 上使用,並且可以使用 pip 安裝。
pip3 install fontmake
使用-U
, --upgrade
選項將 fontmake 及其依賴項更新為最新的可用版本:
pip3 install -U fontmake
安裝後,您將能夠使用fontmake
可執行檔。
例如,若要從 Glyphs 原始檔編譯可變字體,請使用:
fontmake MyFont.glyphs -o variable
fontmake
可執行檔最重要的命令列參數是所需的輸入,指定為位置參數或使用-g
/ -u
/ -m
標誌之一,以及可選的-o
標誌,用於選擇輸出檔案格式。
有兩種方法指定一個或多個來源檔案:
可以使用以下相互排斥的標誌:
-g filename.glyphs
:將 Glyphs 原始檔轉換為二進位。-u filename.ufo ...
:將一個或多個 UFO(Z) 檔案轉換為二進位檔案。-m filename.designspace
:將 Designspace 檔案轉換為二進位檔案。 ( -m
代表mutatormath
,它是用來處理設計空間的舊 Python 函式庫。)或者,可以將輸入指定為不含標誌的位置參數,讓 fontmake 從檔案副檔名推斷來源格式:例如fontmake MyFont.designspace
等。
注意:如果位置參數前面有一個帶有一個或多個參數的選項,則需要使用特殊的--
分隔符號將所有後續參數標記為位置參數(非選項),否則解析器會感到困惑。例如, -i
選項採用零個或一個參數(詳細資訊請參閱下文);如果沒有--
,argparse 認為您沒有提供任何輸入:
fontmake -i -- MyFont.designspace
使用任一方法都可以/必須指定一種類型的輸入。
您可以在-o
選項後提供一種或多種輸出檔案格式。例如, -o otf ttf
為輸入檔中的每個母版建立 OTF 和 TTF 二進位字型檔。
可以使用以下輸出文件格式:
otf
:每主 OTF(CFF-outline)二進位。放置在master_otf/
目錄下。ttf
:每主 TTF(TrueType-outline)二進位。放置在master_ttf/
目錄下。otf-cff2
:具有 CFF2 輪廓的每主 OTF 二進位。放置在master_otf/
目錄下。variable
:TrueType 變數字型。放置在variable_ttf/
目錄中。variable-cff2
:具有 CFF2 輪廓的可變字體。放置在variable_otf/
目錄中。以下輸出檔案格式也可用,但通常由 fontmake 在內部使用,作為上述輸出之一的中間步驟:
otf-interpolatable
:適合合併到可變字體中的 OTF 二進位。放置在master_otf_interpolatable/
目錄下。 (它們與otf
的不同之處在於輪廓未優化。)ttf-interpolatable
:適合合併到可變字體中的 TTF 二進位。放置在master_ttf_interpolatable/
目錄下。 (輪廓以插值相容的方式轉換為二次曲線。)ufo
:字形來源可以轉換為 UFO,或使用標誌--save-ufo-as-zip
轉換為 UFO zip ( .ufoz
) 格式。放置在master_ufo/
目錄下。如果未指定格式選項,則預設為-o otf ttf
。
-i
(插值實例):擁有每個主機的二進位檔案並不總是您所期望的;如果您在 Glyphs 檔案中定義了實例(「匯出」),則預設不會產生它們。要產生它們,請傳遞-i
標誌,該標誌會插入靜態實例,並將它們適當地放置在instance_ttf/
或instance_otf/
目錄中。
--output-dir <some_directory>
:將所有輸出放置在給定目錄中,而不是上面提到的每種格式的目錄中。
--output-path <filename>
:僅當輸出是單一二進位檔案並將輸出寫入給定檔案名稱時才有效。
-f
(扁平化組件):確保任何包含組件(本身又包含組件)的字形都被分解為單一層級。建議這樣做,因為某些渲染環境無法正確處理嵌套組件 - 有關更多詳細信息,請參閱此連結。
請參閱USAGE.md
。
請參閱TROUBLESHOOTING.md
。
開發人員可以透過複製 git 儲存庫來取得最新版本的fontmake
:
git clone https://github.com/googlefonts/fontmake
cd fontmake
pip install .
想要快速測試原始程式碼變更而無需重新安裝的開發人員可以在從本機來源簽出安裝時使用「--editable」選項:
pip install -e .
建議在虛擬環境中安裝 fontmake,以防止其相依性與全域安裝的其他模組發生衝突。
您也可以使用 pipx 工具在隔離環境中自動安裝/升級 python 應用程式(例如 fontmake)。
git tag -a v3.1.1
git push origin v3.1.1
,其中origin
是您想要將版本推送到的常用遙控器的名稱。