Linux Fonts

From Free Knowledge Base- The DUCK Project: information for everyone
Revision as of 21:50, 5 October 2024 by Littleguy (Talk | contribs)

Jump to: navigation, search

X.org Font Subsystems

X.org Font Subsystems

X.org and XFree86 use two font subsystems, each with different characteristics. The original ancient subsystem is the core X font subsystem. Fonts rendered by this subsystem are not anti-aliased, are handled by the X server. he newer font subsystem is known as "fontconfig", and allows applications direct access to the font files. Over time, fontconfig/Xft will replace the core X font subsystem.

Font Discussions on this Wiki

There are some pages which are related to this topic.

Sans serif fonts on Linux, or I can't tell I from l when they look alike but not exactly like 1. Also the search for a good Slashed zero font on linux is important to a lot of users.

Learn how to use Mint Linux Installing Fonts System-Wide which also applies to Ubuntu and some information to all Linux distributions.

The Ubuntu Font Family

The Ubuntu Font Family emerged around 2010 and the technical font design work and implementation was undertaken by Dalton Maag and released for Ubuntu 10.10. He used software tools such as Fontlab Studio as well as, and sadly, Microsoft Visual Truetype (VTT).

Early Linux users were troubled by learning that there were few fonts available and many were proprietary or public domain. Obviously, proprietary fonts would be legally incompatible with free software. A GPL Font Exception clause was created as part of the evolution of fonts being introduced into and made available for Linux distributions. The Font Exception satisfied the Free Software Foundation’s concerns, and was used by Red Hat in 2007 when it first released its Liberation Fonts.

The Bitstream Vera License granted users “the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software” so long as the copyright accompanied any use of the fonts. In addition, no derivative fonts could use the words “Bitstream” or “Vera” in their names and could not be sold alone.

Then later the SIL Font License enabled the rise of the free font movement, making Linux a practical choice for designers and artists. Today, it is the most popular free license for fonts. SIL International is a Christian academic organization and they developed new fonts to promote literacy in under developed countries. Revised in 2007, the SIL Font License went on to become the most popular license for free fonts. Although the requirement that a font using the license cannot be sold alone is technically a violation of the GPL, the requirement is so easy to fulfill that the SIL Font License is generally accepted as a free license.

True Type -vs- Open Type Fonts

  • TTF - TrueType (TTF) was jointly developed by Apple and Microsoft in the late 1980s as an alternative to Adobe‘s PostScript fonts.
  • OTF - OpenType (OTF) was later developed jointly by Microsoft and Adobe in the 1990s as an extension of TrueType. It incorporated support for PostScript font data and introduced new typographic features for advanced typesetting.

Both TTF and OTF are widely supported across mainstream operating systems today including Linux.

FontForge is an open source font editor that allows you to create, edit, and convert font files. It is the best tool for converting between TTF and OTF formats on Linux.

sudo apt install fontforge

Most Common Linux Fonts

What are the most common fonts found on most Linux systems? According to a CodeStyle survey in 2010 the most common Linux fonts on systems were: Century Schoolbook L, URW Chancery L, URW Gothic L, URW Bookman L, Nimbus Mono L, and Lucida Bright.

Fonts and Font Families common to Linux systems

  1. Bitstream Vera Fonts
  2. DejaVu Fonts
  3. GNU Free Fonts
  4. Liberation Fonts
  5. Linux Libertine and Biolinum Fonts
  6. Luxi Fonts
  7. Nimbus Fonts
  8. Gentium
  9. Charis

Font Anti-Aliasing

This one is not for everybody. Desktop fonts, text fonts in the web browser, and in many areas of the mint desktop environment are made to look soft and smooth, this is purely an aesthetics quality that offers no functionality. It looks pretty. It also gives some people a headache trying to read text on a web page or on the desktop that is fuzzy. If you disable what is called HINTING and ANTIALIASING then, with a good LCD monitor, your fonts will be sharp and crisp, but will also take you back in time to the 1990's in that they will appear jagged. So, therefore, this modification is a personal preference. I will trade the clean refinement of soft text in an effort to relieve my headache and eye strain.

To enable old fashioned jagged nasty looking (but sharp and easy on eye strain) fonts I have found this 1 - 2 punch combination to work.

1. drop to terminal shell and execute the following commands:

sudo mv /etc/fonts/conf.d/10-antialias.conf /etc/fonts/conf.d/.disable.10-antialias.conf
sudo mv /etc/fonts/conf.avail/10-antialias.conf /etc/fonts/conf.avail/.disable.10-antialias.conf

2. In Mint Cinnamon desktop goto MENU -> Preferences -> Fonts and in the "Font Settings" area change HINTING to "slight" and Antialiasing to "None"

In the case of Firefox I did not notice a difference right away. It seems like the system had to flush some visual cache but once that happened I got those good old fashioned jagged sharp text back. This impacts desktop icons, menu text, browser text, but some things are not impacted such as Konsole (the KDE terminal uses different font properties) and similar software.

The changes are easy to undo. Simply reverse the process above.

THERE ARE PROBABLY BETTER WAYS TO IMPROVE FONTS to find a happy middle ground between modern anti-aliasing and not having fuzzy headache inducing text. Some examples are making use of resources such as installing "Typecatcher Fonts"

sudo apt-get install typecatcher

Another option people recommend is installing something called "Droid and Noto fonts"

sudo apt-get install fonts-droid fonts-noto

And finally, going back to MENU -> Preferences -> Fonts you can configure the environment to use one of the new fonts you just installed.

Recommended Fonts for Your Linux System

Recommended Fonts For Linux - The Best Fonts for Linux Users

According to Linux Assembly their article Best Fonts for Linux contains their curated a list of the best fonts that will take your Linux system to the next level.

  1. Cascadia - designed for use in code editors and terminal emulators, such as Visual Studio Code and Bash.
  2. Fira Code - download the TrueType font file from GitHub and install it on your system. excellent compatibility with editors like Visual Studio Code, JetBrains...
  3. Hack - mentioned in Slashed zero font and available from Github
  4. Inconsolata - mentioned in Slashed zero font and available directly from the Ubuntu repository
  5. Iosevka - highly legible even at small sizes. supports a wide range of characters, including ASCII symbols and special characters used in programming languages.
  6. JetBrains mono - a free and open-source font w support for ligatures, ASCII support and good for developers.
  7. Meslo NF - monospaced font is specifically designed for coding and programming
  8. Monoid - offers aesthetic appeal. includes a variety of symbols, punctuation marks, and icons
  9. Ubuntu Monospace - useful for developers, used for a variety of purposes, such as creating QR codes, designing icons.
  10. SourceCode Pro - monospaced font. extensive language support, making it versatile for coding in different programming languages.
  11. VT323 - monospaced font, retro style,
  12. Victor Mono - monospaced, minimalistic design, good for code editor or terminal emulator.
  13. Monaco - known for its clean and crisp appearance and good for tiny font size.
  14. Fantasque Sans Mono - compatible with various programming languages and text editors. In the repository use apt install.

Early Linux System Fonts

History of Fonts in Linux. In its earliest stages, Linux primarily ran in a text-based console environment. The focus was on terminal fonts, which were simple bitmap fonts designed for clarity on low-resolution monitors. These fonts were monospaced and fixed-width. In early distributions, console fonts were often based on the IBM PC code page 437. These fonts displayed well in the console but were quite limited in style and usability beyond the terminal. The default VGA console font was often used in early Linux systems, featuring an 8x16 pixel size.

With the introduction of the X Window System (X11) systems continued to use bitmap fonts, which were stored as fixed sizes and could not scale well. A very early font provided by X11 was misc-fixed, a bitmap, monospaced font. Early versions of X11 also shipped with Adobe BDF (Bitmap Distribution Format) fonts, which were non-scalable bitmap fonts designed for X applications.

The introduction of TrueType and Type1 fonts in the late 1990s allowed more flexibility and higher quality rendering for the X environment. Type1 Fonts were originally developed by Adobe for PostScript printers and supported by the X Window System. Early distributions included Type1 fonts like URW Nimbus.

The 1996 FreeType Project was an open-source software library designed for rendering fonts. FreeType provided high-quality support for both TrueType and Type1 fonts, making scalable fonts accessible to Linux systems. This was a game changer for X and a much better font system. TrueType fonts (TTF) became widely popular. Web developers were encouraged in Using TrueType Core Fonts for the Web. These TrueType fonts were widely used in web design. Linux users began to install these fonts to ensure compatibility with web pages and documents created on Windows systems. Early efforts to bring these fonts to Linux included packages like msttcorefonts.

The DejaVu font family emerged from the Bitstream Vera fonts and quickly became the standard in many Linux distributions due to its wide character support, readability, and open license. This was another option but did not become as popular as True Type. DejaVu Fonts and Liberation Fonts are among the modern fonts used in linux systems today as well as the Ubuntu Font Family.