Last-modified: Sun, 13 Oct 2013 04:10:45 JST
Counter:6532 Today:1 Yesterday:1 Online:9
このエントリーをはてなブックマークに追加

プログラミングに利用するフォントについて

About

プログラミングは大量の文字を読み続け、書き続けなければいけません。少しでもストレスを軽減できるフォントを選ぶべきです。

フォントに求める条件

私の場合、プログラミングフォントは概ね次のような条件を満たすモノにしています。多くの人が優先する事項でしょう。

  • フォントの見た目が美しい。
  • 等幅のフォントである。
    • 特に半角スペースが見やすい(等幅)である。
  • 見分けのつきにくい文字が見分けやすい。

稀に半角スペースが非常に見にくいフォントがあるのですが、私の場合は特にこれ嫌います。可読性を高めるためには、半角スペースもフォントと等幅であるべきでしょう。さらに私は日本人ですので、これに加えて、日本語が表示できることが条件となります(日本語も美しく表示されている必要があります)。

欲を出してもう一つ付け加えると、導入が楽なフォントが良いです。常時携帯しているようなノートPCないし、長い間使うPCでプログラミングする分には困りませんが、私の場合はハード的にソフト的に、作業環境が切り替わることが多々あるため、極力簡単に導入できるのが理想です。したがって、gdi++ 系のフォントのレンダリングを補助するソフトウェアは可能な限り導入したくありません。導入しなくても見やすいのが理想です。まぁこのあたりは OS にも依存するので一概には言えませんが。

見分けのつきにくい文字

次のモノは明確に差別化されている必要があるでしょう。

  • 0(ゼロ) / O・o(オー) / θ(シータ)
  • 1(ワン) / I・i(アイ) / l(エル) / | (バーティカルバー)

特に 0(ゼロ) に関しては、見分けを付けるための工夫として、中央にスラッシュを打つタイプと、点を打つタイプと2種類ありますが、これは好みに依存するでしょう。私はスラッシュの方が好きです。θと見分けがつかなくなりそうですが、θはドキュメントには出現しても、実際のプログラミングには出現しないのがほとんどでしょうから。

良く紹介されるフォント/ おススメのフォント

プログラミングに適したフォントは各所で紹介されていますが、良く紹介されているものをいくつかまとめておきます。

Inconsolata

Inconsolata は各所でもトップレベルで紹介されているフォントです。シンプルで非常に見やすいフォントでしょう。線が細いので好みは分かれます。細い線がちらついて見えてしまう人は相性が悪いかもしれません。

Inconsolata は英字フォントのセットですので、別途日本語フォントと組み合わせる必要があります。これについては、問題を解決しているフォントが他にありますので下で紹介します。ただし VisualStudio に関しては、 Inconsolata を設定すると、日本語フォントは別のフォントを適用してくれます( MeiryoUI? 定かではありませんが)。また Eclipse(v4.3) に導入すると滲みが発生することを確認してます。

Ricty / Ricty Diminished

Ricty は上で紹介している Inconsolata に日本語フォント、Migu 1M を加えたものです。日本語向けのフォントが自動的に切り替わらない環境で Inconsolata を導入したいときには選択肢に入るでしょう。ただしライセンスの都合上、フォントの生成スクリプトを実行して、自身でフォントを生成する必要があります。この作業が面倒であれば、姉妹フォントとして提供される Ricty Diminished を選択するのも良いと思います。登録される感じの数が異なりますが、プログラミングにおいては十分かも知れません。

Circle M+

上で紹介している Ricty(Diminished) の日本語フォントを担当しているフォントです。Ricty では日本語担当でしたが、英字フォントも見やすく、十分に活躍するフォントです。Inconsolata よりもこちらの方が好みである人もいるでしょう。また、Eclipse など一部の環境で Inconsolata が滲んでしまう場合には、Circle M+ フォントの導入を検討しても良いかもしれません。導入に特に手続きは必要なく、ダウンロードしてインストールしたらすぐに使える点も良いです。ただし漢字についてはJIS第1水準しか満たしていないので、特殊な漢字を多用する人には向かないかもしれません。もっともプログラミングのドキュメントなどに複雑な漢字はそうそう用いないでしょう。

その他まとめていないフォント