生成bundle文件
fyne bundle ShangShouJianSongXianXiTi-2.ttf >> bundle.go
# 查看生成出来的字体变量
head -n 9 bundle.go
import "fyne.io/fyne/v2"
var resourceShangShouJianSongXianXiTi2Ttf = &fyne.StaticResource{
StaticName: "ShangShouJianSongXianXiTi-2.ttf",
实现字体接口方法
package resource
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/theme"
"image/color"
)
type MyTheme struct{}
func (*MyTheme) Font(s fyne.TextStyle) fyne.Resource {
if s.Monospace {
return theme.DefaultTheme().Font(s)
}
if s.Bold {
if s.Italic {
return theme.DefaultTheme().Font(s)
}
return resourceShangShouJianSongXianXiTi2Ttf
}
if s.Italic {
return theme.DefaultTheme().Font(s)
}
return resourceShangShouJianSongXianXiTi2Ttf
}
func (*MyTheme) Color(n fyne.ThemeColorName, v fyne.ThemeVariant) color.Color {
return theme.DefaultTheme().Color(n, v)
}
func (*MyTheme) Icon(n fyne.ThemeIconName) fyne.Resource {
return theme.DefaultTheme().Icon(n)
}
func (*MyTheme) Size(n fyne.ThemeSizeName) float32 {
return theme.DefaultTheme().Size(n)
}