プログラミング用フォント Rictyは、Windows8.1で使うときに妙に文字間の幅が大きくとられて残念な表示になってしまうことがあるので、調整スクリプトを適用してあげる必要があるらしい

タイトルでほぼすべてですが、ARROWS Tab QH55/Mを手に入れたので少しずつ環境を整えている際にハマったのでメモ。

そもそも会社とか自宅での常用環境はMacなのですが、フォントは最近はコンソールやエディタ用には Ricty を使っています。Rictyはページに書かれている説明通りですが、InconsolataとM+ 1M と IPA ゴシックが合成されたフォントで、きれいな表示と等幅でも問題なく使えるということで気に入って使っています。

で、MacのiTermやSubEthaEditなんかではこれを指定しているわけですが、当然Windowsでも使いたいなぁということで、なにも考えずにMacで使っている自分で生成したフォントをコピーしてRLoginというターミナルエミュレータで指定してみました。ちなみに、MacPorts環境があればRictyは同梱のシェルスクリプトが大変よくできていて、さくっと生成できます。

そうすると、タイトル通り、全角文字の横幅が実際の文字幅の倍くらいに設定されて右半分に巨大な空白が設定されてしまいます。はじめはフォントのせいではなく、ターミナル側のフォント設定の問題なのかなぁと思っていろいろと調整していたのですが、どうもうまくいかず、ほかのフォントでメイリオを指定したりするとまったく問題なく表示されるという結果で、フォントがおかしいのかなぁというところまで辿りつきました。しかし、OSXでは何の問題もなく使えています。

というわけで、スクリプトのビルドやり直しとかやってみるかなーとおもって、Macで生成していたのでそのディレクトリに移って、README.mdとにらめっこしながらオプションにそれっぽいのがあるのかなぁと思いながらみていたところ、既知の問題に、

* 一部の環境において、生成されたフォントの全角文字の文字間隔が不自然に大きくなることがあります。
* 生成されたフォントを `misc/os2version_reviser.sh` に食べさせることで修正できます。

という、あ、コレだ、みたいなものを見つけました。ちゃんとREADME読めという例ですね。 というわけで、さらっと、

$ cd misc
$ sh os2version_reviser.sh Ricty*.ttf

と実行して、生成されたフォントをWindowsに入れなおしました。すると、全角文字の謎文字間隔もなくなり、大変まともな表示にすることができました。

まとめ

  1. RictyをWindows8.1に入れる前にos2version_reviser.shを通しておくべき
  2. とりあえず、READMEを最後まで読みましょう

(おまけ)フォントリンク

あと、一応、欧文フォントしか指定できないケースとかもあるので、フォントリンクでMS UI Gothicを指定しているようなフォントたちもすべてRictyやMeiryoKeに置き換えると表示が統一されるのでオススメかも。フォントリンクの指定方法はぐぐれば一杯出てくるので割愛。