以下の内容はhttps://www.zopfco.de/entry/2026/01/03/201757より取得しました。


コーディングフォントの系譜を振り返る: タイプライターから Berkeley Mono まで

夜中に目が覚めて寝られなくなったので(?)コーディング用途の等幅フォントを個人的な視点で振り返りながら、コーディングやターミナルでよく使われるフォントの系譜を考察する。フォントの解釈は人によって異なる。この記事にあるものはすべて私から見た認識であり、個人の感想である。

活字とディスプレイ

歴史的なコーディングフォントといえば、書籍のコードスニペットで頻繁に使われる Courier 系の Slab Serif が定番だろう。Courier はタイプライターメーカーであった IBM のためにデザインされた。

Courier New のサンプル

タイプライターや活版印刷とは別個の概念として、コンピューターで使われるビットマップフォントと、OCR フォントもあった。

ビットマップフォントは印刷から独立しピクセルの存在を前提としたフォントで、物理的な活字がない。OS や実装の別と同様にフォントもメーカーごとに様々だったため、システムの違いを乗り越えたフォントやルックアンドフィールの登場は TrueType の時代まで待たなければならない。

OCR フォントは「印刷物で使う人間向けの文字」であると同時に「限られたセンサーと計算能力を持つ機械向けの文字」であるという相反する要求を抱えたフォントであり、OCR-AOCR-B のような独特のルックアンドフィールのフォントとして結実した。

OCR-A と OCR-B のサンプル

このように、タイプライター、ビットマップ、OCR という三つの文脈を持つ等幅フォントが前世紀から使われていた。

2000 年代までのコーディングフォントの系統

アウトラインフォントを気軽に描画できるようになった90年代以降、フォントはシステムや実装によって自ずと決まるものから、自由に選ぶものになった。

前世紀の時点では、アウトラインフォントに限ると前述の Courier (Courier New) の他には Andale MonoMonacoLucida Console など数は少ないながら大まかな系統が出揃いつつあった。

左(上) から Andale Mono, Monaco, Lucida Console のサンプル

そして 2000年代を迎えると、まるで春がやってきたかのように次々とコーディングフォントが生まれ始めた。

Consolas 系

似た文字の識別に優れた Courier 系の特徴もありつつ Sans-serif のグリフを持つ Consolas は分水嶺であった。Consolas は LoDPI でのサブピクセルアンチエイリアシングに最適化された ClearType 対応が盛り込まれているため、ヒンティングによって当時から優れたレンダー結果が得られた。

Consolas のサンプル

その後派生した Inconsolata によって、Consolas のポテンシャルがオープンな世界にもたらされた。合成フォントのベースとしても人気であり、Ricty に代表される Inconsolata ベースの合成フォントは多くの人が愛用している。

Inconsolata のサンプル

Andale Mono, Bitstream Vera 系

1993 年に開発された Andale Mono や 2001 年に登場した Bitstream Vera Sans Mono は近い系統の例として挙げられる。歴史上の Sans-serif からモダンな部分をピックしてコーディングに仕向けたような見た目のフォントで、特に Bitstream Vera はその後 DejaVu Sans や Apple の Menlo へ続くひとつのファミリを形成した。

Bitstream Vera Sans Mono のサンプル

M+

日本語フォントである M+ は当時としては優れたフリーフォントでありつつ、コーディング向けの等幅グリフを持つコーディングフォントでもある。それ以前のさざなみフォントといったフリーの日本語フォントとは桁違いのクオリティを持ち、日本語 Linux の UI では他をほとんど駆逐するほどの影響を与えた。漢字のサポート範囲が狭いため M+ を直接使うことは少なく、一部の漢字を IPA ゴシックで補った合成フォントがよく使われた。

コーディングフォントとしての M+ (1m, 1mn, 2m) は独特で、他で例えるなら Ubuntu Mono を縦長にしたような印象を持つ。

M+ 1m のサンプル

テック企業による高品質なフォントの提供

2000 年代後半から 2010 年代に入ると、テック企業が自社のために開発したフォントを SIL Open Font License で配布する事例が出始めた。

Source Code Pro

Adobe の Source 系ファミリー、中でも Source Code Pro はその優れた例のひとつである。Courier のように平たくもどっしりと優雅な Sans-serif であり、グリフの統一感に優れている。イタリックに対応しており、エディタのソースコードハイライティングでも美しく映える。

Source Code Pro のサンプル

源ノ角ゴシック (Noto Sans CJK)

Adobe と Google が開発した、"Pan-CJK"(漢字圏の主要なグリフをすべてカバーする)フォントが源ノ角ゴシックである。このフォントが Google Font など Google の文脈で呼ばれる際は "Noto" と呼ばれる。

それ自体は等幅フォントではない源ノ角ゴシックの登場は、コーディングフォントにも影響を及ぼした。それまで「M+ と IPA ゴシックと任意の欧文等幅フォント」の合成が当たり前だった日本語対応コーディングフォントに、新たな選択肢をもたらしたからである。その実例に、源ノ角と SCP を合成した Source Han Code JP がある。

Adobe Fonts でのプレビュー。

Fira Code

Mozilla の Fira Code は、リガチャ(合字)機能で記号の形をアグレッシブに変えるフォントとしてその可能性を示した。フォントとレンダラーの持つ強力さを活かして、新たな方向に視認性をアップグレードするというアプローチは後のコーディングフォントの多くが追随している。

Fira Code のサンプル

その他

Android のフォントとして生まれた Droid SansDroid Sans Mono は、Android のシステム標準フォントとして、手元のスマホやデジタルサイネージなど、あちこちにその姿が見える。Linux 環境で気軽に使えるフォントとしても利用される。

IBM の Plex Mono、むっちりとした曲線が特徴的な MS の Cascadia Code、GitHub の Monaspace などが 2020 年代に前後してリリースされた。ダイアクリティカルマークによる広範囲なラテン文字系言語のカバー、非ラテン文字、複数の字体、イタリック、リガチャなどのトレンドに追随している。中でも Monaspace は Neo-grotesque と Humanist という Sans-serif 内の細かい分類のほか、Slab serif、Handwriting、Mechanical と様々な書体を揃えており、遊び心に富んでいる。

左(上)から Droid Sans Mono, IBM Plex Mono のサンプル

左(上)から Cascadia Code, Monaspace Neon (Neo-grotesque sans) のサンプル

LINE Seed は、2022 年にリリースされた和文、欧文、韓国語、タイ語、台湾繁体字対応フォントである。ふところの広さなど UI フォントとしての必要条件を満たしながら、微かな角丸、融合した濁点半濁点、ほのかに漂うかわいらしさ、などアイデンティティもしっかりとあって完成度が高い。特に、欧文グリフと和文グリフの融合度合いは他の日本語フォントと一線を画している。私は 10 年以上自作プレゼンテーマのフォントとして源ノ角ゴシックを使用し続けていたが、昨年ついにテーマ全体のフォントを LINE Seed に切り替えた。数少ないよくできた日本語フォントである。

プログラミング向けフォントとしての応用はごく少ないながら存在するようだ。M+ よりもナチュラルながら可愛らしい選択肢を求める人には最適な合成元になるだろう。今後の発展にも期待したいところだ。

公式ページのサンプルの引用。

時代を変えた DIN 系フォント

ここまで、コーディングで使われるフォントにはいくつかの系統があることを示した。ここから紹介するのは、直線と円弧を組み合わせた DIN のような字体を持つ近年のフォント群である。なお、DIN 系というのは私の勝手な呼び方であり、広く認知された呼び方ではないことに注意されたい。

標識や工業系の用途のために 1931 年に生まれた DIN (DIN 1451) は、今日でも数々の印刷物やロゴ*1で見かける。それでいて、Futura や Helvetica のように時代を越えるモダンさを持つ。

DIN 系のフォントに共通しているのは、ストロークの均一な太さと極力シンプルな方に倒した字形である。ストロークの太さが均一なのはもともと定規とコンパスだけで描画できるようにとの意図から来ているが、コンピューターの文脈では、LoDPI や小さいフォントサイズでの良好なレンダー結果に寄与する。

DIN 1451 のサンプル / By The Emirr, licensed under CC-BY 3.0

Iosevka

Iosevka は、間違いなく時代を変えたフォントのひとつであると言えるだろう。DIN 系の縦長のルックスは斬新で、リリース当初から異質さをありありと出していた。しかし、Iosevka の真髄は特徴的なグリフというよりも、極端なカスタマイズ性にある。公式ページの Iosevka Customizer を是非触ってみて欲しい。

まず Slab Serif と Sans-serif を選べる。さらに 0 をスラッシュ付きや点付きにしたり、イタリックとオブリーク*2を切り替えたり、ag の single-story と double-story を選んだりと、ほぼ全ての文字の微かな違いを好みに合わせて変えられるという過去にない自由度を持つ。

Iosevka のフレーバーのひとつ SS01 のサンプル

JetBrains Mono

個人的な視点で、DIN 系の字体として最も完成しているフォントのひとつが JetBrains Mono である。密度に対して高い可読性という DIN の良さを活かしながら、LoDPI、HiDPI、Windows、Mac、Linux、どのような環境でレンダーしても良好な結果が得られる字体に仕上がっている。

Iosevka と比較すると descent*3 が浅いため、行の高さが変えられないエディタでも縦の密度が高い。また、アスペクト比が小さめに抑えられており馴染みやすい。それでいて、数字グリフに OCR-B のエッセンスを取り入れ、アグレッシブな形状に仕上げている。どこをどう眺めてもカッコイイフォントである。

JetBrains Mono のサンプル

Berkeley Mono

公式によるサンプルの引用

Berkeley Mono は、これまでに登場したファミリそれぞれの良い部分を掛け合わせたコーディングフォントの state-of-the-art である。

Ii1l を見ると、Courier から続くはっきりとした文字間の特徴付けがそのまま見出せる。全体をぼんやり眺めると、DIN の縦長のグリフと均一めのストロークを受け継ぎつつ、レトロ SF 的な Eurostile の角張ったデザインと広いふところを持つ。そして数字を見ると、OCR-B を色濃く反映したテクニカルな見た目になっている。特に Eurostile の影響は他のフォントにない新しいものであり、過去にない発想をコーディングフォントに昇華させた創造性には驚くべきものがある。

もちろん、ダイアクリティカルマーク、リガチャ、オブリーク (slant)、Ultra-thin から Black に至る幅広いウエイト、幅を狭めた condensed グリフ、複数のゼロの形状、と今日のフォントに求められる多様さもほとんどカバーしている。Variable font バージョンを購入すれば、これらの調整ツマミのほとんどが OpenType feature で調整できる。

まさに、見た目も機能も究極のフォントと言える。少なくともコーディングフォントの範疇では、ここに近付けるフォントはほぼないだろう。

Berkeley Mono のサンプル

まとめ: フォントも進化を続けている

他のコンピューターにまつわる進化と同じく、コーディングフォントも進化を続けている。当初はタイプライターから始まった動的な印字のための活字がデジタイズされ、歴史上のさまざまなフォントのエッセンスを取り込みながら今に至っている。この記事を書いた動機である JetBrains Mono と Berkeley Mono は、2020 年代を代表する最もモダンなコーディングフォントのひとつといえるだろう。

一部のフォントの宣伝のようになってしまったものの、ここ十年くらいにリリースされたフォントは結局どれも優秀である。日本語フォールバックに難があり合成フォントでなければ困る Windows など人によってコンテキストは様々かもしれないが、過去のフォントたちを思い出しつつ、年始に合わせて手元の環境のフォントを一新してみてはいかがだろうか。

*1:日本の DIN ベースのわかりやすい例だと UNIQLO などがある

*2:イタリック (italic) は筆記体のような斜体、オブリーク (oblique) は字体をそのまま斜めにシアーさせた斜体

*3:j, p, q のようにベースラインより下に飛び出した部分の高さ




以上の内容はhttps://www.zopfco.de/entry/2026/01/03/201757より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14