LoginSignup
6
6

0xProto と白源でプログラミング用日本語フォントを作ってみた

Last updated at Posted at 2024-02-12

ご存知の通り、エンジニアにとってフォントはキーボードの次ぐらいにこだわるべき大切なものである。

私は 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 と同様に、破線になるよう修正
  • 小文字のカタカナ「ヘ」(アイヌ語で利用)は、クセが無かったので、カタカナ「ヘ」を修正して作成

フォントの比較

Ricty Discord(オレオレ設定)
RictyDiscord.png

白源
HackGen.png

0xProto(参考)
0xProto.png

0xProGen(今回作成したもの)
0xProGen.png

そこそこ見易いフォントが出来たのではないかと思う。(ゴチャゴチャしているとも言えるが)

良ければ使ってみて、改善点などあれば教えてください。
(対応できるかどうかは分からないけど)
(0xProto Bold が出たら本気出すかもしれん)

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6