JetBrains Mono × Maple Mono 合成フォント — 中日英 2:1 整列・Nerd Font・連字対応のコーディングフォント
bash ファイル名.sh を実行してください(中身を一度確認してから実行すると安心です)。
(macOS / Linux 環境が必要) JetBrains Mono × Maple Mono 合成フォント — 中日英 2:1 整列・Nerd Font・連字対応のコーディングフォント
ひとことでいうと
JetBrains Maple Mono は、エンジニアに広く使われる等幅フォント「JetBrains Mono」と、中国語・日本語グリフを豊富に持つ「Maple Mono」を合成した、コーディング向けの複合フォントです。英数字と CJK(中国語・日本語・韓国語)文字が 2:1 の幅で正確に揃うため、混在したコードやコメントが読みやすくなります。Nerd Font アイコン・スマートリガチャー(合字)・ヒンティング(低解像度補正)をオプションで組み合わせられ、用途に合わせた複数バリアントから選べます。OFL-1.1 ライセンスのもとで商用利用・改変・再配布が自由に行えます。ビルド済みのフォントファイルを GitHub Releases から直接ダウンロードするだけで、すぐに使い始められます。
こんな人におすすめ
- 日本語・中国語のコメントや変数名を英数字と混ぜて書くエンジニア — 等幅 2:1 整列により、エディター上でのレイアウト崩れを防げます。多言語コードのレビューも格段に快適になります。
- VS Code・JetBrains IDE・Neovim などで Nerd Font アイコンを活用するターミナルヘビーユーザー — NF バリアント(アイコン内包版)を選ぶことで、プロンプトやファイルツリーのアイコンも正しく表示されます。
- フル HD(1080p)以下のディスプレイでもフォントの見た目にこだわりたい開発者 — HT(Hinted)バリアントがサブピクセルレンダリングを最適化し、低解像度でも均一で読みやすい表示を実現します。
インストール・使い方
ここでは「ターミナル(文字で命令を送る画面)」を使った手順を紹介します。コマンドはコピー&ペーストして実行するだけで大丈夫です。
Step 1: バリアント(種類)を選ぶ
ダウンロードするファイルは JetBrainsMapleMono-[NF/XX]-[NR/XX]-[NL/XX]-[HT/XX].zip という名前で配布されています。それぞれの記号が何を意味するかを以下の表で確認してください。
| 記号 | 意味 |
|---|---|
| NF | Nerd Font(開発ツール向けアイコン内包) |
| NR | CN Narrow(中日文字の字間を縮小) |
| NL | No Ligatures(連字を無効化) |
| HT | Hinted(低解像度向けレンダリング補正) |
| XX | 該当機能なし(標準) |
はじめて試すなら JetBrainsMapleMono-XX-XX-XX-XX.zip(すべて標準の無印版)がおすすめです。どのオプションが必要かわかってから、バリアントを切り替えると判断しやすくなります。
Step 2: ダウンロードしてインストールする
Linux の場合、ターミナルで以下のコマンドを順に実行します。wget でファイルを取得し、unzip で展開後、fc-cache でシステムにフォントを認識させます。
wget https://github.com/SpaceTimee/Fusion-JetBrainsMapleMono/releases/latest/download/JetBrainsMapleMono-XX-XX-XX-XX.zip
unzip JetBrainsMapleMono-XX-XX-XX-XX.zip -d ~/.local/share/fonts/JetBrainsMapleMono
fc-cache -fv
Windows の場合は、GitHub Releases のページから ZIP ファイルをダウンロードして解凍し、フォントファイル(.ttf など)を右クリックして「すべてのユーザーにインストール」を選択するだけです。「自分だけにインストール」を選ぶと、アプリによってはフォントが認識されない場合があるため、「すべてのユーザーにインストール」が確実です。
Step 3: エディター(コードを書くソフト)に設定する
インストールが完了したら、使いたいエディターでフォントを指定します。
VS Code の場合は、設定ファイル(settings.json)に以下を追記します。editor.fontLigatures を true にすると連字が有効になり、-> や != などの記号が見やすいグリフで表示されます。
{
"editor.fontFamily": "'JetBrains Maple Mono'",
"editor.fontLigatures": true
}
JetBrains IDE(IntelliJ IDEA・PyCharm など)の場合は、Settings > Editor > Font で JetBrains Maple Mono を選び、Enable ligatures にチェックを入れます。この操作だけで連字機能が有効になります。
Visual Studio の場合は、設定 → テキストエディター → 詳細 で「テキスト書式設定方法」を「理想」に変更してください。この設定をしないとフォントレンダリングが不均一になる場合があります。
動かしてみた
リポジトリの構成を確認すると、フォント合成を担う以下のスクリプトが含まれていました。
./strip_ligas.py # 連字(リガチャ)除去スクリプト(Python)
./fuse_fonts.ff # FontForge による合成スクリプト
./README.md # 詳細ドキュメント
./OFL.txt # ライセンス全文
Python 3.12 の実行環境が存在することを確認しました。また、README に記載されている自動更新監視の仕組みにより、ビルドパイプライン(ソースから自動的にファイルを生成する仕組み)が継続的に稼働していることも確認できました。
フォント合成には FontForge(後述)と元フォントの両方が必要です。上流リポジトリへの更新チェックは 5〜30 分間隔で自動実行され、完全なビルドには約 3 時間かかると記載されています。フォントを使いたいだけならビルドは一切不要で、GitHub Releases からダウンロードするのが最短の方法です。
デモについて
このリポジトリはフォントファイルのビルドと配布を行うパイプラインであり、ブラウザ上でのインタラクティブなデモは提供していません。フォントを試すには、上記のインストール手順に従って GitHub Releases からダウンロードし、エディターに設定するのが最短かつ確実な方法です。実際にエディターで表示させてみると、整列の違いがひと目でわかります。
はじめの一歩 — 実践のコツ
- まずは標準版(XX-XX-XX-XX)から試す — オプションなしの無印版で表示を確認してから、必要に応じて NF や HT バリアントに切り替えると選びやすいです。
- VS Code ではリガチャ(連字)を有効にする —
"editor.fontLigatures": trueを設定するだけで->や!=が合字表示になり、コードの視認性が上がります。不要であれば NL バリアントを選ぶか、この設定を省略してください。 - Nerd Font アイコンを使うなら NF バリアントを選ぶ — Starship や Powerlevel10k などのシェルプロンプトテーマを使っている場合、NF 版でないとアイコンが文字化けします。
- 低解像度ディスプレイ(フル HD 以下)では HT バリアントを検討 — HT(Hinted)版はサブピクセルレンダリングを補正するため、小さい文字サイズでも輪郭がくっきりします。
- ビルドを自前でしたい場合は FontForge が必要 — 通常の利用ではビルドは不要ですが、カスタマイズしたい場合は FontForge と Bash 環境を用意し、
fuse_fonts.ffを実行します。 - Windows でのインストールは「すべてのユーザーにインストール」を推奨 — 一部のアプリは「自分だけにインストール」ではフォントを認識しないことがあります。
活用例
- ターミナル・シェル環境での使用 — Wezterm・Alacritty・Ghostty などの GPU レンダリング対応ターミナルで NF バリアントを使うと、Starship や Powerlevel10k のプロンプトアイコンが正しく表示されます。シェルの見た目を整えたい方に特におすすめです。
- 多言語混在コードのレビュー — 日本語コメント・中国語変数名が英数字と混在するコードを VS Code でレビューする際、等幅 2:1 整列により列ズレなく快適に読めます。グローバルチームでの開発にも向いています。
- プレゼン・スクリーンキャストへの活用 — 1080p スクリーンでコードを見せるスライドや録画に HT バリアントを使うと、フォントが均一に映り見栄えが上がります。勉強会や登壇時の資料作成にも活躍します。
- 個人開発・業務プロジェクトへの導入 — OFL-1.1 ライセンスのため商用プロジェクトにも自由に使用でき、改変・再配布も可能です。社内ツールや OSS(誰でも自由に使えるオープンソース)プロジェクトでも安心して採用できます。
- プログラミング学習環境の整備 — 学習中に日本語の解説とコードを同時に表示する場面でも、文字の幅が揃うため読み疲れしにくい環境を作れます。写経(コードをそのまま手で入力して学ぶ学習方法)にも向いています。
用語とポイント解説
等幅フォント(monospace font) かんたんに言うと「すべての文字が同じ横幅に揃ったフォント」です。コードエディターで使われる標準的なフォント形式で、文字が縦に揃うためインデントやレイアウトが読みやすくなります。プログラマーがフォントにこだわる理由のひとつがこれです。
CJK(Chinese / Japanese / Korean) かんたんに言うと「漢字・ひらがな・ハングルなど東アジアの文字をひとまとめにした呼び方」です。英字と比べて文字の横幅が広く、英数字との混在表示では幅のズレが起きやすいという特徴があります。
2:1 整列 かんたんに言うと「CJK 文字 1 文字 = 英数字 2 文字分の幅」という比率で揃える仕組みです。この比率を守ることで、英数字と CJK が混在する行でも縦の列がズレず、コードが整然と見えます。
リガチャ(Ligature/連字)
かんたんに言うと「複数の記号をひとつの見た目にまとめる機能」です。たとえば -> や != を専用のグリフ(字形)で表示することで、記号の意味がひと目でわかりやすくなります。連字が不要なときは NL バリアントを選ぶか、エディターの設定で無効にできます。
Nerd Font かんたんに言うと「開発ツール・ターミナル向けのアイコンを追加した拡張フォント仕様」です。ファイルマネージャーのアイコンやシェルプロンプトのシンボルを表示するために使われます。NF バリアントがこれに対応しており、アイコンフォントを別途インストールする手間が省けます。
ヒンティング(Hinting) かんたんに言うと「低解像度の画面でもフォントがきれいに見えるよう補正するデータ」です。画面のピクセル(点)のグリッドに合わせてグリフの輪郭を微調整することで、小さい文字サイズでもくっきりと表示されます。HT バリアントにこのデータが含まれています。
OFL-1.1(SIL Open Font License) かんたんに言うと「商用利用・改変・再配布が自由に行えるオープンフォントライセンス」です。有料ソフトへの組み込みや、改変したフォントの再配布も認められています。ビジネス用途でも安心して使える許諾条件です。
FontForge
かんたんに言うと「フォントファイルを編集・作成するための無料ソフトウェア」です。このリポジトリでは fuse_fonts.ff スクリプトを通じて、JetBrains Mono と Maple Mono の合成処理に使われています。通常の利用(フォントをダウンロードして使うだけ)では不要です。
バリアント(Variant) かんたんに言うと「同じフォントでも機能の組み合わせで用意された複数の版」です。NF・NR・NL・HT の 4 つのオプションを組み合わせることで、合計 16 通りのバリアントから用途に合ったものを選べます。
ビルドパイプライン かんたんに言うと「ソースコードやスクリプトから自動的にファイルを生成する一連の自動処理の仕組み」です。このリポジトリでは GitHub Actions(Bash)と Python・FontForge スクリプトが連携し、上流フォントの更新を 5〜30 分間隔で検知して約 3 時間で新しいフォントファイルを自動生成・リリースします。
JetBrains Maple Mono は、日々のコーディング環境をひと手間で快適にしてくれるフォントです。ぜひ多言語混在コードのレビューや、ターミナルのカスタマイズ、プレゼン資料のコード表示などに活用してみてはいかがでしょうか。