fyne :顯示中文

滾球獸進化發表於2022-07-28

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開發。

顯示效果如下。

fyne :顯示中文

github.com/thh9/bigbrother

本作品採用《CC 協議》,轉載必須註明作者和本文連結
biubiubiu

相關文章