
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
};
