Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sprawdzanie istnienia czcionki

0 views
Skip to first unread message

Maciej Litwiniuk

unread,
Dec 1, 2006, 7:33:01 AM12/1/06
to
Witam szanowne grono!

W pisanej obecnie aplikacji zaistniała potrzeba sprawdzenia istnienia
(specyficznej) czcionki przy każdym uruchomieniu. Oczywiście można
to robić iterując po liście czcionek w systemie, jednak takie
rozwiązanie jest bardzo czasochłonne, gdy w systemie istnieje sporo
(>500) zainstalowanych czcionek. Zastanawiam się więc, czy istnieje
jakaś sprytniejsza metoda sprawdzająca niż poniższa:
private bool FontExists(string name)
{
for (int i = 0; i <= System.Drawing.FontFamily.Families.Length - 1;
i++)
{
if (System.Drawing.FontFamily.Families[i].Name == name)
{
return true;
}
}
return false;
}

Z góry dziękuję za wszelkie sugestie bądź rozwiązania.

Pozdrawiam,
Maciej Litwiniuk

Wiktor Zychla

unread,
Dec 1, 2006, 8:35:45 AM12/1/06
to
> Z góry dziękuję za wszelkie sugestie bądź rozwiązania.

wykorzystałbym cechę systemu, który dla nazwy czcionki sam dobiera jej
odpowiednik, jesli dana czcionka nie istniejesze:

bool FontExists( string FontName )

{

using ( Font f = new Font( FontName, 12 ) )

return f.Name == FontName;

}


MessageBox.Show( FontExists( "Courier New" ).ToString() );

MessageBox.Show( FontExists( "qwe" ).ToString() );

MessageBox.Show( FontExists( "Tahoma" ).ToString() );

daje mi:

True

False

True


Wiktor Zychla


0 new messages