作 ▸
使いたいフォント (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