日本語対応の等幅フォントを集めてみた（コーディング・コンソール向け）

# はじめに

似たような記事は山程ありますが、「日本語対応したものに絞って」「とにかく収集する」記事はあまりないなと感じていたので、この記事を作成するに至りました。
抜け・漏れ・紹介文の誤り・リンクミスなどのマサカリは大歓迎です。
Windowsユーザー向けの紹介ですが、フリーフォントの情報はどのOSでも活用できるかと思います。

# 「日本語対応」について
プログラミングフォントとして紹介されているものの中には、日本語のグリフを含まないものもあります（というか、欧米で開発されたフォントでは、それが当たり前です）。そのようなフォントを使う場合でも、ソフトウェアの努力によって日本語を表示できます。
しかし、フォントが対応していない文字は別のフォントを組み合わせて表示されます。そうすると、その部分は等幅ではなくなったり、無理やり等幅にされたりして見栄えがよくありません。

また、欧文の等幅フォントと、和文の等幅フォントを組み合わせて表示しても、期待する表示にならない場合があります(できる場合もあります)。欧文フォントは、1:2よりもやや広い幅で設計されていることが多く、欧：和の幅が綺麗な整数比にならないことが原因です。

多くの日本語等幅フォントは、文字幅やサイズが調整されており、このような問題は解消されています。
この記事では基本的に、フォント1つだけを指定すればきちんと表示されるようなものを紹介します。

### 追記：Windows Terminalの改善
Windows Terminalがフォントフォールバックに対応しました。画像はConsolasとBIZ UDGothicを指定したものです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/696043/b30bb96a-befd-a79f-7390-ca8abb295707.png)
なんと文字幅も1:2になるようにWindows Terminalが調整してくれます（通常、エディタはやってくれません）。特にこだわりがない人にとっては、これで十分かもしれません。

### 余談
とはいえ、用途によっては、完全な等幅でなくても十分、という可能性もあります。
コーディングでも、変数名に全角文字を使わないスタイルであれば、困るのはコメントぐらいで、アルファベットや記号が等幅であるだけで十分という場合があります。
ニーズに合わせて選択をしてください。プロポーショナルフォントでコーディングを行うという人もいるようです。
逆にターミナルなどでは、完全に等幅のフォントを使用するのがよいと思います。

# 注意事項
* 紹介順番に特に意味はありません
* 既存フォントを合成・加工したものの場合、「加工者」と表記していますが、この表記に問題がある場合はコメントでご教示ください
* RictyやRicty Diminishedはサポートが終了していることと、バッククォートに不具合があるため、紹介していません
* ほんとはフォントのスクショを貼ろうと思ったのですが、数が多く断念しました。適宜リンク先に飛びつつお気に入りのフォントを探してください。筆者のイチオシはPlemolJPです

# フォント紹介

## Windows プリインストール

### MSゴシック
- 制作 リコー
- 文字幅 1:2

Windows3.1からWindowsにプリインストールされているフォントです。どのWindowsでも扱える等幅の日本語フォントとしては、事実上唯一です。モダンな環境ではあまり使われないフォントでもあります。

### [MeiryoKe_Console](https://meir000.github.io/MeiryoKe/)
- メイリオ(マイクロソフト)から自分で生成
- 文字幅 1:2

厳密にはプリインストールではありません。Windows Vistaから標準搭載されたメイリオをベースにしたフォントです。ライセンスの関係で配布はされておらず、自分で生成する必要があります。
MeiryoKeも等幅ですが、これはメイリオ特有の行間を保持しているので、コーディング用途にはMeiryoKe_Consoleがおすすめです。

### BIZ UDゴシック
- 製作 モリサワ
- 文字幅 1:2

モリサワからSILライセンスで提供されているフォントです。Windows10から標準搭載されています。ユニバーサルデザインをうたっており、読みやすさを重視して作られています。
プログラミング向けのフォントではないため、一部文字の視認性に難はありますが、Windowsに標準搭載されているということで紹介をしました。ターミナルで使う際は、欧文フォントをFirstに設定し、フォールバックで設定することをおすすめします。

### UDデジタル教科書体
- 製作 モリサワ
- 文字幅 1:2

こちらもモリサワ製のフォントです。教科書体は、教科書で使用されるような手書きに近い字形をしたフォントです。こちらも一部文字の視認性に難がありますが、標準搭載の等幅フォントということで紹介をしました。


なお、これ以外のフォントが等幅かつWindows標準と紹介されている場合もありますが、多くはOfficeに付属するフォントです。プリインストールではないことと、コーディングには向かないフォントが多いため、紹介を割愛します。

## Windowsプリインストール(欧文)

この記事の原則は1つのフォントですべてを賄えるフォントの紹介ですが、Windows Terminalがフォントフォールバックに対応したため、インストール不要な等幅フォントという需要をみて紹介をします。

### Cascadia Code/Cascadia Mono
**欧文フォントです。** Windows Terminalとともに開発されている欧文フォントです。ゴシック体をベースにしつつ、形状に個性があるフォントになっています。Codeはリガチャあり、Monoはリガチャなしという違いがあり、好みで使い分けることが出来ます。

### Consolas
**欧文フォントです。** Windows Vistaから搭載されたコーディング向けフォントで、丸みを帯びたデザインが特徴です。フリーの等幅フォントであるInconsolastaはConsolasに影響を受けて作られています。ClearTypeを活用して作られた可読性の高い文字が特徴で、人気の高い(独自研究)フォントです。

### Courier New
**欧文フォントです。** Windows3.1時代から含まれる歴史あるフォントで、IBMがタイプライター向け（！）に制作したスラブ体のフォントです。
辞典的な意義でこちらも紹介しましたが、現代でわざわざこれを好んで使う人はいないかもしれません。




## フリーフォント

多くは欧文フォントと日本語フォントを合成し、文字サイズなどを調整して作られたものです。
欧文フォントは紹介しませんが、wikipediaにまとまっているページがあったので紹介します。
https://en.wikipedia.org/wiki/List_of_monospaced_typefaces


### [IPAゴシック](https://moji.or.jp/ipafont/)
- 独立行政法人情報処理推進機構が公開
- 文字幅1:2

JIS X 0213：2004規格に定められた文字が全て使用できるフォントです。ライセンスが独特です。プログラミングに特化されたフォントではありませんが、等幅ファミリーがあることと、後に紹介するフォントの元になっているので紹介します。

### [Source Han Code JP](https://github.com/adobe-fonts/source-han-code-jp)
- Source Code Pro(Adobe) + 源ノ角ゴシック
- 文字幅 2:3

AdobeのフォントであるSource Code Proと、源ノ角ゴシックを合成して作られたフォントです。加工者はMasataka Hattori氏で、Adobeのフォントデベロッパーの方だそうです。2:3という他に例を見ない文字幅で、幅広のアルファベットが特徴です。

#### 脱線：源ノ角ゴシックとNoto Sansの関係について
GoogleとAdobeが共同で製作したフォントが源ノ角ゴシックであり、Noto Sansです。Adobeから提供される場合は源ノ角ゴシック=Source Han Sansという名前で、Googleから提供される場合はNoto Sans JPなどの名前になります。両者は同一のものです。

### [Cascadia Next JP](https://github.com/microsoft/cascadia-code/releases/tag/cascadia-next)
* Cascadia + Source Han Code
* 文字幅1:2

まだプレリリースのフォントですが、ホットなので紹介します。
CascadiaはWindows Terminalと合わせ、Microsoftによって開発されているコンソール向けのフォントシリーズです。これまで日本語への対応はありませんでしたが、Nextと称して簡体字、繁体字、日本語に対応する3つのフォントがプレリリースされました。日本語部分はSource Han Code(源ノ角ゴシック)だということです。
プレリリースということもあり、うまく表示されない字があったり、Cascadiaの特徴でもあるリガチャ、Nerd Fontsには非対応ですが、正式リリースされWindowsにビルトインで提供される日を期待したいところです。

### [源真ゴシック等幅](http://jikasei.me/font/genshin/)
- 源ノ角ゴシックをベースに、一部M+を合成し、形式や行間などを整えたもの
- 文字幅 1:2

自家製フォント工房が公開する源ノ角ゴシックの派生フォントです。可読性を追求したものではありませんが、等幅のファミリーがあるのと、後で紹介するフォントのベースになっているので紹介します（リンク先でもNasuフォントがおすすめされています)

### [源柔ゴシック等幅](http://jikasei.me/font/genjyuu/)
- 源ノ角ゴシックをベースに、角を丸めた加工を施し、一部M+を合成して整えたもの
- 文字幅 1:2

同じく自家製フォント工房が公開する源ノ角ゴシックの派生フォントです。後で紹介するフォントのベースになっています。

### [NasuM](https://itouhiro.hatenablog.com/entry/20140917/font)
- 源真ゴシックをベースに、文字の視認性を高めたフォント
- 文字幅1:2

源真ゴシックをベースに、プログラミング向けの可読性向上を施したフォントです。加工者はItouHiro氏です。

### [Mgen+ 1mn](http://jikasei.me/font/mgenplus/)
- M+ベース + 源ノ角ゴシック
- 文字幅1:2

自家製フォント工房が公開するM+の派生フォントです。M+を基本としつつ、足りない漢字を源ノ角ゴシックから補っています。フォントファミリーmnがプログラミング向けのフォントです。

### [Rouned Mgen+ 1mn/2mn](http://jikasei.me/font/rounded-mgenplus/)
- M+ OUTLINE FONTSを丸ゴシック化 + 源ノ角ゴシック
- 文字幅1:2

自家製フォント工房が公開するM+の派生フォントです。角ゴシックであるM+を丸ゴシックに加工した[自家製 Rounded M+](http://jikasei.me/font/rounded-mplus/)を基本に、足りない漢字を源ノ角ゴシックから補っています。フォントファミリーmnがプログラミング向けのフォントです。
自家製 Rounded M+にも等幅ファミリーがありますが、こちらが「ほぼ上位互換」と紹介されていますので、使用するならこちらになるかなと思います(一応、フォントサイズが大きかったり、源ノ角ゴシックのライセンス条項が増えているという違いがあります)

### [VLゴシック](https://vlgothic.dicey.org)
- M+をベースに、足りない文字をM+の部品から作成したり、さざなみゴシックから整えたフォント
- 文字幅1:2

Project Vine によるM+ベースのフォントです。一部文字をM+の漢字部品から合成したり、さざなみゴシックをベースに補完したものです。Vine Linuxのデフォルトフォントとして使われています。

### [Migu 1M](https://itouhiro.github.io/mixfont-mplus-ipa/migu/)
- M+を加工 + IPAゴシックを合成
- 文字幅1:2

IPAゴシック由来の漢字の多さが特徴で、JIS第4水準までの漢字を扱えます。加工者はItouHiro氏です。M+に加工を行わずそのまま合成した[MigMix 1M/2M](https://itouhiro.github.io/mixfont-mplus-ipa/migmix/)もあります。

### [Myrica M](https://myrica.estable.jp/myricahistry/)
- Incosolasta + 源真ゴシック
- 文字幅 1:2

欧文フォントIncosolastaと源真ゴシックを掛け合わせ、一部文字を加工して作られたフォントです。加工者はtomokuni氏です。

### [MyricaM M](https://myrica.estable.jp/myricamhistry/)
- Incosolasta + Mgen+
- 文字幅 1:2

欧文フォントIncosolastaとMgen+を掛け合わせ、一部文字を加工して作られたフォントです。MyricaフォントのMファミリーと紛らわしいので注意が必要です。 加工者はtomokuni氏です。

### [源暎モノコード](https://okoneya.jp/font/genei-mono-go.html)
* 源真ゴシック等幅 + 独自かな
* 文字幅 1:2

源ノ角ゴシック(源真ゴシック等幅)に、独自のかな字体をかけ合わせ、視認性向上の加工を施したものです。加工者はおもたん氏です。

### [Momiage Mono](https://github.com/kb10uy/MomiageMono)
* 源暎モノゴ
* 文字幅 1:2
* Nerd Fonts対応

おもたん氏による源真ゴシック等幅ベースのフォント源暎モノゴに、JetBrains Monoを合成したフォントです。Nerd Fontsにも対応しています。JetBrains Monoに字幅を合わせるため、全角文字は5:6とゆとりのある設計です。合成者はKOBAYASHI Yū氏です。

### [Cica](https://github.com/miiton/Cica)
- Hack + DejaVu Sans Mono + Rounded Mgen+ + Nerd Fonts + Noto Emoji + Icons for Devs
- 文字幅1:2
- Nerd Fonts対応

対応文字数が非常に多いです。DejaVu Sans Monoは様々なunicode文字を含んだ欧文フォントで、様々な数学記号を用いるJulia言語にも使用できる……そうです（筆者に経験がないので伝聞形になります）。ほか、Googleの絵文字であるNoto Emojiを含むなど、これ1つでなんでも表示できる、と言えそうです。加工者はmiiton氏です。

余談：調査中に、DejaVu Sans Monoは日本語表示におすすめとしている記事が見つかりましたが、DejaVu Sans Monoに日本語のグリフは含まれません。気をつけてください。

### [HackGen(白源)](https://github.com/yuru7/HackGen)
- Hack + 源柔ゴシック
- 文字幅：1:2or3:5
- Nerd Font対応あり

Hackと源柔ゴシックをかけ合わせ、視認性向上のための加工を施したフォントです。加工者はtawara氏です。

### [Plemol JP](https://github.com/yuru7/PlemolJP)
- IBM Plex Mono + IBM Plex Sans JP
- 文字幅：1:2or3:5
- Nerd Font対応あり

IBMが公開する2つのフォントをかけ合わせて作られたフォントです。同一ファミリーなので統一感があることと、豊富なウェイトも特徴です。加工者はtawara氏です。筆者はもうこのフォントのない世界には戻れません。

### [UDEV Gothic](https://github.com/yuru7/udev-gothic)
- JetBrains Mono + BIZ UDゴシック
- 文字幅：1:2or3:5
- Nerd Font対応あり
- リガチャ対応版あり

BIZ UDゴシック由来の視認性の高さが特徴のフォントです。JetBrains Mono由来のリガチャに対応したバージョンもあります。こちらは全角文字と半角文字のバランスを考えて作られています。加工者はTawara氏です。


### [SOROEMONO](https://github.com/qrac/soroemono)
- JetBrains Mono + BIZ UDゴシック
- 文字幅：1:2

JetBrains MonoとBIZ UDゴシックというコンセプトはUDEV Gothicと同じですが、「JetBrains Mono 好きのための」を謳っており、JetBrains Monoを加工せずそのまま用い、BIZ UDゴシックを調整して文字幅1:2を実現しているという特徴があります。加工者はクラク氏です。

### [Firge](https://github.com/yuru7/Firge)
- JetBrains Mono + BIZ UDゴシック
- 文字幅：1:2 or 3:5
- Nerd Fonts対応版あり

Fira Monoと源真ゴシックをかけ合わせて作られたフォントです。加工者はTawara氏です。


### [MoralerSpace](https://github.com/yuru7/moralerspace)
- MonaSpace + IBM Plex Sans JP(一部キウイ丸, Stick)
- 文字幅3:5 or 1:2
- Nerd Fonts対応版あり

MonaSpaceの5つのスタイルにHack, IBM Plex Sans JPをかけ合わせて作られたフォントです。RadonやKrypton系統はキウイ丸やStickといったフォントをかけ合わせ、個性的なスタイルになっています。加工者はTawara氏です。

### [Juisee](https://github.com/yuru7/juisee)
- JuliaMono + LINE Seed JP
- 文字幅3:5 or 1:2
- リガチャ対応

JuliaMonoとLINE Seed JP をかけ合わせて作られたフォントです。JuliaMonoはJulia言語向けのunicode文字を収録したフォントで、リガチャも備えています。加工者はtawara氏です。

### [Pending Mono](https://github.com/yuru7/pending-mono)
- Commit Mono + BIZ UDゴシック
- 文字幅3:5 or 1:2
- Nerd Fonts対応版あり

Commit MonoとBIZ UDゴシックをかけ合わせたフォントです。加工者はtawara氏です。

### [Bizin Gothic](https://github.com/yuru7/bizin-gothic)
- InConsolasta + BIZ UDゴシック
- 文字幅1:2
- Nerd Fonts対応版あり

InconsolastaとBIZ UD ゴシックをかけ合わせた視認性の良いフォントです。かつて一斉を風靡したフォントRictyのインスパイアを謳っており、Rictyと同様の加工を施したDiscord版もあるのが特徴です。加工者はtawara氏です。

### [Utatane](https://github.com/nv-h/Utatane)
- Ubuntu Mono + やさしさゴシックV2
- 文字幅1:2？

Ubuntu MonoはUbuntuに搭載されている等幅フォント、やさしさゴシックV2はM+ベースの手書き風フォントです。加工者はH.Saido氏です。
紹介のスクショを見る限りは文字幅が完全な1:2ではないようですが、ポップな印象が珍しいので紹介をしました。

# 参考


### [MPlus 1 Code](https://mplusfonts.github.io)
- Coji Morishita氏製作のフォント
- 文字幅 1:2

M+から公式に提供されているコーディング向けフォントです。なのですが、全角英数や全角記号のグリフを含まないため、ニーズを満たしきれていないと判断して移動しました。