v-crn Code Log

主に備忘録

Fonts for Programming -- 最強のプログラミング用フォント 2021

フォントに求めるもの

  • 読みやすい
    • 文字が潰れたり崩れたりしない
    • 連なる文字同士の間隔がちょうど良い
    • プロポーショナルではなく等幅
    • 似ている文字を混同しにくい
  • 使いやすい
    • 導入が簡単
    • 理由がどうあれ実際にそのフォントを使いたいと思えるか

検証環境

検証方法

厳密に検証する方法を知らないので、主観的にざっくりとやっていく。 対象環境は次の通り。

対象環境でテスト文字列を表示させてフォントをよく眺め、順位付けを行う。各フォントの利点・欠点を挙げつつ、順位に納得がいくまで根気強く繰り返し検証・評価する。

簡易テスト

echo "Il1|0φΦoO~^
力カェエ工口ロ□一ー〜−二ニ
はばぱ
 燻製黴薔薇轟蟹
欢迎来到日本
歡迎來到日本
내를 건너서 숲으로
고개를 넘어서 마을로"

標準テスト

echo "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
 !\"#$%&'()-^\@[;:],./\=~|`{+*}<>?_
Il1|0φΦoO~^
力カェエ工口ロ□一ー〜−二ニ
はばぱ
 燻製黴薔薇轟蟹
、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥
‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×÷=≠<>≦≧∞∴
♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓
∈∋⊆⊇⊂⊃∪∩∧∨¬⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθ
ικλμνξοπρστυφχψωАБВГДЕЁЖЗИЙКЛМНО
ПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмн
опрстуфхцчшщъыьэюя
─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍉㌔
㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡ ㍻〝〟№㏍℡㊤㊥㊦㊧
㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪
欢迎来到日本
歡迎來到日本
내를 건너서 숲으로
고개를 넘어서 마을로"

Markdown 上でテーブル記法が崩れないか確認

制約名 意味
NOT NULL NULLを不許可
UNIQUE 重複を不許可
PRIMARY KEY 主キー制約(NOT NULL + UNIQUE)

リガチャについて

半角英数記号フォント

日本語対応フォント

源ノ角ゴシック系

  • 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+ 系かわからんフォント

評価

上の方にあるフォントほど評価が高くなるように並べ替えて結果を示す。

エディター用フォント

  1. Cica
  2. 🦌
  3. 軽妙洒脱
  4. ちっちゃい
  5. 半角がちまちましてる
  6. 可爱
  7. FirgeNerd
  8. 余白がちょうど良い
  9. やや縦長かも
  10. Myrica M
  11. 線が細くて品がある
  12. 半角の上品さはコードっぽさをかき消してる
  13. 全角に一目惚れ
    • 日本語フォントとしては一番好み
  14. Roboto
  15. 🤖
  16. コンパクト
  17. コード感ある
  18. Il の区別がつきにくい
  19. Noto Sans CJK JP
  20. 見やすい
  21. コンパクト
  22. コード感ある
  23. Il の区別がつきにくい
  24. Source Han Code JP
  25. 見やすい
  26. 幅がある
    • 幅取りすぎ
  27. PlemolJP HS
  28. 🍺
  29. 半角が好みじゃない
  30. Ricty Diminished Discord
  31. 全角に一部分かりづらい文字がある
  32. TakaoGothic
  33. 半角が少し見づらいかも
  34. 文字間が詰まりすぎに見える

Terminal 用フォント

  1. Cica
  2. エラーメッセージの強調で全角がややぼやけて見える
  3. 中国の漢字が苦手?
    • 「欢迎」、「歡迎」それぞれの1文字目が2文字目より大きく見える
  4. FirgeNerd Console
  5. 太い、デカい、わかりやすい
  6. 太さゆえの圧を感じる
  7. ∈∋⊆⊇⊂⊃∪∩∧∨ が重なる
  8. 縦長
  9. HackGenNerd Console
  10. 全角スペースが見えない
  11. PlemolJP Console HS
  12. Terminal で一部の全角文字が重なる
  13. Noto Sans Mono CJK JP
  14. Terminal で一部の全角文字が重なる
  15. 「黴」が崩れる
  16. Roboto Mono
  17. Terminal で一部の全角文字が重なる
  18. Myrica M
  19. Terminal で一部の全角文字が重なる
  20. Ricty Diminished Discord
  21. Terminal で一部の全角文字が重なる

問題点

  • 全角文字は Terminal 上の表示で問題が発生しやすい傾向
    • 特に警告文やエラー文で文字の潰れや重なりが生じやすい

🏅 選定結果

  • エディタ用フォント : Cica
  • ターミナル用フォント : Cica

Cica しか勝たん!

とはいえ5位以上は接戦だった。

Ref