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 Font**Config 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.

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.

Is the style of the ?FarsiWeb fonts for Farsi suitable to use them as the defaults for both Farsi and Arabic language locales? Need to verify licensing of ?FarsiWeb fonts:

Unmodulated: Roya ? Scheherazade (OFL)

Modulated: Nazli ?

Hebrew:

Unmodulated: Ezra SIL (OFL)

East Asian Scripts

Chinese:

Unmodulated: Same as modulated one (see note below)

Modulated: AR PL Shan Hei Sun Uni (APL). ( 宋 Song/Sung/Sun ) style.

Screen: Currently probably must remain the same as the modulated one: In the near future, we expect Wen Quan Yi Bitmap Font 文泉驿 (GPL) will be preferred once the fontconfig bitmap-in-TTF issues on Linux are resolved.
Nota bene:

The chinese font style matching 'unmodulated' is Hei style (黑体). All publicly available Hei style fonts are commercial ones. "AR PL ZenKai Uni" is in "楷体" style (Kai style), which is used generally for artistic purposes, but rarely on screen. Nor is it an unmodulated one.

As people in the Taiwan Area, HK/Macao, SE Asia, N America and the mainland appear to disagree on the preferable looks of traditional (Hant) glyphs, and as these design differences within the Sinosphere seem to be of more or less the same severity as differences between hanzi and hanja fonts (the latter of which apparently follow the Kangxi Dictionary, whose designs were also still palatable enough in parts of the Sinosphere to make it into Windows' MingLiU hanzi font where they have only recently been replaced with other shapes/variants), perhaps somebody should find out how pronounced, systematic or even explicit those intra-Hant preferences are and whether they would justify splitting this section into different regions. (For examples of intra-Hant differences either in minor shape details or in preferred glyph variants, see 1·2·3·4)

There are a number of screenshots on the WWW showing Kai style in UIs, so it seems it is not quite that rare.

Wen Quan Yi is a truetype font containing bitmap glyphs only, so it doesn't work very well with vanilla fontconfig. Patch for fontconfig is needed. Besides, it can't be used for high-quality printing.

FreeFont: Set of free fonts with the goal of covering all of Unicode. FreeFont has a reputation for sacrificing quality in favor of coverage.

Computer Modern Unicode: Set of fonts derived from Donald Knuth's Computer Modern family, usually gotten using automatic tracing of bitmaps generated by Metafont. Supports Latin, most Cyrillic and Greek glyphs.

Abyssinica SIL : Smart font for the Ethiopic script (Amharic). Based on Ethiopic calligraphic traditions. Supports all Ethiopic characters which are in Unicode including the Unicode 4.1 extensions. Some languages of Ethiopia represented in the Private Use Area. [Regular - no other weights planned]

CJKUnifonts: AR PL ?ShanHeiSun Uni and AR PL ?ZenKai Uni fonts, which currently support Big5, GB2312, HKSCS-2004 and Vietnamese (precomposed Latin glyphs). Additional support for Minnan and Hakka languages is work in progress.

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

Non-free fonts

Code2000 and Code2001: Code2000 covers a wide range of the BMP and includes opentype tables for some scripts; itâs a very good font to have for anyone interested in internationalization. Code2001 has characters beyond the BMP. (Code2000 is shareware, Code2001 is freeware)

Microsoft's Core Web Fonts: Microsoft's TrueType Arial, Verdana, Times New Roman, and a couple of other fonts. These may legally be installed on a Linux computer, under the terms of the accompanying EULA. They cover most Western and Central European characters, and some other characters including Greek, Cyrillic, Arabic, and Hebrew.

Porson: A really nice font for greek, based on the famous typeface which was originally cut from a transcript of Euripides' Medea in the hand of the preeminent nineteenth century classical scholar Richard Porson, of Cambridge.

STIX: fonts for the scientific and engineering community. not yet released.