imaizumeの個人メモ

コードとか旅とか飯とか

プログラミング用のエディタには必ず等幅のフォントを設定しよう

エディタのフォントは等幅にしよう


TerapadとかEclipseとかのエディタのフォントを変える時、すごく見づらくなってしまうフォントとスッキリ見やすくなるフォントってありますよね?
その違いは何かご存じですか?

フォントに詳しくない人だとイマイチこれが分かりづらかったりするわけですが、実はそれは等幅フォントか否かという違いです
等幅フォントとは、すべての文字が一律同じ幅で表示されるフォントのことを指します。
代表的なものにはMS ゴシックやCourier、monospaceなどがあります。
また全角文字は半角文字2つ分で表示されますので、日本語1文字は英数字2文字分と幅が一致します。

なぜ等幅フォントだとエディタが快適になるかというと、プログラミングではよく縦のラインを揃えたいことがあるからです。
言い換えれば同じ文字数ならどの行でも同じ位置に文字が並ぶほうが読みやすいからです。

もし等幅フォントでないと、IやJといった文字は幅が狭く表示されます。
逆にMやWといった文字の幅が広く表示されてしまい、文字数が同じでも縦揃えができなくなるからです。

特に多いのが"="の位置揃えで、たとえば等幅のフォントでプログラムを書くとこんな感じです。
grades   =  3
classes = 10
students = grades * classes

まるで上から下に、幹線道路をスピードを出して走行するかのように読めている感じがしますよね。
しかしこのブログで表示されているようなフォントだと、こうになってしまいます。
grades = 3

classes = 10

students = grades * classes
なんか細い路地の角を何度も止まっては曲がり、止まっては曲がって進んでいる感じになります。
原因は等幅フォントではないため、縦の位置がバラバラになってしまっているからです。
これが100行も1000行も続いたら最終行までたどり着くのに相当な時間がかかってしまいそうですね。

このようにフォントは、同じコードでも可読性を上げるのに非常に重要なの役割を果たしているわけです。
よってプログラミングでは等幅フォントが必須になります。
もしエディタのフォントを変えようかな...と思っている人は、ぜひ等幅フォントを選ぶようにしてみてください。

補足ですが、もちろん日常のすべての場面において、等幅フォントが他のフォントより優れているわけではありません。
プログラマーがエディタでプログラミングするには等幅が良いですが、小説や会議資料などの文章においては等幅が逆に読みやすさを損なうこともあります。







おすすめの等幅フォントRicty


ちなみに自分はRictyというフォントを好んで使っています。
Rictyプログラマが好んでエディタに使う、等幅の丸文字ゴシック系のフォントで、無料で手に入れられ日本語もきちんと表示されます。
割とOSにデフォルトで入っている丸文字ゴシックにも近い感じがします。

線が細くて間隔も広いので、プログラマだけではなく一般の方でも使える場面はあるのではないかと思います。
本来はソースからfont forgeを使ってビルドする必要があります。
しかし検索したところと、どうやらビルド済みのフォントファイル(ttf)があるみたいなのでWindowsユーザーや非プログラマの方はこちらを入れると良いでしょう。