Visual Studio CodeやAtom、Android Studioなどのテキストエディタで、コードを書くのに適したフォントとは一体どんなものでしょうか?
一言で言ってしまうと、それは「ゴシック体の等幅フォント」です。ただ基準がこれだけだと、あまりにボンヤリしています。例えば、
- Myrica
- 白源
- Ricty Diminished
これらは全てゴシック体の等幅フォントですが、こんな風にただ列挙してしまうと何がどう違うのかがハッキリしません。
しかしルーツを辿るとこれらのフォントの多くは、最終的には2つに分類することができます。
今回は、
- 日本語対応フリーフォントの分類と系譜
- 各フォントの紹介と見え方比較
といった流れで、先にプログラミング用フォントを分類するところから始めたいと思います。
回り道? いえいえ、きっとフォント選びが楽しくなるはずです。嘘だと思うなら、少し覗いてみてください。
(ゴシック体や等幅フォントに関しては別記事でお話ししているので、ご存知でなければフォントの前提知識として押さえておきましょう)
欧文フォントと和文フォント
プログラミング用のフォントを選ぶ上でチェックしておきたいポイントは、そのフォントの「欧文フォント」と「和文フォント」が、それぞれ何を使用しているかです。
1バイト文字の欧文フォントと、2バイト文字の和文フォントを組み合わせて出来ているのが日本語対応フォントですが、フリーフォントは漢字も含めて全てオリジナルといったことなどほぼあり得ません。
数多くの漢字を網羅するには想像を絶する手間が掛かるからです。
そこでフリーフォント製作者は、元からあるフォントをこの中のどれかに当てはめ、その上で足りない文字を追加したり、細部を修正するなどして新しいフォントファミリとしてリリースしています。
日本語対応フリーフォントの分類と系譜
それを踏まえた上で、ズラッと並べてみましょう。
ここに掲載しているのは合計18種類の日本語対応等幅フォント(等幅ではない源ノ角ゴシックを除く)ですが、1つの例外も無く最終的には2つのフォントに行き着くのが分かると思います。
まずは源ノ角ゴシックかM+か
フォントを選択する際、最も大きなくくりが『源ノ角ゴシックかM+か』です。なぜこの2つからこれだけ多くのフォントが派生するのか?
最も大きな理由はライセンスの問題。漢字まで含めたフォントはほとんどが改変や再配布不可が当たり前。それだけの労力がかかるからです。しかしこの2つのフォントは高いクオリティを持ちながら、ライセンスに関しては優しいという素晴らしい特徴があります。
逆に言えば選択肢がほとんど無い。つまり大前提として、派生フォントは数あれど、同じグループに属するフォントなら (特に) 漢字はほとんど変わらないと思っていいでしょう。
※ 2021年に登場した『IBM Plex Sans JP』によって、今後はこの勢力図が大幅に書き換えられる可能性があります。
このフォントを使用したプログラミング用フォント『PlemolJP』に関してはこちらをご覧ください。
個性は細部に宿る
では何が違うか。先の話を考えれば、膨大な量の漢字さえカバーしてしまえば後はなんとかなる。つまりここが、各フォントの個性の出しどころなんです。
この後のフォント紹介では、ぜひ各フォントが採用している欧文フォントと独自の調整に注目してください。製作者が何を考え、どんな調整をするに至ったのか。ここに視点が向けば、あなたのフォント選びはより『楽しいもの』になるはずです。
- 多くの2バイト文字はどちらのグループに属するかで決まる!
- フォントの欧文に何が使われているかをチェックしよう!
- 製作者が施した独自の調整に注目しよう!
おすすめフォント (源ノ角ゴシック系)
それではここから、各フォントをご紹介していきます。まずは源ノ角ゴシックをルーツに持つフォントたち。
サンプル画像では「0とO(オー)」、「1とl(L)とI(i)」、「カタカナのエと漢字の工」、「一(漢数字)とー(横棒)」、また濁音と半濁音などを比較しています。多くの記号や文字が混在するプログラミングではこれらの判読性も重要です。全体の印象と合わせてチェックしておきましょう。
なおフォントサイズは14px、行間1.2、太さはRegularや無印で統一しています。
Source Han Code JP / Source Han Mono
元々Pan-CJK(東アジア汎用フォント)を目指して開発されていた源ノ角ゴシックから日本語部分を抜き出し、コード用の等幅欧文フォント「Source Code Pro」と合わせたのがSource Han Code JP。
それに加え、東アジア各国の漢字や『令和』の合字に対応させたのがSource Han Monoです。
インストール方法などはこちらで取り上げています。
源真ゴシック / 源柔ゴシック Monospace
OpenTypeフォントである源ノ角ゴシックをTrueTypeに変換し、起こりうるエラーを抑制して汎用性を高めた源真(げんしん)ゴシック。
角ゴシックとしての風合いを残しながら、角を丸めて柔らかい印象に変更したのが源柔(げんじゅう)ゴシック。
テキストエディタで使うような場合は両者の違いがほぼ分かりませんが、文字が大きく太くなると印象が変わってきます。
このフォントとSource Han Code JPを比較すると、パッと見で違うのは欧文フォントの文字幅です。Source Han Code JPは特徴的な全角3 : 半角2の文字幅なのに対し、こちらは2 : 1と一般的な文字幅となっています。
Myrica
欧文フォントにInconsolata、和文フォントに源真ゴシックを採用したMyrica(ミリカ)。上の2つと比べると、欧文フォント部分が若干明朝っぽくなったのが分かるでしょうか。
源真ゴシックを元に、小さい文字でも読みやすく改良したフォントであり、「エと工」や「一とー」、半濁音などが見分けやすくなっています。
これの姉妹フォントとして「MyricaM」がありますが、テキストエディタで使う際はフォント名の指定に注意です。
Myricaを使う場合は『Myrica M』、MyricaMなら『MyricaM M』などと指定しましょう。スペースの後のMは文字幅MediumのM。文字幅が狭い(Narrowの)Nも同時にインストールされます。
原暎ゴシックM
源真ゴシックを元に、0の斜線など調整を施した源暎ゴシック(げんえいゴシック)。以下のサイトにはゴシック体以外にも明朝体や漫画の吹き出し用、数字用、他にも様々な種類のフォントが公開されています。
プログラミング用として使うなら、等幅の「源暎ゴシックM」を選びましょう。
白源
欧文フォントにHack、和文フォントに源柔ゴシックを合わせた白源(はくげん)。上のサンプルには含まれていませんが、|(パイプ文字)が上下に分割され、1やLと区別しやすくなっているのもポイントです。
さらに特徴的なのが「文字幅の選択肢が豊富」という点。同梱される「HackGen35」は全角文字5 : 半角文字3という独特の文字幅を持つオプションフォント。
さらにコンソール表示に最適化した「HackGen Console」も同梱されています。
文字幅5:3のオプションは他ではあまり見かけない、個人的に注目度の高いフォント。
Nasuフォント
源真ゴシックを改変し、濁音と半濁音を判別しやすくしたNasuフォント。白源と源真ゴシックのちょうど中間辺りに位置するような感覚。半濁音は強調していますが、濁音に関してはそこまで強調されていません。
このフォントは可変幅のNasu、等幅のNasuMがあります。プログラミング用ならもちろんM。
ちなみにNasuというフォント名は、源氏の武将で弓の名手であったとされる「那須与一」から取ったものらしいです。弓手 → 視力が良い → 判読性が良いフォントという連想か?
おすすめフォント (M+系)
ここからはM+をルーツに持つフォントたち。
オリジナルのM+は直線的なデザインのType-1と、現代的な表情を併せ持つType-2に大きく分かれますが、その派生フォントもこれに習ってバリエーションがある場合があります。
どちらか迷うなら等幅の場合「mplus-1m-regular」などType-1を前提として選べばOK。
Mgen+ 1m
Mgen+(むげんプラス)はM+に無いグリフを源ノ角ゴシックで補ったフォント。丸ゴシックのRounded Mgen+、さらに各々のバリエーションまで含めると、その数はかなり多くなります。
- Mgen+ (角ゴシック)
- Type-1
- Type-2
- Rounded Mgen+ (丸ゴシック)
- 標準
- L (丸みを抑えたバージョン)
- X (丸みを強調したバージョン)
それぞれ可変幅/等幅が同梱されています。これらのファイルをダウンロードした上で、等幅なら「m」が付いたものをインストールしてください。
今回サンプルで使用しているのは角ゴシック・等幅・Type-1の「Mgen+ 1m」です。
Cica
欧文フォントにHackとDejaVu Sans Mono、和文フォントにRounded Mgen+を採用したCica(シカ)。
Mgen+との比較で分かりやすいのは英数字の縦横比率と「m」の文字。真ん中の線を短くすることによって、「rn」との違いを明確にしています。
VLゴシック
M+を基準に、漢字の不足部分を新規作成、またはさざなみゴシックを改変して補填したVLゴシック。
各フォントが違和感無く1つのフォントファミリとして収まるよう、文字幅や文字の高さにまで手を付け、さらに全角記号の一部を新規作成するという、非常に手の込んだフォント。
可変幅、等幅両方ダウンロードされるので、等幅は「P」の表記が無いものを使いましょう。
Myrica M
欧文フォントにInconsolata、和文フォントにMgen+を採用したMyrica M。Myricaと同じく判読性に優れます。文字幅の狭いNも同梱。
Ricty Diminished
欧文フォントにInconsolata、和文フォントにM+を加工して判読性を向上させたCircle M+1mを使用したRicty Diminished。
兄貴分のRictyは諸々の事情で導入に若干手間がかかるため、今回は簡単に使えるこちらをご紹介します。
その姉妹フォントがRicty Diminished Discord。欧文フォントのInconsolataを加工し、さらに判読性重視に振ったバージョンです。
チルダ(~)が上に位置したり「D」に横棒が入ったりするのはMyricaMと共通しています。