fyne 是 go 的一個 gui 工具包。不過這個工具包預設是不支援中文字型的,中文字型需要額外引入,目前在網上找到的方法都是用官方提供 fyne
命令去把 .ttf
檔案專成 .go
檔案,然後在主題設定中引入。這裡對於高版本的 go ,大可不必這樣做。(因為.ttf
轉成go實在是太大了,導致這個檔案的變數在golang上反應遲緩)
我們可以先看下生成了什麼fyne bundle HarmonyOS_Sans_SC_Regular.ttf > bundle.go
package main
import "fyne.io/fyne/v2"
var resourceHarmonyOSSansSCRegularTtf = &fyne.StaticResource{
StaticName: "HarmonyOS_Sans_SC_Regular.ttf",
StaticContent: []byte(....
......
),
}
所以可見我們只要把 ttf 的內容以 []byte 的形式設定到 StaticContent 就可以了。這裡採用embed
來處理
//go:embed HarmonyOS_Sans_SC_Regular.ttf
var hmTTf []byte
同時將該變數設定到fyne.StaticResource
,可以有相同的效果。因為沒有生成 go
檔案,也不會影響 goland
開發。
顯示效果如下。
本作品採用《CC 協議》,轉載必須註明作者和本文連結