Skip to content

Latest commit

 

History

History
112 lines (75 loc) · 2.73 KB

README_ja.md

File metadata and controls

112 lines (75 loc) · 2.73 KB

fyne-font-example

English / 日本語

About

Fyne で日本語フォントを利用するサンプルアプリケーションです。

Important

これは Fyne v2.x についての説明です. Fyne v1.x 以前のバージョンについて知りたい場合は v1 以下を参照してください.

Tip

🎨 GUI でテーマを作成したい場合は fyne-theme-generator も試してみてください.

Summary

0. fyne コマンドをインストール

$ go get fyne.io/fyne/v2/cmd/fyne

$ fyne
Usage: fyne [command] [parameters], where command is one of:
...

1. フォントファイルを用意して fyne bundle コマンドを実行

$ 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

ファイルサイズがかなり大きくなります

2. カスタムテーマを作成しフォントリソースを読み込む

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 を参照してください.

3. カスタムテーマを読み込む

...
	a := app.New()
	a.Settings().SetTheme(&myTheme{})
...

詳細は ./v2/main.go を参照してください.

もう少し詳しく

bundle.gofyne command を利用して生成しています.

$ fyne bundle mplus-1c-regular.ttf > bundle.go
$ fyne bundle -append mplus-1c-bold.ttf >> bundle.go

詳細については以下の記事に記載しています.

公式のチュートリアルにもリソースのバンドルについて追記されました.


サンプルのフォントとして M+ FONTS を使用しています.

https://mplusfonts.github.io