Help:Extension:WebFonts

Story: As a user, I can find on this page what I need to know about web fonts, so that I can use it without being confused about it.

Many languages do not have proper fonts easily available. This may be because the operating systems do not ship these fonts, the script has fonts but users don't know from where they will get them or how to install them in their system, or even the user is reading the wiki from a shared computer without these fonts. Sometimes it may be because the user does not know how to configure the operating system for a language or the user does not have enough permissions to do this. Because of all these reasons, providing the content in certain languages is facing issues. This extension tries to solve this by embedding the fonts in the wiki itself. Fonts will be served from the server and the user's system would not need to have the fonts installed.

Usage
When the extension is installed and enabled, along with the login, preferences link in the wiki page, a menu will appear to select a font for the page. By default, the first font in that menu will be applied to the wiki. A user can change the font and it will be remembered across the pages. Optionally user can disable the font embedding too, this choice will also remembered across pages, even for next visits, for 30 days. The menu will not appear if there is no text in the page in a language WebFonts extension supports.

If the font is available in user's local system, font will not be downloaded from the MediaWiki server. It will be taken from the user's computer. Otherwise, the font will be downloaded from the server the first time it is needed. Next time onwards, the font will be taken from the local cache.

Disabling Webfonts extension
To disable the extension for your user account, go to Preferences -> Apprearance -> Uncheck Enable Webfonts option.

List of supported scripts, languages and fonts
There is web fonts support for many scripts. Below you can find an exhaustive list of all scripts that are currently supported and the languages they are active for by default.

Arabic script

 * Iranian Sans

Bengali script

 * Lohit Bengali (default)
 * Lohit Assamese

Devanagari script
Supported languages: Hindi (hi), Marathi (mr), Maithili (mai), Bhojpuri (bh, bho), Goan Konkani (???).


 * Lohit Devanagari
 * Samyak Devanagari (not available in menu because of rendering issues)
 * Madan (not available in menu because of rendering issues)

Ethiopic (Geʻez) script
Supported languages: Amharic (am).


 * AbyssinicaSIL

Gujarati script

 * Lohit Gujarati
 * Samyak Gujarati

Gurmuki script

 * Lohit Punjabi
 * Saab

Hebrew script

 * Miriam CLM
 * Taamey Frank CLM

Khmer script
Supported languages: Khmer (km).


 * KhmerOSbattambang
 * KhmerOSbokor
 * KhmerOSfreehand
 * KhmerOSmuol
 * KhmerOSmuollight
 * KhmerOSmuolpali
 * KhmerOSsiemreap

Kannada script

 * Kedage
 * Lohit Kannada

Latin script

 * Charis SIL - supports Min Dong Chinese
 * Perizia
 * RufScript
 * Ubuntu - stylized font made by Ubuntu

Malayalam script

 * AnjaliOldLipi
 * Meera
 * RaghuMalayalam

Myanmar (Burmese) script

 * Masterpiece Uni Sans
 * Myanmar3
 * Padauk-Regular
 * Yunghkio

Oriya script

 * Lohit Oriya
 * Utkal

Saurashtra script

 * Pagul

Tamil script

 * Lohit Tamil
 * Thendral
 * Thenee

Telugu script

 * Lohit Telugu
 * Pothana2000
 * Vemana2000

Advanced use
There are two ways in wiki text to request web font functionality. Text can either be tagged with a language code and with a specific font style. When language tagging is used, the default web font for that language will be used. Language tagging is necessary when the language is different from the language of a page. Examples are given below:

Some Hindi text here

Some Devanagari text here

Some Devanagari text here

Limitation and known issues
Even if the browser supports web fonts, there is no guarantee that it can render the text correctly. This is often a problem for example in Indic scripts, where the glyphs are not placed one after another without any changes, like in latin and cyrillic scripts. The correct rendering and rendering quality depends both on the browser and the operating system that is used. Modern browsers and operating systems perform pretty well, but older browsers (like Internet Explorer 6) and operating systems (like Windows XP) have problems.

Because of the flash of unstyled text (FOUT) that happens on first load, this technology gets unpractical if the font files grow very big. This prevents us from adding fonts for Chinese for example. WebFonts extension does not partial font downloading, where only those glyphs that are used in the page would be loaded.

Web fonts are currently not supported for Internet explorer 6 on any Windows or Internet Explorer 8 on Windows XP.

List of known issues is in MediaWiki bug tracker.

Issues and new languages
Only free fonts can be used for web fonts. The font license must allow redistributing the font and converting it to another formats. Furthermore bugs or bad rendering caused by missing hinting information in the font may prevent its use as a web font. If you know a suitable font you can request it to be added in bug tracker.

Issues should be reported to bug tracker. Product Mediawiki extensions and WebFonts component.

WebFonts is maintained by the Wikimedia Localisation team.

For Technical details, see Extension:WebFonts

= TODO =
 * finish first version of documentation (Siebrand/Amir/Gerard)