ご存知の通り、エンジニアにとってフォントはキーボードの次ぐらいにこだわるべき大切なものである。
私は Ricty が好きでずっと使っているのだが、0xProto というフォントが良いという噂を聞き、フォント好きとしてはたまらず使ってみた。
- 0xProto の良い点
- 視認性(legibility)を謳っているだけあって、確かに良い
- クセが強いが、慣れるとそのクセが病みつきになって、逆に Inconsolata があっさりしすぎて物足りなくなってしまう
- 0xProto の悪い点
- Bold 体が無い
- Ricty に慣れた自分には、縦も横もデカすぎる
グリフには病みつきになってしまったので、自分に都合の良いように作り直したい。特に、日本語のフォントを追加したい。だって README やコメントに日本語を使うことがあるし。
作ってみた
最初は Ricty と同じように 0xProto に Migu 1M を Merge した。しかし、Migu 1M は丸っこくて好きなのだが、0xProto と組み合わせると、クセが無くて面白味に欠ける。
もうちょっとクセが強い日本語等幅フォントを探して、白源に辿り着いた。
Migu 1M の不満点として、ひらがなの「へ」とカタカナの「ヘ」の見分けがつきにくい(じっくり見ると違うことが分かるが)という点があったのだが、白源はかなり違って良い。あとカンマ・ピリオド・コロン・セミコロンも白源のクセが良い感じ。
ということで、0xProto と白源を Merge するスクリプトを作った。
(Ricty generator を大いに参考にさせていただいた)
工夫した点
- 0xProto の 620 という横幅は広すぎるので、視認性の良さに甘えて、8割ほど横幅を狭めて Ricty と同じ 500 に設定(全角は 1000)
- 白源も 1080 から 1000 に横幅を狭めて合わせている
- 高さは Ricty や白源とほぼ同じぐらいに設定
- ほんの気持ち行間が狭いと嬉しいなぁと思っていたので、本当にちょっとだけ縮める
- 細かな数字を気にするのが嫌だったので、0xProto を見習って思い切って切りの良い数字に設定
- Windows Ascent: 900
- Windows Descent: 200
- Typo Ascent: 850
- Typo Descent: -200
- Typo Line Gap: 50
- HHead Ascent: 900
- HHead Descent: -200
- これらの値の正確な意味は、実はよく分かってない
- 0xProto のデザインを尊重する意味でも、全角のアルファベット・数字・基本的な記号および括弧(要するにキーボードから直接入力できる文字)は元の 0xProto をそのままに、ただ横幅だけを 1000 に調整したものに変更
- ただし、スラッシュ・バックスラッシュは、そのままだと傾きが足らないので、2倍に広げて傾きを出した
- その際に、どうしても文字の太さが 1.15 倍になっちゃうので、それに合わせてバーも太さを 1.15 倍に
- 半角のカンマ・ピリオド・コロン・セミコロンは白源(要するに Hack)を使用
- 全角のカンマ・ピリオド・コロン・セミコロンも白源を使用
- コロン・セミコロンはもっとクセを付けようかと思ったけど、変な感じになるのでやめた
- 全角空白は、白源のもの(点線の四角)をそのまま使用
- 点線の丸にしようかと思ったけど、やめた
- スクリプトには残しているので、コメントアウトを外すだけで変更できる
- 全角のハイフンは、0xProto のハイフンを全角にしたものに変更
- ちなみに全角のマイナスは Unicode 的には半角で定義されている
- endash と emdash は、Ricty と同様に、破線になるよう修正
- 小文字のカタカナ「ヘ」(アイヌ語で利用)は、クセが無かったので、カタカナ「ヘ」を修正して作成
フォントの比較
そこそこ見易いフォントが出来たのではないかと思う。(ゴチャゴチャしているとも言えるが)
良ければ使ってみて、改善点などあれば教えてください。
(対応できるかどうかは分からないけど)
(0xProto Bold が出たら本気出すかもしれん)