字體檔匯出為SVG向量檔格式

這個腳本會遍歷字型中的所有字元,並將每個 glyph 存成單獨的 .svg 檔案

為什麼要學這個?

在字型設計、視覺化應用、深度學習資料蒐集等領域中,我們常需要將 .ttf 字型檔案中的每個字元提取出來,轉換成標準向量格式(例如 .svg)。這種需求常見於以下情境:

  • 🎨 圖文設計師:將字型的特定字元轉為向量圖,供 Illustrator 或 Figma 編輯。
  • 🧠 機器學習研究者:建立字型風格遷移、手寫模仿等模型時,需要大量向量化字元資料。
  • 💻 前端工程師:將文字轉為 SVG,用於自訂字型圖示或動畫字效。
  • ✍️ 字型設計師:觀察並微調每個 glyph 的 SVG 輪廓。

而手動一個一個轉出 SVG 不僅耗時,也容易出錯。幸好,透過 FontForge 提供的 Python API,我們可以輕鬆完成這個任務。


前置作業

使用前,需要先安裝FontForge。

FontForge執行檔下載:
https://fontforge.org/en-US/

Max腳本檔案下載:
https://github.com/max32002/MaxFontScripts/blob/master/export_ttf_to_svg.py


使用範例

假設你有一個叫做 NotoSansCJKtc-Regular.ttf 的中文字型檔,你可以執行以下指令:

python3 export_ttf_to_svg.py ./fonts/NotoSansCJKtc-Regular.ttf ./output_svg

執行後,程式會:

  • 開啟指定字型檔
  • 將每個字元轉為 .svg 格式
  • 儲存在 ./output_svg/ 資料夾中,命名為 glyph unicode int 值

你可以在瀏覽器或設計工具中檢視這些 SVG,確認每個字元都完整向量化。


小結

這個工具對於字型開發、字元資料集建立、視覺化工具客製化都有很大的幫助。透過簡單幾行 Python,你就可以自動化這個繁瑣的流程。

相關文章

向量檔匯入字體檔
https://codereview.max-everyday.com/import-svg-to-font/