https://blog.lufia.org/entry/2022/08/14/004306
Goのソースコードをきれいに描画する目的で作られた「Goフォント」があるのをご存じでしょうか。周囲に聞いたところ、あまり知られていなかったので、紹介の意味も込めてインストール方法を書きます。
Goフォントは、2016年に以下の記事で公開されたもので、単体で配布されたものではなく、golang.org/x/exp/shinyパッケージの一部として配布されています。
コミットログを見る限りでは、2016年にv2.004、2017年にv2.008がリリースされた後しばらく更新されていませんでしたが、2022年6月17日にv2.010がgolang-nutsで告知されました。
フォントの画像は上のブログ記事にもありますし、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が使いやすいかなと思います。