成功將TTF字體從18M裁剪到1.8M

問題:
串口屏中爲了美觀,需要多用幾種字體,而且需要支持中日韓英四種語言。
由於支持中文的字體一定支持英文,主要是考慮對中日韓文的支持。
查了一下,最完美的字體應該是開源的思源宋體和思源黑體了。

但是思源宋體和思源黑體的字庫文件較大,
鑑於串口屏中存儲空間有限,
需要將這兩種字體裁剪到剛好夠串口屏使用,以儘可能節省存儲空間。

解決辦法:
0、原來電腦中已安裝思源宋體和思源黑體,新建一個word文檔,測試思源宋體和思源黑體是否能支持中日韓文字;如圖所示:
歷史統計Historical statistics履歴統計역사 통계

但是發現,在Word中同時選好中日韓英四中文字的時候,看到標題欄中字體那裏是空白,
在這裏插入圖片描述
思源宋體和思源黑體的7種不同規格都試過,都是同樣的結果。
難道思源宋體和思源黑體不能支持中日韓同時顯示?

1、網上搜了一下,發現思源黑體和思源宋體號稱是泛CJK字體(CJK:Chinese,Japan,Korea);
那爲什麼我已安裝思源宋體和思源黑體,
還是不能將中日韓三種文字同時設定爲相同的字體呢?
莫非是這兩種字體的早期版本不支持CJK?

於是從網上搜了思源宋體CJK,
從這裏重新下載了思源宋體和思源黑體,
http://soft1.3h3.com/3H3siyuansongti.rar
http://soft1.3h3.com/3H3siyuanheiti.rar

下載後,將兩種字體中的SC版本的7種規格的字體都安裝。
在這裏插入圖片描述
在這裏插入圖片描述
2、在一篇帖子裏看到有人介紹用微嵌字體裁剪工具生成了裁剪後的TTF字體,
在這裏插入圖片描述
但我用的時候,不知道是不是因爲思源黑體的源文件18M太大,還是別的什麼原因,點擊“運行”後,在指定的字庫文件目錄中生成的文件是0字節。

思源黑體的源文件是otf格式的,用FontCreator轉換成TTF格式後,
重新轉換還是同樣的結果。
3、搜了一下,下載了FontSubsetGUI,
在這裏插入圖片描述
點擊Proceed後,提示出錯。
在這裏插入圖片描述
4、再尋它法。
這一會需要FontPruner登場了。
下載了最新版Python 3.8.2;
安裝的時候,將Python添加到系統路徑中;
https://github.com/GameBuildingBlocks/FontPruner
中下載了FontPruner的zip包。
解壓後,找到FontPruner.py文件,打開,修改其中的一個錯誤。
在這裏插入圖片描述
找到第18行,將print後面加上單引號“()”,入上圖所示。
A、爲方便起見,將源TTF文件拷貝到與FontPruner.py相同的目錄下;
B、將裁剪後保留的字符文字等信息拷貝到src/FontExtract/unChineseOutPut.txt中並保存;
C、Windows鍵+X,選擇以管理員模式打開PowerShell,
在這裏插入圖片描述
轉到FontPruner的路徑;
D、在CMD的命令行中輸入 命令:.\FontPruner.py --inputPath=./ --inputFont=./SourceHanSansSC-Heavy.ttf --tempPath=./
其中TTF的名字需要根據實際情況更改。
會看到彈出一個窗口,看到命令的執行過程,
執行完成後,窗口消失。
在當前目錄下,出現了一個output目錄,裏面就有剛生成的裁剪後的TTF字庫文件。
在這裏插入圖片描述
可以看到,字庫從18M減到了只有1.8M。
這樣小個頭的字庫才適合放進存儲空間緊張的嵌入式設備中。

問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章