• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 905
  • Last Modified:

How do I check if a font exists on the user's computer?

I have code to install fonts, but I don't want to be running that code every time the user starts the program...only when the font does not exist.  So how do I check to see if the font is already loaded on the user's machine?
David L. Hansen
David L. Hansen
1 Solution
Allan NisbetOwner at Storm IT Solutions LTDCommented:
Imports System
Imports System.Windows.Forms
Imports System.Drawing.Text
Imports System.Drawing

Public Class MainClass
    Shared Sub Main(ByVal args As String())
        ' Get the installed fonts collection.
        Dim installed_fonts As New InstalledFontCollection

        ' Get an array of the system's font familiies.
        Dim font_families() As FontFamily = installed_fonts.Families()

        ' Display the font families.
        For Each font_family As FontFamily In font_families
            Console.Write (font_family.Name & ", ")
        Next font_family
    End Sub
End Class

Open in new window

This is a way to get all the fonts installed on a system

Use something like this
InstalledFontCollection installedFontCollection = new InstalledFontCollection();

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

Open in new window

Then compare the font you want to install with the array for a match

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Tackle projects and never again get stuck behind a technical roadblock.
Join Now