D-Type Text Layout Extension supports the same scripts as the underlying HarfBuzz text shaping engine. Additionally, D-Type Text Layout Extension adds a small list of private scripts reserved for application-specific purposes. The list of defined script codes follows:
enum ScriptCodes { /* public scripts */ zyyyScriptCode = 0, /* Common */ zinhScriptCode = 1, /* Inherited */ qaaiScriptCode = zinhScriptCode, /* manually added alias, for API stability */ arabScriptCode = 2, /* Arabic */ /* */ armnScriptCode = 3, /* Armenian */ bengScriptCode = 4, /* Bengali */ /* */ bopoScriptCode = 5, /* Bopomofo */ cherScriptCode = 6, /* Cherokee */ coptScriptCode = 7, /* Coptic */ cyrlScriptCode = 8, /* Cyrillic */ dsrtScriptCode = 9, /* Deseret */ devaScriptCode = 10, /* Devanagari */ /* */ /* (Hindi, Sanskrit) */ ethiScriptCode = 11, /* Ethiopic */ georScriptCode = 12, /* Georgian */ gothScriptCode = 13, /* Gothic */ grekScriptCode = 14, /* Greek */ gujrScriptCode = 15, /* Gujarati */ /* */ guruScriptCode = 16, /* Gurmukhi */ /* */ haniScriptCode = 17, /* Han */ /* */ hangScriptCode = 18, /* Hangul */ /* */ hebrScriptCode = 19, /* Hebrew */ /* */ hiraScriptCode = 20, /* Hiragana */ kndaScriptCode = 21, /* Kannada */ /* */ kanaScriptCode = 22, /* Katakana */ khmrScriptCode = 23, /* Khmer */ /* */ laooScriptCode = 24, /* Lao */ latnScriptCode = 25, /* Latin */ /* */ mlymScriptCode = 26, /* Malayalam */ /* */ mongScriptCode = 27, /* Mongolian */ mymrScriptCode = 28, /* Myanmar */ ogamScriptCode = 29, /* Ogham */ italScriptCode = 30, /* Old Italic */ oryaScriptCode = 31, /* Oriya */ /* */ runrScriptCode = 32, /* Runic */ sinhScriptCode = 33, /* Sinhala */ /* */ syrcScriptCode = 34, /* Syriac */ tamlScriptCode = 35, /* Tamil */ /* */ teluScriptCode = 36, /* Telugu */ /* */ thaaScriptCode = 37, /* Thaana */ thaiScriptCode = 38, /* Thai */ /* */ tibtScriptCode = 39, /* Tibetan */ /* */ cansScriptCode = 40, /* Unified Canadian Aboriginal Symbols */ yiiiScriptCode = 41, /* Yi syllables */ tglgScriptCode = 42, /* Tagalog */ hanoScriptCode = 43, /* Hanunoo */ buhdScriptCode = 44, /* Buhid */ tagbScriptCode = 45, /* Tagbanwa */ braiScriptCode = 46, /* Braille New script in Unicode 4 */ cprtScriptCode = 47, /* Cypriot New script in Unicode 4 */ limbScriptCode = 48, /* Limbu New script in Unicode 4 */ linbScriptCode = 49, /* Linear B New script in Unicode 4 */ osmaScriptCode = 50, /* Osmanya New script in Unicode 4 */ shawScriptCode = 51, /* Shavian New script in Unicode 4 */ taleScriptCode = 52, /* Tai Le New script in Unicode 4 */ ugarScriptCode = 53, /* Ugaritic New script in Unicode 4 */ hrktScriptCode = 54, /* Katakana or Hiragana New script code in Unicode 4.0.1 */ bugiScriptCode = 55, glagScriptCode = 56, kharScriptCode = 57, syloScriptCode = 58, taluScriptCode = 59, tfngScriptCode = 60, xpeoScriptCode = 61, baliScriptCode = 62, batkScriptCode = 63, blisScriptCode = 64, brahScriptCode = 65, chamScriptCode = 66, cirtScriptCode = 67, cyrsScriptCode = 68, egydScriptCode = 69, egyhScriptCode = 70, egypScriptCode = 71, geokScriptCode = 72, hansScriptCode = 73, hantScriptCode = 74, hmngScriptCode = 75, hungScriptCode = 76, indsScriptCode = 77, javaScriptCode = 78, kaliScriptCode = 79, latfScriptCode = 80, latgScriptCode = 81, lepcScriptCode = 82, linaScriptCode = 83, mandScriptCode = 84, mayaScriptCode = 85, meroScriptCode = 86, nkooScriptCode = 87, orkhScriptCode = 88, permScriptCode = 89, phagScriptCode = 90, phnxScriptCode = 91, plrdScriptCode = 92, roroScriptCode = 93, saraScriptCode = 94, syreScriptCode = 95, syrjScriptCode = 96, syrnScriptCode = 97, tengScriptCode = 98, vaiiScriptCode = 99, vispScriptCode = 100, xsuxScriptCode = 101, zxxxScriptCode = 102, zzzzScriptCode = 103, cariScriptCode = 104, jpanScriptCode = 105, lanaScriptCode = 106, lyciScriptCode = 107, lydiScriptCode = 108, olckScriptCode = 109, rjngScriptCode = 110, saurScriptCode = 111, sgnwScriptCode = 112, sundScriptCode = 113, moonScriptCode = 114, mteiScriptCode = 115, armiScriptCode = 116, avstScriptCode = 117, cakmScriptCode = 118, koreScriptCode = 119, kthiScriptCode = 120, maniScriptCode = 121, phliScriptCode = 122, phlpScriptCode = 123, phlvScriptCode = 124, prtiScriptCode = 125, samrScriptCode = 126, tavtScriptCode = 127, zmthScriptCode = 128, zsymScriptCode = 129, bamuScriptCode = 130, lisuScriptCode = 131, nkgbScriptCode = 132, sarbScriptCode = 133, bassScriptCode = 134, duplScriptCode = 135, elbaScriptCode = 136, granScriptCode = 137, kpelScriptCode = 138, lomaScriptCode = 139, mendScriptCode = 140, mercScriptCode = 141, narbScriptCode = 142, nbatScriptCode = 143, palmScriptCode = 144, sindScriptCode = 145, waraScriptCode = 146, afakScriptCode = 147, jurcScriptCode = 148, mrooScriptCode = 149, nshuScriptCode = 150, shrdScriptCode = 151, soraScriptCode = 152, takrScriptCode = 153, tangScriptCode = 154, woleScriptCode = 155, khojScriptCode = 156, tirhScriptCode = 157, /* private scripts */ p016ScriptCode = 239, p015ScriptCode = 240, p014ScriptCode = 241, p013ScriptCode = 242, p012ScriptCode = 243, p011ScriptCode = 244, p010ScriptCode = 245, p009ScriptCode = 246, p008ScriptCode = 247, p007ScriptCode = 248, p006ScriptCode = 249, p005ScriptCode = 250, p004ScriptCode = 251, p003ScriptCode = 252, p002ScriptCode = 253, p001ScriptCode = 254, /* any script */ a000ScriptCode = 255, /* counts */ scriptCodeCountPublic = 158, scriptCodeCountPrivate = 16, scriptCodeCountUnused = 82, scriptCodeCount = 256 };