ヘッダー
Visual Basic サンプル集
 

インストールされているフォント名を列挙する

2022/10/16

→ C# のサンプルに切り替える → Python のサンプルに切り替える

 

インストールされているフォントの名前を日本語と英語で列挙する

VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim fontPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Fonts)

For Each fontFamily In Windows.Media.Fonts.GetFontFamilies(fontPath)
    '日本語でのフォント名。日本語名がない場合は Nothing
    Dim jpName As String = fontFamily.FamilyNames.Where(Function(fn) fn.Key.IetfLanguageTag = "ja-jp").FirstOrDefault().Value

    '英語でのフォント名。
    Dim enName As String = fontFamily.FamilyNames.Where(Function(fn) fn.Key.IetfLanguageTag = "en-us").FirstOrDefault().Value

    Debug.WriteLine($"{enName} ({jpName})")
Next

Debug.WriteLineが表示される場所

メモ:Windows フォームアプリ や コンソールアプリ や ASP.NET Core Webアプリなどでこのプログラムを実行するにはWPFアプリの有効化が必要です。 その方法 → WPFの機能を有効にする

メモ:実行するとたとえば次のように出力されます。(これは抜粋です。もっとたくさん出力されます。)

Verdana ()
Webdings ()
Wingdings ()
Yu Gothic (游ゴシック)
Yu Gothic UI ()
BIZ UDGothic (BIZ UDゴシック)
BIZ UDPGothic (BIZ UDPゴシック)
BIZ UDMincho (BIZ UD明朝)
BIZ UDPMincho (BIZ UDP明朝)
Meiryo (メイリオ)
Meiryo UI (Meiryo UI)

 

 

インストールされているフォントの名前を登録されている全言語で列挙する

VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

Dim fontPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Fonts)

For Each fontFamily In Windows.Media.Fonts.GetFontFamilies(fontPath)
    Debug.WriteLine("")

    For Each familyName In fontFamily.FamilyNames
        Dim cultureName As String = familyName.Key.IetfLanguageTag
        Dim fontFamilyName As String = familyName.Value
        Debug.WriteLine($"{cultureName}: {fontFamilyName}")
    Next
Next

Debug.WriteLineが表示される場所

メモ:Windows フォームアプリ や コンソールアプリ や ASP.NET Core Webアプリなどでこのプログラムを実行するにはWPFアプリの有効化が必要です。 その方法 → WPFの機能を有効にする

メモ:実行するとたとえば次のように出力されます。(これは抜粋です。もっとたくさん出力されます。)

en-us: PMingLiU-ExtB
zh-hk: 新細明體-ExtB
zh-tw: 新細明體-ExtB

en-us: MingLiU_HKSCS-ExtB
zh-hk: 細明體_HKSCS-ExtB
zh-tw: 細明體_HKSCS-ExtB

en-us: Mongolian Baiti

en-us: MS Gothic
ja-jp: MS ゴシック