Plan 9とGo言語のブログ

主にPlan 9やGo言語の日々気づいたことを書きます。

Goフォントの紹介と使い方

Goのソースコードをきれいに描画する目的で作られた「Goフォント」があるのをご存じでしょうか。周囲に聞いたところ、あまり知られていなかったので、紹介の意味も込めてインストール方法を書きます。

Goフォント

Goフォントは、2016年に以下の記事で公開されたもので、単体で配布されたものではなく、golang.org/x/exp/shinyパッケージの一部として配布されています。

go.dev

コミットログを見る限りでは、2016年にv2.004、2017年にv2.008がリリースされた後しばらく更新されていませんでしたが、2022年6月17日にv2.010がgolang-nutsで告知されました。

groups.google.com

フォントの画像は上のブログ記事にもありますし、Goのコードを書きながらAcmeエディタの基本を覚えるチュートリアルの途中からはGoフォントでGoのコードを書いている画像を貼っているので、興味があれば参考にしてください。

ところで、Goフォントは記号などを合成しません。なので -> にならないし、<= になったりしません。個人的には記号でリガチャするのは好きではないのでGoフォントを気に入っていますが、この辺りは好みもあるかなと思います。

インストールする

上にも書いたように、Goフォントはexp/shinyパッケージの一部として配布されているので、少し深い階層からコピーする必要があります。

$ git clone https://go.googlesource.com/image

Linuxの場合はfonts/TTFディレクトリにコピーしましょう。

$ cp image/font/gofont/ttfs/*.ttf ~/.local/share/fonts/TTF/
$ fc-cache -fv

# またはシステム全体に反映する場合
$ sudo cp image/font/gofont/ttfs/*.ttf /usr/share/fonts/TTF/

macOSの場合はこちら。コピー先が違うだけです。

$ cp image/font/gofont/ttfs/*.ttf ~/Library/Fonts/

# またはシステム全体に反映する場合
$ cp image/font/gofont/ttfs/*.ttf /Library/Fonts

エディタに設定する

これでフォントがシステムに認識されて、使えるようになっているはずです。具体的な設定方法は、使用するテキストエディタごとに異なるので省略します。

GoフォントはGoRegularなどいくつかのフォントを含みますが、Goのソースコードgofmtなどで整えたときに等幅フォントのほうが読みやすいので、GoMonoが使いやすいかなと思います。