DirectWrite
Encyclopedia
DirectWrite is a text-layout and glyph-rendering API
by Microsoft
. It was designed to replace GDI
/GDI+ and Uniscribe
for screen-oriented rendering and was shipped with Windows 7 and Windows Server 2008 R2
, as well as Windows Vista
and Windows Server 2008 (with Platform Update installed and Platform Update Supplement for Windows Vista and for Windows Server 2008(KB2117917) & KB2505189 update installed.
Microsoft has fixed many DirectWrite bugs in Windows 7 through Windows 7 Service Pack 1(SP1) and KB2505438 update.
‡ No default system font provided in Windows. Braille, Ogham, and Runic are supported by Segoe UI Symbol.
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
by Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
. It was designed to replace GDI
Graphics Device Interface
The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component responsible for representing graphical objects and transmitting them to output devices such as monitors and printers....
/GDI+ and Uniscribe
Uniscribe
Uniscribe is the Microsoft Windows set of services for rendering Unicode-encoded text, especially complex text layout. They are implemented in the DLL USP10.DLL. USP10.dll became available to the public with Windows 2000 and Internet Explorer 5.0...
for screen-oriented rendering and was shipped with Windows 7 and Windows Server 2008 R2
Windows Server 2008 R2
Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...
, as well as Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
and Windows Server 2008 (with Platform Update installed and Platform Update Supplement for Windows Vista and for Windows Server 2008(KB2117917) & KB2505189 update installed.
Microsoft has fixed many DirectWrite bugs in Windows 7 through Windows 7 Service Pack 1(SP1) and KB2505438 update.
Features
- Comprehensive support for UnicodeUnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
, with over 20 scripts providing layout and rendering of every language supported in Windows. DirectWrite supports measuring, drawing, and hit-testingHit-testingIn computer graphics programming, hit-testing is the process of determining whether a user-controlled cursor intersects a given shape, line, or curve drawn on the screen...
of multi-format text. Supported Unicode features include BIDIBi-directional textBi-directional text is text containing text in both text directionalities, both right-to-left and left-to-right . It generally involves text containing different types of alphabets, but may also refer to boustrophedon, which is changing text directionality in each row.Some writing systems of the...
, line breaking, surrogates, UVS, language-guided script itemization, number substitution, and glyph shaping.
- Sub-pixel ClearTypeClearTypeClearType is a trademark for Microsoft's implementation of subpixel rendering technology. ClearType attempts to improve the appearance of text on certain types of computer display screens by sacrificing color fidelity for additional intensity variation. This trade-off is asserted to work well on...
text rendering with bi-directional antialiasing which can interoperate with GDI/GDI+, Direct2DDirect2DDirect2D is a 2D and vector graphics application programming interface designed by Microsoft and implemented in Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 and Platform Update Supplement for Windows Vista and for Windows Server 2008 & KB2505189 update...
/Direct3DDirect3DDirect3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...
and any application-specific technology. When using with Direct2D, text rendering can be hardware-accelerated or can use WARP software rasterizerWindows Advanced Rasterization PlatformThe Windows Advanced Rasterization Platform is a software rasterizer device that is a component of Windows Graphics runtime in Windows 7 and Windows Server 2008 R2, as well as Windows Vista and Windows Server 2008 ....
when hardware acceleration is not available. It is, however, unable to render aliased (or bi-level) text.
- Supports advanced typographic features of OpenTypeOpenTypeOpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior...
, such as stylistic alternates and swashesSwash (typography)A swash is a typographical flourish on a glyph, like an exaggerated serif.Capital swash characters, which extended to the left, were historically often used to begin sentences. There were also minuscule swash characters, which came either extending to the left, to begin words, or to the right to...
, which were never supported in GDI and WinFormsWindows FormsWindows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...
.
- Provides a low-level glyph rendering API for those who employ proprietary text layout and Unicode-to-glyph processing.
Supported scripts
- Arabic
- ArmenianArmenian languageThe Armenian language is an Indo-European language spoken by the Armenian people. It is the official language of the Republic of Armenia as well as in the region of Nagorno-Karabakh. The language is also widely spoken by Armenian communities in the Armenian diaspora...
- BengaliBengali languageBengali or Bangla is an eastern Indo-Aryan language. It is native to the region of eastern South Asia known as Bengal, which comprises present day Bangladesh, the Indian state of West Bengal, and parts of the Indian states of Tripura and Assam. It is written with the Bengali script...
- BopomofoBopomofoZhuyin fuhao , often abbreviated as zhuyin and colloquially called bopomofo, was introduced in the 1910s as the first official phonetic system for transcribing Chinese, especially Mandarin....
- ‡ BrailleBrailleThe Braille system is a method that is widely used by blind people to read and write, and was the first digital form of writing.Braille was devised in 1825 by Louis Braille, a blind Frenchman. Each Braille character, or cell, is made up of six dot positions, arranged in a rectangle containing two...
- Canadian aboriginal syllabicsCanadian Aboriginal SyllabicsCanadian Aboriginal syllabic writing, or simply syllabics, is a family of abugidas used to write a number of Aboriginal Canadian languages of the Algonquian, Inuit, and Athabaskan language families....
- CherokeeCherokee languageCherokee is an Iroquoian language spoken by the Cherokee people which uses a unique syllabary writing system. It is the only Southern Iroquoian language that remains spoken. Cherokee is a polysynthetic language.-North American etymology:...
- Chinese Simplified
- Chinese Traditional
- Cyrillic
- ‡ CopticCoptic languageCoptic or Coptic Egyptian is the current stage of the Egyptian language, a northern Afro-Asiatic language spoken in Egypt until at least the 17th century. Egyptian began to be written using the Greek alphabet in the 1st century...
- DevanagariDevanagariDevanagari |deva]]" and "nāgarī" ), also called Nagari , is an abugida alphabet of India and Nepal...
- Ethiopic
- GeorgianGeorgian alphabetThe Georgian alphabet is the writing system used to write the Georgian language and other Kartvelian languages , and occasionally other languages of the Caucasus such as Ossetic and Abkhaz during the 1940s...
- ‡ Glagolitic
- GreekGreek languageGreek is an independent branch of the Indo-European family of languages. Native to the southern Balkans, it has the longest documented history of any Indo-European language, spanning 34 centuries of written records. Its writing system has been the Greek alphabet for the majority of its history;...
- GujaratiGujarati scriptThe Gujarati script , which like all Nāgarī writing systems is strictly speaking an abugida rather than an alphabet, is used to write the Gujarati and Kutchi languages...
- Gurmukhi
- Hebrew
- JapaneseJapanese languageis a language spoken by over 130 million people in Japan and in Japanese emigrant communities. It is a member of the Japonic language family, which has a number of proposed relationships with other languages, none of which has gained wide acceptance among historical linguists .Japanese is an...
- Kannada
- KhmerKhmer languageKhmer , or Cambodian, is the language of the Khmer people and the official language of Cambodia. It is the second most widely spoken Austroasiatic language , with speakers in the tens of millions. Khmer has been considerably influenced by Sanskrit and Pali, especially in the royal and religious...
- KoreanKorean languageKorean is the official language of the country Korea, in both South and North. It is also one of the two official languages in the Yanbian Korean Autonomous Prefecture in People's Republic of China. There are about 78 million Korean speakers worldwide. In the 15th century, a national writing...
- LaoLao languageLao or Laotian is a tonal language of the Tai–Kadai language family. It is the official language of Laos, and also spoken in the northeast of Thailand, where it is usually referred to as the Isan language. Being the primary language of the Lao people, Lao is also an important second language for...
- LatinLatinLatin is an Italic language originally spoken in Latium and Ancient Rome. It, along with most European languages, is a descendant of the ancient Proto-Indo-European language. Although it is considered a dead language, a number of scholars and members of the Christian clergy speak it fluently, and...
- Malayalam
- MongolianMongolian languageThe Mongolian language is the official language of Mongolia and the best-known member of the Mongolic language family. The number of speakers across all its dialects may be 5.2 million, including the vast majority of the residents of Mongolia and many of the Mongolian residents of the Inner...
- MyanmarMyanmarBurma , officially the Republic of the Union of Myanmar , is a country in Southeast Asia. Burma is bordered by China on the northeast, Laos on the east, Thailand on the southeast, Bangladesh on the west, India on the northwest, the Bay of Bengal to the southwest, and the Andaman Sea on the south....
- New Tai LueNew Tai LueNew Tai Lue script, also known as Simplified Tai Lue, is an alphabet used to write the Tai Lü language. Developed in China in the 1950s, New Tai Lue is based on the traditional Tai Lue script developed ca. 1200 AD...
- ‡ OghamOghamOgham is an Early Medieval alphabet used primarily to write the Old Irish language, and occasionally the Brythonic language. Ogham is sometimes called the "Celtic Tree Alphabet", based on a High Medieval Bríatharogam tradition ascribing names of trees to the individual letters.There are roughly...
- OriyaOriya languageOriya , officially Odia from November, 2011, is an Indian language, belonging to the Indo-Aryan branch of the Indo-European language family. It is mainly spoken in the Indian states of Orissa and West Bengal...
- ’Phags-pa
- ‡ Runic
- Sinhala
- Syriac
- Tai LeTai Le scriptTai Le is the name of Tai Nüa script, the script used for the Tai Nüa language, given by Microsoft.-Unicode:Tai Le script was added to the Unicode Standard in April, 2003 with the release of version 4.0....
- TamilTamil languageTamil is a Dravidian language spoken predominantly by Tamil people of the Indian subcontinent. It has official status in the Indian state of Tamil Nadu and in the Indian union territory of Pondicherry. Tamil is also an official language of Sri Lanka and Singapore...
- TeluguTelugu scriptTelugu script, an abugida from the Brahmic family of scripts, is used to write the Telugu language, a language found in the South-Central Indian state of Andhra Pradesh as well as several other neighboring states. The Telugu script is derived from the Bhattiprolu script...
- ThaanaThaanaThaana, Taana or Tāna is the modern writing system of the Divehi language spoken in the Maldives. Taana has characteristics of both an abugida and a true alphabet , with consonants derived from indigenous and Arabic numerals, and vowels derived from the vowel diacritics of the Arabic abjad...
- ThaiThai languageThai , also known as Central Thai and Siamese, is the national and official language of Thailand and the native language of the Thai people, Thailand's dominant ethnic group. Thai is a member of the Tai group of the Tai–Kadai language family. Historical linguists have been unable to definitively...
- TibetanStandard TibetanStandard Tibetan is the most widely used spoken form of the Tibetan languages. It is based on the speech of Lhasa, an Ü-Tsang dialect belonging to the Central Tibetan languages. For this reason, Standard Tibetan is often called Central Tibetan...
- YiYi scriptThe Yi script, also historically known as Cuan Wen or Wei Shu , is used to write the Yi languages.-Classical Yi:Classical Yi is a syllabic logographic system that was reputedly devised during the Tang dynasty by someone called Aki...
‡ No default system font provided in Windows. Braille, Ogham, and Runic are supported by Segoe UI Symbol.