CSS等でfont-familyとして指定する際には英語表記のフォントファミリー名が必要となりますが、通常のプロパティ画面等では確認できません。
PowerShellに特定のコマンドをコピペすることで日本語フォントの英語表記font-family名を知ることができます。
1,PowerShellを起動してコマンドを打ち込む
Windowsにインストールされたフォントについてしか調べられません。
エクスプローラーで「C:\Windows\Fonts」に移動してインストールされたフォント一覧に調べたいフォント名があることを確認してください。
対象のフォントがWindowsにインストールされていることを確認したら、PowerShellを起動します。
そして以下のコマンドをPowerShellウィンドウにコピペして、エンターキーを押します。
[reflection.assembly]::loadwithpartialname("system.drawing")
次に、このコマンドを入力してエンターします。
foreach( $ifc in ( new-object System.Drawing.Text.InstalledFontCollection ) ){$ifc.Families|%{$_.Name+"`t:`t"+$_.GetName([System.Globalization.CultureInfo]::GetCultureInfo("en-us").LCID)}}
正しくコマンドを入力するとこのように、フォント名とフォントファミリー名が対応して一覧表示されます。
日本語フォントのフォントファミリー名もしっかり英語で分かります。
※1番目のコマンドを省略するとこのようなエラーが出るので略さないようにしましょう。
2,通常の手順で確認するとどうなるか
「C:\Windows\Fonts」に移動して、表示形式を詳細表示にし、右クリックで表示項目を増やし「ファミリ」名称を表示させてみました。
しかし結論から言うとダメでした。
日本語のフォントファミリー名しか分かりません。
ちなみにCSSに日本語ファミリー名を指定しても適用されません。
無視されてしまいました。
レジストリを弄る方法など色々探りましたがPowerShellにコマンドを打ち込むというマニアックな方法でしかフォントファミリー名英語版は確認できませんでしたOrz
まとめ 日本語フォントのファミリー名英語表記を知る方法
- 調べたいフォントがWindowsにインストールされていることを確認
- PowerShellを起動
- 以下のコマンドを入力してエンターキーを押す
[reflection.assembly]::loadwithpartialname(“system.drawing”) - 次にこちらのコマンドを入力してエンターキーを押す
foreach( $ifc in ( new-object System.Drawing.Text.InstalledFontCollection ) ){$ifc.Families|%{$_.Name+”`t:`t”+$_.GetName([System.Globalization.CultureInfo]::GetCultureInfo(“en-us”).LCID)}} - フォント名とフォントファミリー名(英語表記)が一対一対応で出力される
- 完了!!
これでCSSなどでフォントファミリー名を指定する際英語表記をググる必要がなくなりました。
合わせてフォント・ブログ関連のこちらの記事もご覧ください