序
「コーディングフォント」という時点でややマニアックな話題になってしまうのだけど、日本ではなぜか(コーディングで日本語の幅が重要になることはほとんどないのに)和文デュアルスペースフォントの話になりがちで、そうでない話にしてもだいたいFira CodeやInconsolataなどの定番フォントの話に終始することが多い。
Chienomiでは過去にコーディング(プログラミング)向け 欧文モノスペースフォント特集!!と使い続けてわかった! 最高のコーディングフォント 10選という2つの記事でこの話題に触れている。
そして実際には私は、ほぼHermitを使っている。 気分次第でCourier Prime CodeやInput Monoを使うことがあるくらい。
私が重視しているのは
- 識別しやすく、読み間違えることがない
- 目が滑ってしまったり、「なんとなく」で読んでしまってミスを見逃すことがない
- 字形がシンプルで、識別コストが安い
- SZ(Slash Zero)!!!!!
- 書いてて楽しい
である。
Roboto MonoやMesloもかなり優秀なフォントだけど、個人的には書いていて楽しくない。 あまりに普通すぎるのかもしれない。
今回紹介するVictor Monoは、ついにHermitから乗り換えを決めてメインとして使うようになった。
コーディングフォント界の商用フォント
コーディングフォントがマニアックなトピックだと言っているのに、さらにその商用フォントとなるとあまりにもマニアックな話だ。
有名どころだとOperator Mono, Cartograph, MonoLisa。
Operator MonoはScreenSmart Basicで199USD。 Cartographは1ウェイト35.99USD、ファミリーで323.99USD。 MonoLisaはベーシックで15420JPY、コンプリートで38784JPY。
桁違いの収録字数を誇る和文フォントが高級なやつで1書体2〜6万円くらいてなので、ものすごく値が張る感じがする。 まぁ、ライセンスの形式がかなり違ったり、複数ウェイト同梱だったりするけれども⋯⋯
商用コーディングフォントには大きな傾向としての特徴があって、それがちゃんとitalic体が収録されていること。 italicというと日本人は傾いた書体をイメージする人が多いけれど、これは正確にはobliqueという。 そして現実問題として、だいたいitalicを指定するとフォントはobliqueになる。 italicは筆記体なので、そもそも形状が違う。
当然だけれどitalicを用意すると形状が全く違うので手間は倍になる。 対してobliqueは機械的に傾けることで作ることができる。 和文フォントだと何万文字もグリフを用意するのが当たり前なので、アルファベットが倍になるくらい⋯⋯ という感覚になるが、欧文フォントの制作者にとっては「2倍の労力」はとてつもない価値を持つものであるらしい。
まぁ、実用上obliqueでもそんなに困らないというのもある。 ニーズがそんなにないので(コーディングフォントでitalicがitalicしてないと嫌という人はそもそも少数派)、基本的に商用フォントの付加価値として登場する感じ。
Victor Mono
italicがあってligatureがあって
話の流れから察していることと思う。 そう、Victor Monoにはちゃんとしたitalic体が収録されている。
そしてligatureにも対応。こっちもだいぶ凝っている。 (個人的にはligatureはないほうが嬉しい。)
さらにPowerlineフォントも収録。
ただそれらが収録されているというだけの話ではない。クオリティも非常に良い。 非常にクリーンで極めて見やすい。
コーディングフォントで非常によくあるのが、「.が間延びする」みたいなこと。
並び次第では非常に
DZ vs SZ
非常に、非常に悲しいことに、Victor MonoはDZである。
だが希望はある。OpenType FeaturesでSZをサポートしているのだ。 しかも複数種類!
ss02普通のSZss03貫通するSZss040の中が埋まっているSZ?ss05短めのSZ
OpenType Featuresなので設定できるエディタは限られているが、VSCodeでは利用可能だ。
比較してみよう
Ruby (from Orbital queue)
JavaScript (from pubkeyauth.js)
Elixir (from Exolyte)
むすび
まぁ、こういう小さいコードだと「読みやすさ」より「見やすさ」が優先されてしまうのでめちゃくちゃいいって感じはしないと思うんだけども、それなりにコード量あるものからtypoを探したり、コードのミスを探したりするときには結構差が出る。
いままでHermitが圧倒的に読みやすかったのだけど、Victor Monoはこれまで以上にイケてる気がする。
2年間メインの座を維持しつづけることができたら、寄付しようと思う。