|
.NET TIPS
システムにインストールされているフォントの一覧を取得するには?[C#、VB]
デジタルアドバンテージ 遠藤 孝信
2009/10/22 |
 |
|
Windowsシステムにはさまざまなフォントがインストールされているが、そのようなフォントの一覧をコードで取得するには、InstalledFontCollectionクラス(System.Drawing.Text名前空間)を使用する。このクラスをインスタンス化すれば、そのFamiliesプロパティから、FontFamilyクラス(System.Drawing名前空間)のオブジェクトの配列として、フォント一覧が取得できる。
FontFamilyクラスは、1つの「フォント・ファミリ」を表すクラスで、フォント・ファミリとは同じ書体で太さや傾きなどが異なるフォントをグループ化したものだ。その名前は、Nameプロパティから取得できる。
次のコードは、システムにインストールされているフォント一覧を取得し、各フォントの名前を表示するサンプル・プログラムである。
// enumfontfamily.cs
using System;
using System.Drawing;
using System.Drawing.Text;
class EnumFontFamily {
static void Main() {
InstalledFontCollection fonts = new InstalledFontCollection();
FontFamily[] ffArray = fonts.Families;
foreach (FontFamily ff in ffArray) {
Console.WriteLine(ff.Name);
}
// 出力例:
// Aharoni
// Andalus
// Angsana New
// AngsanaUPC
// Aparajita
// Arabic Typesetting
// Arial
// Arial Black
// Arial Narrow
// Arial Unicode MS
// ……以下省略……
}
}
// コンパイル方法:csc enumfontfamily.cs
|
' enumfontfamily.vb
Imports System
Imports System.Drawing
Imports System.Drawing.Text
Class EnumFontFamily
Shared Sub Main()
Dim fonts As New InstalledFontCollection()
Dim ffArray As FontFamily() = fonts.Families
For Each ff As FontFamily In ffArray
Console.WriteLine(ff.Name)
Next
' 出力例:
' Aharoni
' Andalus
' Angsana New
' AngsanaUPC
' Aparajita
' Arabic Typesetting
' Arial
' Arial Black
' Arial Narrow
' Arial Unicode MS
' ……以下省略……
End Sub
End Class
' コンパイル方法:vbc enumfontfamily.vb
|
|
インストールされているフォント一覧を表示するサンプル・プログラム(上:C#、下:VB) |
ちなみに、インストールされているフォントをWindowsのデスクトップで確認するには、エクスプローラで「C:\Windows\Fonts」ディレクトリを表示すればよい。
カテゴリ:クラス・ライブラリ 処理対象:フォント
使用ライブラリ:InstalledFontCollectionクラス(System.Drawing.Text名前空間)
使用ライブラリ:FontFamilyクラス(System.Drawing名前空間)
|
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間