Try   HackMD

微控制器上字庫的選擇

PaoyungJun 28, 2022

ℳ𝒾𝒸𝓇ℴ𝒫𝓎𝓉𝒽ℴ𝓃 隨手記

引以為鑑

2018 年發生了華康字型與 Youtuber 間的版權問題,争議已釐清但使用者付費為既定的事實,也是必須遵守的觀念。可從以下影片中稍微瞭解其內容。
如何正確使用字型
Joeman 與華康開會確定了字體版權細節

另有選擇

Makers 在自己的作品中,一旦有螢幕要顯示就有字型字體的需求,若是樹莓或是其它 Arm linux 則不會有什麼問題,但其他小型的 MCU 往往配搭的是單色點陣的 LCD,在其上顯示英文和符號容易,要秀出中文就必須以字庫產生 bitmap 再繪製,而小螢幕的中文顯示字體不但小也談不上美觀,若使用一般常見的字型却有可能踩到版權的風險,若是在生產數量不多獲利不足的情況下,仍要付一筆字體的費用,這並非 Makers 所能承擔的。而以下為其他可選擇的替代方案,供需要的人來參考:

名稱 點陣大小 字型 字量 版權 備註
俐方體 11 像素風 10216 OFL1.1
Unifont 12 黑體 55390 GPLv2+FE + OFL1.1 版權更新
文泉譯 12,13,15,16 宋體 29888 GPLv2+FE
全字庫 向量 明、楷、宋 39142 全字庫授權 +
政府資料開放授權條款
需轉為點陣
思源黑體 向量 黑體 44804 OFL 需轉為點陣
Noto Emoji 向量 圖形 3663 OFL 需轉為點陣

瓶頸

俐方體Unifont文泉譯原本就是點陣字,轉換為 bitmap 不會有難度,反倒是向量字要轉換為 bitmap 在大一點的字級時沒問題,但小字轉出來就滿慘不忍睹的,可能需要正確或更好的演算法才能做得更好,請參考黑大的測試影片,就可以發現向量轉點陣的難度了。

給 MicroPython 使用的字庫進度

目前打算陸續將這些字庫完成轉換,但顧及到字體字量、字級變化及轉檔後的大小,可能會用不同的方式來完成,敬請期待。

名稱 點陣大小 完成 字庫連結 備註
俐方體 11
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
cubicpy
Unifont 12
文泉譯 12,13,15,16
全字庫 向量
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
twKai98Py 32及48楷體
思源黑體 向量
Noto Emoji 向量 測試中 32及48

關於作者  

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

我是 𝙋𝙖𝙤𝙮𝙪𝙣𝙜,是 MicroPythonEspruino 的愛好者,一直認為:

「Maker 應該把重心放在應用上,而不該被語言工具限制了創意」

所以想藉由較為簡捷且詳細的解說讓更多人可以學習進而自由發揮,而非淪為只能將程式碼複製貼上的複製人,如果你認同這樣的理念,請一起為此目標努力,如果我的文章內容對你有幫助,請轉發或協助需要的人。

若有專案需求,請利用 連絡我,謝謝!