Developing fonts > Specifications

Developing OpenType Fonts
for Bengali 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 Bengali 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 Assamese, Bengali and Manipuri languages, although they all use the Bengali 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 Bengali script Registered tags for Bengali language systems
Script tag Script Language system tag Language
"beng" Bengali "dflt" *default script handling
"ASM " Assamese
"BEN " Bengali
"MNI " Manipuri

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+0995
Kha U+0996
Ga U+0997
Gha U+0998
Nga U+0999
Ca U+099A
Cha U+099B
Ja U+099C
Jha U+099D
Nya U+099E
Tta U+099F
Ttha U+09A0
Dda U+09A1
Ddha U+09A2
Nna U+09A3
Ta U+09A4
Tha U+09A5
Da U+09A6
Dha U+09A7
Na U+09A8
Nnna U+09A9
Pa U+09AA
Pha U+09AB
Ba U+09AC X
Bha U+09AD
Ma U+09AE
Ya U+09AF X
Ra U+09B0 X X
Rra U+09B1
La U+09B2
Lla U+09B3
Llla U+09B4
Va U+09B5
Sha U+09B6
Ssa U+09B7
Sa U+09B8
Ha U+09B9

introduction | shaping engine | features | appendices

Top of page