tech.guitarrapc.cóm

Technical updates

Programming 向け Awesome Fonts の選択

特に Windows 環境で感じるのですが、プログラミングでフォントを選ぶのは重要だと思います。

今回、ふとした思い立ちでフォントを見直してみました。

目次

TL;DR;

Dejavu Sans Mono - Bront でしばらくいくが、「g」がぐねっとしたフォントがあればそれに変えたい。

GitHub

個人的なフォントお試し結果をリポジトリに記録しています。今後もGitHub 上のREADME を更新していく予定なので参考にどうぞ。

github.com

Motivation

個人的に、Windows環境での font は Consolas を長年使っており、都度他のフォントを試しては納得いかず consolas に戻していました。

改めて2019年で何かないかなぁと見直したのがきっかけ。

個人的にConsolas に感じる課題は、小文字L と 数字1 が見分けつきにくいことと、微妙に文字体の詰まり加減があとわずかになんとかならないのか感と、古いっぽいような微妙な感触であること。

Requirements

  • モノスペースフォント(等幅フォント)必須。プロポーショナルフォントは絶対だめ
  • 文字幅が少しあるほうがいい 1
  • 行が少し詰まっているほうが全体を見れてうれしい 2
  • 0 は スラッシュいれてほしい
  • 小文字L と 1 の区別は大事
  • 小文字 g がグねってしていると q と区別つきやすくて最高
  • Ligature はいらない 3
  • もともとプログラム内で日本語はかかないので入っていなくてもok 4
  • 横は狭いより広くてok
  • 縦が広いのはダメ
  • フォントは大き目がよい

Compare

フォントをさくさく比較しつつ見ていくには、app.programmingfonts.org が最高なので、一通りみるといいです。ただし、自分のエディタで実際に入れてみないと実際の幅や感覚が違うので、これはという候補の比較にフォントインストールは必須です。

https://app.programmingfonts.org/#borg-sans-mono

f:id:guitarrapc_tech:20190220152600p:plain
app.programmingfonts.org を使うとフォントを左ペインで選んで比較できる

Candidates

Kibela の Presentation Mode で全画面にするといい感じで比較できて好きです。 スクショどぞ。

f:id:guitarrapc_tech:20190220155150p:plain
Kibelaでフォントのスクショを比較

個別に並べておきます。

f:id:guitarrapc_tech:20190220152655p:plain
Consolas 8.0

f:id:guitarrapc_tech:20190220152725p:plain
Dejavu Sans Mono - Bront

f:id:guitarrapc_tech:20190220152740p:plain
Hack

f:id:guitarrapc_tech:20190220152751p:plain
Source Code Pro (Variable)

f:id:guitarrapc_tech:20190220152801p:plain
MesloLGS-Regular

f:id:guitarrapc_tech:20190220152812p:plain
mononoki

Selection

Dejavu Sans Mono - Bront と Meslo の選択

  • Dejavu Sans Mono - Bront か MesloLGS-Regular がいい感じだけど、g が気に入らないので Consolas や Source Code Pro っぽいgが欲しい。
  • ほかの文字、文字幅、行幅はバランスいい。
  • Dejavu Sans Mono のほうが、MesloLGS-Regularよりも縦が詰まるのでプログラム全体を少しでも見るにはいい。

Consolas や Source Code Pro と他の選択

  • 小文字の g がConsolas / Source Code Pro がめちゃめちゃいい。
  • Consolasは 小文字L と 数字1 が見分けつきにくい

Hack と Source Code Pro と他の選択

  • Hack と Source Code Pro は 0 が ・なのが @ と見間違える感でいや。

momonoki と他の選択

  • g も 0 も lと1 も満たしているが、文字幅の感覚が狭い。文字微妙。

Consolas 8.0 と Consolas

  • 置き換えになるのでなんとも言い難い (違いがめっちゃ分かりにくい)
  • Consolas 8.0 でも 小文字 l と 1 の違いがつきにくかったのでないかなぁ。
  • 文字幅は consolas と変わってなかった感じ。

他のフォント

  • Fantasque Sans Mono: Ligature いらない
  • Inconsolata: Ligature いらない
  • M+: 文字が狭く読みにくいです。モノスペースなほうは特に顕著でむり。

日本語を含めるなら

リンクすればいいと思います。

mofoolog.hateblo.jp

スコアをつけてみる

個人の感覚でスコアを点けてみました。この感覚は、明日には違ってそうなので、後日、客観的に判別するため具体的な指標となる自分の好みの数値を測ろうかと思います。

Fonts-lab/SCORE.md at master · guitarrapc/Fonts-lab · GitHub

結果だけ見てみると、なるほど DejaVuSansMono-Bront が今のところ一歩だけよいみたいです。

f:id:guitarrapc_tech:20190221032731p:plain
Fontのスコア付け


  1. Consolas比

  2. Source Code Pro比

  3. プログラミングで合字は構文とのバッティング起こしてて、ちょっと使う理由が見つからない

  4. もし日本語があるなら「英語:日本語 = 1:2」の比率が絶対