Windows10でPowerline用のRictyフォントを作成する方法

必要なもの

手順

  1. FontForgeのインストール
    Bash on Ubuntu on Windows(以下BoW)で以下のコマンドを実行する。
    sudo apt-get install fontforge python-fontforge
  2. Rictyフォントを作る
    プログラミング用フォント Ricty の手順を参考に以下のコマンドを実行する。
    cd /mnt/c/Users/{your_name}/
    mkdir font && cd font
    curl -O http://www.rs.tus.ac.jp/yyusa/ricty/ricty_generator.sh
    (InconsolataフォントやMigu 1Mフォントは各自でダウンロードしてfontディレクトリにttfファイルをコピーしておく)
    sh ricty_generator.sh auto
  3. powerlineのリポジトリをクローンする
    Git Bashを使って、以下のリポジトリをクローンする。
    https://github.com/powerline/fontpatcher
    (自分はvimプラグインで「powerline/powerline-fontpatcher」を指定してクローンした)
  4. fontpatcherでPowerline用フォントを作成する
    BoWで以下のコマンドを実行する。
    python /path/to/repos/powerline/fontpatcher/scripts/powerline-fontpatcher Ricty-Bold.ttf
    python /path/to/repos/powerline/fontpatcher/scripts/powerline-fontpatcher Ricty-Regular.ttf
  5. フォントをインストールする
    できあがったフォントをダブルクリックしてインストールする。

文字の間隔が広がっている場合

もし、上の手順で作ったRictyフォントの文字の間隔が広い場合は、BoW上で以下の手順を実行してフォントを作り直す。

  1. フォント修正スクリプトをダウンロードする
    curl -O http://www.rs.tus.ac.jp/yyusa/ricty/os2version_reviser.sh
  2. Rictyフォントを作り直す
    sh os2version_reviser.sh Ricty-Regular.ttf
    sh os2version_reviser.sh Ricty-Bold.ttf
    sh os2version_reviser.sh RictyDiscord-Regular.ttf
    sh os2version_reviser.sh RictyDiscord-Bold.ttf
  3. Powerline用フォントを作り直す
    python /path/to/repos/powerline/fontpatcher/scripts/powerline-fontpatcher Ricty-Bold.ttf
    python /path/to/repos/powerline/fontpatcher/scripts/powerline-fontpatcher Ricty-Regular.ttf
  4. フォントを再インストールする
    できあがったttfファイル群を使って再インストールする。

追記:Powerline用フォントを作り直すの訂正

上記手順で「Powerline用フォントを作り直す」の箇所のpowerline-fontpatcherを呼び出すところだが、実行するの以下のエラーになることがわかった。

The required FontForge modules could not be loaded.

You need FontForge with Python bindings for this script to work.

以下のブログを参考に、「fontforge -lang=py -script /path/to/repos/powerline/fontpatcher/scripts/powerline-fontpatcher Ricty-Bold.ttf」としたら動いた。

d.hatena.ne.jp