Don’t hard-code font names and size

Don’t hard-code font names and size

Unless you have good reason to do otherwise, you should always use standard fonts in your programs, because this ensures that your application will work on every Windows system.

If you want to use non-standard fonts, you should at least adopt the following guidelines:

  • Assign the font to form and controls through code in the Form_Load event procedure, not directly to the form or the control at design time. Most important, protect the assignment with an On Error statement, so that if the font doesn’t exist you can still use the default font.
  • Provide the end user with a method to customize the font name and size, for example by editing an INI file or the Registry. Obviously, editing the Registry is a risky operation, and it should be performed only by experienced users, so usually the INI file is better. Alternatively, provide a distinct utility that configures the program through an easy-to-use interface.
While we’re on this topic, please note that in general Visual Basic doesn’t raise an error when you assign an unsupported size of a font, but silently uses the closest valid font size that is less than the requested size. Therefore, the only way to test if a given font size actually exists is to check that the assignment was successful. Here’s a routine that lets you assign a font size to any object, and returns True if the specified font size is supperted:

Function SetFontSize(obj As Object, FontSize As Integer) As Boolean    On Error Resume Next    obj.Font.Size = FontSize    SetFontSize = (obj.Font.Size = FontSize)End Function

See also  Redefining Energy Management: Advanced Solutions for Modern Buildings

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist