レビュー

GitHubが制作した次世代開発体験のためのコーディングフォント「monaspace」

トレンドを抑えつつ、独自技術「Texture healing」を盛り込んだ最先端のフォント

「monaspace」v1.000

 「monaspace」は、GitHubがプログラミング用途に開発したモダンな等幅フォント。ライセンスは「OFL-1.1 license」で、現在「github.com」のプロジェクトページから無償でダウンロードできる。

 米GitHubは2022年より、次世代の開発エクスペリエンスを模索・実現する「GitHub Next」という取り組みを進めている。この取り組みはいくつものプロジェクトから構成されており、AIを活用したコーディング支援技術「GitHub Copilot」はとりわけ有名だが、今回紹介するコーディングフォント「monaspace」もその成果の一つといえる。

 「monaspace」はコーディングフォントのトレンドを抑えながら、これまでにない要素を含んでいる。なかでも注目は、「Texture healing」と呼ばれる技術だ。

 コーディングフォントは、それぞれのグリフが同じ幅をもつ等幅フォントとなっている。しかし、たとえば「i」と「m」では文字の幅が大きく異なる。そのため、単純に同じグリフ幅を割り当てると、「i」は余白が間延びして見え、逆に「m」は窮屈で、委縮した感じを与える。文字の幅を同じにすることで桁を美しく揃えたいというニーズは満されるものの、単語単位でみるとそれぞれの字の存在感に濃淡があり、ちぐはぐした印象を否めず、視覚的なデザインとしてはよくない。

プロポーショナルフォント(上)と等幅フォント(下)。等幅フォントは「m」が詰まっていたり、「i」が間延びして感じられる

 そこで、グリフの幅はそのまま、前後の文字に応じてレンダリングを調整したのが「Texture healing」だ。具体的には「i」に続いて「m」がある場合、「i」の描画位置を左へ少しずらし、「m」を少し幅広に描画する。このように“競合”する文字が隣同士にあることを検出すると、代替グリフを用いてその“競合”を解消することで、より自然なレンダリングを行うというわけだ。

等幅フォントの弱点を補うテキスト描画技術「Texture healing」

 そのほかにも、「monaspace」にはいくつかの特徴がある。

5つの書体

 「monaspace」は以下の5つの書体が含まれており、ユーザーの好みに応じて使い分けることができる。名前は周期表の第18族に属する元素が由来のようだ。

5つの書体
  • Neon(neo-grotesque sans):「Helvetica」のようにインパクトと読みやすさを両立させたスタイル
  • Argon(Humanist sans):幾何学的なデザインよりも「人間的」な方向を目指したスタイル
  • Xenon(Slab serif):しっかりとしたセリフ(ヒゲ)をもつタイプライター風のスタイル
  • Radon(Handwriting):手書き風味の書体
  • Krypton(Mechanical sans):縦・横・斜線からなるメカニカルな印象のスタイル

可変フォント

 「monaspace」は可変フォント(variable fonts)になっており、1つのフォントファイルでさまざまな幅・太さ・スタイル(イタリック・太字)を実現できる。

1つのファイルでさまざな幅・太さ・スタイルを表現できる可変フォント
  • 太さ(ウェイト):200から800まで
  • 傾き:0から-11°まで。-11°がイタリック体に相当
  • :100から125まで

 アプリが可変フォントに対応していない場合に備え、フォント名・ウェイト・スタイルを定義済みのフォントもあらかじめ用意されている。ちなみに「Visual Studio Code」は可変フォントにまだ対応していないが、開発チームとはコンタクトをとっているとのことで、将来的にはサポートするようだ。

可変フォントは書体ごとに1ファイルずつ。これですべての幅・太さ・スタイルをカバーできる
可変フォントに対応していないアプリでは、定義済みのフォントを利用するとよい。200以上用意されている

コードリガチャー

 最近のコーディングフォントは複数の文字を合成して一文字にする仕組み「合字」(リガチャ)を活用するのがトレンドで、たとえば不等価演算子「!=」は「≠」、アロー演算子「->」は「→」のように表示できる。

 「monaspace」も基本的にこれを踏襲しているが、こうした表示を好まないユーザーのために一部を無効化することもできる(他のコーディングフォントでも可能)。

コードリガチャーと「Visual Studio Code」での設定例。利用したくないリガチャーグループは削除してしまうとよい

 本フォントは比較的縛りの緩い「OFL-1.1 license」ライセンスとなっているので、日本語フォントと組み合わせた派生の登場も期待できそうだ。今後の展開に期待したい。

ソフトウェア情報

「monaspace」
【著作権者】
GitHub
【対応OS】
(編集部にてWindows 11で動作確認)
【ソフト種別】
フリーソフト
【バージョン】
1.000(23/10/10)