未分類

C# インストールされているフォントを取得する (4)

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストビュー (listView) を配置します。

サンプルコード (C#)

// 名前空間の追加
using System.Drawing.Text;

// コード
private void Form1_Load(object sender, EventArgs e)
{
  listView1.View = View.Details;
  listView1.Columns.Add("フォント名", 100, HorizontalAlignment.Left);
  ListViewItem lvi;

  foreach (FontFamily item in (new InstalledFontCollection()).Families)
  {
    lvi = listView1.Items.Add(item.Name);
    if (item.IsStyleAvailable(FontStyle.Regular))
    {
      lvi.Font = new Font(item, 10);
      continue;
    }
    if (item.IsStyleAvailable(FontStyle.Bold))
    {
      lvi.Font = new Font(item, 10, FontStyle.Bold);
      continue;
    }
    if (item.IsStyleAvailable(FontStyle.Italic))
    {
      lvi.Font = new Font(item, 10, FontStyle.Italic);
      continue;
    }
  }
}

解説

システムにインストールされているフォントを全てリストビューに出力します。同時にそのフォントファミリー情報から実際のフォントを作成してアイテムに設定も行っています。フォントによってはレギュラースタイルを持っていないものもありますので、レギュラー→ボールド→イタリックの順でスタイルが有効かをチェックしてスタイルを設定しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類