フォント一覧の名称を日本語とUS英語で取得する

フォントの名称をプログラムで指定する場合、だいたいの場合は「MS ゴシック」のように日本語のまま指定しても問題ありません。ただ、ときどき英語で指定しないとうまくいかない場合があります。

なぜうまくいかないか理由はよくわかりません。

しかし「HG創英角ポップ体」は "HGSoeiKakupoptai" というような対応一覧表があれば問題を回避できます。下記のコードは、その一覧表を取得する方法です。

Windows Forms のプログラムコードの例ですが、WPF でも同様にコピーペーストで使えます。

private void menuDebugExec000_Click( object sender, EventArgs e )
{

	// デバッグに使うストリングビルダ.
	StringBuilder sb = new StringBuilder();

	// US英語のカルチャIDを取得する.
	const String CULTURE_NAME = "en-us";
	int culture_id = System.Globalization.CultureInfo.GetCultureInfo( CULTURE_NAME ).LCID;

	// インストールされたフォントのコレクションを取得する.
	InstalledFontCollection ifc = new InstalledFontCollection();

	// コレクションからフォントファミリを要素とした配列を取得する.
	FontFamily [] arr = ifc.Families;

	// 配列の個数ぶんループする.
	for ( int n = 0; n < arr.Length; ++n )
	{

		// デフォルトのカルチャIDによるフォント名称を取得する.
		String s0 = arr[n].Name;

		// US英語のカルチャIDによるフォント名称を取得する.
		String s1 = arr[n].GetName( culture_id );

		// タブでつないでストリングビルダに格納する.
		String s0_tab_s1 = String.Format( "{0}\t{1}", s0, s1 );
		sb.AppendLine( s0_tab_s1 );

	}

	// クリップボードにフォント一覧の文字列を送り込む.
	String str_for_clipboard = sb.ToString().Trim();
	Clipboard.SetText( str_for_clipboard );

	// 完了メッセージボックスを表示する.
	String strmsg = "クリップボードにフォント一覧の情報を格納しました.";
	String cap = "実行完了";
	MessageBox.Show( strmsg, cap );

}

この記事を書いているパソコンで上記のコードを実行すると、下記のフォントが入っていることがわかりました。

AcadErefAcadEref
AIGDTAIGDT
AmdtSymbolsAmdtSymbols
AMGDTAMGDT
AR RoundGothicJP MediumAR RoundGothicJP Medium
ArialArial
Arial BlackArial Black
Arial NarrowArial Narrow
Arial Unicode MSArial Unicode MS
Artifakt ElementArtifakt Element
Artifakt Element BlackArtifakt Element Black
Artifakt Element BookArtifakt Element Book
Artifakt Element HairArtifakt Element Hair
Artifakt Element HeavyArtifakt Element Heavy
Artifakt Element LightArtifakt Element Light
Artifakt Element MediumArtifakt Element Medium
Artifakt Element ThinArtifakt Element Thin
BahnschriftBahnschrift
Bahnschrift CondensedBahnschrift Condensed
Bahnschrift LightBahnschrift Light
Bahnschrift Light CondensedBahnschrift Light Condensed
Bahnschrift Light SemiCondensedBahnschrift Light SemiCondensed
Bahnschrift SemiBoldBahnschrift SemiBold
Bahnschrift SemiBold CondensedBahnschrift SemiBold Condensed
Bahnschrift SemiBold SemiCondenBahnschrift SemiBold SemiConden
Bahnschrift SemiCondensedBahnschrift SemiCondensed
Bahnschrift SemiLightBahnschrift SemiLight
Bahnschrift SemiLight CondensedBahnschrift SemiLight Condensed
Bahnschrift SemiLight SemiCondeBahnschrift SemiLight SemiConde
BankGothic Lt BTBankGothic Lt BT
BankGothic Md BTBankGothic Md BT
BIZ UDPゴシックBIZ UDPGothic
BIZ UDP明朝 MediumBIZ UDPMincho Medium
BIZ UDゴシックBIZ UDGothic
BIZ UD明朝 MediumBIZ UDMincho Medium
Book AntiquaBook Antiqua
Bookman Old StyleBookman Old Style
Bookshelf Symbol 7Bookshelf Symbol 7
Bradley Hand ITCBradley Hand ITC
Buxton SketchBuxton Sketch
CalibriCalibri
Calibri LightCalibri Light
CambriaCambria
Cambria MathCambria Math
CandaraCandara
Candara LightCandara Light
CenturyCentury
Century GothicCentury Gothic
CityBlueprintCityBlueprint
Comic Sans MSComic Sans MS
CommercialPi BTCommercialPi BT
CommercialScript BTCommercialScript BT
ComplexComplex
ConsolasConsolas
ConstantiaConstantia
CorbelCorbel
Corbel LightCorbel Light
CountryBlueprintCountryBlueprint
Courier NewCourier New
Dutch801 Rm BTDutch801 Rm BT
Dutch801 XBd BTDutch801 XBd BT
EbrimaEbrima
EuroRomanEuroRoman
Franklin Gothic MediumFranklin Gothic Medium
Freestyle ScriptFreestyle Script
French Script MTFrench Script MT
GabriolaGabriola
GadugiGadugi
GaramondGaramond
GDTGDT
GENISOGENISO
GeorgiaGeorgia
GothicEGothicE
GothicGGothicG
GothicIGothicI
GreekCGreekC
GreekSGreekS
HGP創英角ゴシックUBHGPSoeiKakugothicUB
HGP創英角ポップ体HGPSoeiKakupoptai
HGP創英プレゼンスEBHGPSoeiPresenceEB
HGP教科書体HGPKyokashotai
HGP明朝BHGPMinchoB
HGP明朝EHGPMinchoE
HGP行書体HGPGyoshotai
HGPゴシックEHGPGothicE
HGPゴシックMHGPGothicM
HGS創英角ゴシックUBHGSSoeiKakugothicUB
HGS創英角ポップ体HGSSoeiKakupoptai
HGS創英プレゼンスEBHGSSoeiPresenceEB
HGS教科書体HGSKyokashotai
HGS明朝BHGSMinchoB
HGS明朝EHGSMinchoE
HGS行書体HGSGyoshotai
HGSゴシックEHGSGothicE
HGSゴシックMHGSGothicM
HG丸ゴシックM-PROHGMaruGothicMPRO
HG創英角ゴシックUBHGSoeiKakugothicUB
HG創英角ポップ体HGSoeiKakupoptai
HG創英プレゼンスEBHGSoeiPresenceEB
HG教科書体HGKyokashotai
HG明朝BHGMinchoB
HG明朝EHGMinchoE
HG正楷書体-PROHGSeikaishotaiPRO
HG行書体HGGyoshotai
HGゴシックEHGGothicE
HGゴシックMHGGothicM
HoloLens MDL2 AssetsHoloLens MDL2 Assets
ImpactImpact
Ink FreeInk Free
ISOCPISOCP
ISOCP2ISOCP2
ISOCP3ISOCP3
ISOCPEURISOCPEUR
ISOCTISOCT
ISOCT2ISOCT2
ISOCT3ISOCT3
ISOCTEURISOCTEUR
ItalicItalic
ItalicCItalicC
ItalicTItalicT
Javanese TextJavanese Text
Juice ITCJuice ITC
Kristen ITCKristen ITC
Leelawadee UILeelawadee UI
Leelawadee UI SemilightLeelawadee UI Semilight
Lucida ConsoleLucida Console
Lucida HandwritingLucida Handwriting
Lucida Sans UnicodeLucida Sans Unicode
Malgun GothicMalgun Gothic
Malgun Gothic SemilightMalgun Gothic Semilight
MarlettMarlett
Meiryo UIMeiryo UI
Microsoft HimalayaMicrosoft Himalaya
Microsoft JhengHeiMicrosoft JhengHei
Microsoft JhengHei LightMicrosoft JhengHei Light
Microsoft JhengHei UIMicrosoft JhengHei UI
Microsoft JhengHei UI LightMicrosoft JhengHei UI Light
Microsoft New Tai LueMicrosoft New Tai Lue
Microsoft PhagsPaMicrosoft PhagsPa
Microsoft Sans SerifMicrosoft Sans Serif
Microsoft Tai LeMicrosoft Tai Le
Microsoft YaHeiMicrosoft YaHei
Microsoft YaHei LightMicrosoft YaHei Light
Microsoft YaHei UIMicrosoft YaHei UI
Microsoft YaHei UI LightMicrosoft YaHei UI Light
Microsoft Yi BaitiMicrosoft Yi Baiti
MingLiU-ExtBMingLiU-ExtB
MingLiU_HKSCS-ExtBMingLiU_HKSCS-ExtB
MistralMistral
Mongolian BaitiMongolian Baiti
Monospac821 BTMonospac821 BT
MonotxtMonotxt
Monotype CorsivaMonotype Corsiva
MS OutlookMS Outlook
MS Reference Sans SerifMS Reference Sans Serif
MS Reference SpecialtyMS Reference Specialty
MS UI GothicMS UI Gothic
MT ExtraMT Extra
MV BoliMV Boli
Myanmar TextMyanmar Text
Nirmala UINirmala UI
Nirmala UI SemilightNirmala UI Semilight
NSimSunNSimSun
OCRBOCRB
Palatino LinotypePalatino Linotype
PanRomanPanRoman
PapyrusPapyrus
PMingLiU-ExtBPMingLiU-ExtB
PristinaPristina
Proxy 1Proxy 1
Proxy 2Proxy 2
Proxy 3Proxy 3
Proxy 4Proxy 4
Proxy 5Proxy 5
Proxy 6Proxy 6
Proxy 7Proxy 7
Proxy 8Proxy 8
Proxy 9Proxy 9
RomanCRomanC
RomanDRomanD
RomanSRomanS
RomanTRomanT
RomanticRomantic
SansSerifSansSerif
ScriptCScriptC
ScriptSScriptS
Segoe MarkerSegoe Marker
Segoe MDL2 AssetsSegoe MDL2 Assets
Segoe PrintSegoe Print
Segoe ScriptSegoe Script
Segoe UISegoe UI
Segoe UI BlackSegoe UI Black
Segoe UI EmojiSegoe UI Emoji
Segoe UI HistoricSegoe UI Historic
Segoe UI LightSegoe UI Light
Segoe UI SemiboldSegoe UI Semibold
Segoe UI SemilightSegoe UI Semilight
Segoe UI SymbolSegoe UI Symbol
SimplexSimplex
SimSunSimSun
SimSun-ExtBSimSun-ExtB
Sitka BannerSitka Banner
Sitka DisplaySitka Display
Sitka HeadingSitka Heading
Sitka SmallSitka Small
Sitka SubheadingSitka Subheading
Sitka TextSitka Text
SketchFlow PrintSketchFlow Print
Stylus BTStylus BT
SuperFrenchSuperFrench
Swis721 BdCnOul BTSwis721 BdCnOul BT
Swis721 BdOul BTSwis721 BdOul BT
Swis721 Blk BTSwis721 Blk BT
Swis721 BlkCn BTSwis721 BlkCn BT
Swis721 BlkEx BTSwis721 BlkEx BT
Swis721 BlkOul BTSwis721 BlkOul BT
Swis721 BTSwis721 BT
Swis721 Cn BTSwis721 Cn BT
Swis721 Ex BTSwis721 Ex BT
Swis721 Lt BTSwis721 Lt BT
Swis721 LtCn BTSwis721 LtCn BT
Swis721 LtEx BTSwis721 LtEx BT
SyastroSyastro
SylfaenSylfaen
SymapSymap
SymathSymath
SymbolSymbol
SymeteoSymeteo
SymusicSymusic
TahomaTahoma
TechnicTechnic
TechnicBoldTechnicBold
TechnicLiteTechnicLite
Tempus Sans ITCTempus Sans ITC
Times New RomanTimes New Roman
Trebuchet MSTrebuchet MS
TxtTxt
UD デジタル 教科書体 N-BUD Digi Kyokasho N-B
UD デジタル 教科書体 N-RUD Digi Kyokasho N-R
UD デジタル 教科書体 NK-BUD Digi Kyokasho NK-B
UD デジタル 教科書体 NK-RUD Digi Kyokasho NK-R
UD デジタル 教科書体 NP-BUD Digi Kyokasho NP-B
UD デジタル 教科書体 NP-RUD Digi Kyokasho NP-R
UniversalMath1 BTUniversalMath1 BT
VerdanaVerdana
Vineta BTVineta BT
WebdingsWebdings
WingdingsWingdings
Wingdings 2Wingdings 2
Wingdings 3Wingdings 3
Yu Gothic UIYu Gothic UI
Yu Gothic UI LightYu Gothic UI Light
Yu Gothic UI SemiboldYu Gothic UI Semibold
Yu Gothic UI SemilightYu Gothic UI Semilight
メイリオMeiryo
游ゴシックYu Gothic
游ゴシック LightYu Gothic Light
游ゴシック MediumYu Gothic Medium
游明朝Yu Mincho
游明朝 DemiboldYu Mincho Demibold
游明朝 LightYu Mincho Light
MS ゴシックMS Gothic
MS 明朝MS Mincho
MS PゴシックMS PGothic
MS P明朝MS PMincho

おやおや、Futura が入ってないですね、後で入れておくとしましょう。

全くの余談ですが、古本屋でインプレス社が発行した 「TrueTypeフォントパーフェクトコレクション(CD-ROMつき)」というのを見つけたら、絶対に買い逃してはいけません。