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 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.

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

  • Ethiopic: Abyssinica SIL (OFL)
  • Tifinagh: Hapax Berber (Public Domain and GPL)
    • 2nd choice: Dejavu Sans (Vera-style FLOSS licence)
  • Latin (African Reference or Pan-Nigerian Alphabet):
    • Unmodulated (Sans): Deja Vu Sans (Vera-style FLOSS licence)
    • Modulated (Serif): Deja Vu Serif (Vera-style FLOSS license). Gentium (OFL) over Deja Vu Serif?
    • Screen: Deja Vu Sans (Vera-style FLOSS license)
    • Monospace: Deja Vu Sans Mono (Vera-style FLOSS license)

American Scripts

  • Unified Canadian Syllabics:
  • Cherokee: MPH 2B Damase (Public Domain?)

European Scripts

  • Armenian:
  • Cyrillic:
    • Unmodulated (Sans): Deja Vu Sans (Vera-style FLOSS licence)
    • Modulated (Serif): Deja Vu Serif (Vera-style FLOSS license). Anybody want to vote for Gentium (OFL) over Deja Vu Serif?
    • Screen: Deja Vu Sans (Vera-style FLOSS license)
    • Monospace: Deja Vu Sans Mono (Vera-style FLOSS license)
  • Georgian:
    • Unmodulated: BPG Glaho (GPL)
    • Modulated: BPG Chveulebrivi (GPL)
    • Monospace: BPG Courier (GPL)
  • Greek:
    • Unmodulated (Sans): ?MgOpen Moderna (Vera-style FLOSS license)
    • Modulated (Serif): ?MgOpen Canonica (Vera-style FLOSS license)
    • Monospace: DejaVu Sans Mono (Vera-style FLOSS license)
  • Latin:
    • Unmodulated (Sans): Deja Vu Sans (Vera-style FLOSS licence)
      • 2nd choice : Andika (OFL)
      • 3rd choice: Linux Libertine (GPL + OFL)
    • Modulated (Serif): Deja Vu Serif (Vera-style FLOSS license). Would anyone like to submit votes for Gentium (OFL) over Deja Vu Serif?
    • Screen: Deja Vu Sans (Vera-style FLOSS license)
    • Monospace: Deja Vu Sans Mono (Vera-style FLOSS license) --
      • 2nd choice: Inconsolata (OFL)

Middle East Fonts

  • Arabic:
    • 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:
      • Recent Chinese Unicode font projects make the division into simplified (简体字) vs. traditional (繁體字/正體字) fonts obsolete.
      • 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.
  • Japanese:
    • Unmodulated: Sazanami Gothic (project-specific BSD-like DFSG compatible)
    • Modulated: Sazanami Mincho (project-specific BSD-like DFSG compatible)
    • Screen: Sazanami Gothic (project-specific BSD-like DFSG compatible)
  • Korean:
    • Unmodulated: Un Dotum (GPL)
    • Modulated: Un Batang (GPL)
    • Screen: Either of the above
    • Monospace:
      • 1st choice: Un Dotum
      • 2nd choice: Eun Guseul Mono (GPL), combining with DejaVu Sans Mono (Vera-style FLOSS license)
    • For Middle Korean, the only free Unicode font is Un JamoBatang (GPL).
  • Mongolian:
    • “FLOSS systems do not yet support Mongolian. There are a number of problems…” (EH Trager 2006; the same goes for Xibe, Manchu, and pre-1930 Tuvan)
  • Yi:
    • SIL YI (OFL)
  • Tai Le:

South Asian Scripts

  • 9 major scripts of official languages in India full font list
    • Bengali:
    • Devanagari:
    • Gujarati:
    • Gurmukhi (Punjabi):
    • Kannada:
    • Malayalam:
    • Oriya:
    • Tamil:
    • Telugu:
  • Sinhala:
    • LKLUG (GPL)
  • Tibetan/ Dzonghka
    • Modulated: THDL Tibetan Machine Unicode (GPL)
    • Jomolhari (OFL)

Southeast Asian Scripts

  • Burmese:
    • Unmodulated: Padauk (OFL)
    • Myanmar1 (LGPL)
    • Parabaik (OFL)
  • Khmer:
    • Fonts from http://khmeros.info:
    • Unmodulated: Khmer OS Freehand (LGPL)
    • Modulated: Khmer OS (LGPL)
    • Screen: Khmer OS System (LGPL)
  • Lao:
    • Phetsarath OT (LGPL)
  • Thai:
    • National Font Project fonts available from the Thai Linux Working Group (TLWG):
    • Unmodulated: Garuda (GPL)
    • Modulated: Norasi (GPL)
    • Screen: Loma (GPL)
  • Vietnamese:
    • Unmodulated (Sans): Deja Vu Sans (Vera-style FLOSS licence)
    • Modulated (Serif): Deja Vu Serif (Vera-style FLOSS license)
    • From urwvn fonts (all GPL-2):
      • Unmodulated: Vn Nimbus Sans L, Vn URW Gothic L, Vn URW Grotesk T
      • Modulated: Vn Bitstream Charter, Vn Century Schoolbook L, Vn ?GaramondNo, Vn Nimbus Roman No9 L, Vn URW Bookman L, Vn URW Chancery L, Vn URW Palladio L
      • Monospace: Vn Nimbus Mono L

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

  • Bitstream Vera: Very high quality font which unfortunately only supports Western European languages. * DejaVu fonts: Bitstream Vera fonts derivatives with added features, covering Latin/Greek/Cyrillic including Combining Diacritics and Symbols. Experimental Serif Oblique fonts, Sans ExtraLight and Arabic, Armenian in DejaVu Sans. * Arev: Bitstream Vera Sans derivative with Greek, Cyrillic, Latin-A, Latin-B, Latin-Extended, IPA, Combining Diacritical Marks, Dingbats, and Symbol.
  • PakType: Pakistani typography.
  • Sampige: Kannada font.
  • Junicode: A serif font, for medievalists.
  • 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.
  • Saab: Saab is the first ever freely available, Unicode 4.0 compliant, OpenType, Gurmukhi font.
  • FarsiFonts: Set of high quality free fonts for Persian, developed by the FarsiWeb Project.
  • Nafees Web Naskh: The OTF font for Urdu web. The GPL release announcement from CRULP.
  • Charis SIL : Extended Roman/Latin, including phonetic transcription. Supports Unicode 4.1, includes smart font code for diacritic positioning. [Regular, Italic, Bold, Bold Italic] (large line height for special needs)
  • Gentium : Extended Roman/Latin, including phonetic transcription. Supports Unicode 3. [Regular, Italic] (award-winning design)
  • Doulos SIL : Extended Roman/Latin, including phonetic transcription. Supports Unicode 4.1, includes smart font code for diacritic positioning. [Regular] (large line height for special needs)
  • 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]
  • Padauk : Smart font for Myanmar
  • John Stracke's fonts: Several styled ASCII fonts
  • URWVN fonts: URW++ derived fonts with additional Vietnamese glyphs
  • 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.
  • SIL Yi : font for the Yi script
  • GFS Didot : Latin and Greek coverage.
  • GFS Bodoni : Latin and Greek coverage.
  • GFS Olga : Latin and Greek coverage.
  • GFS Neohellenic : Latin and Greek coverage.
  • GFS Porson : Latin and Greek coverage.
  • GFS Elpis : Latin and Greek coverage.
  • Many more open fonts from GFS: http://greekfontsociety.org/pages/en_typefaces1.html
  • Inconsolata: Latin Monospace.
  • Jomolhari : Tibetan and Dzonghka coverage
  • Ezra SIL Hebrew coverage.
  • Old Standard: Latin, Greek Cyrillic coverage.
  • Andika: Extended Latin coverage.
  • Linux Libertine Latin coverage.
  • Arkpandis.

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

Non-free fonts

  • TITUS Cyberbit Basic
  • 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.