😢

ローカルにあるフォントを調べる

2021/10/22に公開

VSCodeのターミナルで文字化けが起こる

自分はstarshipを用いて環境を構築しています。
starshipはNerd Fontを用いているので、(もしもNerd Fontに対応していなければ)以下の などは文字化けしているのではないでしょうか?

 ╭─me@xps in repo: articles on  master [?⇡1] via  v14.18.0 took 0s
 ╰─λ 

VSCodeにNerd Fontを入れるために、ローカルのフォントを調べる必要がありそうです。

環境

  • OS: Arch Linux(今回のものはLinux全般で可能)

解決方法

fc-listでローカルフォントを調べる

fc-listコマンドはローカルにあるすべてのフォントを出力してくれます。
grepで欲しいフォントを探すとこんな感じ。

$ fc-list | grep Nerd
/usr/share/fonts/TTF/Iosevka Term Bold Nerd Font Complete.ttf: Iosevka Term,Iosevka Nerd Font:style=Bold
/usr/share/fonts/TTF/Iosevka Extralight Oblique Nerd Font Complete Mono.ttf: Iosevka,Iosevka Nerd Font Mono:style=Extralight Oblique,Regular
/usr/share/fonts/TTF/Iosevka Term Extralight Nerd Font Complete Mono.ttf: Iosevka Term,Iosevka Nerd Font Mono:style=Extralight,Regular
/usr/share/fonts/TTF/Iosevka Term Thin Italic Nerd Font Complete.ttf: Iosevka Term,Iosevka Nerd Font:style=Thin Italic,Italic
/usr/share/fonts/TTF/Iosevka Heavy Nerd Font Complete Mono.ttf: Iosevka,Iosevka Nerd Font Mono:style=Heavy,Regular
...
/usr/share/fonts/TTF/Iosevka Term Thin Oblique Nerd Font Complete.ttf: Iosevka Term,Iosevka Nerd Font:style=Thin Oblique,Regular
/usr/share/fonts/TTF/Iosevka Term Medium Oblique Nerd Font Complete Mono.ttf: Iosevka Term,Iosevka Nerd Font Mono:style=Medium Oblique,Regular
/usr/share/fonts/TTF/Iosevka Bold Italic Nerd Font Complete.ttf: Iosevka,Iosevka Nerd Font:style=Bold Italic
/usr/share/fonts/TTF/Iosevka Medium Nerd Font Complete Mono.ttf: Iosevka,Iosevka Nerd Font Mono:style=Medium,Regular

VSCodeやcssにてフォント指定するときは、コロン(:)以下のラベルを指定することになります。
今回の場合は

/usr/share/fonts/TTF/Iosevka Thin Oblique Nerd Font Complete.ttf: Iosevka,ccccc:style=Thin Oblique,Regular

とあるので、VSCodeの設定にIosevka Nerd Fontを指定してあげました。
→settings.json

{
  ...
  "editor.fontFamily": "'Fira Code', 'Source Code Pro', 'Source Han Code JP', monospace, 'Iosevka Nerd Font'", // ← 追加
  ...
}

Tips: 日本語化

もしも日本語フォントを入れたい場合は

fc-list :lang=ja

にて日本語フォントを探すことができます。

参考

Arch Wiki - フォント#ヒントとテクニック
https://atmarkit.itmedia.co.jp/ait/articles/1812/07/news021.html
https://github.com/microsoft/vscode/issues/81497

Discussion