Fonts for Programming -- 最強のプログラミング用フォント 2021
フォントに求めるもの
- 読みやすい
- 文字が潰れたり崩れたりしない
- 連なる文字同士の間隔がちょうど良い
- プロポーショナルではなく等幅
- 似ている文字を混同しにくい
- 使いやすい
- 導入が簡単
- 理由がどうあれ実際にそのフォントを使いたいと思えるか
検証環境
- macOS Big Sur 11.5.2
- Visual Studio Code 1.59.1
- 2021/08/28 Sat 実施
検証方法
厳密に検証する方法を知らないので、主観的にざっくりとやっていく。 対象環境は次の通り。
対象環境でテスト文字列を表示させてフォントをよく眺め、順位付けを行う。各フォントの利点・欠点を挙げつつ、順位に納得がいくまで根気強く繰り返し検証・評価する。
簡易テスト
echo "Il1|0φΦoO~^ 力カェエ工口ロ□一ー〜−二ニ はばぱ 燻製黴薔薇轟蟹 欢迎来到日本 歡迎來到日本 내를 건너서 숲으로 고개를 넘어서 마을로"
標準テスト
echo "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 !\"#$%&'()-^\@[;:],./\=~|`{+*}<>?_ Il1|0φΦoO~^ 力カェエ工口ロ□一ー〜−二ニ はばぱ 燻製黴薔薇轟蟹 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥ ‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×÷=≠<>≦≧∞∴ ♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓 ∈∋⊆⊇⊂⊃∪∩∧∨¬⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪ ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθ ικλμνξοπρστυφχψωАБВГДЕЁЖЗИЙКЛМНО ПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмн опрстуфхцчшщъыьэюя ─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂ 。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚ ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍉㌔ ㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡ ㍻〝〟№㏍℡㊤㊥㊦㊧ ㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪ 欢迎来到日本 歡迎來到日本 내를 건너서 숲으로 고개를 넘어서 마을로"
制約名 | 意味 |
---|---|
NOT NULL | NULLを不許可 |
UNIQUE | 重複を不許可 |
PRIMARY KEY | 主キー制約(NOT NULL + UNIQUE) |
リガチャについて
- リガチャ(合字)を利用したフォントは割と人気がある一方、本当にコーディング向きかは疑問
- ターミナルで編集するコードそのものに関係しない箇所にのみ適用されるんだったら気にならないんだけどな
半角英数記号フォント
- Roboto Mono - Google Fonts
- tonsky/FiraCode: Free monospaced font with programming ligatures
- ryanoasis/nerd-fonts: Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
日本語対応フォント
源ノ角ゴシック系
- Source Han Code JP
- 「Source Code Pro」+「Source Han Sans JP(源ノ角ゴシック JP)」
- 一般的な「全角 1 文字 = 半角 2 文字」の文字幅ではなく、「全角 2 文字 = 半角 3 文字」
- 可視性が高い
- ターミナル用フォントには向かない
- macOS はバージョン末尾が
R
のバージョンを選ぶことSourceHanCodeJP.ttc
を DL &インストール
- Myrica
- ターミナル非対応
- Cica
- PlemolJP
- 白源 (はくげん/HackGen)
- 文字間の余白が少なく、詰まって見える
- Terminal で
は
の表示が崩れる
- Firge (ファージ)
M+系
- M+ FONTS
- edihbrandon/RictyDiminished: Ricty Diminished --- fonts for programming
- nv-h/Utatane: プログラミング用日本語等幅フォント Utatane
- Cica のフォーク版
その他
源ノ角ゴシック系か M+ 系かわからんフォント
- be5invis/Sarasa-Gothic at v0.34.2
- Chinese, Japanese, Korean に対応
- データサイズが非常に大きい
- Ver.0.34.2 の解凍後 12.84 GB
- リガチャ対応
- Noto Sans CJK JP
- Chinese, Japanese, Korean の3セットで日本語優先のフォント
- Takao Fonts in Launchpad
評価
上の方にあるフォントほど評価が高くなるように並べ替えて結果を示す。
エディター用フォント
- Cica
- 🦌
- 軽妙洒脱
- ちっちゃい
- 半角がちまちましてる
- 可爱
- FirgeNerd
- 余白がちょうど良い
- やや縦長かも
- Myrica M
- 線が細くて品がある
- 半角の上品さはコードっぽさをかき消してる
- 全角に一目惚れ
- 日本語フォントとしては一番好み
- Roboto
- 🤖
- コンパクト
- コード感ある
Il
の区別がつきにくい- Noto Sans CJK JP
- 見やすい
- コンパクト
- コード感ある
Il
の区別がつきにくい- Source Han Code JP
- 見やすい
- 幅がある
- 幅取りすぎ
- PlemolJP HS
- 🍺
- 半角が好みじゃない
- Ricty Diminished Discord
- 全角に一部分かりづらい文字がある
- TakaoGothic
- 半角が少し見づらいかも
- 文字間が詰まりすぎに見える
Terminal 用フォント
- Cica
- エラーメッセージの強調で全角がややぼやけて見える
- 中国の漢字が苦手?
- 「欢迎」、「歡迎」それぞれの1文字目が2文字目より大きく見える
- FirgeNerd Console
- 太い、デカい、わかりやすい
- 太さゆえの圧を感じる
∈∋⊆⊇⊂⊃∪∩∧∨
が重なる- 縦長
- HackGenNerd Console
- 全角スペースが見えない
- PlemolJP Console HS
- Terminal で一部の全角文字が重なる
- Noto Sans Mono CJK JP
- Terminal で一部の全角文字が重なる
- 「黴」が崩れる
- Roboto Mono
- Terminal で一部の全角文字が重なる
- Myrica M
- Terminal で一部の全角文字が重なる
- Ricty Diminished Discord
- Terminal で一部の全角文字が重なる
問題点
- 全角文字は Terminal 上の表示で問題が発生しやすい傾向
- 特に警告文やエラー文で文字の潰れや重なりが生じやすい
🏅 選定結果
Cica しか勝たん!
とはいえ5位以上は接戦だった。