【golang】gxuiに日本語フォントを埋め込む。
gxuiはデフォルトフォントとしてdroid sansとroboto regularがリソース埋め込みされています。
ただ、これらはCJKフォントではないのでそのまま日本語を表示できず、
アプリ側で動的にロードするのも面倒なので、試しにライブラリに日本語フォントを追加してみました。
※Windows10でのみ動作確認済み。
表示サンプル
埋め込み手順
- ファイル「$GOPATH/src/github.com/google/gxui/gxfont/mkfont.go」にフォントのリポジトリURLを追記。
- mkfontを実行して各フォントのgoソースを生成。
- ファイル「$GOPATH/src/github.com/google/gxui/gxfont/gxfont.go」のフォント指定を追加フォントに差し替え。
- gxui.aの再ビルド。
利用コードサンプル
//$GOPATH/src/github.com/google/gxui/samples/file_dlg/main.go
func appMain(driver gxui.Driver) {
theme := flags.CreateTheme(driver)
font, err := driver.CreateFont(gxfont.Default, 18)
if err != nil {
panic(err)
}
theme.SetDefaultFont(font)
window := theme.CreateWindow(800, 600, "Open file...")
備考
- 触り程度しか確認してませんが、WindowsでのIME日本語入力はソース変更無しに受付可でした。
- カーソルキャレット位置の半角全角の識別も可。