こうこく
作 ▸

使いたいフォント (Myrica) にNerd Fontsのパッチを当ててみた

Alacrittyでメインに Myrica を使いつつ、Myricaに無い文字を Nerd Fonts で埋めたかったのだが、Alacrittyにはフォールバックのフォントを設定できる機能が無い。

Myrica Nerd Fontも存在しないみたいなので、自分でMyricaにNerd Fonts公式のパッチをあててみた。

Arch Linuxfontforge 20230101-3Nerd Fonts Patcher v3.0.2

FontForge 導入

FontForge はAURにある。自分は paru でインストール。

コマンド
paru -S fontforge

パッチを当てたいフォントファイルを用意

インストール済みのフォントから探す場合は以下コマンド。

コマンド
fc-list | grep Myrica
結果
/usr/share/fonts/TTF/Myrica.TTC: Myrica P:style=Book
/usr/share/fonts/TTF/Myrica.TTC: Myrica M:style=Book
/usr/share/fonts/TTF/Myrica.TTC: Myrica N:style=Book

先頭に表示されているのがフォントファイルの場所。これを作業用のディレクトリ (ここではホームディレクトリ) にコピーしてくる。

コマンド
cp /usr/share/fonts/TTF/Myrica.TTC ~/Myrica.TTC

パッチを当てる

パッチプログラムはNerd FontsのGitリポジトリにあるのでCloneしてくる。

コマンド
cd ~
git clone --depth 1 https://github.com/ryanoasis/nerd-fonts.git

そこそこサイズが大きいので時間がかかる。これを書いた時点でリポジトリのサイズが1GB、Clone後のサイズが6GBくらいあった。

完了したら、以下コマンドでフォントにパッチを当てる。

コマンド
fontforge -script ./nerd-fonts/font-patcher ./Myrica.TTC --complete
結果
(略)
Done with Patch Sets, generating font...
   Generated 3 fonts
   \===> 'MyricaMonospace Nerd Font.ttc'
fontforge -script ./nerd-fonts/font-patcher ./Myrica.TTC -c  464.75s user 4.03s system 98% cpu 7:56.45 total

数分ほど待つとパッチが完了。ここでは8分くらいかかった。

出力されている通り、出来上がったフォントファイルは MyricaMonospace Nerd Font.ttc

これをインストールする。元のフォントがあったのと同じディレクトリに移動すればいいはず。

コマンド
sudo mv './MyricaMonospace Nerd Font.ttc' '/usr/share/fonts/TTF/MyricaMonospace Nerd Font.ttc'

ファイルを移動したら、フォントのキャッシュを fc-cache で削除してから fc-list で確認してみる。

コマンド
fc-cache -fv
fc-list | grep Myrica
結果
/usr/share/fonts/TTF/MyricaMonospace Nerd Font.ttc: MyricaMonospace Nerd Font:style=Regular
/usr/share/fonts/TTF/MyricaMonospace Nerd Font.ttc: MyricaProportional Nerd Font:style=Regular
/usr/share/fonts/TTF/Myrica.TTC: Myrica P:style=Book
/usr/share/fonts/TTF/Myrica.TTC: Myrica M:style=Book
/usr/share/fonts/TTF/Myrica.TTC: Myrica N:style=Book
/usr/share/fonts/TTF/MyricaMonospace Nerd Font.ttc: Myrica Nerd Font,Myrica Nerd Font Narrow:style=Narrow,Regular

これでインストール完了。Alacrittyのフォント設定に MyricaMonospace Nerd Font と指定すれば使用できた。

あとは作業に使用したファイルを掃除。

コマンド
rm -rf ~/nerd-fonts
rm ~/Myrica.TTC

参考にさせていただいた記事

Nerd Fonts Patcherを使って非Nerd-Fontにパッチを当てる方法。 - Qiita

この記事に何かあればこちらまで (非公開)