VSCodeでのフォント指定は、英語名で行う。ついでに日本語環境でフォントの英語名の一覧を得る方法を掲載する。
概要
VSCodeでフォント名に日本語を含むフォントを指定する方法を載せるつもりだった。簡単に言えば、フォント名を英語で指定すればいい。似たような指定方法をする必要のあるソフトウェアはたくさんあることと思う。
VSCodeのフォントは設定画面でフォントで検索すればすぐわかると思うので、それは割愛する。
フォントの英語名(正式名称)を調べる方が苦戦するので、こちらを記録しておきたい。
英語名を手っ取り早く調べる
調べる方法としてもっとも簡単なのはコントロールパネルのフォント設定を見る……のではなく、EdgeやChromeなどのWebブラウザの設定から、フォント設定を開いてみるのがよさそうだ。
コントロールパネルなどのWindowsのフォント設定は日本語名しか調べられないようなので、日本語Windowsでは無理なようだ。
Webブラウザのフォント設定では、英語表示のリストが確認できるので、ここで表示される文字列をVSCodeのフォント設定で指定すれば、使いたいフォントを使えるようになる。
下の画像の赤枠部分では、さきほどの源ノ角ゴシック Code JP M
の英語名Source Han Code JP
が確認できる。プルダウンメニューのリストがスクショできなかったので、これで紹介。
powershellコンソールで調べる方法
ブラウザで調べるのは設定を開くのも面倒でコピーできないという問題がある。つづりを間違えることなく入力するのは大変なので、もっと簡単にフォントの英語名を調べてコピーできる方法があるといい。
powershellのバージョンは、Get-Host
で確認した限りでは5.1
だとおもう。
日本語取得の例
日本語名のリストはpowershellで表示できるようだ:
[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
(New-Object System.Drawing.Text.InstalledFontCollection).Families
掲載元:
ちなみに出力はこうなった:
> (New-Object System.Drawing.Text.InstalledFontCollection).Families
Name
----
Arial
Arial Black
# ... 中略
游明朝 Light
源ノ角ゴシック Code JP EL
源ノ角ゴシック Code JP H
源ノ角ゴシック Code JP L
源ノ角ゴシック Code JP M
源ノ角ゴシック Code JP N
源ノ角ゴシック Code JP R
# ... 省略
powershellのコンソールのセッション内で一時的にロケールをenにできれば、英語名の一覧を表示できそうだが、そのような一時的な変更をできるコマンドレットなどはなさそうだ? 恒久的な変更は再起動が必要になるので、普段からenで使っているのと同じになりそうだ。
英語取得の例
もう少し探してみると、以下のような解決法があった。
ロケールではなくUIのみ英語表示という手法のようだ。一時的に英語UIにして、目的のコマンドを実行した後には元に戻せばいいので、こんな感じでできる:
& {
$prev=[cultureinfo]::CurrentUICulture
[cultureinfo]::CurrentUICulture='en-US'
[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
(New-Object System.Drawing.Text.InstalledFontCollection).Families
[cultureinfo]::CurrentUICulture=$prev
}
出力は下のようになる。狙い通り、英語名がずらりと並ぶ。1つごとの空行が多いが、まあいいだろう:
> & {
# 上のコマンドと同じなので省略
}
GAC Version Location
--- ------- --------
True v4.0.30319 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\Syste...
Name : Arial
Name : Arial Black
# ... 中略
Name : Yu Mincho Light
Name : Source Han Code JP EL
Name : Source Han Code JP H
Name : Source Han Code JP L
Name : Source Han Code JP M
Name : Source Han Code JP N
Name : Source Han Code JP R
# ... 省略
これの問題は、どれが探しているフォントかわかりにくいこと。しかしコピーできるメリットはかなり大きい。 幸いなことに、並び順は同じようなので探せないことはない。
おわり
英語名の取得は無理だと思っていたので、できることがわかったのはいい収穫だった。 これで英語名指定を行う必要のあるソフトウェアで好きなフォントを使うことができる。
コンソールの中でUIだけ言語を変えられる設定は便利だ。UICulture
のような名称はほんの少しわかりづらい気がした。
英語UIだと一覧のフォーマットも変わるというのは結構意外な感じ。
空行はパイプを通して消せそうな気がするから問題はなさそう。
好きなフォント使っていきましょう。
以上です。