プログラミング用フォントで開発環境を改善する

システム開発は、たった1文字の入力ミスでも致命的な問題となる事も多く長時間テキストを見続けるようなことが多いことから、非常に眼の疲れる作業です。眼が疲れると、肩が凝ったり、頭痛を引き起こしたりして生産性を落とす原因にもなります。そこでシステム開発者の方にプログラミングに適したフォントを開発環境に導入することで少しでも快適にする事を提案します。

改善すべきテキスト表示環境とは?

システム開発者はソースコードやログ出力を見る事に一日の多くの時間を費やします。従って、以下のソフトウェアのテキスト表示が対象になります。

  • ソースコードエディタ(Eclipse Text Editor)
  • デバッグコンソール(Eclipse Debug Console)
  • ターミナル(SSH)

どのようなフォントが良いか?

プログラミングにおいては構文上、特別な意味を持つ文字の視認性が重要で間違えやすい文字が区別しやすいようにデザインされている事が望まれます。ターミナルはCUI ですのでモノタイプ(等幅)である必要があります。

これらの条件にあったプログラミング向けのフォントで代表的な3つのフォントを比較して好みのデザインを選択する事にします。

フォント名 開発 デザイナー ライセンス
Source Code Pro Adobe Systems Paul D. Hunt SIL Open Font License
Consolas Microsoft Luc(as) de Groot
Menlo Apple Jim Lyles
Source Code Pro

Source Sans Proをベースとした等幅(monospace)フォントですが、視認性を上げるために一部の文字の太さやデザインを変更しています。たとえば大文字のOと小文字のo、数字の0といった形状が似ている文字はより区別しやすいように変更されています。さらにコンピュータ言語で特別な意味を持つ括弧や各種記号といった文字のデザインも見直されています。

Consolas

Windows Vista、Windows 7 で標準添付されているフォントです。このフォントのヒンティングは特にClearType技術上で最適な動作するように設計されています。OSX でも Microsoft Office をインストールすることで使用できるようになりますが、ClearTypeは Widnows 上でしか使えませんので、Windowsと同じ品質で表示されません。Githubのソースコード表示でConsolasが指定されていますので、Visual Studioで開発をしない方でも気がつかずに目にしている人も多いのではないでしょうか。

Menlo

Mac OS X Snow Leopardから標準添付されているフォントです。MenloはオープンソースフォントのBitstream Veraと Public DomainのDeja Vuいうフォントをベースに視認性を高めるデザインの変更が行われています。OSX の標準開発環境である Xcode のデフォルトフォントになっています。

比較

Consolas は WInodwsのみ、 Menloは OS X のみで利用できOS毎に選択できるフォントが異なりますが、Source Code Pro はフリーですので、どのOSでも利用できます。従って、共通して使える Source Code Pro との比較することになります。

尚、以下の比較用サンプルではスタイルシートでフォントを指定していますので見る環境によって見え方が違いますので注意してください。

英数文字で比較

Source Code Pro

a b c d e f g h i j
k l m n o p q r s t
u v w x y z
A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z
1234567890
Consolas

a b c d e f g h i j
k l m n o p q r s t
u v w x y z
A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z
1234567890
Menlo

a b c d e f g h i j
k l m n o p q r s t
u v w x y z
A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z
1234567890

間違いやすい文字で比較

Source Code Pro

1 t l | i j o 0 O B 8
Consolas

1 t l | i j o 0 O B 8
Menlo

1 t l | i j o 0 O B 8

プログラム言語の文法で使われる記号

Source Code Pro

<>&“^$\/()|?+*[]{},.
Consolas

<>&“^$\/()|?+*[]{},.
Menlo

<>&“^$\/()|?+*[]{},.

Javaソースコードで比較

ソースコードのエディタの設定は10pから12ptまでのフォントサイズ使用すると考えられます。10pt でソースコードの読みやすさを比較してみます。

Source Code Pro

public static int fibonacci(int n) {
	if (n == 0) {
		return 0;
	} else if (n == 1) {
		return 1;
	} else {
		return fibonacci(n - 1) + fibonacci(n - 2);
	}
}

Consolas

public static int fibonacci(int n) {
	if (n == 0) {
		return 0;
	} else if (n == 1) {
		return 1;
	} else {
		return fibonacci(n - 1) + fibonacci(n - 2);
	}
}

Menlo

public static int fibonacci(int n) {
	if (n == 0) {
		return 0;
	} else if (n == 1) {
		return 1;
	} else {
		return fibonacci(n - 1) + fibonacci(n - 2);
	}
}

まとめ

いずれのフォントもプログラミング向けにデザインされただけあって見た目の似ている文字の区別はしやすく素晴らしいフォントであることには間違いありません。ですが、敢えて一つお勧めを選ぶとしたら Source Code Pro になります。私の目にはSource Code Pro の書体が最も美しく文字のバランスも良いように見えます。

関連文書

参考