前幾天,有網友反應說,莫大毛筆體在Bold的字重有「筆劃消失」和「多餘線條」的問題。花了2天的時間,終於把問題解決。
問題發生的原因是:
- (1)使用較舊版本的工具(FontForge 2019-11-14) 的版本。
- (2)參數用的是寫法1號。
後來挑戰「較舊版本的工具」+「參數用的是寫法2號」,似乎有解決問題,但還是有產生奇怪的線條,在不特定的文字上:
- 在字重變輕的情況下:太細的筆劃在線條消失後,變成一個白色點。
- 在字重變重的情況下:有些字會有某明的線條出現。例如:「風」的左下角,其實多了不太明顯的二條線。
最後解法是,使用「FontForge開發者的版本」,有成功解決調整字重的問題,但也有新的問題,那就是只處理200個新增字,沒有問題,但處理整個字型 15000 個字時,FontForge 這個工具程式都一直中斷掉。
先試著安裝介於 2019-11-14 到 2020-03-06 之間的幾個版本,也是一樣。
試著對字型檔案裡全選,對所有的字做「Correct Direction」(修正畫寫方向),這個看以無害的動作,反而造成更多問題,讓更多的不特定的字在執「Expand Stroke」(調整字重)時出錯。
原本FontForge 官方提供的工具是2行指令:SelectAll(全選) + ExpandStroke(調字重),可以完成調整字重,但是在現行環境下,不能達成預期的功能,最後我試出來的方法是:
- 1:從FontForge 裡讀取外部的檔案,檔案裡就放了字型檔案包含了那些字。有試過把字直接放進某一個變數裡,但1萬5千個字,放在腳本(Script)裡超過fontforge 指令單行的限制。
- 2:執行迴圈,一個一個字去Select 來取代 SelectAll。
- 3:每次處理字重前,先把要存理的字,放進外部檔案,這樣FontForge 程式掛掉,就知道是因為處理那一個字掛掉,把有問題的排除,就可以完成調整字重的任務。
完成的FontForge 腳本如下:
https://stackoverflow.max-everyday.com/2020/03/fontforge-script-debug/
ver 1.30 和上一版 v1.21 比,修正了「鈽」字的金方向錯亂,字重加重時,線條反而變細。「銳」口也是一樣的問題。「頽」的頁也是一樣的問題。這幾個需要人力純手工來調整。
「跺」、「踩」、「踫」的足部,因為線條變細,舊版的工具會殘留一粒小白點在線條上。新的 ver 1.30 解決了這一個細部的問題。
相關文章:
莫大毛筆字體 (Bakudai)
https://max-everyday.com/2020/03/bakudaifont/
FontForeg正式版和開發中的版本下載:
https://fontforge.org/en-US/downloads/