Skip to main content

Script and Font Support in Windows

Since before Windows 2000, text-display support for new scripts has been added in each major release of Windows. This article describes changes made in each major release.

Note that support for a script may require certain changes to text stack components as well as changes to fonts. The Windows operating system has many text stack components: DirectWrite, GDI, Uniscribe, GDI+, WPF, RichEdit, ComCtl32, and others. The information provided here pertains primarily to GDI and DirectWrite. It is also generally applicable to UI frameworks such as RichEdit or the MSHTML rendering agent used for Windows 8 Metro style apps and for rendering Web content, though those components may exhibit certain differences.

Comments on language usage are included in cases in which associations between scripts and languages may not be well known. The list of languages for any given script is not necessarily exhaustive.

On This Page

Windows 2000Windows 2000

Windows XPWindows XP

Windows XP SP2Windows XP SP2

Windows VistaWindows Vista

Windows 7Windows 7

Windows 8Windows 8

Windows 8.1Windows 8.1 Preview

 

Windows 2000

Windows 2000 was the first version of the Windows operating system that included the Uniscribe component, usp10.dll. (The lpk.dll library, which provides the interfaces between Uniscribe and various GDI and User APIs, was also added.) Functional benefits of Uniscribe included:

  • Shaping support for complex scripts such as Arabic and Thai were brought together in a single library, allowing all language versions of Windows 2000 to be built from a single source and to display text in any supported script. (Previously, text-display support for particular languages was added to localized versions.)
  • Some new complex scripts were supported.
  • Font fallback for different scripts was provided. (This is done in Uniscribe ScriptString* APIs that are typically used in UI components.)

Support for basic Latin, Greek, Cyrillic and CJK existed with APIs in Windows NT 4.0 and Windows ME. ("Basic" here means no combining marks, and Unicode Basic Multilingual Plane only.) In relation to complex scripts, support for Arabic, Hebrew and Thai existed in previous versions and was consolidated in Windows 2000 in the Uniscribe component. Various GDI mechanisms that may have originated in East Asian versions (font association, EUDC font support, and "JPN98FixPitch" display mode) were all present in the consolidated code base for Windows 2000.

The following table lists scripts newly supported in Windows 2000, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
ArmenianEurasiaSylfaen 
DevanagariIndian subcontinentMangalUsed for many languages including Hindi, Marathi, Sanskrit
GeorgianEurasiaSylfaen 
TamilIndian subcontinentLatha 

In a default setup, not all scripts are necessarily enabled. In the Regional Options control panel (intl.cpl), the General tab includes a list of sixteen language/script categories (“language groups”) that can be individually enabled or disabled. (The language group for the UI language cannot be disabled, however.) When a language group is enabled, various support files are copied from the CD, including fonts; in the case of "complex-script" language groups (Arabic, Hebrew, Indic, Thai, and Vietnamese), registry entries to activate Uniscribe are also added.

The sixteen language groups available on Windows 2000 are: Arabic, Armenian, Baltic, Central European, Cyrillic, Georgian, Greek, Hebrew, Indic, Japanese, Korean, Simplified Chinese, Thai, Traditional Chinese, Turkic, Vietnamese, Western Europe and United States. For more details, see the Configurable Language and Cultural Settings topic.

A surrogates shaping engine was also added to Uniscribe to allow display of Unicode supplementary-plane characters in the GDI text stack. (GDI supports wide characters but does not understand UTF-16 surrogate pairs.) See the Surrogates and Supplementary Characters topic for details on the extent of support for supplementary-plan characters. Windows 2000 did not include fonts for any supplementary-plane characters.

Top of pageTop of page

Windows XP

The following table lists scripts newly supported in Windows XP, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
GujaratiIndian subcontinentShruti 
GurmukhiIndian subcontinentRaaviUsed in India for the Punjabi language
KannadaIndian subcontinentTunga 
SyriacMiddle EastEstrangelo Edessa 
TeluguIndian subcontinentGautami 
ThaanaIndian subcontinentMV BoliUsed for the Divehi language

The font fallback mechanism in Uniscribe was extended to support fallback for Unicode supplementary planes: for each plane from 1 to 16, a single fallback font can be specified in the registry.

This change, along with earlier changes in Windows 2000, to support supplementary-plane characters allows Windows XP to support CJK Extension B characters.

Note: all of the scripts mentioned are supported on Windows XP, but enablement is not activated for all of them on all language versions of Windows XP. The Regional and Language Options control panel (intl.cpl) has two option controls: one to enable "complex script and right-to-left languages" (Arabic, Hebrew, Thaana, Indic scripts and Thai), and one to enable CJK (Chinese, Japanese, and Korean). Each of these may be enabled or disabled by default, depending on the language version. CJK fonts are not installed by default on non-CJK versions but are included in the distrbution media and will be installed when CJK support is enabled.

Top of pageTop of page

Windows XP SP2

The following table lists scripts newly supported in Windows XP SP2, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
BanglaIndian subcontinentVrindaUsed for the Assamese language as well as Bangla
MalayalamIndian subcontinentKartika 

As with Windows XP (RTM), the Regional and Language Options control panel (intl.cpl) has two option controls to enable "complex script and right-to-left languages" (Arabic, Hebrew, Thaana, Indic scripts and Thai) and CJK (Chinese, Japanese, Korean). One effect of these options is to enable the Uniscribe component within the text stack. Whereas in the RTM version, Uniscribe is not enabled by default in all SKUs, in SP2 it is always enabled by default.

Top of pageTop of page

Windows Vista

The following table lists scripts newly supported in Windows Vista, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
Canadian SyllabicsNorth AmericaEuphemiaUsed for several languages, including Inuktitut and Cree
CherokeeNorth AmericaPlantagenet 
EthiopicAfricaNyalaUsed for Amharic, Tigrinya, and other languages
KhmerSoutheast AsiaDaunPenh
MoolBoran
 
LaoSoutheast AsiaDokChampa 
MongolianNorth AsiaMongolian Baiti 
OdiaIndian subcontinentKalinga 
SinhalaIndian subcontinentIskoola Pota 
TibetanCentral AsiaMicrosoft Himalaya 
YiChinaMicrosoft Yi Baiti 

In Windows Vista and later versions, text-display support for all scripts and languages is always enabled in all editions.

Character coverage for several already-supported scripts was extended to Unicode 4.1 or 5.0. Several fonts were updated accordingly. In particular, support for Latin, Greek, Cyrillic, Hebrew and Arabic was extended in the "core" fonts:

  • Arial
  • Courier New
  • Microsoft Sans Serif
  • Tahoma
  • Times New Roman

(The new Aero-theme UI font, Segoe UI, also provides Unicode 5.0 support for Latin, Greek, Cyrillic and Arabic.) Unicode 5.0 additions were also made to other Arabic fonts as well as several of the Indic-script fonts.

Extension B fonts for the SimSun and MingLiU families were added, as well as a variation of MingLiU with HKSCS support.

The Uighur language uses Arabic script, which was already supported. However, a different font is required for Uighur typography. The Microsoft Uighur font was added to support this.

Uniscribe's font fallback mechanism for Unicode supplementary planes was enhanced to support different fallback fonts depending on the starting font. In this way, fallback for CJK Extension B characters uses appropriate fonts for the given language. For example, for UI displayed using the SimSun font (Simplified Chinese), the fallback font for Extension B is SimSun-ExtB.

New APIs were added to Uniscribe to support OpenType advanced typographic functionality in non-complex scripts. This provides a way for clients to expose advanced font capabilities such as language-specific glyphs; discretionary ligatures; true typographic small caps, superscripts and subscripts; old-style as well as tabular digits.

Windows Vista includes the Cambria Math font, which has additional tables used to support layout of mathematical formulas. Special software support is also required to render math formulas, however. This is provided in Microsoft Office 2007, but not in Windows Vista text-stack components.

Prior to Windows Vista, Uniscribe had Arabic, Hebrew and Thai shaping engines that worked with legacy, pre-OpenType fonts, but not for fonts that support those scripts using OpenType glyph substitution and positioning mechanisms. The versions of fonts for Arabic, Hebrew and Thai that shipped in Windows Vista were changed to use OpenType. This means that those fonts will not work with earlier versions of Uniscribe.

Top of pageTop of page

Windows 7

The following table lists scripts newly supported in Windows 7, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
Braille Segoe UI Symbol 
DeseretNorth AmericaSegoe UI Symbol 
New Tai LueChinaMicrosoft New Tai LueUsed for the Xishuangbanna Dai language
OghamEuropeSegoe UI SymbolHistoric, used for English and Irish
OsmanyaAfricaEbrimaHistoric script from East Africa (Somalia)
Phags-paNorth AsiaMicrosoft PhagsPaHistoric, used for several languages including Mongolian, Chinese, Tibetan and Sanskrit
RunicEuropeSegoe UI Symbol 
Symbols Segoe UI Symbol 
Tai LeChinaMicrosoft Tai LeUsed for the Dehong Dai language
TifinaghAfricaEbrimaUsed for Tamazight and other Amazigh languages
VaiAfricaEbrima 

Note: The Segoe UI Symbol font contains a subset of Unicode-encoded symbols. It is not a symbol charset-encoded font.

In Windows 7, some true bold fonts were added to support better UI display for Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Khmer, Lao, Malayalam, Oriya, Sinhala, Tamil and Telugu script. Some fonts for already-supported scripts were updated to include support for Unicode 5.1.

Windows 7 added support for Unicode variation-selector sequences for Phags-pa script and math symbols. This support makes use of OpenType format 14 cmap subtables in Microsoft PhagsPa and Cambria Math fonts.

As part of on-going work to provide next-generation graphics, Windows 7 introduced a new text stack, DirectWrite. The OpenType and complex-script functionality that has been part of Uniscribe was fully integrated into the DirectWrite text stack with the result that the DirectWrite and GDI text stacks have complete parity in script and language support.

Top of pageTop of page

Windows 8

The following table lists scripts newly supported in Windows 8, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
GlagoliticEuropeSegoe UI SymbolHistoric
GothicEuropeSegoe UI SymbolHistoric
Old HangulEast AsiaMalgun GothicHistoric, used in historic Korean texts
Old ItalicEuropeSegoe UI SymbolHistoric
LisuChina, Southeast AsiaSegoe UILisu
MyanmarSoutheast AsiaMyanmar TextMyanmar, Shan, Karen
N'KoAfricaEbrimaN'Ko and other Manding languages
OrkhonChinaSegoe UI SymbolHistoric

Some significant changes were introduced into Unicode version 5.2 in relation to the encoding of Old Hangul text. These changes enable products that can support Korean Standard KS X 1026-1:2007. In earlier versions of Windows, Uniscribe included support for shaping Old Hangul text, though not in accordance with the KS X 1026-1:2007 standard. In Windows 8, Uniscribe and DirectWrite provide suport for Old Hangul text in accordance with the Korean standard, and font support for Old Hangul text is also now included.

In Windows 7, Unicode variation sequences were supported for certain scenarios only. In Windows 8, Unicode variation sequences are fully supported in GDI and DirectWrite text stacks. In particular, ideographic variation sequences used in Japan are supported, and the Japanese fonts in Windows 8 support a number of ideographic variation sequences.

For certain previously-supported scripts, the fonts used for the Windows user interface were changed in Windows 8. In some cases, support for a scripts was added to an existing font (such as Segoe UI); in other cases, entirely new UI fonts for those scripts were added. The UI font changes are as follows:

  • Ebrima font: updated to add support for Ethiopic and NʼKo scripts
  • Gadugi font: new font for Canadian Aboriginal Syllabics and Cherokee scripts
  • Microsoft JhengHei UI: new font for Traditional Chinese script
  • Microsoft YaHei UI: new font for Simplified Chinese script
  • Nirmala UI: new font for South Asian scripts (Bangla, Devanagari, Gujarati, Malayalam, Odia, Telugu)
  • Segoe UI (certain weights): updated to add support for Arabic, Armenian, Georgian (Mkhedruli), Georgian Khutsuri, Hebrew scripts

Among additional fonts added for previously-supported scripts is the Urdu Typesetting font, which supports Arabic script in Nastaliq style (sometimes referred to as Perso-Arabic script).

In Windows 7, the Segoe UI Symbol font was added to provide support for many symbols encoded in Unicode. This font has been significantly updated in Windows 8 to support many more symbols, including complete support for Emoji characters used in Japan and elsewhere.

Among other significant updates to fonts from Windows 7 is the addition of support for CJK Extension C and Extension D characters in the SimSun-ExtB and MingLiU-ExtB fonts.

In Windows 7, both Uniscribe and DirectWrite provided support for OpenType advanced typographic capabilities, including OpenType features, such as typographic small caps or stylistic sets, and language specific forms. This functionality was not supported in Windows UI frameworks, however. As a result, advanced typographic capabilities were never visible in the Windows shell and were not well supported in applications. These capabilities are better supported in Windows 8, enabling higher quality typography in the Windows Store apps developed for Windows 8. The CSS3 -ms-font-feature-settings property exposes OpenType capabilities and is supported in the MSHTML rendering engine used by IE10 and Windows Store apps built using HTML and JavaScript. For XAML, advanced OpenType capabilities that were supported in WPF and Silverlight are also supported in the Windows Runtime XAML framework.

Top of pageTop of page

Windows 8.1 Preview

The following table lists scripts newly supported in Windows 8.1, and associated fonts:

New scriptsRegion where script is fromFontsComments on language usage
BugineseSoutheast AsiaLeelawadee UIBuginese
CopticMiddle EastSegoe UI SymbolHistoric
JavaneseSoutheast AsiaJavanese TextJavanese
Meroitic CursiveMiddle EastSegoe UI SymbolHistoric
Ol ChikiIndian SubcontinentNirmala UISantali
Sora SompengIndian SubcontinentNirmala UISora

For the previously-supported Khmer, Lao and Thai scripts, the fonts used for the Windows user interface were changed in Windows 8.1:

  • Khmer: the Windows 8 UI font was Khmer UI; Windows 8.1 uses Leelawadee UI
  • Lao: the Windows 8 UI font was Lao UI; Windows 8.1 uses Leelawadee UI
  • Thai: the Windows 8 UI font was Leelawadee; Windows 8.1 uses Leelawadee UI

Also, for several font families, new weights were added to extend the font weight options for content and app creators:

  • Microsoft JhengHei UI: added Light weight
  • Microsoft YaHei UI: added Light weight
  • Nirmala UI: added Semilight weight
  • Myanmar Text: added Bold weight
  • Segoe UI: Black and Black Italic weights added (Latin, Greek and Cyrillic only)

Character coverage for previously-supported Arabic and Hebrew scripts was extended in several fonts to include all characters in Unicode 6.2:

  • Arabic script: Arial, Courier New, Microsoft Sans Serif, Segoe UI, Tahoma, Times New Roman
  • Hebrew script: Aharoni Bold, Arial, Courier New, David, FrankRuehl, Levinim MT, Microsoft Sans Serif, Miriam, Miriam Fixed, Rod, Segoe UI, Tahoma, Times New Roman

A significant font addition is the Segoe UI Emoji font, and color font support. Color fonts use an extension to the OpenType font specification. Color font rendering using the Segoe UI Emoji font allows emoji symbol characters to be displayed using full-color glyphs that are also scalable because they use TrueType glyph outlines. Color emoji display is supported in the DWrite text stack and enabled by default in the HTML and XAML application UI frameworks used for Windows Store apps and in the Windows shell.

Another addition in Windows 8.1 is a collection of fonts with members optimized for different optical sizes: Sitka Small, Sitka Text, Sitka Subheading, Sitka Heading, Sitka Display, and Sitka Banner. These fonts are designed to be used together in documents with elements at different sizes to provide readability and typographic consistency. The Sitka fonts have basic Latin, Greek and Cyrillic coverage. They are intended for use for print or on-screen content, but not for UI.

Top of pageTop of page