Developing fonts > Specifications

Developing OpenType Fonts for Standard Scripts:
Appendix - 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 Latin script; English, German, Spanish, etc.

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 standard scripts Registered tags for standard language systems
Script tag Script Language system tag Language
"latn" Latin "dflt" *default script handling
languages with Basic Latin & Latin-1:
"DAN " Danish
"NLD " Dutch
"ENG " English
"FOS " Faroese
"FIN " Finish
"FLE " Flemish
"DEU " German
"ISL " Icelandic
"IRI " Irish
"ITA " Italian
"NOR " Norwegian
"PTG " Portuguese
"ESP " Spanish
"SVE " Swedish
languages with Unicode Extended Latin:
"AFK " Afrikaans
"EUQ " Basque
"BRE " Breton
"CAT " Catalan
"HRV " Croatian
"CSY " Czech
"NTO " Esperanto
"ETI " Estonian
"FRA " French
"FRI " Frisian
"GRN " Greenlandic
"HUN " Hungarian
"LAT " Latin
"LVI " Latvian
"LTH " Lithuanian
"MTS " Maltese
"PLK " Polish
"PRO " Provencal
"RMS " Rhaeto-Romantic
"ROM " Romanian
"ROY " Romany
"SKY " Slovak
"SLV " Slovenian
"LSB " Sorbian (Lower)
"USB " Sorbian (Upper)
"TRK " Turkish
"WEL " Welsh
"VIT " Vietnamese
"cyrl" Cyrillic "dflt" *default script handling
"RUS " Russian
"grek" Greek "dflt" *default script handling
"COP " Coptic
"ELL " Greek
"armn" Armenian "dflt" *default script handling
"HVE " Armenian
"geor" Georgian "dflt" *default script handling
"KAT " Georgian
"runr" Runic "dflt" *default script handling
"ogam" Ogham "dflt" *default script handling

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).

introduction | shaping engine | features | appendix

Top of page