從字體專案裡刪除特定文字

為什麼要學這個?

與使用「人工」手動去處理相比,用程式去刪除特定文字有效率。

這個程式與另外2個程式,有一點點相似,如果是使用 copy_lost_out.py 或使用 copy_selected_out.py 是無法處理「複雜的」字型檔,如果使用了 .vert 檔案 或是設定了 kerning 之類的設定值,暫時還沒有寫程式去使判斷。

延伸的問題是,要避免直接複製.glyph 到 font forage 專案的目錄裡,遇到複雜的字型檔時,會造成 kerning 之類的設定值錯亂,因為共用的外部檔案的編號會相同,所以要合併複雜的字型時,請使用 Font Forge 的 Merge Font… 來合併。

重要:刪除檔案前,請先一定要做要備份,因為會救不回來!


前置作業

使用前,需要先安裝FontForge,把要處理的字體先存成.sfdir 的資料夾格式。

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

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


使用方法

delete_selected_glyph.py --input INPUT --string STRING

參數說明:

  • --input 要處理的字體專案目錄。
  • --string 要取出的字串。

操作範例:

delete_selected_glyph.py --input source.sfdir --string 每一天

使用範例:從 source.sfdir 刪除 「每一天」3個字的 .glyph 檔案。


相關文章:

透過指令「字體」與「FontForge專案」互轉
https://codereview.max-everyday.com/font-to-fontforge/