Como: Enumerar fontes instaladas

O InstalledFontCollection classe herda de FontCollection abstrata classe de base. Você pode usar um InstalledFontCollection o objeto para enumerar as fontes instaladas no computador. O Families propriedade de um InstalledFontCollection objeto é uma matriz de FontFamily objetos.

Exemplo

O exemplo a seguir lista os nomes de todas as famílias de fontes instaladas no computador. O código recupera o Name propriedade de cada FontFamily a matriz retornada por objeto de Families propriedade. Como os nomes da família são recuperados, eles são concatenados à lista de forma separada um por vírgulas. Em seguida, a DrawString método o Graphics classe desenha a lista separada por vírgulas em um retângulo.

Se você executar o código de exemplo, a saída será semelhante ao mostrado na ilustração a seguir.

Fontes instaladas

FontFamily fontFamily = new FontFamily("Arial");
Font font = new Font(
   fontFamily,
   8,
   FontStyle.Regular,
   GraphicsUnit.Point);
RectangleF rectF = new RectangleF(10, 10, 500, 500);
SolidBrush solidBrush = new SolidBrush(Color.Black);

string familyName;
string familyList = "";
FontFamily[] fontFamilies;

InstalledFontCollection installedFontCollection = new InstalledFontCollection();

// Get the array of FontFamily objects.
fontFamilies = installedFontCollection.Families;

// The loop below creates a large string that is a comma-separated
// list of all font family names.

int count = fontFamilies.Length;
for (int j = 0; j < count; ++j)
{
    familyName = fontFamilies[j].Name;
    familyList = familyList + familyName;
    familyList = familyList + ",  ";
}

// Draw the large string (list of all families) in a rectangle.
e.Graphics.DrawString(familyList, font, solidBrush, rectF);

Compilando o código

O exemplo anterior é projetado para uso com o Windows Forms e requer PaintEventArgs e, que é um parâmetro de PaintEventHandler. Além disso, você deve importar o System.Drawing.Text namespace.

Consulte também

Outros recursos

Usando fontes e texto