2022/06/20(月)久々にプログラミングフォント調べた

2022/06/20 25:32
最近良いプログラミングフォントが色々でてきているようなのでさらってみた。

2013年後半のプログラミングフォント事情 - 色々日記(ざ・めも)
以来。

今回の結論は、
・Ricty(もしくはRicty Diminished)使って不満がなければRicty
・Rictyのアンチエイリアスに不満がある場合は、PlemolJP
となった。

ただ、PlemolJP作者のフォントとはどれも素晴らしく、
HackGen
PlemolJP
Firge
UDEV Gothic JPDOC
の4つについては合うものを選べば良いと思う。

状況変化した内容をつらつら書いていく。

■Windowsのレンダリング
Win10になったときかWin10内でのupdateかで標準アンチエイリアス~ClearTypeがある程度改善したように感じる。
加えて高解像度モニタの普及とDirectWrite周りを調整できるソフトが増えたことで、以前ほど不満に感じるシーンが減った。

ただ、やはりまだWindowsのレンダリングはいまいちだと思う。

■フォント
ここ3年くらいで、ライセンスがゆるく品質の良いフォントが公開されている。
Google Fontsがハブになっているようだ。

・源ノ角ゴシック(Source Han Sans or Noto Sans)
・IBM Plex Sans JP
・BIZ UDGothic

あたりが品質も高く収録文字も多そう。
特に、モリサワのBIZ UDGothicがOpen Font Licenseで追加されたのは衝撃だった。

源ノ角ゴシックは様々な派生フォント(源真, 源柔, 源暎, Nasu, ...)を生み出しているので、
BIZ UDGothicもそうなっていきそうで楽しみ。

CJKオール対応の更紗なんてのもあるし、なんとなく中国パワーにひきずられてCJK対応が進んだ感じがする。
合成フォントの選択肢がとても増えた。

RictyはRictyでヒンティング追加されたりして少し進化。

少なくともライセンス的にかなり黒かったMeiryoKEを選択しなければいけない状況はないと思う。
世のフォント作者に感謝。

FontLinkもソフト側でできるものも多いし(秀丸ですらできる!)、もうやらなくていいのではないか。

なお、ソフト側でフォント合成する場合もフォントの幅や高さの問題で下端・右端が切れるリスクがあるのは同じ。

■求めるフォント
選択肢が増えたので、贅沢な話だが自分のほしいフォントを整理。

[必須]
・等幅
・英数字は全角の1/2
・文字はしっかり分離していてほしい。特に<=, ==が合体しないでほしい(リガチャは論外)
・破断は最小限(Hackはgの線をかなり省略するがちょっと嫌)
・|は分離してほしくない
・iの下部の右曲がりは嫌(lの下部の右曲がりはOK。どちらでもあり)
・標準アンチエイリアス・アンチエイリアスなしいずれでも視認性が高い
・記号△▲▼■□○◎●・←↓↑→系は全角で描画されてほしい
・文字の下端・右端が欠けてほしくない(合成フォントでは切れがち)
・フォントサイズでの表示乱れは最小限(特にWindowsの場合10.5ptの鬼門がある)

[ベター]
・文字の区別は極力ついてほしい。特に1とlと|は極力。
・英数字・日本語を混ぜ書き前提。バランスに違和感がないと嬉しい
・全角と半角に同じ文字がある場合、できるだけ似たような字体でかつ全角・半角の判別がつくのが理想
・比較・演算記号-=*/<>はできるだけ上下中央に揃っていてほしい
・0はスラッシュのほうが嬉しいが、ドットも許容。Oとは区別がついてほしい。

まずRictyが頭に浮かぶ… いやもうドンピシャRictyなのだが、あやつはアンチエイリアスが今一つだった。
というわけでさらってみる。

■今回試したやつ
個人的趣味に合うかどうか。
めちゃくちゃ私見で判定。
△Firge: 若干-=<>の上下位置が一致しないのが気になる。全体的に文字を破線にしがち(gとか&とか)
✕HackGen: |が分かれるのが気になる。iの下部が右曲がりなのが好みでない。<=>がややくっついて見えるのが嫌。10.5ptアンチエイリアスなしだと(){}が対称に見えない
△PlemolJP: {}がかなり強い曲線で作られてる。ややばとぱ(濁点・半濁点)が見分けづらい。#が線切断表記。0がドット
△UDEV Gothic JPDOC: {}が上下対象でない。ややばとぱ(濁点・半濁点)が見分けづらい。英数字が縦長の印象。半角qで目が滑りやすい。4が少し気持ち悪い
△Ricty Diminished: アンチエイリアスがシビア。=とか横線がボケやすい。M+側も比較的アンチエイリアスに弱い。非アンチエイリアス、10.5ptのときにsなどの上部がInconsolataとかより汚い(上辺にドット?が出る)
✕M+ 1M: *が上付きなのが嫌。半角英数(特に数字)の幅が狭すぎる。9.5ptとかで数字の高さがズレる。
✕Migu 1M: M+と同様
✕Myrica M:  |が分かれるのが気になる。日本語がやや細い。{}が上下対象でない。10.5ptとかで全角jがiに見えたりする。他にも下端が切れる文字がある
✕源暎ゴシック M: *が上付きになるのが嫌。<=>が完全にくっついてしまう。
✕戸越等幅: 「ば」など濁音が見づらい。全体的に潰れてしまう傾向があり、調整ができてない気がする。
✕更紗Gothic: fixedを使用する。ややばとぱ(濁点・半濁点)が見分けづらい。*が上付きになる。■○などが半角。右端が切れる。更紗で使ってるIosevkaはカスタマイズできるらしく、可能性を感じる。
✕Roboto J: ヒンティングありの方を使ったほうが良さそう。(){}の見分けが付きづらい。日本語の上下が目立ってガタつく
✕Ocami: 記号系(→とか)が半角。ばとぱがみわけづらい。
✕Cica: 記号系(→とか)が半角
✕VLゴシック: サイズによって、=の上下の太さが一致しない。
✕utatane: ==がわずかに合体気味。アンチエイリアス下での英数字の視認性が今ひとつ。
✕源暎モノコード: アンチエイリアスなしで、線の太さに安定感がない。フォントサイズ変更していると、()の左右で幅が違っていたり、縦の線だけ太くなっていたり。9ptで==が合体する。
✕Nasu M:非アンチエイリアス10.5ptで ==が合体気味。非アンチエイリアス下での英数字の視認性が今ひとつ
✕源ノ角ゴシック Code JP: 非アンチエイリアスだと:と;、,と.の区別が厳しい。
Firge, HackGen, PlemolJP, UDEV Gothic JPDOCの作者さん同じなのすごいなー

この4つは不具合っぽい挙動をすることが少なく、非アンチエイリアス・アンチエイリアス問わず素直。

字形としては、
UDEV Gothic JPDOC
が一番趣味に合うけど、英数字が縦に長過ぎるのかコードを読むときに目が滑りやすい。

PlemolJPは0がスラッシュでないのだが、どんな用途でも70~80点ある感じ。

アンチエイリアス環境下に限ったら丸になるやつもたくさんありそう。
作る側(特にMacユーザ)からしたらそんなの気にしてるやついねーよって感じだと思う。

改めて思ったのは字形もだけど、フォントつくる人の腕に依るところが大きい。
HackGen作者たわら氏の仕事が素晴らしい気がするし、ソース公開されてるから自力でフォント作る気があるなら4フォントのスクリプト全部読めばある程度合成フォント作るときの課題理解も進みそう(作れるとは言ってない)。

今後もどんどんフォント出てきそうなので期待。
OK キャンセル 確認 その他