C# サンプル集 |
Visual Basic 中学校 > C# サンプル集 > C# サンプル集目次 >
インストールされているフォント名を列挙する
2022/10/16
→ Visual Basic のサンプルに切り替える → Python のサンプルに切り替える
インストールされているフォントの名前を日本語と英語で列挙する
string fontPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Fonts);
foreach (var fontFamily in System.Windows.Media.Fonts.GetFontFamilies(fontPath))
{
//日本語でのフォント名。日本語名がない場合は null
string jpName = fontFamily.FamilyNames.Where(fn => fn.Key.IetfLanguageTag == "ja-jp").FirstOrDefault().Value;
//英語でのフォント名。
string enName = fontFamily.FamilyNames.Where(fn => fn.Key.IetfLanguageTag == "en-us").FirstOrDefault().Value;
System.Diagnostics.Debug.WriteLine($"{enName} ({jpName})");
}
メモ: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)
インストールされているフォントの名前を登録されている全言語で列挙する
string fontPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Fonts);
foreach (var fontFamily in System.Windows.Media.Fonts.GetFontFamilies(fontPath))
{
System.Diagnostics.Debug.WriteLine("");
foreach (var familyName in fontFamily.FamilyNames)
{
string cultureName = familyName.Key.IetfLanguageTag;
string fontFamilyName = familyName.Value;
System.Diagnostics.Debug.WriteLine($"{cultureName}: {fontFamilyName}");
}
}
メモ: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 ゴシック