Module:Unicode data/scripts

From lisamarieyoung.ca

Documentation for this module may be created at Module:Unicode data/scripts/doc

--[=[
-- Official Unicode script values for individual codepoints and ranges of
-- codepoints.

-- https://www.unicode.org/Public/UNIDATA/Scripts.txt provided
-- the script names, and https://www.unicode.org/Public/UNIDATA/PropertyValueAliases.txt
-- provided script codes corresponding to the names (see [[Script (Unicode)]]).
--]=]

local data = {
	singles = {
		[0x000AA] = "Latn",
		[0x000BA] = "Latn",
		[0x000D7] = "Zyyy",
		[0x000F7] = "Zyyy",
		[0x00374] = "Zyyy",
		[0x0037E] = "Zyyy",
		[0x0037F] = "Grek",
		[0x00384] = "Grek",
		[0x00385] = "Zyyy",
		[0x00386] = "Grek",
		[0x00387] = "Zyyy",
		[0x0038C] = "Grek",
		[0x00605] = "Zyyy",
		[0x0060C] = "Zyyy",
		[0x0061B] = "Zyyy",
		[0x0061F] = "Zyyy",
		[0x00640] = "Zyyy",
		[0x00670] = "Zinh",
		[0x006DD] = "Zyyy",
		[0x0085E] = "Mand",
		[0x008E2] = "Zyyy",
		[0x009B2] = "Beng",
		[0x009D7] = "Beng",
		[0x00A3C] = "Guru",
		[0x00A51] = "Guru",
		[0x00A5E] = "Guru",
		[0x00AD0] = "Gujr",
		[0x00B9C] = "Taml",
		[0x00BD0] = "Taml",
		[0x00BD7] = "Taml",
		[0x00C5D] = "Telu",
		[0x00DBD] = "Sinh",
		[0x00DCA] = "Sinh",
		[0x00DD6] = "Sinh",
		[0x00E3F] = "Zyyy",
		[0x00E84] = "Laoo",
		[0x00EA5] = "Laoo",
		[0x00EC6] = "Laoo",
		[0x010C7] = "Geor",
		[0x010CD] = "Geor",
		[0x010FB] = "Zyyy",
		[0x01258] = "Ethi",
		[0x012C0] = "Ethi",
		[0x0171F] = "Tglg",
		[0x01804] = "Mong",
		[0x01805] = "Zyyy",
		[0x01940] = "Limb",
		[0x01CD3] = "Zyyy",
		[0x01CE1] = "Zyyy",
		[0x01CED] = "Zinh",
		[0x01CF4] = "Zinh",
		[0x01CFA] = "Zyyy",
		[0x01D2B] = "Cyrl",
		[0x01D78] = "Cyrl",
		[0x01DBF] = "Grek",
		[0x01F59] = "Grek",
		[0x01F5B] = "Grek",
		[0x01F5D] = "Grek",
		[0x02071] = "Latn",
		[0x0207F] = "Latn",
		[0x02126] = "Grek",
		[0x02132] = "Latn",
		[0x0214E] = "Latn",
		[0x02D27] = "Geor",
		[0x02D2D] = "Geor",
		[0x02D7F] = "Tfng",
		[0x03005] = "Hani",
		[0x03006] = "Zyyy",
		[0x03007] = "Hani",
		[0x030A0] = "Zyyy",
		[0x031EF] = "Zyyy",
		[0x032FF] = "Zyyy",
		[0x0A7D3] = "Latn",
		[0x0A92E] = "Zyyy",
		[0x0A92F] = "Kali",
		[0x0A95F] = "Rjng",
		[0x0A9CF] = "Zyyy",
		[0x0AB5B] = "Zyyy",
		[0x0AB65] = "Grek",
		[0x0FB3E] = "Hebr",
		[0x0FDCF] = "Arab",
		[0x0FEFF] = "Zyyy",
		[0x0FF70] = "Zyyy",
		[0x101A0] = "Grek",
		[0x101FD] = "Zinh",
		[0x102E0] = "Zinh",
		[0x1039F] = "Ugar",
		[0x1056F] = "Aghb",
		[0x10808] = "Cprt",
		[0x1083C] = "Cprt",
		[0x1083F] = "Cprt",
		[0x1091F] = "Phnx",
		[0x1093F] = "Lydi",
		[0x1107F] = "Brah",
		[0x110CD] = "Kthi",
		[0x11288] = "Mult",
		[0x1133B] = "Zinh",
		[0x11350] = "Gran",
		[0x11357] = "Gran",
		[0x118FF] = "Wara",
		[0x11909] = "Diak",
		[0x11D3A] = "Gonm",
		[0x11FB0] = "Lisu",
		[0x11FFF] = "Taml",
		[0x16FE0] = "Tang",
		[0x16FE1] = "Nshu",
		[0x16FE4] = "Kits",
		[0x1B000] = "Kana",
		[0x1B132] = "Hira",
		[0x1B155] = "Kana",
		[0x1D4A2] = "Zyyy",
		[0x1D4BB] = "Zyyy",
		[0x1D546] = "Zyyy",
		[0x1E08F] = "Cyrl",
		[0x1E2FF] = "Wcho",
		[0x1EE24] = "Arab",
		[0x1EE27] = "Arab",
		[0x1EE39] = "Arab",
		[0x1EE3B] = "Arab",
		[0x1EE42] = "Arab",
		[0x1EE47] = "Arab",
		[0x1EE49] = "Arab",
		[0x1EE4B] = "Arab",
		[0x1EE54] = "Arab",
		[0x1EE57] = "Arab",
		[0x1EE59] = "Arab",
		[0x1EE5B] = "Arab",
		[0x1EE5D] = "Arab",
		[0x1EE5F] = "Arab",
		[0x1EE64] = "Arab",
		[0x1EE7E] = "Arab",
		[0x1F200] = "Hira",
		[0x1F7F0] = "Zyyy",
		[0xE0001] = "Zyyy",
	},
	
	ranges = {
		{ 0x00000, 0x00040, "Zyyy" },
		{ 0x00041, 0x0005A, "Latn" },
		{ 0x0005B, 0x00060, "Zyyy" },
		{ 0x00061, 0x0007A, "Latn" },
		{ 0x0007B, 0x000A9, "Zyyy" },
		{ 0x000AB, 0x000B9, "Zyyy" },
		{ 0x000BB, 0x000BF, "Zyyy" },
		{ 0x000C0, 0x000D6, "Latn" },
		{ 0x000D8, 0x000F6, "Latn" },
		{ 0x000F8, 0x002B8, "Latn" },
		{ 0x002B9, 0x002DF, "Zyyy" },
		{ 0x002E0, 0x002E4, "Latn" },
		{ 0x002E5, 0x002E9, "Zyyy" },
		{ 0x002EA, 0x002EB, "Bopo" },
		{ 0x002EC, 0x002FF, "Zyyy" },
		{ 0x00300, 0x0036F, "Zinh" },
		{ 0x00370, 0x00373, "Grek" },
		{ 0x00375, 0x00377, "Grek" },
		{ 0x0037A, 0x0037D, "Grek" },
		{ 0x00388, 0x0038A, "Grek" },
		{ 0x0038E, 0x003A1, "Grek" },
		{ 0x003A3, 0x003E1, "Grek" },
		{ 0x003E2, 0x003EF, "Copt" },
		{ 0x003F0, 0x003FF, "Grek" },
		{ 0x00400, 0x00484, "Cyrl" },
		{ 0x00485, 0x00486, "Zinh" },
		{ 0x00487, 0x0052F, "Cyrl" },
		{ 0x00531, 0x00556, "Armn" },
		{ 0x00559, 0x0058A, "Armn" },
		{ 0x0058D, 0x0058F, "Armn" },
		{ 0x00591, 0x005C7, "Hebr" },
		{ 0x005D0, 0x005EA, "Hebr" },
		{ 0x005EF, 0x005F4, "Hebr" },
		{ 0x00600, 0x00604, "Arab" },
		{ 0x00606, 0x0060B, "Arab" },
		{ 0x0060D, 0x0061A, "Arab" },
		{ 0x0061C, 0x0061E, "Arab" },
		{ 0x00620, 0x0063F, "Arab" },
		{ 0x00641, 0x0064A, "Arab" },
		{ 0x0064B, 0x00655, "Zinh" },
		{ 0x00656, 0x0066F, "Arab" },
		{ 0x00671, 0x006DC, "Arab" },
		{ 0x006DE, 0x006FF, "Arab" },
		{ 0x00700, 0x0070D, "Syrc" },
		{ 0x0070F, 0x0074A, "Syrc" },
		{ 0x0074D, 0x0074F, "Syrc" },
		{ 0x00750, 0x0077F, "Arab" },
		{ 0x00780, 0x007B1, "Thaa" },
		{ 0x007C0, 0x007FA, "Nkoo" },
		{ 0x007FD, 0x007FF, "Nkoo" },
		{ 0x00800, 0x0082D, "Samr" },
		{ 0x00830, 0x0083E, "Samr" },
		{ 0x00840, 0x0085B, "Mand" },
		{ 0x00860, 0x0086A, "Syrc" },
		{ 0x00870, 0x0088E, "Arab" },
		{ 0x00890, 0x00891, "Arab" },
		{ 0x00898, 0x008E1, "Arab" },
		{ 0x008E3, 0x008FF, "Arab" },
		{ 0x00900, 0x00950, "Deva" },
		{ 0x00951, 0x00954, "Zinh" },
		{ 0x00955, 0x00963, "Deva" },
		{ 0x00964, 0x00965, "Zyyy" },
		{ 0x00966, 0x0097F, "Deva" },
		{ 0x00980, 0x00983, "Beng" },
		{ 0x00985, 0x0098C, "Beng" },
		{ 0x0098F, 0x00990, "Beng" },
		{ 0x00993, 0x009A8, "Beng" },
		{ 0x009AA, 0x009B0, "Beng" },
		{ 0x009B6, 0x009B9, "Beng" },
		{ 0x009BC, 0x009C4, "Beng" },
		{ 0x009C7, 0x009C8, "Beng" },
		{ 0x009CB, 0x009CE, "Beng" },
		{ 0x009DC, 0x009DD, "Beng" },
		{ 0x009DF, 0x009E3, "Beng" },
		{ 0x009E6, 0x009FE, "Beng" },
		{ 0x00A01, 0x00A03, "Guru" },
		{ 0x00A05, 0x00A0A, "Guru" },
		{ 0x00A0F, 0x00A10, "Guru" },
		{ 0x00A13, 0x00A28, "Guru" },
		{ 0x00A2A, 0x00A30, "Guru" },
		{ 0x00A32, 0x00A33, "Guru" },
		{ 0x00A35, 0x00A36, "Guru" },
		{ 0x00A38, 0x00A39, "Guru" },
		{ 0x00A3E, 0x00A42, "Guru" },
		{ 0x00A47, 0x00A48, "Guru" },
		{ 0x00A4B, 0x00A4D, "Guru" },
		{ 0x00A59, 0x00A5C, "Guru" },
		{ 0x00A66, 0x00A76, "Guru" },
		{ 0x00A81, 0x00A83, "Gujr" },
		{ 0x00A85, 0x00A8D, "Gujr" },
		{ 0x00A8F, 0x00A91, "Gujr" },
		{ 0x00A93, 0x00AA8, "Gujr" },
		{ 0x00AAA, 0x00AB0, "Gujr" },
		{ 0x00AB2, 0x00AB3, "Gujr" },
		{ 0x00AB5, 0x00AB9, "Gujr" },
		{ 0x00ABC, 0x00AC5, "Gujr" },
		{ 0x00AC7, 0x00AC9, "Gujr" },
		{ 0x00ACB, 0x00ACD, "Gujr" },
		{ 0x00AE0, 0x00AE3, "Gujr" },
		{ 0x00AE6, 0x00AF1, "Gujr" },
		{ 0x00AF9, 0x00AFF, "Gujr" },
		{ 0x00B01, 0x00B03, "Orya" },
		{ 0x00B05, 0x00B0C, "Orya" },
		{ 0x00B0F, 0x00B10, "Orya" },
		{ 0x00B13, 0x00B28, "Orya" },
		{ 0x00B2A, 0x00B30, "Orya" },
		{ 0x00B32, 0x00B33, "Orya" },
		{ 0x00B35, 0x00B39, "Orya" },
		{ 0x00B3C, 0x00B44, "Orya" },
		{ 0x00B47, 0x00B48, "Orya" },
		{ 0x00B4B, 0x00B4D, "Orya" },
		{ 0x00B55, 0x00B57, "Orya" },
		{ 0x00B5C, 0x00B5D, "Orya" },
		{ 0x00B5F, 0x00B63, "Orya" },
		{ 0x00B66, 0x00B77, "Orya" },
		{ 0x00B82, 0x00B83, "Taml" },
		{ 0x00B85, 0x00B8A, "Taml" },
		{ 0x00B8E, 0x00B90, "Taml" },
		{ 0x00B92, 0x00B95, "Taml" },
		{ 0x00B99, 0x00B9A, "Taml" },
		{ 0x00B9E, 0x00B9F, "Taml" },
		{ 0x00BA3, 0x00BA4, "Taml" },
		{ 0x00BA8, 0x00BAA, "Taml" },
		{ 0x00BAE, 0x00BB9, "Taml" },
		{ 0x00BBE, 0x00BC2, "Taml" },
		{ 0x00BC6, 0x00BC8, "Taml" },
		{ 0x00BCA, 0x00BCD, "Taml" },
		{ 0x00BE6, 0x00BFA, "Taml" },
		{ 0x00C00, 0x00C0C, "Telu" },
		{ 0x00C0E, 0x00C10, "Telu" },
		{ 0x00C12, 0x00C28, "Telu" },
		{ 0x00C2A, 0x00C39, "Telu" },
		{ 0x00C3C, 0x00C44, "Telu" },
		{ 0x00C46, 0x00C48, "Telu" },
		{ 0x00C4A, 0x00C4D, "Telu" },
		{ 0x00C55, 0x00C56, "Telu" },
		{ 0x00C58, 0x00C5A, "Telu" },
		{ 0x00C60, 0x00C63, "Telu" },
		{ 0x00C66, 0x00C6F, "Telu" },
		{ 0x00C77, 0x00C7F, "Telu" },
		{ 0x00C80, 0x00C8C, "Knda" },
		{ 0x00C8E, 0x00C90, "Knda" },
		{ 0x00C92, 0x00CA8, "Knda" },
		{ 0x00CAA, 0x00CB3, "Knda" },
		{ 0x00CB5, 0x00CB9, "Knda" },
		{ 0x00CBC, 0x00CC4, "Knda" },
		{ 0x00CC6, 0x00CC8, "Knda" },
		{ 0x00CCA, 0x00CCD, "Knda" },
		{ 0x00CD5, 0x00CD6, "Knda" },
		{ 0x00CDD, 0x00CDE, "Knda" },
		{ 0x00CE0, 0x00CE3, "Knda" },
		{ 0x00CE6, 0x00CEF, "Knda" },
		{ 0x00CF1, 0x00CF3, "Knda" },
		{ 0x00D00, 0x00D0C, "Mlym" },
		{ 0x00D0E, 0x00D10, "Mlym" },
		{ 0x00D12, 0x00D44, "Mlym" },
		{ 0x00D46, 0x00D48, "Mlym" },
		{ 0x00D4A, 0x00D4F, "Mlym" },
		{ 0x00D54, 0x00D63, "Mlym" },
		{ 0x00D66, 0x00D7F, "Mlym" },
		{ 0x00D81, 0x00D83, "Sinh" },
		{ 0x00D85, 0x00D96, "Sinh" },
		{ 0x00D9A, 0x00DB1, "Sinh" },
		{ 0x00DB3, 0x00DBB, "Sinh" },
		{ 0x00DC0, 0x00DC6, "Sinh" },
		{ 0x00DCF, 0x00DD4, "Sinh" },
		{ 0x00DD8, 0x00DDF, "Sinh" },
		{ 0x00DE6, 0x00DEF, "Sinh" },
		{ 0x00DF2, 0x00DF4, "Sinh" },
		{ 0x00E01, 0x00E3A, "Thai" },
		{ 0x00E40, 0x00E5B, "Thai" },
		{ 0x00E81, 0x00E82, "Laoo" },
		{ 0x00E86, 0x00E8A, "Laoo" },
		{ 0x00E8C, 0x00EA3, "Laoo" },
		{ 0x00EA7, 0x00EBD, "Laoo" },
		{ 0x00EC0, 0x00EC4, "Laoo" },
		{ 0x00EC8, 0x00ECE, "Laoo" },
		{ 0x00ED0, 0x00ED9, "Laoo" },
		{ 0x00EDC, 0x00EDF, "Laoo" },
		{ 0x00F00, 0x00F47, "Tibt" },
		{ 0x00F49, 0x00F6C, "Tibt" },
		{ 0x00F71, 0x00F97, "Tibt" },
		{ 0x00F99, 0x00FBC, "Tibt" },
		{ 0x00FBE, 0x00FCC, "Tibt" },
		{ 0x00FCE, 0x00FD4, "Tibt" },
		{ 0x00FD5, 0x00FD8, "Zyyy" },
		{ 0x00FD9, 0x00FDA, "Tibt" },
		{ 0x01000, 0x0109F, "Mymr" },
		{ 0x010A0, 0x010C5, "Geor" },
		{ 0x010D0, 0x010FA, "Geor" },
		{ 0x010FC, 0x010FF, "Geor" },
		{ 0x01100, 0x011FF, "Hang" },
		{ 0x01200, 0x01248, "Ethi" },
		{ 0x0124A, 0x0124D, "Ethi" },
		{ 0x01250, 0x01256, "Ethi" },
		{ 0x0125A, 0x0125D, "Ethi" },
		{ 0x01260, 0x01288, "Ethi" },
		{ 0x0128A, 0x0128D, "Ethi" },
		{ 0x01290, 0x012B0, "Ethi" },
		{ 0x012B2, 0x012B5, "Ethi" },
		{ 0x012B8, 0x012BE, "Ethi" },
		{ 0x012C2, 0x012C5, "Ethi" },
		{ 0x012C8, 0x012D6, "Ethi" },
		{ 0x012D8, 0x01310, "Ethi" },
		{ 0x01312, 0x01315, "Ethi" },
		{ 0x01318, 0x0135A, "Ethi" },
		{ 0x0135D, 0x0137C, "Ethi" },
		{ 0x01380, 0x01399, "Ethi" },
		{ 0x013A0, 0x013F5, "Cher" },
		{ 0x013F8, 0x013FD, "Cher" },
		{ 0x01400, 0x0167F, "Cans" },
		{ 0x01680, 0x0169C, "Ogam" },
		{ 0x016A0, 0x016EA, "Runr" },
		{ 0x016EB, 0x016ED, "Zyyy" },
		{ 0x016EE, 0x016F8, "Runr" },
		{ 0x01700, 0x01715, "Tglg" },
		{ 0x01720, 0x01734, "Hano" },
		{ 0x01735, 0x01736, "Zyyy" },
		{ 0x01740, 0x01753, "Buhd" },
		{ 0x01760, 0x0176C, "Tagb" },
		{ 0x0176E, 0x01770, "Tagb" },
		{ 0x01772, 0x01773, "Tagb" },
		{ 0x01780, 0x017DD, "Khmr" },
		{ 0x017E0, 0x017E9, "Khmr" },
		{ 0x017F0, 0x017F9, "Khmr" },
		{ 0x01800, 0x01801, "Mong" },
		{ 0x01802, 0x01803, "Zyyy" },
		{ 0x01806, 0x01819, "Mong" },
		{ 0x01820, 0x01878, "Mong" },
		{ 0x01880, 0x018AA, "Mong" },
		{ 0x018B0, 0x018F5, "Cans" },
		{ 0x01900, 0x0191E, "Limb" },
		{ 0x01920, 0x0192B, "Limb" },
		{ 0x01930, 0x0193B, "Limb" },
		{ 0x01944, 0x0194F, "Limb" },
		{ 0x01950, 0x0196D, "Tale" },
		{ 0x01970, 0x01974, "Tale" },
		{ 0x01980, 0x019AB, "Talu" },
		{ 0x019B0, 0x019C9, "Talu" },
		{ 0x019D0, 0x019DA, "Talu" },
		{ 0x019DE, 0x019DF, "Talu" },
		{ 0x019E0, 0x019FF, "Khmr" },
		{ 0x01A00, 0x01A1B, "Bugi" },
		{ 0x01A1E, 0x01A1F, "Bugi" },
		{ 0x01A20, 0x01A5E, "Lana" },
		{ 0x01A60, 0x01A7C, "Lana" },
		{ 0x01A7F, 0x01A89, "Lana" },
		{ 0x01A90, 0x01A99, "Lana" },
		{ 0x01AA0, 0x01AAD, "Lana" },
		{ 0x01AB0, 0x01ACE, "Zinh" },
		{ 0x01B00, 0x01B4C, "Bali" },
		{ 0x01B50, 0x01B7E, "Bali" },
		{ 0x01B80, 0x01BBF, "Sund" },
		{ 0x01BC0, 0x01BF3, "Batk" },
		{ 0x01BFC, 0x01BFF, "Batk" },
		{ 0x01C00, 0x01C37, "Lepc" },
		{ 0x01C3B, 0x01C49, "Lepc" },
		{ 0x01C4D, 0x01C4F, "Lepc" },
		{ 0x01C50, 0x01C7F, "Olck" },
		{ 0x01C80, 0x01C88, "Cyrl" },
		{ 0x01C90, 0x01CBA, "Geor" },
		{ 0x01CBD, 0x01CBF, "Geor" },
		{ 0x01CC0, 0x01CC7, "Sund" },
		{ 0x01CD0, 0x01CD2, "Zinh" },
		{ 0x01CD4, 0x01CE0, "Zinh" },
		{ 0x01CE2, 0x01CE8, "Zinh" },
		{ 0x01CE9, 0x01CEC, "Zyyy" },
		{ 0x01CEE, 0x01CF3, "Zyyy" },
		{ 0x01CF5, 0x01CF7, "Zyyy" },
		{ 0x01CF8, 0x01CF9, "Zinh" },
		{ 0x01D00, 0x01D25, "Latn" },
		{ 0x01D26, 0x01D2A, "Grek" },
		{ 0x01D2C, 0x01D5C, "Latn" },
		{ 0x01D5D, 0x01D61, "Grek" },
		{ 0x01D62, 0x01D65, "Latn" },
		{ 0x01D66, 0x01D6A, "Grek" },
		{ 0x01D6B, 0x01D77, "Latn" },
		{ 0x01D79, 0x01DBE, "Latn" },
		{ 0x01DC0, 0x01DFF, "Zinh" },
		{ 0x01E00, 0x01EFF, "Latn" },
		{ 0x01F00, 0x01F15, "Grek" },
		{ 0x01F18, 0x01F1D, "Grek" },
		{ 0x01F20, 0x01F45, "Grek" },
		{ 0x01F48, 0x01F4D, "Grek" },
		{ 0x01F50, 0x01F57, "Grek" },
		{ 0x01F5F, 0x01F7D, "Grek" },
		{ 0x01F80, 0x01FB4, "Grek" },
		{ 0x01FB6, 0x01FC4, "Grek" },
		{ 0x01FC6, 0x01FD3, "Grek" },
		{ 0x01FD6, 0x01FDB, "Grek" },
		{ 0x01FDD, 0x01FEF, "Grek" },
		{ 0x01FF2, 0x01FF4, "Grek" },
		{ 0x01FF6, 0x01FFE, "Grek" },
		{ 0x02000, 0x0200B, "Zyyy" },
		{ 0x0200C, 0x0200D, "Zinh" },
		{ 0x0200E, 0x02064, "Zyyy" },
		{ 0x02066, 0x02070, "Zyyy" },
		{ 0x02074, 0x0207E, "Zyyy" },
		{ 0x02080, 0x0208E, "Zyyy" },
		{ 0x02090, 0x0209C, "Latn" },
		{ 0x020A0, 0x020C0, "Zyyy" },
		{ 0x020D0, 0x020F0, "Zinh" },
		{ 0x02100, 0x02125, "Zyyy" },
		{ 0x02127, 0x02129, "Zyyy" },
		{ 0x0212A, 0x0212B, "Latn" },
		{ 0x0212C, 0x02131, "Zyyy" },
		{ 0x02133, 0x0214D, "Zyyy" },
		{ 0x0214F, 0x0215F, "Zyyy" },
		{ 0x02160, 0x02188, "Latn" },
		{ 0x02189, 0x0218B, "Zyyy" },
		{ 0x02190, 0x02426, "Zyyy" },
		{ 0x02440, 0x0244A, "Zyyy" },
		{ 0x02460, 0x027FF, "Zyyy" },
		{ 0x02800, 0x028FF, "Brai" },
		{ 0x02900, 0x02B73, "Zyyy" },
		{ 0x02B76, 0x02B95, "Zyyy" },
		{ 0x02B97, 0x02BFF, "Zyyy" },
		{ 0x02C00, 0x02C5F, "Glag" },
		{ 0x02C60, 0x02C7F, "Latn" },
		{ 0x02C80, 0x02CF3, "Copt" },
		{ 0x02CF9, 0x02CFF, "Copt" },
		{ 0x02D00, 0x02D25, "Geor" },
		{ 0x02D30, 0x02D67, "Tfng" },
		{ 0x02D6F, 0x02D70, "Tfng" },
		{ 0x02D80, 0x02D96, "Ethi" },
		{ 0x02DA0, 0x02DA6, "Ethi" },
		{ 0x02DA8, 0x02DAE, "Ethi" },
		{ 0x02DB0, 0x02DB6, "Ethi" },
		{ 0x02DB8, 0x02DBE, "Ethi" },
		{ 0x02DC0, 0x02DC6, "Ethi" },
		{ 0x02DC8, 0x02DCE, "Ethi" },
		{ 0x02DD0, 0x02DD6, "Ethi" },
		{ 0x02DD8, 0x02DDE, "Ethi" },
		{ 0x02DE0, 0x02DFF, "Cyrl" },
		{ 0x02E00, 0x02E5D, "Zyyy" },
		{ 0x02E80, 0x02E99, "Hani" },
		{ 0x02E9B, 0x02EF3, "Hani" },
		{ 0x02F00, 0x02FD5, "Hani" },
		{ 0x02FF0, 0x03004, "Zyyy" },
		{ 0x03008, 0x03020, "Zyyy" },
		{ 0x03021, 0x03029, "Hani" },
		{ 0x0302A, 0x0302D, "Zinh" },
		{ 0x0302E, 0x0302F, "Hang" },
		{ 0x03030, 0x03037, "Zyyy" },
		{ 0x03038, 0x0303B, "Hani" },
		{ 0x0303C, 0x0303F, "Zyyy" },
		{ 0x03041, 0x03096, "Hira" },
		{ 0x03099, 0x0309A, "Zinh" },
		{ 0x0309B, 0x0309C, "Zyyy" },
		{ 0x0309D, 0x0309F, "Hira" },
		{ 0x030A1, 0x030FA, "Kana" },
		{ 0x030FB, 0x030FC, "Zyyy" },
		{ 0x030FD, 0x030FF, "Kana" },
		{ 0x03105, 0x0312F, "Bopo" },
		{ 0x03131, 0x0318E, "Hang" },
		{ 0x03190, 0x0319F, "Zyyy" },
		{ 0x031A0, 0x031BF, "Bopo" },
		{ 0x031C0, 0x031E3, "Zyyy" },
		{ 0x031F0, 0x031FF, "Kana" },
		{ 0x03200, 0x0321E, "Hang" },
		{ 0x03220, 0x0325F, "Zyyy" },
		{ 0x03260, 0x0327E, "Hang" },
		{ 0x0327F, 0x032CF, "Zyyy" },
		{ 0x032D0, 0x032FE, "Kana" },
		{ 0x03300, 0x03357, "Kana" },
		{ 0x03358, 0x033FF, "Zyyy" },
		{ 0x03400, 0x04DBF, "Hani" },
		{ 0x04DC0, 0x04DFF, "Zyyy" },
		{ 0x04E00, 0x09FFF, "Hani" },
		{ 0x0A000, 0x0A48C, "Yiii" },
		{ 0x0A490, 0x0A4C6, "Yiii" },
		{ 0x0A4D0, 0x0A4FF, "Lisu" },
		{ 0x0A500, 0x0A62B, "Vaii" },
		{ 0x0A640, 0x0A69F, "Cyrl" },
		{ 0x0A6A0, 0x0A6F7, "Bamu" },
		{ 0x0A700, 0x0A721, "Zyyy" },
		{ 0x0A722, 0x0A787, "Latn" },
		{ 0x0A788, 0x0A78A, "Zyyy" },
		{ 0x0A78B, 0x0A7CA, "Latn" },
		{ 0x0A7D0, 0x0A7D1, "Latn" },
		{ 0x0A7D5, 0x0A7D9, "Latn" },
		{ 0x0A7F2, 0x0A7FF, "Latn" },
		{ 0x0A800, 0x0A82C, "Sylo" },
		{ 0x0A830, 0x0A839, "Zyyy" },
		{ 0x0A840, 0x0A877, "Phag" },
		{ 0x0A880, 0x0A8C5, "Saur" },
		{ 0x0A8CE, 0x0A8D9, "Saur" },
		{ 0x0A8E0, 0x0A8FF, "Deva" },
		{ 0x0A900, 0x0A92D, "Kali" },
		{ 0x0A930, 0x0A953, "Rjng" },
		{ 0x0A960, 0x0A97C, "Hang" },
		{ 0x0A980, 0x0A9CD, "Java" },
		{ 0x0A9D0, 0x0A9D9, "Java" },
		{ 0x0A9DE, 0x0A9DF, "Java" },
		{ 0x0A9E0, 0x0A9FE, "Mymr" },
		{ 0x0AA00, 0x0AA36, "Cham" },
		{ 0x0AA40, 0x0AA4D, "Cham" },
		{ 0x0AA50, 0x0AA59, "Cham" },
		{ 0x0AA5C, 0x0AA5F, "Cham" },
		{ 0x0AA60, 0x0AA7F, "Mymr" },
		{ 0x0AA80, 0x0AAC2, "Tavt" },
		{ 0x0AADB, 0x0AADF, "Tavt" },
		{ 0x0AAE0, 0x0AAF6, "Mtei" },
		{ 0x0AB01, 0x0AB06, "Ethi" },
		{ 0x0AB09, 0x0AB0E, "Ethi" },
		{ 0x0AB11, 0x0AB16, "Ethi" },
		{ 0x0AB20, 0x0AB26, "Ethi" },
		{ 0x0AB28, 0x0AB2E, "Ethi" },
		{ 0x0AB30, 0x0AB5A, "Latn" },
		{ 0x0AB5C, 0x0AB64, "Latn" },
		{ 0x0AB66, 0x0AB69, "Latn" },
		{ 0x0AB6A, 0x0AB6B, "Zyyy" },
		{ 0x0AB70, 0x0ABBF, "Cher" },
		{ 0x0ABC0, 0x0ABED, "Mtei" },
		{ 0x0ABF0, 0x0ABF9, "Mtei" },
		{ 0x0AC00, 0x0D7A3, "Hang" },
		{ 0x0D7B0, 0x0D7C6, "Hang" },
		{ 0x0D7CB, 0x0D7FB, "Hang" },
		{ 0x0F900, 0x0FA6D, "Hani" },
		{ 0x0FA70, 0x0FAD9, "Hani" },
		{ 0x0FB00, 0x0FB06, "Latn" },
		{ 0x0FB13, 0x0FB17, "Armn" },
		{ 0x0FB1D, 0x0FB36, "Hebr" },
		{ 0x0FB38, 0x0FB3C, "Hebr" },
		{ 0x0FB40, 0x0FB41, "Hebr" },
		{ 0x0FB43, 0x0FB44, "Hebr" },
		{ 0x0FB46, 0x0FB4F, "Hebr" },
		{ 0x0FB50, 0x0FBC2, "Arab" },
		{ 0x0FBD3, 0x0FD3D, "Arab" },
		{ 0x0FD3E, 0x0FD3F, "Zyyy" },
		{ 0x0FD40, 0x0FD8F, "Arab" },
		{ 0x0FD92, 0x0FDC7, "Arab" },
		{ 0x0FDF0, 0x0FDFF, "Arab" },
		{ 0x0FE00, 0x0FE0F, "Zinh" },
		{ 0x0FE10, 0x0FE19, "Zyyy" },
		{ 0x0FE20, 0x0FE2D, "Zinh" },
		{ 0x0FE2E, 0x0FE2F, "Cyrl" },
		{ 0x0FE30, 0x0FE52, "Zyyy" },
		{ 0x0FE54, 0x0FE66, "Zyyy" },
		{ 0x0FE68, 0x0FE6B, "Zyyy" },
		{ 0x0FE70, 0x0FE74, "Arab" },
		{ 0x0FE76, 0x0FEFC, "Arab" },
		{ 0x0FF01, 0x0FF20, "Zyyy" },
		{ 0x0FF21, 0x0FF3A, "Latn" },
		{ 0x0FF3B, 0x0FF40, "Zyyy" },
		{ 0x0FF41, 0x0FF5A, "Latn" },
		{ 0x0FF5B, 0x0FF65, "Zyyy" },
		{ 0x0FF66, 0x0FF6F, "Kana" },
		{ 0x0FF71, 0x0FF9D, "Kana" },
		{ 0x0FF9E, 0x0FF9F, "Zyyy" },
		{ 0x0FFA0, 0x0FFBE, "Hang" },
		{ 0x0FFC2, 0x0FFC7, "Hang" },
		{ 0x0FFCA, 0x0FFCF, "Hang" },
		{ 0x0FFD2, 0x0FFD7, "Hang" },
		{ 0x0FFDA, 0x0FFDC, "Hang" },
		{ 0x0FFE0, 0x0FFE6, "Zyyy" },
		{ 0x0FFE8, 0x0FFEE, "Zyyy" },
		{ 0x0FFF9, 0x0FFFD, "Zyyy" },
		{ 0x10000, 0x1000B, "Linb" },
		{ 0x1000D, 0x10026, "Linb" },
		{ 0x10028, 0x1003A, "Linb" },
		{ 0x1003C, 0x1003D, "Linb" },
		{ 0x1003F, 0x1004D, "Linb" },
		{ 0x10050, 0x1005D, "Linb" },
		{ 0x10080, 0x100FA, "Linb" },
		{ 0x10100, 0x10102, "Zyyy" },
		{ 0x10107, 0x10133, "Zyyy" },
		{ 0x10137, 0x1013F, "Zyyy" },
		{ 0x10140, 0x1018E, "Grek" },
		{ 0x10190, 0x1019C, "Zyyy" },
		{ 0x101D0, 0x101FC, "Zyyy" },
		{ 0x10280, 0x1029C, "Lyci" },
		{ 0x102A0, 0x102D0, "Cari" },
		{ 0x102E1, 0x102FB, "Zyyy" },
		{ 0x10300, 0x10323, "Ital" },
		{ 0x1032D, 0x1032F, "Ital" },
		{ 0x10330, 0x1034A, "Goth" },
		{ 0x10350, 0x1037A, "Perm" },
		{ 0x10380, 0x1039D, "Ugar" },
		{ 0x103A0, 0x103C3, "Xpeo" },
		{ 0x103C8, 0x103D5, "Xpeo" },
		{ 0x10400, 0x1044F, "Dsrt" },
		{ 0x10450, 0x1047F, "Shaw" },
		{ 0x10480, 0x1049D, "Osma" },
		{ 0x104A0, 0x104A9, "Osma" },
		{ 0x104B0, 0x104D3, "Osge" },
		{ 0x104D8, 0x104FB, "Osge" },
		{ 0x10500, 0x10527, "Elba" },
		{ 0x10530, 0x10563, "Aghb" },
		{ 0x10570, 0x1057A, "Vith" },
		{ 0x1057C, 0x1058A, "Vith" },
		{ 0x1058C, 0x10592, "Vith" },
		{ 0x10594, 0x10595, "Vith" },
		{ 0x10597, 0x105A1, "Vith" },
		{ 0x105A3, 0x105B1, "Vith" },
		{ 0x105B3, 0x105B9, "Vith" },
		{ 0x105BB, 0x105BC, "Vith" },
		{ 0x10600, 0x10736, "Lina" },
		{ 0x10740, 0x10755, "Lina" },
		{ 0x10760, 0x10767, "Lina" },
		{ 0x10780, 0x10785, "Latn" },
		{ 0x10787, 0x107B0, "Latn" },
		{ 0x107B2, 0x107BA, "Latn" },
		{ 0x10800, 0x10805, "Cprt" },
		{ 0x1080A, 0x10835, "Cprt" },
		{ 0x10837, 0x10838, "Cprt" },
		{ 0x10840, 0x10855, "Armi" },
		{ 0x10857, 0x1085F, "Armi" },
		{ 0x10860, 0x1087F, "Palm" },
		{ 0x10880, 0x1089E, "Nbat" },
		{ 0x108A7, 0x108AF, "Nbat" },
		{ 0x108E0, 0x108F2, "Hatr" },
		{ 0x108F4, 0x108F5, "Hatr" },
		{ 0x108FB, 0x108FF, "Hatr" },
		{ 0x10900, 0x1091B, "Phnx" },
		{ 0x10920, 0x10939, "Lydi" },
		{ 0x10980, 0x1099F, "Mero" },
		{ 0x109A0, 0x109B7, "Merc" },
		{ 0x109BC, 0x109CF, "Merc" },
		{ 0x109D2, 0x109FF, "Merc" },
		{ 0x10A00, 0x10A03, "Khar" },
		{ 0x10A05, 0x10A06, "Khar" },
		{ 0x10A0C, 0x10A13, "Khar" },
		{ 0x10A15, 0x10A17, "Khar" },
		{ 0x10A19, 0x10A35, "Khar" },
		{ 0x10A38, 0x10A3A, "Khar" },
		{ 0x10A3F, 0x10A48, "Khar" },
		{ 0x10A50, 0x10A58, "Khar" },
		{ 0x10A60, 0x10A7F, "Sarb" },
		{ 0x10A80, 0x10A9F, "Narb" },
		{ 0x10AC0, 0x10AE6, "Mani" },
		{ 0x10AEB, 0x10AF6, "Mani" },
		{ 0x10B00, 0x10B35, "Avst" },
		{ 0x10B39, 0x10B3F, "Avst" },
		{ 0x10B40, 0x10B55, "Prti" },
		{ 0x10B58, 0x10B5F, "Prti" },
		{ 0x10B60, 0x10B72, "Phli" },
		{ 0x10B78, 0x10B7F, "Phli" },
		{ 0x10B80, 0x10B91, "Phlp" },
		{ 0x10B99, 0x10B9C, "Phlp" },
		{ 0x10BA9, 0x10BAF, "Phlp" },
		{ 0x10C00, 0x10C48, "Orkh" },
		{ 0x10C80, 0x10CB2, "Hung" },
		{ 0x10CC0, 0x10CF2, "Hung" },
		{ 0x10CFA, 0x10CFF, "Hung" },
		{ 0x10D00, 0x10D27, "Rohg" },
		{ 0x10D30, 0x10D39, "Rohg" },
		{ 0x10E60, 0x10E7E, "Arab" },
		{ 0x10E80, 0x10EA9, "Yezi" },
		{ 0x10EAB, 0x10EAD, "Yezi" },
		{ 0x10EB0, 0x10EB1, "Yezi" },
		{ 0x10EFD, 0x10EFF, "Arab" },
		{ 0x10F00, 0x10F27, "Sogo" },
		{ 0x10F30, 0x10F59, "Sogd" },
		{ 0x10F70, 0x10F89, "Ougr" },
		{ 0x10FB0, 0x10FCB, "Chrs" },
		{ 0x10FE0, 0x10FF6, "Elym" },
		{ 0x11000, 0x1104D, "Brah" },
		{ 0x11052, 0x11075, "Brah" },
		{ 0x11080, 0x110C2, "Kthi" },
		{ 0x110D0, 0x110E8, "Sora" },
		{ 0x110F0, 0x110F9, "Sora" },
		{ 0x11100, 0x11134, "Cakm" },
		{ 0x11136, 0x11147, "Cakm" },
		{ 0x11150, 0x11176, "Mahj" },
		{ 0x11180, 0x111DF, "Shrd" },
		{ 0x111E1, 0x111F4, "Sinh" },
		{ 0x11200, 0x11211, "Khoj" },
		{ 0x11213, 0x11241, "Khoj" },
		{ 0x11280, 0x11286, "Mult" },
		{ 0x1128A, 0x1128D, "Mult" },
		{ 0x1128F, 0x1129D, "Mult" },
		{ 0x1129F, 0x112A9, "Mult" },
		{ 0x112B0, 0x112EA, "Sind" },
		{ 0x112F0, 0x112F9, "Sind" },
		{ 0x11300, 0x11303, "Gran" },
		{ 0x11305, 0x1130C, "Gran" },
		{ 0x1130F, 0x11310, "Gran" },
		{ 0x11313, 0x11328, "Gran" },
		{ 0x1132A, 0x11330, "Gran" },
		{ 0x11332, 0x11333, "Gran" },
		{ 0x11335, 0x11339, "Gran" },
		{ 0x1133C, 0x11344, "Gran" },
		{ 0x11347, 0x11348, "Gran" },
		{ 0x1134B, 0x1134D, "Gran" },
		{ 0x1135D, 0x11363, "Gran" },
		{ 0x11366, 0x1136C, "Gran" },
		{ 0x11370, 0x11374, "Gran" },
		{ 0x11400, 0x1145B, "Newa" },
		{ 0x1145D, 0x11461, "Newa" },
		{ 0x11480, 0x114C7, "Tirh" },
		{ 0x114D0, 0x114D9, "Tirh" },
		{ 0x11580, 0x115B5, "Sidd" },
		{ 0x115B8, 0x115DD, "Sidd" },
		{ 0x11600, 0x11644, "Modi" },
		{ 0x11650, 0x11659, "Modi" },
		{ 0x11660, 0x1166C, "Mong" },
		{ 0x11680, 0x116B9, "Takr" },
		{ 0x116C0, 0x116C9, "Takr" },
		{ 0x11700, 0x1171A, "Ahom" },
		{ 0x1171D, 0x1172B, "Ahom" },
		{ 0x11730, 0x11746, "Ahom" },
		{ 0x11800, 0x1183B, "Dogr" },
		{ 0x118A0, 0x118F2, "Wara" },
		{ 0x11900, 0x11906, "Diak" },
		{ 0x1190C, 0x11913, "Diak" },
		{ 0x11915, 0x11916, "Diak" },
		{ 0x11918, 0x11935, "Diak" },
		{ 0x11937, 0x11938, "Diak" },
		{ 0x1193B, 0x11946, "Diak" },
		{ 0x11950, 0x11959, "Diak" },
		{ 0x119A0, 0x119A7, "Nand" },
		{ 0x119AA, 0x119D7, "Nand" },
		{ 0x119DA, 0x119E4, "Nand" },
		{ 0x11A00, 0x11A47, "Zanb" },
		{ 0x11A50, 0x11AA2, "Soyo" },
		{ 0x11AB0, 0x11ABF, "Cans" },
		{ 0x11AC0, 0x11AF8, "Pauc" },
		{ 0x11B00, 0x11B09, "Deva" },
		{ 0x11C00, 0x11C08, "Bhks" },
		{ 0x11C0A, 0x11C36, "Bhks" },
		{ 0x11C38, 0x11C45, "Bhks" },
		{ 0x11C50, 0x11C6C, "Bhks" },
		{ 0x11C70, 0x11C8F, "Marc" },
		{ 0x11C92, 0x11CA7, "Marc" },
		{ 0x11CA9, 0x11CB6, "Marc" },
		{ 0x11D00, 0x11D06, "Gonm" },
		{ 0x11D08, 0x11D09, "Gonm" },
		{ 0x11D0B, 0x11D36, "Gonm" },
		{ 0x11D3C, 0x11D3D, "Gonm" },
		{ 0x11D3F, 0x11D47, "Gonm" },
		{ 0x11D50, 0x11D59, "Gonm" },
		{ 0x11D60, 0x11D65, "Gong" },
		{ 0x11D67, 0x11D68, "Gong" },
		{ 0x11D6A, 0x11D8E, "Gong" },
		{ 0x11D90, 0x11D91, "Gong" },
		{ 0x11D93, 0x11D98, "Gong" },
		{ 0x11DA0, 0x11DA9, "Gong" },
		{ 0x11EE0, 0x11EF8, "Maka" },
		{ 0x11F00, 0x11F10, "Kawi" },
		{ 0x11F12, 0x11F3A, "Kawi" },
		{ 0x11F3E, 0x11F59, "Kawi" },
		{ 0x11FC0, 0x11FF1, "Taml" },
		{ 0x12000, 0x12399, "Xsux" },
		{ 0x12400, 0x1246E, "Xsux" },
		{ 0x12470, 0x12474, "Xsux" },
		{ 0x12480, 0x12543, "Xsux" },
		{ 0x12F90, 0x12FF2, "Cpmn" },
		{ 0x13000, 0x13455, "Egyp" },
		{ 0x14400, 0x14646, "Hluw" },
		{ 0x16800, 0x16A38, "Bamu" },
		{ 0x16A40, 0x16A5E, "Mroo" },
		{ 0x16A60, 0x16A69, "Mroo" },
		{ 0x16A6E, 0x16A6F, "Mroo" },
		{ 0x16A70, 0x16ABE, "Tnsa" },
		{ 0x16AC0, 0x16AC9, "Tnsa" },
		{ 0x16AD0, 0x16AED, "Bass" },
		{ 0x16AF0, 0x16AF5, "Bass" },
		{ 0x16B00, 0x16B45, "Hmng" },
		{ 0x16B50, 0x16B59, "Hmng" },
		{ 0x16B5B, 0x16B61, "Hmng" },
		{ 0x16B63, 0x16B77, "Hmng" },
		{ 0x16B7D, 0x16B8F, "Hmng" },
		{ 0x16E40, 0x16E9A, "Medf" },
		{ 0x16F00, 0x16F4A, "Plrd" },
		{ 0x16F4F, 0x16F87, "Plrd" },
		{ 0x16F8F, 0x16F9F, "Plrd" },
		{ 0x16FE2, 0x16FE3, "Hani" },
		{ 0x16FF0, 0x16FF1, "Hani" },
		{ 0x17000, 0x187F7, "Tang" },
		{ 0x18800, 0x18AFF, "Tang" },
		{ 0x18B00, 0x18CD5, "Kits" },
		{ 0x18D00, 0x18D08, "Tang" },
		{ 0x1AFF0, 0x1AFF3, "Kana" },
		{ 0x1AFF5, 0x1AFFB, "Kana" },
		{ 0x1AFFD, 0x1AFFE, "Kana" },
		{ 0x1B001, 0x1B11F, "Hira" },
		{ 0x1B120, 0x1B122, "Kana" },
		{ 0x1B150, 0x1B152, "Hira" },
		{ 0x1B164, 0x1B167, "Kana" },
		{ 0x1B170, 0x1B2FB, "Nshu" },
		{ 0x1BC00, 0x1BC6A, "Dupl" },
		{ 0x1BC70, 0x1BC7C, "Dupl" },
		{ 0x1BC80, 0x1BC88, "Dupl" },
		{ 0x1BC90, 0x1BC99, "Dupl" },
		{ 0x1BC9C, 0x1BC9F, "Dupl" },
		{ 0x1BCA0, 0x1BCA3, "Zyyy" },
		{ 0x1CF00, 0x1CF2D, "Zinh" },
		{ 0x1CF30, 0x1CF46, "Zinh" },
		{ 0x1CF50, 0x1CFC3, "Zyyy" },
		{ 0x1D000, 0x1D0F5, "Zyyy" },
		{ 0x1D100, 0x1D126, "Zyyy" },
		{ 0x1D129, 0x1D166, "Zyyy" },
		{ 0x1D167, 0x1D169, "Zinh" },
		{ 0x1D16A, 0x1D17A, "Zyyy" },
		{ 0x1D17B, 0x1D182, "Zinh" },
		{ 0x1D183, 0x1D184, "Zyyy" },
		{ 0x1D185, 0x1D18B, "Zinh" },
		{ 0x1D18C, 0x1D1A9, "Zyyy" },
		{ 0x1D1AA, 0x1D1AD, "Zinh" },
		{ 0x1D1AE, 0x1D1EA, "Zyyy" },
		{ 0x1D200, 0x1D245, "Grek" },
		{ 0x1D2C0, 0x1D2D3, "Zyyy" },
		{ 0x1D2E0, 0x1D2F3, "Zyyy" },
		{ 0x1D300, 0x1D356, "Zyyy" },
		{ 0x1D360, 0x1D378, "Zyyy" },
		{ 0x1D400, 0x1D454, "Zyyy" },
		{ 0x1D456, 0x1D49C, "Zyyy" },
		{ 0x1D49E, 0x1D49F, "Zyyy" },
		{ 0x1D4A5, 0x1D4A6, "Zyyy" },
		{ 0x1D4A9, 0x1D4AC, "Zyyy" },
		{ 0x1D4AE, 0x1D4B9, "Zyyy" },
		{ 0x1D4BD, 0x1D4C3, "Zyyy" },
		{ 0x1D4C5, 0x1D505, "Zyyy" },
		{ 0x1D507, 0x1D50A, "Zyyy" },
		{ 0x1D50D, 0x1D514, "Zyyy" },
		{ 0x1D516, 0x1D51C, "Zyyy" },
		{ 0x1D51E, 0x1D539, "Zyyy" },
		{ 0x1D53B, 0x1D53E, "Zyyy" },
		{ 0x1D540, 0x1D544, "Zyyy" },
		{ 0x1D54A, 0x1D550, "Zyyy" },
		{ 0x1D552, 0x1D6A5, "Zyyy" },
		{ 0x1D6A8, 0x1D7CB, "Zyyy" },
		{ 0x1D7CE, 0x1D7FF, "Zyyy" },
		{ 0x1D800, 0x1DA8B, "Sgnw" },
		{ 0x1DA9B, 0x1DA9F, "Sgnw" },
		{ 0x1DAA1, 0x1DAAF, "Sgnw" },
		{ 0x1DF00, 0x1DF1E, "Latn" },
		{ 0x1DF25, 0x1DF2A, "Latn" },
		{ 0x1E000, 0x1E006, "Glag" },
		{ 0x1E008, 0x1E018, "Glag" },
		{ 0x1E01B, 0x1E021, "Glag" },
		{ 0x1E023, 0x1E024, "Glag" },
		{ 0x1E026, 0x1E02A, "Glag" },
		{ 0x1E030, 0x1E06D, "Cyrl" },
		{ 0x1E100, 0x1E12C, "Hmnp" },
		{ 0x1E130, 0x1E13D, "Hmnp" },
		{ 0x1E140, 0x1E149, "Hmnp" },
		{ 0x1E14E, 0x1E14F, "Hmnp" },
		{ 0x1E290, 0x1E2AE, "Toto" },
		{ 0x1E2C0, 0x1E2F9, "Wcho" },
		{ 0x1E4D0, 0x1E4F9, "Nagm" },
		{ 0x1E7E0, 0x1E7E6, "Ethi" },
		{ 0x1E7E8, 0x1E7EB, "Ethi" },
		{ 0x1E7ED, 0x1E7EE, "Ethi" },
		{ 0x1E7F0, 0x1E7FE, "Ethi" },
		{ 0x1E800, 0x1E8C4, "Mend" },
		{ 0x1E8C7, 0x1E8D6, "Mend" },
		{ 0x1E900, 0x1E94B, "Adlm" },
		{ 0x1E950, 0x1E959, "Adlm" },
		{ 0x1E95E, 0x1E95F, "Adlm" },
		{ 0x1EC71, 0x1ECB4, "Zyyy" },
		{ 0x1ED01, 0x1ED3D, "Zyyy" },
		{ 0x1EE00, 0x1EE03, "Arab" },
		{ 0x1EE05, 0x1EE1F, "Arab" },
		{ 0x1EE21, 0x1EE22, "Arab" },
		{ 0x1EE29, 0x1EE32, "Arab" },
		{ 0x1EE34, 0x1EE37, "Arab" },
		{ 0x1EE4D, 0x1EE4F, "Arab" },
		{ 0x1EE51, 0x1EE52, "Arab" },
		{ 0x1EE61, 0x1EE62, "Arab" },
		{ 0x1EE67, 0x1EE6A, "Arab" },
		{ 0x1EE6C, 0x1EE72, "Arab" },
		{ 0x1EE74, 0x1EE77, "Arab" },
		{ 0x1EE79, 0x1EE7C, "Arab" },
		{ 0x1EE80, 0x1EE89, "Arab" },
		{ 0x1EE8B, 0x1EE9B, "Arab" },
		{ 0x1EEA1, 0x1EEA3, "Arab" },
		{ 0x1EEA5, 0x1EEA9, "Arab" },
		{ 0x1EEAB, 0x1EEBB, "Arab" },
		{ 0x1EEF0, 0x1EEF1, "Arab" },
		{ 0x1F000, 0x1F02B, "Zyyy" },
		{ 0x1F030, 0x1F093, "Zyyy" },
		{ 0x1F0A0, 0x1F0AE, "Zyyy" },
		{ 0x1F0B1, 0x1F0BF, "Zyyy" },
		{ 0x1F0C1, 0x1F0CF, "Zyyy" },
		{ 0x1F0D1, 0x1F0F5, "Zyyy" },
		{ 0x1F100, 0x1F1AD, "Zyyy" },
		{ 0x1F1E6, 0x1F1FF, "Zyyy" },
		{ 0x1F201, 0x1F202, "Zyyy" },
		{ 0x1F210, 0x1F23B, "Zyyy" },
		{ 0x1F240, 0x1F248, "Zyyy" },
		{ 0x1F250, 0x1F251, "Zyyy" },
		{ 0x1F260, 0x1F265, "Zyyy" },
		{ 0x1F300, 0x1F6D7, "Zyyy" },
		{ 0x1F6DC, 0x1F6EC, "Zyyy" },
		{ 0x1F6F0, 0x1F6FC, "Zyyy" },
		{ 0x1F700, 0x1F776, "Zyyy" },
		{ 0x1F77B, 0x1F7D9, "Zyyy" },
		{ 0x1F7E0, 0x1F7EB, "Zyyy" },
		{ 0x1F800, 0x1F80B, "Zyyy" },
		{ 0x1F810, 0x1F847, "Zyyy" },
		{ 0x1F850, 0x1F859, "Zyyy" },
		{ 0x1F860, 0x1F887, "Zyyy" },
		{ 0x1F890, 0x1F8AD, "Zyyy" },
		{ 0x1F8B0, 0x1F8B1, "Zyyy" },
		{ 0x1F900, 0x1FA53, "Zyyy" },
		{ 0x1FA60, 0x1FA6D, "Zyyy" },
		{ 0x1FA70, 0x1FA7C, "Zyyy" },
		{ 0x1FA80, 0x1FA88, "Zyyy" },
		{ 0x1FA90, 0x1FABD, "Zyyy" },
		{ 0x1FABF, 0x1FAC5, "Zyyy" },
		{ 0x1FACE, 0x1FADB, "Zyyy" },
		{ 0x1FAE0, 0x1FAE8, "Zyyy" },
		{ 0x1FAF0, 0x1FAF8, "Zyyy" },
		{ 0x1FB00, 0x1FB92, "Zyyy" },
		{ 0x1FB94, 0x1FBCA, "Zyyy" },
		{ 0x1FBF0, 0x1FBF9, "Zyyy" },
		{ 0x20000, 0x2A6DF, "Hani" },
		{ 0x2A700, 0x2B739, "Hani" },
		{ 0x2B740, 0x2B81D, "Hani" },
		{ 0x2B820, 0x2CEA1, "Hani" },
		{ 0x2CEB0, 0x2EBE0, "Hani" },
		{ 0x2EBF0, 0x2EE5D, "Hani" },
		{ 0x2F800, 0x2FA1D, "Hani" },
		{ 0x30000, 0x3134A, "Hani" },
		{ 0x31350, 0x323AF, "Hani" },
		{ 0xE0020, 0xE007F, "Zyyy" },
		{ 0xE0100, 0xE01EF, "Zinh" },
	},
	-- Scripts.txt gives full names; here we consider them aliases to save space.
	aliases = {
		Adlm = "Adlam",
		Aghb = "Caucasian Albanian",
		Ahom = "Ahom",
		Arab = "Arabic",
		Armi = "Imperial Aramaic",
		Armn = "Armenian",
		Avst = "Avestan",
		Bali = "Balinese",
		Bamu = "Bamum",
		Bass = "Bassa Vah",
		Batk = "Batak",
		Beng = "Bengali",
		Bhks = "Bhaiksuki",
		Bopo = "Bopomofo",
		Brah = "Brahmi",
		Brai = "Braille",
		Bugi = "Buginese",
		Buhd = "Buhid",
		Cakm = "Chakma",
		Cans = "Canadian Aboriginal",
		Cari = "Carian",
		Cham = "Cham",
		Cher = "Cherokee",
		Chrs = "Chorasmian",
		Copt = "Coptic",
		Cpmn = "Cypro Minoan",
		Cprt = "Cypriot",
		Cyrl = "Cyrillic",
		Deva = "Devanagari",
		Diak = "Dives Akuru",
		Dogr = "Dogra",
		Dsrt = "Deseret",
		Dupl = "Duployan",
		Egyp = "Egyptian Hieroglyphs",
		Elba = "Elbasan",
		Elym = "Elymaic",
		Ethi = "Ethiopic",
		Geor = "Georgian",
		Glag = "Glagolitic",
		Gong = "Gunjala Gondi",
		Gonm = "Masaram Gondi",
		Goth = "Gothic",
		Gran = "Grantha",
		Grek = "Greek",
		Gujr = "Gujarati",
		Guru = "Gurmukhi",
		Hang = "Hangul",
		Hani = "Han",
		Hano = "Hanunoo",
		Hatr = "Hatran",
		Hebr = "Hebrew",
		Hira = "Hiragana",
		Hluw = "Anatolian Hieroglyphs",
		Hmng = "Pahawh Hmong",
		Hmnp = "Nyiakeng Puachue Hmong",
		Hrkt = "Katakana Or Hiragana",
		Hung = "Old Hungarian",
		Ital = "Old Italic",
		Java = "Javanese",
		Kali = "Kayah Li",
		Kana = "Katakana",
		Kawi = "Kawi",
		Khar = "Kharoshthi",
		Khmr = "Khmer",
		Khoj = "Khojki",
		Kits = "Khitan Small Script",
		Knda = "Kannada",
		Kthi = "Kaithi",
		Lana = "Tai Tham",
		Laoo = "Lao",
		Latn = "Latin",
		Lepc = "Lepcha",
		Limb = "Limbu",
		Lina = "Linear A",
		Linb = "Linear B",
		Lisu = "Lisu",
		Lyci = "Lycian",
		Lydi = "Lydian",
		Mahj = "Mahajani",
		Maka = "Makasar",
		Mand = "Mandaic",
		Mani = "Manichaean",
		Marc = "Marchen",
		Medf = "Medefaidrin",
		Mend = "Mende Kikakui",
		Merc = "Meroitic Cursive",
		Mero = "Meroitic Hieroglyphs",
		Mlym = "Malayalam",
		Modi = "Modi",
		Mong = "Mongolian",
		Mroo = "Mro",
		Mtei = "Meetei Mayek",
		Mult = "Multani",
		Mymr = "Myanmar",
		Nagm = "Nag Mundari",
		Nand = "Nandinagari",
		Narb = "Old North Arabian",
		Nbat = "Nabataean",
		Newa = "Newa",
		Nkoo = "NKo",
		Nshu = "Nushu",
		Ogam = "Ogham",
		Olck = "Ol Chiki",
		Orkh = "Old Turkic",
		Orya = "Oriya",
		Osge = "Osage",
		Osma = "Osmanya",
		Ougr = "Old Uyghur",
		Palm = "Palmyrene",
		Pauc = "Pau Cin Hau",
		Perm = "Old Permic",
		Phag = "Phags Pa",
		Phli = "Inscriptional Pahlavi",
		Phlp = "Psalter Pahlavi",
		Phnx = "Phoenician",
		Plrd = "Miao",
		Prti = "Inscriptional Parthian",
		Rjng = "Rejang",
		Rohg = "Hanifi Rohingya",
		Runr = "Runic",
		Samr = "Samaritan",
		Sarb = "Old South Arabian",
		Saur = "Saurashtra",
		Sgnw = "SignWriting",
		Shaw = "Shavian",
		Shrd = "Sharada",
		Sidd = "Siddham",
		Sind = "Khudawadi",
		Sinh = "Sinhala",
		Sogd = "Sogdian",
		Sogo = "Old Sogdian",
		Sora = "Sora Sompeng",
		Soyo = "Soyombo",
		Sund = "Sundanese",
		Sylo = "Syloti Nagri",
		Syrc = "Syriac",
		Tagb = "Tagbanwa",
		Takr = "Takri",
		Tale = "Tai Le",
		Talu = "New Tai Lue",
		Taml = "Tamil",
		Tang = "Tangut",
		Tavt = "Tai Viet",
		Telu = "Telugu",
		Tfng = "Tifinagh",
		Tglg = "Tagalog",
		Thaa = "Thaana",
		Thai = "Thai",
		Tibt = "Tibetan",
		Tirh = "Tirhuta",
		Tnsa = "Tangsa",
		Toto = "Toto",
		Ugar = "Ugaritic",
		Vaii = "Vai",
		Vith = "Vithkuqi",
		Wara = "Warang Citi",
		Wcho = "Wancho",
		Xpeo = "Old Persian",
		Xsux = "Cuneiform",
		Yezi = "Yezidi",
		Yiii = "Yi",
		Zanb = "Zanabazar Square",
		Zinh = "Inherited",
		Zyyy = "Common",
		Zzzz = "Unknown",
	},
}

-- Required for binary search function in [[Module:Language/scripts]].
-- Cannot get length of module loaded with mw.loadData.
data.ranges.length = #data.ranges

data.rtl = {}

for _, script in ipairs(mw.loadData "Module:Lang/data".rtl_scripts) do
	-- [[Module:Lang/data]] has script codes in lowercase;
	-- this module has script codes with the first letter capitalized.
	data.rtl[script:gsub("^%a", string.upper)] = true
end

return data