カラクリスタ

「輝かしい青春」なんて失かった人のブログ

あらゆる環境で使えるオレオレ NERDFont を手軽に合成する方法

以前、というか前回、

という記事で、

NERDFonts を手軽に使うには Fontlink or fontconfig 使うと良いよ!

的なコトを書いたんですが、その後、

  • macOS でも使いたい
  • って言うか Windows でもなんか表示おかしくね?

とか色々と欲とか問題も出てきたんで、その辺りを解決するのに使った

手軽に NERDFonts を合成する方法

について、今日はまとめたいと思います。

[NERDFonts ってそもそも何?]

これは前回のおさらいになりますが、 NERDFonts とは、

NERDFonts

のコトで、このフォントは幾つかの Web Fonts の Symbol を、既存のプログラミング向けのフォントに Merge したフォントのコトを指します。

オレオレ [NERDFonts を合成するために用意するモノ]

  • fontforge
  • 合成したい元ネタのプログラミング向けフォント
  • NERDFonts の Symbol の Glyph だけを抜き出した ttf ファイル

まず、 fontforge については、 Windows だったら FontForge 公式 からインストーラーを落としてきて、Linux だったり macOS なら、各種パッケージマネージャから FontForge をインストールすれば良いと思います。

次に元ネタのフォントに関しては、これは各人が好きなフォントを用意すれば良いとして、NERDFonts の Symbol の Glyph だけを抜き出した ttf ファイルに関しては、GitHub

辺りから、

  • Symbols-1000-em Nerd Font Complete.ttf
  • Symbols-2048-em Nerd Font Complete.ttf

のどちらかを落してくれば良いんですが、

1000-em2048-em のどっち使うの?

と言う点については、fontforge で元ネタのフォントを開き、プロパティ辺りを参照して、em が同じサイズになっている Symbol フォントを合成に用いる、という感じになります。

オレオレ [NERD Fonts の合成の仕方]

僕の場合、

MyricaM M

を普段使っているのですが、このフォントは ttc (幾つかの ttf をまとめた形式) になっているので、 MyricaM M から NERDFonts を作る場合、

  • ttc ファイルから ttf ファイルを fontforge を使って抜き出し
  • その抜き出した ttfSymbols-1000-em Nerd Font Complete.ttf を merge した後
  • 新たな ttf ファイルを書き出す

という感じの流れになります。

それで、僕はこれを確か Xserver 上の GUI で行った記憶が有るんですが、もし CLI から同じ様なコトをする場合、fontforge の script 機能を使って作業をすると良いかと思います。

以上

まぁ、結論から言うと、今回の話は、

fontforge を使って Font をマージ!

というだけの話なんですが、

NERDFonts の Symbol だけを抜き出したフォントファイルが開発元のリポジトリに含まれてる

ってあんまり知られてない気がするので、その辺りを覚えておくと、ちょっとだけ NERDFonts 化するのがラクになるよ!って話でした。はい。

あと、合成フォントによっては、ライセンスの兼ね合いで再配布出来無いモノもある ( Ricty とか) ので、合成したフォントを再配布などをしたい場合には、ライセンスにはちゃんと気をつけましょう。


という事で、今回は以上です。はい