Python

使用程式協助補字

為什麼要學這個?

原本純手工在做的事情,改用程式來幫忙,減少自行比對既有文字元件的時間。自動補出來的字,大多都很醜,呵呵!


使用限制

自動補字的限制很多。

  • 目前版本的程式無法處理筆畫相連的字,當然組合出來的字,也會因為無法筆畫相連,而造成中宮偏鬆。
  • 部件大小和位置的問題,以部首來來,筆畫較多時,部首會較小,筆畫較少時,部首會較大,目前版本的程式對這部份還沒有處理。

前置準備

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

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

Max腳本檔案,使用程式協助補字程式下載:
https://github.com/max32002/MaxFontScripts/blob/master/auto_compose_glyph.py

簡易中文字典檔案下載:
https://github.com/max32002/chinese_dictionary
附註:我們使用的是 Dictionary_lite.json 簡易版的字典檔


使用方法

把 source.ttf 轉換為 target.sfdir

auto_compose_glyph.py
--input source.sfdir
--output new.sfdir
--file glyphs_list.txt

主要使用這3個參數即可。

組字過程的記錄,放在 compose.log 檔案裡。

要微調組合參數,可以使在 glyphs_list.txt 檔案裡設定,glyphs_list.txt 每一個單字的分隔符號是 Enter, 參數微調分隔符號是空白。

上面的執行結果,預設會使用FontForge 去預覽組字結果的 new.sfdir,可以先把組字失敗的刪除後,再把調整完的放回去要處理的來源目錄。


使用範例

auto_compose_glyph.py --input jason4.sfdir --output new.sfdir --file chars_4K_ROW.txt

說明:要處理的FontForge 專案是 jason4.sfdir,輸出結果的資料夾為:new.sfdir,補字清單從chars_4K_ROW.txt


MaxCodeReview 影片:
(製作中)


相關文章:

查「部首」、「筆畫」、「異體字」、「同義字」和「文字組件」的字典
https://max-everyday.com/2020/04/chinese-dictionary-radical/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *