いろんなソースコード向けフォントが出ても
シェルスクリプトの作者が前時代的とおっしゃっていても、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
で、出来上がったフォントを見ます!
多分良さげ!インストール!おしまい!
難しかったところ
Nerdフォントを入れると、修正するCharWidthが変わってた所が見つけるのに苦労した。ずっと間隔が広いままだった。なんでWindowsだけフォント周りこんなにめんどくさいんですかね…。
参考