Developing fonts > Specifications

Developing OpenType Fonts
for Devanagari Script:

Please note: Microsoft's OpenType font specifications for Indic scripts have been revised. This version is for reference purposes only. An updated version of the Devanagari specification can be found here.

Appendix A: Writing System Tags

Features are encoded according to both a designated script and language system. There are different language systems, for example, defined for the Hindi, Sanskrit, and Marathi languages, although they all use the Devanagari script.

Currently, the Uniscribe engine only supports the "default" language for each script. However, font developers may want to build language specific features which are supported in other applications and will be supported in future Microsoft OpenType implementations.

NOTE: It is strongly recommended to include the "dflt" language tag in all OpenType fonts because it defines the basic script handling for a font. The "dflt" language system is used as the default if no other language specific features are defined, or if the application does not support that particular language. If the "dflt" tag is not present for the script being used, the font may not work in some applications.

The following tables list the registered tag names for scripts and language systems:

Registered tags for the Devanagari script Registered tags for Devanagari language systems
Script tag Script Language system tag Language
"deva" Devanagari "dflt" *default script handling
"HIN " Hindi
"KSH " Kashmiri
"KOK " Konkani
"MAR " Marathi
"NEP " Nepali
"SAN " Sanskrit
"SND " Sindhi

Note: both the script and language tags are case sensitive (script tags should be lowercase, language tags are all caps) and must contain four characters (ie. you must add a space to the three character language tags).

Appendix B: Consonant Forms

The following table shows all consonant forms that Uniscribe recognizes. For example, if a consonant is marked as having a post-base form and is the last consonant in a syllable, Uniscribe will apply the "pstf" feature to it, etc.

In the table, consonants that have a reph form, below-base form and post-base form will have a check mark in those columns. All consonants are expected to have a half form, which can be a combination of the full form and a virama (halant).

Consonant Unicode codepoint Reph form Below-base form Post-base form
Ka U+0915
Kha U+0916
Ga U+0917
Gha U+0918
Nga U+0919
Ca U+091A
Cha U+091B
Ja U+091C
Jha U+091D
Nya U+091E
Tta U+091F
Ttha U+0920
Dda U+0921
Ddha U+0922
Nna U+0923
Ta U+0924
Tha U+0925
Da U+0926
Dha U+0927
Na U+0928
Nnna U+0929
Pa U+092A
Pha U+092B
Ba U+092C
Bha U+092D
Ma U+092E
Ya U+092F
Ra U+0930 X X
Rra U+0931
La U+0932
Lla U+0933
Llla U+0934
Va U+0935
Sha U+0936
Ssa U+0937
Sa U+0938
Ha U+0939

Appendix C: MANGAL.TTF (sample font)

The MANGAL OpenType font is available to licensed users of VOLT, Microsoft's Visual OpenType Layout Tool. It is provided for illustration only, and may not be altered or redistributed.

MANGAL supports the characters and features in the Unicode Standard, which is a superset of the ISCII-1988 standard. The same Unicode character code layout is followed for nine Indian scripts: Bengali, Devanagari, Gurumukhi (Punjabi), Gujarati, Kannada, Oriya, Malayalam, Tamil and Telugu.

MANGAL is a Windows 2000 system font. MANGAL contains layout information and glyphs to support all of the required features for the scripts and languages supported. The font contains 679 glyphs, most of which are specified in the Unicode Standard.

Many shaped glyph forms (such as ligatures) have no Unicode encoding. These glyphs have id's in the font, and applications can access these glyphs by "running" the layout features which depend on these glyphs. An application can also identify non-Unicode glyphs contained in the font by traversing the OpenType layout tables, or using the layout services for purely informational purposes.

MANGAL contains three OpenType Layout tables: GSUB (glyph substitution), GPOS (glyph positioning), and GDEF (glyph definition, distinguishing base glyphs, ligatures, classes of mark glyphs, etc.).

Go to the VOLT community Web site to download this sample font. Please be sure to read the end user license agreement that accompanies the download.

introduction | shaping engine | features | appendices

Top of page