Fonts
To discuss the content of this page, visit Talk:Fonts (it's the link labeled Discussion above).
Introduction
Because the OLPC will be used in many different countries with different writing systems and scripts, it needs to have fairly broad font support. In addition, the OLPC is targetted at regions where there are currently very few computers in use. This means that existing fonts may not support the full set of glyphs required. The OLPC relies on the Unicode support in GTK+/Pango, Python, and Linux in order to input, manipulate and display text. There are many Unicode fonts available but in order to be used on the OLPC, we either need an open-source font (preferable) or a license to use the font.
Unicode Fonts
In order to help us out, please review the fonts on these pages (and elsewhere). For fonts not on the pages linked below, list the names of the fonts, the type of license (Free/Open Source or commercial) along with a URL pointing to the open source licence or contact information for the font owner. Please, if it is a commercial font, do not just list a company name such as Microsoft or Bitstream. We need an actual contact within the commercial organization that can issue a licence.
There is extensive information on Open Source fonts at this site. And there is an open source text editor called Yudit that can be used to write multiple scripts/languages including bidirectional support.
There is no problem with finding Unicode fonts for Western and Eastern Europe, Russian and other languages written in the Cyrillic alphabet, Greek, and Hebrew.
Arabic Alphabet
[[1]] Arabic and Arabic-derived, including the following:
Persian, Dari Azeri, Kazakh, Kirghiz, Uzbek
[[2]] Sindhi and Parkari
[[3]] Urdu, Baluchi, Brahui, Kashmiri, Lahnda, Shahmukhi, and others
African Fonts
Ethiopic
Used to write Amharic, Bilen, Oromo, Tigré, Tigrinya, and other languages. It evolved from the script for classical Ge'ez, which is now strictly a liturgical language.
[[4]]
Abyssinica SIL "If you wanted to distribute SIL fonts, you would need an OEM license..."
Pan-Nigerian
This uses the Latin-Extended ranges supported by Gentium.
Indic Fonts
There are ten official writing systems in India, including Latin for English. Here are links for the other nine.
Bengali
Supported by Alphabetum, a commercial font which can be licensed from the author.
[[5]]
Devanagari
[[6]] Used to write Sanskrit, Hindi, Marathi, Nepalese, and other languages.
Gujarati
[[7]]
Gurmukhi
Gurmukhi is the alphabet used to write Punjabi.
[[8]]
Kannada
[[9]]
Malayalam
[[10]]
Oriya
[[11]]
Tamil
[[12]]
Telugu
[[13]]
Southeast Asian
Burmese (Myanmar)
[[14]]
Khmer (Cambodia, Kampuchea)
[[15]]
Lao
[[16]]
Sinhala (Sri Lanka)
[[17]]
Thai
[[18]]
Vietnamese
[[19]]
Central Asian
Tibetan
[[20]] Supported by Tibetan Machine Uni which is available under the GNU General Public License. The Tibetan script and language is a particulary complex one. This article gives some background and guides you step by step through writing the word drup which is not nearly as simple as it seems.
- More resources for the Tibetan script; Getting Started with Unicode Tibetan, Tibetan support in Pango has been available since Dec. 2004. If you use GTK+ 2.0 applications, Tibetan should work with the appropriate fonts. User:Simosx 11:10, 18 June 2006 (EDT)
Mongolian
[[21]]
Liturgical Scripts
In the cultures which use special liturgical scripts, religious instruction is an important part of the child's education. To fully support this, beyond the use of scanned books compressed into DJVU format, the OLPC would need to contain fonts for the appropriate liturgical scripts.
Coptic
The Coptic script is used by Ethopia's Coptic Christians.
Syriac
The Syriac script is used to write the Aramaic language used in the Orthodox Christian church headed by the Patriarch of Antioch. Followers of this church are found in various middle eastern countries such as Syria and Lebanon.
Old Church Slavonic
This script is commonly used in the Russian Orthodox church and related Orthodox churches to write the Old Church Slavonic language. Church services are spoken/sung in this language and many people read the bible in this language. Due to the fact that the Russian language has been heavily influenced by Old Church Slavonic over the centuries, most children are able to learn the language in religious studies classes without language-specific instruction.
Other Writing Systems
Armenian
[[22]]
Georgian
[[23]]
Thaana
[[24]]
Cherokee
[[25]]
Canadian Aboriginal Syllabics
[[26]]
Braille Patterns
[[27]]
Scripts in Pilot Countries
The OLPC will be initially distributed to about half a dozen countries as part of a Pilot program. In this section we list the generic language/script requirements for this list of countries.
Brazil
- Latin
China
- Mongolian
- Simplified chinese Simplified Chinese(简体字)
- Tibetan Tibetan script(བོད་ཡིག)
- Traditional Chinese Traditional Chinese(繁体字/正体字)
- Uyghur:(شىنجاڭ ئۇيغۇر ئاپتونوم رايونى)
India
- Bengali Bengali(বাংলা লিপি)
- Devanagari Devanagari(देवनागरी)
- Gujarati Gujarati(ગુજરાતી(
- Gurmukhi Gurmukhi(ਗੁਰਮੁਖੀ)
- Kannada Kannada(ಕನ್ನಡ)
- Limbu Limbu
- Malayalam Malayalam(മലയാളം)
- Oriya Oriya
- Sinhala Sinhala
- Syloti Nagri Syloti Nagri
- Tamil Tamil(தமிழ்)
- Telugu Telugu
Nigeria
- Pan-Nigerian (latin with extensions)
Thailand
- Thai Thai script(คอลัมน์ประจำวัน)
General list of Scripts
List of Scripts can be found at unicode website [[28]] most of them are not available in the Projects listed below. Table of scripts, languages, countries [[29]]
Font Projects
It is not clear yet whether the OLPC will be using fontconfig to manage the fonts. In case it does, then, for Latin/Greek/Cyrillic-based languages there might be a need for a triplet of font faces: sans, serif and monospace. For other scripts, these three faces do not apply, therefore only one font is required.
The current main font used in most Linux distributions (Fedora, Ubuntu, SuSE, Debian, etc) is Bitstream Vera. Bitstream Vera supports Basic Latin/Latin-1 and a small proportion of Latin Extended.
The lack of coverage of Latin Extended, Greek, Cyrillic created several derivative font projects.
One of those derivatives is DejaVu, which at version 2.6 supports Basic Latin/Latin-1/Latin Extended/Cyrillic/Greek/Greek Polytonic and other Unicode ranges. DejaVu also supports Unicode symbols (dingbats (PDF), arrows (PDF), etc) which may make it more appealing to kids as they can easily add them to their documents.
DejaVu is also the default font in Ubuntu 6.06 which was released on 1st June 2006. It is one of the first distributions that has good font support by default for Latin, Cyrillic and Greek at the same time.
See PDF samples of the DejaVu fonts.
Open fonts catalogs
To find more quality free/libre/open smart fonts with wide Unicode coverage see Fonts under the Open Font License and Unicode Font Guide For Free/Libre Open Source Operating Systems.
Debian Linux fonts
The following Free non-Latin font packages are included in Debian Linux Testing.
Package | Description | Fonts |
---|---|---|
ttf-alee | free Hangul truetype fonts made by A Lee. | Bandal, Bangwool, Guseul, Eunjin, and EunjinNakseo |
ttf-arabeyes | Arabeyes GPL TrueType Arabic fonts | 39 fonts |
ttf-Arhangai | Sans Serif font that supports the Mongolian Cyrillic alphabet | Arhangai |
ttf-arphic-bkai00mp | Arphic Technology Chinese TrueType font, "Arphic Public License". | AR PL KaitiM Big5 |
ttf-arphic-bsmi00lp | Arphic Technology Chinese TrueType font, "Arphic Public License". | AR PL Mingti2L Big5 |
ttf-arphic-gbsn00lp | Arphic Technology Chinese TrueType font, "Arphic Public License". | AR PL SungtiL GB |
ttf-arphic-gkai00mp | Arphic Technology Chinese TrueType font, "Arphic Public License". | AR PL KaitiM GB |
ttf-arphic-ukai | Arphic Technology Chinese TrueType font, "Arphic Public License". | AR PL ZenKai Uni |
ttf-arphic-uming | Arphic Technology Chinese TrueType font, "Arphic Public License". | AR PL ShanHeiSun Uni |
ttf-baekmuk | Korean fonts | Batang, Dotum, Gulim, Hline |
ttf-bengali-fonts | GPL Bengali fonts | 7 fonts |
ttf-bitstream-vera | Western European languages (ISO-8859-1, ISO-8859-15) and Turkish (ISO-8859-9) | Vera, Vera Sans, Vera Mono |
ttf-bgp-georgian-fonts | Georgian fonts provided by BPG-InfoTech | Chveulebrivi, Courier, Elite, Glaho, Rioni, Unicode |
ttf-dejavu | Vera font family extended to fully cover Latin Ext-A, Latin Ext-B, Cyrillic and Greek ranges and also parts of Arabic, Hebrew and some other ranges. | Mono, Sans, Serif |
ttf-devanagari-fonts | TrueType and OpenType fonts under GPL for Hindi, Marathi, Nepali, and Sanskrit | Gargi, Chandas, Kalimati, Lohit, Samanata |
ttf-dzongkha | Fonts for language of Bhutan | Dzongkha, Jomolhari |
ttf-farsiweb | Unicode Persian fonts | Titr, Nazli, Nazli Bold, and Homa |
ttf-freefont | Unicode fonts, covering Latin extensions, Greek, Cyrillic, Hebrew, Arabic, IPA, Thaana, Devanagari, Bengali, Gurmukhi, Tamil, Telugu, Malayalam, Sinhala, Thai, Georgian, Ethiopic, Kana | FreeMono, FreeSans, FreeSerif |
ttf-gentium | Extended Latin, IPA, Ancient and Modern Greek, Cyrillic | Gentium |
ttf-gujarati-fonts | TrueType and OpenType fonts released under the GNU General Public License for the Gujarati Language | Rekha, Aakar, Lohit-Gu, Padmaa |
ttf-indic-fonts | A package that depends on all the Indic font packages. Provides an easy way to install them all at once. | |
ttf-isabella | based on the calligraphic hand used in the Isabella Breviary, made around 1497, in Holland, for Isabella of Castille, the first queen of united Spain. It covers all European languages written in the Latin script (with the exception of Sami) and covers all ISO-8859 with the exception of the non-Latin character sets. | Isabella |
ttf-Junicode | TrueType Unicode font targetted at medievalists, but including the full range of characters for languages written in the Latin script, International Phonetic Alphabet, Uralic Phonetic Alphabet and Runic | one font per Unicode range covered |
ttf-kacst | TrueType Arabic fonts released by the King Abdulaziz City for Science and Technology (KACST) | Art, Book, Decorative, Digital, Farsi, One, OneFixed, Poster, Qurn, Title, TitleL (outline) |
ttf-kannada-fonts | TrueType and OpenType fonts released under the GNU General Public License for the Kannada Language | Kedage, Malige |
ttf-khmeros | Free fonts for the Khmer language, used in Cambodia, developed by the Khmer Software Iniative, part of the Open Forum of Cambodia. | KhmerOS, System, FreeHand, FastHand, Muol, Metal Chieng |
ttf-kochi-gothic | Japanese gothic TrueType font | Kochi Gothic |
ttf-kochi-mincho | Japanese Mincho TrueType font | Kochi Mincho |
ttf-lao | TrueType font for Lao language | Phetsarath_OT |
ttf-malayalam | a set of TrueType and OpenType fonts released under the GNU General Public License for the Malayalam Language. | Racotf04, Malayalam |
ttf-mikichan | handwritten Japanese truetype font | Mikachan, Mikachan Proportional, Mikachan Proportional Bold, Mikachan Proportional Small |
ttf-mph-2b-damase | SuperUnicode font, including ranges in Plane 1 and ranges added in Unicode (4.1). Some of these ranges include Tifinagh, Kharosthi, hPhags-pa, Old Persian Cuneiform, Limbu etc. | MPH 2B Damase |
ttf-nafees | free OpenType Urdu fonts from the Center for Research in Urdu Language Processing (CRULP, http://www.crulp.org/) at National University of Computer and Emerging Sciences | NafeesWeb.ttf |
ttf-opensymbol | TrueType font, containing symbols (like fonts as Wingdings(tm)), bullets (needed for bullets in OpenOffice.org) and non-latin characters. | OpenSymbol |
ttf-oriya-fonts | TrueType and OpenType fonts released under the GNU General Public License for the Oriya Language | Utkal |
ttf-paktype | OpenType Urdu fonts, designed and developed by the PakType volunteers. | Naqsh, Tehreer |
ttf-punjabi-fonts | TrueType and OpenType fonts released under the GNU General Public License for the Punjabi Language | Saab, Lohit-PA |
ttf-sazanami-gothic | Japanese free Gothic TrueType font, generated from Wadalab font kit | Sazanami Gothic |
ttf-sazanami-mincho | Japanese free Mincho TrueType font | Sazanami Mincho |
ttf-sil-abyssinica | smart Unicode font for the Ethiopic script, including all languages of Ethiopia | Abyssinica SIL |
ttf-sil-charis | smart Unicode font family for Roman or Cyrillic-based writing systems, with near-complete coverage of all the characters defined in Unicode 4.0 for Latin and Cyrillic, plus linguistics symbols | Charis SIL |
ttf-sil-doulos | smart Unicode font family for Roman or Cyrillic-based writing systems, with near-complete coverage of all the characters defined in Unicode 4.0 for Latin and Cyrillic, plus linguistics symbols | Doulos SIL |
ttf-summersby | partial Unicode support
including most West European and Cyrillic languages |
Summersby |
ttf-tamil-fonts | OpenType fonts released under the GNU General Public License for the Tamil Language. | Kadampari, Kalyani, Maduram, Comic, Paranar, Times |
ttf-telugu-fonts | OpenType fonts released under the GNU General Public License for the Telugu Language | Pothana2000, Vemana |
ttf-thai-tlwg | free-licensed TrueType fonts, enhanced by developers from Thai Linux Working Group. | Garuda, Norasi, Loma, Tlwg Mono, Tlwg Typewriter, Purisa |
ttf-thryomanes | Unicode font covering Latin, Greek, Cyrillic and IPA | Thryomanes |
ttf-tmuni | font for Tibetan, Dzongkha and Ladakhi (OpenType Unicode) | Tibetan Machine Uni |
ttf-unfonts | Un series Korean TrueType fonts | Batang, Bom, Dotum, Graphic, Gungseo, Novel, Sora, Pen, Heulim, Pilgi, Shinmun, Taza, Yetgeul |
ttf-uralic | Uralic fonts containing additional letters used in most Uralic languages using the Cyrillic writing system - Khanty (all dialects), Komi, Mansi (without marking long vowels), Mari, Nenets, Selkup and Udmurt. The fonts also support Altai, Chukchi, Even, Evenki, Koryak and Nanai. | Bookman, Chancery, Gothic, Mono, Palladio, Roman, Sans, Sans Condensed, Schoolbook |
ttf-vlgothic | beautiful Japanese free Gothic TrueType font based on ttf-sazanami-gothic and mplus font developed by Project Vine | VL-Gothic-Regular |
Other
sans | serif | monospaced |
---|---|---|
DejaVu Sans (LGC), MgOpenCanonica (lG), | DejaVu Serif (LGC), Gentium (LGc), MgOpenCosmetica, MgOpenModata (???), MgOpenModerna (???) | DejaVu Sans Mono (LGC), |
Garuda (l, Thai) |
L: Covers Latin-based scripts (Basic Latin, Latin-1, Latin Extended) l: Covers Latin-based scripts (Basic Latin, Latin-1) G: Covers Greek (modern, ancient) g: Covers Greek (modern) C: Covers Cyrillic, full table c: Covers Cyrillic, basic support
lgc is adequate for more uses such as Spanish, Portuguese, Greek and Russian.
Assuming that fontconfig will be used, there is a need of a triplet (sans, serif, monospace).
- Feel free to populate the table above.
- Any hints on CJK or complex scripts?
FAQ
Q. The main Latin font does not currently support Thai. What can we do?
A. fontconfig supports font preference lists, that is, you can have several different fonts that when combined, can cover as much as possible from the Unicode character space.
For example, if Garuda (Thai font) is suitable for Thai text only, you set first preference to DejaVu and second preference to Garuda. Non-Thai text will be with DejaVu and Thai text with Garuda. If you prefer Garuda for Basic Latin/Thai and no other fonts available, simply put Garuda in the preference list. If you want Garda for Basic Latin/Thai and any other characters from DejaVu, set first preference to Garuda and second preference to DejaVu.
expand