😢
ローカルにあるフォントを調べる
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