Developing fonts > Specifications Developing OpenType Fonts Microsoft Typography This document presents information that will help font developers create or support OpenType fonts for the Thaana script covered by the Unicode Standard. Thaana script is used to write the Dhivehi language and consists of base glyphs, vowels and a set of dotted letters used to transcribe Arabic. This is a multi-page specification. To access specific pages, use the Contents section below, or the navigation bar at the bottom of each page. Contents
Introduction Font developers will learn how to encode complex script features in their fonts, choose character sets, organize font information, and use existing tools to produce Thaana fonts. Registered features of the Thaana script are defined and illustrated, encodings are listed, and templates are included for compiling Thaana layout tables for OpenType fonts. This document also presents information about the Thaana OpenType shaping engine of Uniscribe, the Windows component responsible for text layout. In addition to being a primer and specification for the creation and support of Thaana fonts, this document is intended to more broadly illustrate the OpenType Layout architecture, feature schemes, and operating system support for shaping and positioning text. The following terms are useful for understanding the layout features and script rules discussed in this document. Base Glyph - Any glyph that can have a diacritic mark above or below it. Layout operations are defined in terms of a base glyph, not a base character, as a ligature may act as the base. Character - Each character represents a Unicode character code point. For example, the 'haa' character is U+0780. A character may have multiple forms of glyphs. Diacritic Mark (e.g. Fili)- A character that is positioned above or below a character to provide pronunciation guidance. Glyph - A glyph represents a form of one or more characters. Ligature - A combination of glyphs that join to form a single glyph. It is up to the font designer to create the ligatures appropriate for any particular font. Next section: Shaping Engine introduction | shaping engine | features | appendices |