Developing fonts > Specifications

Developing OpenType Fonts
for Arabic Script:
Appendices

Appendix A: Writing System Tags

Features are encoded according to both a designated script and language system. The language system tag specifies a typographic convention associated with a language or linguistic subgroup. For example, there are different language systems defined for the Arabic script; Arabic, Baluchi, Ladakhi, Pashto, etc. Other typographic systems could be defined for Moroccan Arabic or Wahabi tradition of Qur'anic typography.

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 Arabic script Registered tags for Arabic language systems
Script tag Script Language system tag Language
"arab" Arabic "dflt" *default script handling
"ARA " Arabic
"BLI " Balochi
"BLT " Balti
"BBR " Berber
"BRH " Brahui
"FAR " Farsi
"FUL " Fulani
"HAU " Hausa
"HND " Hindko
"KNR " Kanuri
"KSH " Kashmiri
"KHW " Khowar
"KUR " Kurdish
"LDK " Ladakhi
"MLY " Malay
"MND " Mandinka
"PAS " Pashto
"PAN " Punjabi
"SRK " Saraiki
"SND " Sindhi
"SML " Somali
"SWK " Swahili
"URD " Urdu
"UVG " Uyghur

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: ARABTYPE.TTF (sample font)

The Arabic Typesetting font will be distributed with Microsoft Visual OpenType Layout Tool (VOLT) and is provided under the terms of the VOLT supplemental files end user license agreement. It is provided for illustration only, and may not be altered or redistributed.

Arabic Typesetting supports all characters from the Unicode Arabic and Arabic Extended blocks. As such, it can be used to produce documents in Arabic, Farsi, Urdu, Sindhi, Malay, and Uighur. The font is the Arabic naskh style of calligraphy.

Arabic Typesetting contains layout information and glyphs to support all of the required features for the languages supported. The font contains over 1600 Arabic glyphs. It is not necessary for all fonts to support this many glyphs or ligatures. Each font should be designed as the font creator desires.

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.

Arabic Typesetting 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 | appendix

Top of page