自分の覚え書き用なので、それほど人に見やすくとかは意識してない。
環境
Windows 10
Cygwin
ただし、パッチを当てる作業はLinuxでやった。
目的
Windows環境で、Cygwinを使ったときに、多くのglyphsを表示できるようにしたい。
(ちょっと面倒なので曖昧に書いてる)
ある程度ちゃんと追記しました(2016.11.10から書いてます)
きっかけ
Ricty + Powerline + NERD Fonts - ツヅリサイクル をみたこと
依存パッケージ
- fontforge
だけ。たしか...
fontforge installation
Installing FontForge from Git Source Code
nerd-fontsのパッチを当てる
ryanoasis/nerd-fonts を git clone
する
実行コマンド
fontforge -script ./font-patcher <path/to/font-file> -w --fontawesome --fontlinux --octicons --pomicons --powerline --powerlineextra
-w
はWindowsに対応させるためのオプション。
たしかwindowsでは、31文字以上のフォント名はインストールできない。だと思う...
今のところ、mzyy94/RictyDiminished-for-Powerlineからとってきた、以下の2つで試した。
- RictyDiminishedDiscord-Regular.ttf
- RictyDiminishedDiscord-Regular-Powerline.ttf
個人的に0
とかD
とかの表記がDiscord
の方が好きなので、これしか試してない。ただ、|
(パイプ)の表記は嫌い。なので、最終的には自分で生成したricty-discordを使うつもり。
今後、dimished以外でも試す。
結果
-
-w
オプションは必要だった。
これがなければ、cygwinでフォントがないって言われて、選択できない。
(その原因が何かは分からない) -
powerline
ってついてる方は、-w
付けてもダメだった。
2016.11.10 追記
この記事見てくれてる人がいるみたいなので、数か月前の記憶を思い出しながら、納得のいくフォント生成の手順を書こうと思った。正直ちょっと前の記憶なので、間違ってるところあるかも...
納得がいったフォントの生成までの流れがこんな感じです。
- Ricty 生成
- Ricty-Discord 生成
- Ricty-Discord をWindowsで使えるようにする
- nerd-fontsのパッチをあてる
若干、3と4の順序の記憶が曖昧...
もし最後までやって、変なとこあったら、3と4の順序入れ替えて試してみてください...そのときには報告ももらえたら嬉しい...
Ricty 生成
Rictyの生成に関しては以下のサイトにあるので、こちらを見た方がいい。
Rictyの生成は、Ricty生成スクリプトであるricty_generator.sh
を使う。(以下サイトでダウンロード可)
Ricty Discord 生成
こちらも先ほど挙げたサイトを見てください。
Ricty Discordの生成には、Ricty Discord コンバートスクリプトricty_discord_converter.pe
を使う。
これも先ほどのサイトから取得できます。
因みに私は Ricty Discord の|
の表記が破断線 (Inconsolata のグリフ)になるのが嫌いだったので、ricty_discord_converter.pe
に-bar
オプションだけつけて生成しました。
フォントの不具合を修正
恐らく、上記までの手順では、フォントの幅が広すぎるといった不具合があるはず。(もしなければ、恐らくこの手順は踏まなくても大丈夫)
具体的にどんな感じの不具合化は、下にある参考にしたブログから確認ください。
この不具合の修正にはos2version_reviser.sh
というスクリプトを使用。
これも先ほど挙げたサイトの一番下にある「既知の問題」ってところの1行目のところに、取得することができるリンクが張られてるので、そこからダウンロードする。
使い方はこんな感じに。
sh os2version_reviser.sh <Ricty_file>
以下ブログを参考にしました。
Windows でプログラミング用フォント Ricty を何とか生成する
nerd-fontsのパッチをあてる
最後に上の方にも書いたようにnerd-fontsのパッチを当てて完成。
fontforge -script ./font-patcher <path/to/font-file> -w --fontawesome --fontlinux --octicons --pomicons --powerline --powerlineextra
ここで、--fontawesome
や --fontlinux
などのオプションは、ryanoasis/nerd-fontsをみて、自分に必要なグリフの入ってるグリフセットだけを選べば十分だと思います。
僕はPowerline Extra Symbolsが表示されるようになれば良かったので、オプションは--powerlineextra
だけでも十分でしたね。
全部入れてますけど...