English / 日本語
Fyne で日本語フォントを利用するサンプルアプリケーションです。
Important
これは Fyne v2.x についての説明です. Fyne v1.x 以前のバージョンについて知りたい場合は v1 以下を参照してください.
Tip
🎨 GUI でテーマを作成したい場合は fyne-theme-generator も試してみてください.
$ go get fyne.io/fyne/v2/cmd/fyne
$ fyne
Usage: fyne [command] [parameters], where command is one of:
...
$ fyne bundle mplus-1c-regular.ttf > bundle.go
$ head -n 9 bundle.go
// auto-generated
package main
import "fyne.io/fyne/v2"
var resourceMplus1cRegularTtf = &fyne.StaticResource{
StaticName: "mplus-1c-regular.ttf",
StaticContent: []byte{
詳細は ./v2/bundle.go を参照してください.
Warning
ファイルサイズがかなり大きくなります
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 resourceMplus1cBoldTtf
}
if s.Italic {
return theme.DefaultTheme().Font(s)
}
return resourceMplus1cRegularTtf
}
...
詳細は ./v2/theme.go を参照してください.
...
a := app.New()
a.Settings().SetTheme(&myTheme{})
...
詳細は ./v2/main.go を参照してください.
bundle.go
は fyne command を利用して生成しています.
$ fyne bundle mplus-1c-regular.ttf > bundle.go
$ fyne bundle -append mplus-1c-bold.ttf >> bundle.go
詳細については以下の記事に記載しています.
公式のチュートリアルにもリソースのバンドルについて追記されました.
サンプルのフォントとして M+ FONTS を使用しています.