Default Control Font - Best Practices

My understanding of he system font is that it is dependent on system settings and therefore can change based on the user’s settings. The advantage of this is that it will scale based on their setting, i.e. a larger font. However I have opened numerous RealStudio/Xojo apps where the system font is used and the interface looks mangled because the system font is actually larger than what will display in the button it belongs to.

Is it not better to specify a specific font, say Arial 12, and ensure that font displays properly on its button? Granted this will not scale but what good is a scaling font if it doesn’t display appropriately on the control it is belongs to.

What is the best practice here?

My thoughts were the same until today. I watched a conversation about font usage and Thom said he uses Source Code Proi. And quite frankly this font is just so much easier on the eye. Try it!

Wayne, I think that conversation was related to the best font for use in the code editor in the development environment. What I am talking about is the font used for controls in your application, say on a button that the end user will see.

If you specify a font like Source Code for a button text and the user does not have that installed on their computer then it will substitute a font, probably system’s UI font, which complicates this even more - you’re developing seeing one thing but your users will see something different. Including that font in your application is probably a violation of the owner of that fonts EULA.

However if you specify something that you know will be installed on the users computer such as Arial you’re guaranteed they will see what you see. BUT it will not scale, let’s say if the user has gone to their control panel to increase font size to say 125%.

You say having System font and setting a fixed size? Like pick the button and set System 12pt instead of 0pt as the default?

My rule is to always use the system font for standard controls and perhaps a custom one only on non-standard controls.
I understand that if the user select a very big font, all controls looks mangled, but this behavior is then system wide: all standard controls of all applications will look the same.
So, if the user likes to have push buttons with Old English font at 36 pt. size I don’t see why I have to force him to another font. And sure he will not complain with me for that, since all his applications will look the same.

In general, I think an application should always try to honor the system settings. For fonts, sizes, color, formats and whatever.
Not doing this, in my experience, makes users very angry. And I agree with them.

1 Like

I can confirm this. I use Source Code Pro from months now, and it’s very clear to read. I also make less typing errors.

But this is another topic.