0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLを使ってWindowsに適したRicty Nerdフォントを作る

Posted at

いろんなソースコード向けフォントが出ても

シェルスクリプトの作者が前時代的とおっしゃっていても、Rictyで育ってきた私はやはりRictyがよろしいと思ってしまうのです。

RictyにNerdフォントをぶっ込められる

との情報を目にしたのでやってみた所存であります。

どうすれば…?

まずWSL上でアプリを入れます。Pengwinなのでaptです。

sudo apt install fontforge python-fontforge fonttools

Rictyを作る環境(フォルダ)を作り、そのフォルダで

git clone --depth=1 https://github.com/ryanoasis/nerd-fonts.git

なんか重いなーと思ってましたが10GB以上あるリポジトリなのでそら重い。

git clone https://github.com/powerline/fontpatcher

参考にしたサイトが落としてたので、PowerLineのフォントパッチも落としました。これはNerdフォントに含まれているっぽいからいらないかもしれない。

で、以下のシェルスクリプトを実行します。正規表現がよく分からないので後半はぐだぐだになっていますが、これでとにかく出来上がったフォントにWindows向け修正を行っています。Rictyスクリプトの配布元のOS2なんとかというシェルは効きませんでした。全角スペースの可視化はあんまり好きじゃないので、Ricty生成スクリプトには-zのオプションを入れています。

何周かしましたが1周結構長いです。走らせたら飯食うのもいいかもしれません。

rm -f Ricty*.ttf Ricty*.ttx Ricty*.ttx.bak
sh ricty_generator.sh -z auto
if [ -f "fontpatcher/scripts/powerline-fontpatcher" ]; then
  for R in Ricty*.ttf; do
    python3 fontpatcher/scripts/powerline-fontpatcher "$R"
  done
fi
if [ -f "nerd-fonts/font-patcher" ]; then
  for R in Ricty*.ttf; do
    python3 nerd-fonts/font-patcher --complete "$R"
  done
fi
for P in Ricty*Nerd*.ttf; do
  ttx -t OS/2 "$P"
  sed -i.bak -e 's,xAvgCharWidth value="967",xAvgCharWidth value="500",' "${P%%.ttf}.ttx"
  mv "$P" "${P%%.ttf}.orig.ttf"
  ttx -m "${P%%.ttf}.orig.ttf" "${P%%.ttf}.ttx"
done
for P in Ricty-*.ttf; do
  ttx -t OS/2 "$P"
  sed -i.bak -e 's,xAvgCharWidth value="940",xAvgCharWidth value="500",' "${P%%.ttf}.ttx"
  mv "$P" "${P%%.ttf}.orig.ttf"
  ttx -m "${P%%.ttf}.orig.ttf" "${P%%.ttf}.ttx"
done
for P in RictyDiscord-*.ttf; do
  ttx -t OS/2 "$P"
  sed -i.bak -e 's,xAvgCharWidth value="940",xAvgCharWidth value="500",' "${P%%.ttf}.ttx"
  mv "$P" "${P%%.ttf}.orig.ttf"
  ttx -m "${P%%.ttf}.orig.ttf" "${P%%.ttf}.ttx"
done
for P in Ricty*Powerline*.ttf; do
  ttx -t OS/2 "$P"
  sed -i.bak -e 's,xAvgCharWidth value="940",xAvgCharWidth value="500",' "${P%%.ttf}.ttx"
  mv "$P" "${P%%.ttf}.orig.ttf"
  ttx -m "${P%%.ttf}.orig.ttf" "${P%%.ttf}.ttx"
done

で、出来上がったフォントを見ます!

image.png

多分良さげ!インストール!おしまい!

難しかったところ

Nerdフォントを入れると、修正するCharWidthが変わってた所が見つけるのに苦労した。ずっと間隔が広いままだった。なんでWindowsだけフォント周りこんなにめんどくさいんですかね…。

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?