# Default Fonts in all operating systems

Gold Member
I am writing software, and I want it to be compatible with all operating systems. I have searched some sites, and I have decided to use Bookman, Georgia, and Tahoma. They seem to be default for windows, but I cannot say the same thing for Mac and Linux or other operating systems. What are the safest but also good looking default fonts that I can pick to write the code?

.Scott
Homework Helper
In Ubuntu, a popular version of Linux:
LibreOffice Writer (the equivalent of "Word") starts up in "Liberation Serif";
LibreOffice Impress (the equivalent of "PowerPoint") starts up in "Liberation Sans"; and
LibreOffice Calc (the equivalent of Excel) also starts up in "Liberation Sans".

FactChecker
Gold Member
Times New Roman seems to have been accepted virtually everywhere. It is as old as the hills. Many publications may default to other fonts for a variety of reasons, but that is not the same as saying that those fonts are the most universally available.

harborsparrow
.Scott
Homework Helper
Times New Roman is not available in the default installations of Ubuntu or LibreOffice.

I don't believe that Times New Roman is available under the GNU General Public License or any similar "free" license. It and numerous variants have been released with Windows OS's.

Arman777 and FactChecker
FactChecker
Gold Member
Times New Roman is not available in the default installations of Ubuntu or LibreOffice.

I don't believe that Times New Roman is available under the GNU General Public License or any similar "free" license. It and numerous variants have been released with Windows OS's.
I stand corrected. It is the default in my LibreOffice Writer for Windows. I wonder if I downloaded more fonts years ago and have forgotten.

anorlunda
Staff Emeritus
You also need to specify the use. Times and Arial were designed for printing, while Georgia and Verdana were designed for onscreen viewing. We may think the differences are minor, but font designers put a lot of effort into incrementally small improvements.

It is perfectly logical to use the same software to produce printed documents and onscreen viewable documents.

PeterDonis
Mentor
2020 Award
Times New Roman is not available in the default installations of Ubuntu or LibreOffice.
You can get it in Ubuntu by enabling the multiverse repository and installing the ttf-mscorefonts-installer package. That also makes it available in LibreOffice.

I don't believe that Times New Roman is available under the GNU General Public License or any similar "free" license. It and numerous variants have been released with Windows OS's.
AFAIK the license even for the Linux install I mentioned above, while it isn't an Open Source license, is pretty permissive as far as documents are concerned. I don't know about applications, though.

.Scott
Homework Helper
It is the default in my LibreOffice Writer for Windows. I wonder if I downloaded more fonts years ago and have forgotten.
If you are running Windows, you didn't need to install it. Microsoft owns the rights to use it. LibreOffice will use whatever is available in the OS.

FactChecker
PeterDonis
Mentor
2020 Award
What are the safest but also good looking default fonts that I can pick to write the code?
Why does your software have to depend on specific fonts?

.Scott
Homework Helper
It is perfectly logical to use the same software to produce printed documents and onscreen viewable documents.
As an example, HTML pages can use style blocks ( <style>...</style> - often in *.css files ) to specify how the font is selected and within a <style> block, "@media print" can be used to specify alternative fonts (and other style controls) for use when the HTML page is printed.

Arman777
FactChecker
Gold Member
Why does your software have to depend on specific fonts?
I know from experience that picking a font that is not available can lead to trouble. If the font is not found, the font search may end on Wingdings and lead to surprising results.

Arman777
PeterDonis
Mentor
2020 Award
I know from experience that picking a font that is not available can lead to trouble.
Yes, but every OS, AFAIK, gives programs a way to ask what fonts are available, or to say something like "pick the default serif font". That's why I'm wondering what kind of software the OP is writing that requires specific fonts to be chosen.

Arman777 and FactChecker
Gold Member
What I mean by software is actually the GRTC GUI program that I am working on. Its not going to run on web page. But the problem some operating system might not have the fonts that I am talking about (Tahoma, Bookmark, Georgia). I know that I can use Arial or Times new roman etc but I was looking for something more exotic (different looking) fonts but also exist in many systems...This is not an interesting question I know. Its just kind of a curiosty.

Gold Member
Why does your software have to depend on specific fonts?
It does not have to be, but the fonts that I have chosen looks good w.r.t the default font. If theres not a good loooking font that I can use I am not going to change my code for it. But if there's then I might.

PeterDonis
Mentor
2020 Award
It does not have to be but the fonts that I have chosen looks good
Why is the font appearance so important? What kind of software is it?

Staff Emeritus
Why does your software have to depend on specific fonts?
This is a very good question.

Also, the operating system doesn't know about fonts. That's the job of the display manager, of which there are several, not always with a 1:1 mapping with OS. For example, Linux can use X11 or Wayland, or even both.

But more to the point "compatible with all operating systems" is a much bigger task than picking the right default font. That's maybe 0.1% of the work.

Last edited:
pbuk
.Scott
Homework Helper
It does not have to be, but the fonts that I have chosen looks good w.r.t the default font. If theres not a good looking font that I can use I am not going to change my code for it. But if there's then I might.
The normal way to do this is to specify a list of fonts, font families or other font characteristics, then choose the first one in the list that is available.
Using HTML as an example again, you can specify:
Code:
<style>
.whatever {
font-family: "Times New Roman", Times, serif;
}
</style>

See: HtML css font selection

.Scott
Homework Helper
Why is the font appearance so important? What kind of software is it?
I rarely cite a software engineer for being too anal.

Gold Member
Why is the font appearance so important?
Okay sooo here is the difference between the two fonts.

Without a spesific font

with Tahoma, Georgia and Bookman

and the look is important for me.
What kind of software is it?
I am using Windows but I want the program to work in every operating system without problem (IF thats possbile) I am not a real computer geek but it seems that the fonts might cause an error. Ofc anyone can change the source code of the GUI. But that might be too much work for some people.
But more to the point "compatible with all operating systems" is a much bigger tasks than picking the right default font. That's maybe 0.1% of the work.
That's true. For now all I can think is the fonts that can cause compatiblity issues..Ofc there might be many more that I cannot know/think right now. But ofc if the code can work on linux or mac thats much better for me.
The normal way to do this is to specify a list of fonts, font families or other font characteristics, then choose the first one in the list that is available.
Using HTML as an example again, you can specify:
I have tried the font-family thing in the PySimpleGUI but it does not work..

I have noticed that when the font does not exist in the system (the PySimpleGUI automatically picks the default font without giving any error. Thats good at least.

PeterDonis
Mentor
2020 Award
I am using Windows but I want the program to work in every operating system without problem (IF thats possbile)
There are ways to do it for at least the three major OS's--some GUI frameworks, such as Qt, support Windows, Linux, and Mac OS--but it's difficult to really get a consistent look for things like fonts.

I would suggest making the fonts user configurable; that way the program could start out with a default font but the user could change it if they don't like the look.

Ofc anyone can change the source code of the GUI.
How would they do that?

jtbell
Mentor
Is this for programming code that only programmers would see, or for text that would be displayed for an "end user" e.g. on a web page?

Under MacOS, the standard text editor that comes with the system, TextEdit, uses a sans-serif monospace font named Menlo as its default. At least I think it's the default. I don't remember reconfiguring it when I bought a new iMac a year ago, with a MacOS several versions higher than the one I had been using on my ancient Mac Pro.

Among the fonts you mentioned, TextEdit's font selector also offers Georgia and Tahoma, but not Bookman, which I remember using long ago in an earlier version of MacOS. All of these are proportional fonts (not monospace).

As an old-school programmer who "grew up" on card-punch machines, then on ASCII video terminals with a fixed character width, I've always used monospace fonts for programming code, including HTML. Maybe tastes are different now?

Other monospace fonts that I've used under MacOS (and are offered by TextEdit) are Monaco (sans-serif) and Courier (serif).

Gold Member
There are ways to do it for at least the three major OS's--some GUI frameworks, such as Qt, support Windows, Linux, and Mac OS--but it's difficult to really get a consistent look for things like fonts.
PySimpleGUI also work on multiple platforms.

"Hardware and OS Support. PySimpleGUI runs on Windows, Linux and Mac, just like tkinter, Qt, WxPython and Remi do. If you can get the underlying GUI Framework installed / running on your machine then PySimpleGUI will also run there."

I would suggest making the fonts user configurable; that way the program could start out with a default font but the user could change it if they don't like the look.
I guess I can do that.

I am not sure you guys checked my github page but the entire code is written in python and it seems that the fonts also does not cause problem. If the font does not exist in the system the PySimpleGUI picks the default font.

How would they do that?
Its not so hard actually. They need to go GRTC_GUI.py file, search the 'font' keyword and change the font manually. It only takes couple of minutes to change it. But ofc someone who does not know python or does not want to bother with this have to stuck with the default font.

Gold Member
Is this for programming code that only programmers would see, or for text that would be displayed for an "end user" e.g. on a web page?
Well its a GUI. If you run a GRTC_GUI.py file inside the GRTC Main folder, the PySimpleGUI will create that interface. Its not displayed on a web-page or somewhere else. .py file Runs the GUI itself.

Under MacOS, the standard text editor that comes with the system, TextEdit, uses a sans-serif monospace font named Menlo as its default. At least I think it's the default. I don't remember reconfiguring it when I bought a new iMac a year ago, with a MacOS several versions higher than the one I had been using on my ancient Mac Pro.

Among the fonts you mentioned, TextEdit's font selector also offers Georgia and Tahoma, but not Bookman, which I remember using long ago in an earlier version of MacOS. All of these are proportional fonts (not monospace).

As an old-school programmer who "grew up" on card-punch machines, then on ASCII video terminals with a fixed character width, I've always used monospace fonts for programming code, including HTML. Maybe tastes are different now?

Other monospace fonts that I've used under MacOS (and are offered by TextEdit) are Monaco (sans-serif) and Courier (serif).
I'll consider that to change the font ... or maybe some settings option to change the font to whatever user likes .. But these possibblities requires more work.

Gold Member
Thats a good looking site. Thanks

Greg Bernhardt