Manchmal ist es wichtig zu prüfen, ob ein bestimmter Zeichensatz/Schriftart (Font) installiert ist.
Basierend auf diesem Stack-Overflow-Posting habe ich eine kleine Klasse geschrieben:
public static class FontInstalledChecker
{
private static readonly Dictionary<string, bool> IsInstalled =
new Dictionary<string, bool>();
public static bool IsFontInstalled(string fontName)
{
// Caching.
var fnl = fontName.ToLowerInvariant();
bool value;
if (IsInstalled.TryGetValue(fnl, out value))
{
return value;
}
using (var testFont = new Font(fontName, 8))
{
var r = fnl == testFont.Name.ToLowerInvariant();
IsInstalled[fnl] = r;
return r;
}
}
}
Die Anwendung ist denkbar einfach:
if (FontInstalledChecker.IsFontInstalled("Consolas"))
{
// ...
}