Prüfen, ob eine Schriftart installiert ist

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"))
{
    // ...
}