Software/Fonts

Fonts

Lists of Free/Libre and Open Unicode fonts

Draft Recommendations for Default Unicode Fonts By Script

Introduction

Free/Libre Open Source (FLOSS) desktop infrastructure has matured rapidly in the last few years. As part of this phenomenon, an increasing number of modern Unicode fonts for numerous human scripts have become available under FLOSS licenses such as the GPL, Vera Bitstream-style licenses, and, most recently, the Open Font License (OFL) http://scripts.sil.org/OFL. An additional number of fonts are available for "free download" under licensing terms that are not yet as clear as many in the Free/Open Source and Free Desktop community would like. A number of these Free/Libre and otherwise open Unicode fonts are referenced in Ed Trager's Unicode Font Guide For Free/Libre Open Source Operating Systems on unifont.org. Fonts specifically released under the OFL are referenced on SIL's OFL Fonts page on sil.org. URLs to both sites are provided above. Links to additional font resources may be found toward the bottom of this document.

As GNU/Linux and other Free Software / Open Source operating systems become mainstream all over the world, there is an increasing need for distributors of these operating systems to be able to build out font infrastructure from a common basis or set of standards.

This draft document represents the beginnings of one part of that effort and follows from a recent discussion at the GNOME User and Developer European Conference (GUADEC, http://guadec.org/) on figuring out the most appropriate FLOSS fonts that a distribution could choose for various Unicode script blocks. Earlier discussions at the Libre Graphics Meeting, the Ubuntu Summit and the LSB meetings also touched upon improving the situation with fonts on the free desktop at large.

The task of choosing a set of default fonts has both objective and subjective aspects to it.

On the objective side, it is obviously necessary to evaluate how well a given font covers a given script and the orthographies of human languages which use that script. It is also necessary to decide whether a font is easy to read on screen and on paper. In the case of Indic, Indic-derived and Middle Eastern scripts, it is often also necessary to evaluate the sets of ligatures and glyph substitutions that need to occur for proper orthographies.

On the subjective side, it is necessary to decide whether a font sufficiently agrees with a language community or nation's collective consciousness about how typeset letters and words should look. For example, by now most people who have been following the various debates on Unicode over the last few years are well aware that the Japanese have a slightly different standard from the Chinese on how many Kanji/Hanzi/漢字 should appear. A much less well-known example is that the Vietnamese, who use a Latin orthography in their modern writing, expect to see slightly greater vertical line spacing by default to accomodate the numerous diacritical marks that are required by their orthography.

Given the complex interaction between the objective and subjective tests that a font must "pass" in order to be accepted as a good default, it should be evident that it will very likely be impossible to please everyone in every language community. Limitations in current software, especially in how the FontConfig library can be configured, make it even more certain that pleasing everyone is an unrealistic goal.

Nevertheless, we trust that the combined and constructive efforts of the Free/Open Source community will lead to the genesis of a set of very reasonable defaults that will meet the needs of the majority of users in most language communities especially when fonts can be modified or branched thanks to an appropriate license.

Testing

For testing fonts, especially OpenType ones, please read http://pravin-s.blogspot.com/2008/02/how-to-test-open-type-fonts.html

Please collect test material on per-script pages and link them from the Software/Fonts/Tests page.

Notes About Terminology Used in Font Classification

The FontConfig library uses the terms serif, sans, and monospace to describe three distinct categories of fonts. In modern Western typography, these terms have reasonable meanings. However, when applied in a more global script context, these terms are less adequate. In a global context, it would be much better to use the terms modulated and unmodulated instead of serif and sans, respectively. A modulated font is one in which the thickness of the stroke varies visibly whereas an unmodulated font is one in which the thickness does not appear to vary appreciably when perceived by the human eye.

In this global script context, serif represents a subset of mostly Western fonts in the larger global set of all modulated fonts, while sans likewise represents a different subset of mostly Western fonts in the larger global set of unmodulated fonts.

Note also that monospace fonts can only be created for a limited subset of scripts in the world.

Finally, a number of vector and bitmap fonts have been carefully designed to maximize readability on computer screens. FontConfig does not currently distinguish a category of screen fonts. However, it is worthwhile for us to do so nevertheless.

Please put down the names of each font family along with the current license.

African Scripts

American Scripts

European Scripts

Middle East Fonts

East Asian Scripts

South Asian Scripts

Southeast Asian Scripts

Generic fonts.conf configuration file

A Linux distribution can fine tune the precise font that will be used to render a specific language/script using the configuration files found in /etc/fonts/

We made a list of such existing configuration files, at Software/Fonts/fonts.conf. If your distribution is not listed, please add the corresponding configuration file.

Free/libre/open fonts

Possibly future free/libre/open fonts (currently freeware)

Non-free fonts