Module:scripts/data: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
--[=[
--[=[
    This is imported from Wiktionary - it'll be updated for this wiki - the data is left currently as examples.
When adding new scripts to this file, please don't forget to add
When adding new scripts to this file, please don't forget to add
style definitons for the script in [[MediaWiki:Common.css]].
style definitons for the script in [[MediaWiki:Common.css]].
]=]
]=]
local concat = table.concat
local concat = table.concat
local insert = table.insert
local insert = table.insert
Line 13: Line 10:
local select = select
local select = select
local sort = table.sort
local sort = table.sort
local u = require("Module:string utilities").char
 
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end


------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
Line 95: Line 97:
m["Ayer"] = {
m["Ayer"] = {
"Tahano Hikamu",
"Tahano Hikamu",
nil,
"abugida",
"abugida",
ranges = {
ranges = {
Line 120: Line 123:
character_category = false,
character_category = false,
}
}
m["Roka"] = {
m["Roka"] = {
"Rokadong Curakjang",
"Rokadong Curakjang",
nil,
"abugida",
"abugida",
ranges = {
ranges = {
Line 137: Line 140:
character_category = false,
character_category = false,
}
}
m["Rsnold"] = {
m["Rsnold"] = {
"Old Raysian",
"Old Raysian",
nil,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 146: Line 149:
character_category = false,
character_category = false,
}
}
m["Pann"] = {
m["Pann"] = {
"Pannonian",
"Pannonian",
nil,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 171: Line 174:
}
}


--Natural languages


m["Adlm"] = process_ranges{
"Adlam",
"alphabet",
ranges = {
0x061F, 0x061F,
0x0640, 0x0640,
0x1E900, 0x1E94B,
0x1E950, 0x1E959,
0x1E95E, 0x1E95F,
},
capitalized = true,
direction = "rtl",
}


m["Afak"] = {
"Afaka",
"syllabary",
-- Not in Unicode
}


m["Aghb"] = process_ranges{
"Caucasian Albanian",
"alphabet",
ranges = {
0x10530, 0x10563,
0x1056F, 0x1056F,
},
}


m["Ahom"] = process_ranges{
"Ahom",
"abugida",
ranges = {
0x11700, 0x1171A,
0x1171D, 0x1172B,
0x11730, 0x11746,
},
}


m["Arab"] = process_ranges{
"Arabic",
"abjad", -- more precisely, impure abjad
varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}},
ranges = {
0x0600, 0x06FF,
0x0750, 0x077F,
0x0870, 0x088E,
0x0890, 0x0891,
0x0898, 0x08E1,
0x08E3, 0x08FF,
0xFB50, 0xFBC2,
0xFBD3, 0xFD8F,
0xFD92, 0xFDC7,
0xFDCF, 0xFDCF,
0xFDF0, 0xFDFF,
0xFE70, 0xFE74,
0xFE76, 0xFEFC,
0x102E0, 0x102FB,
0x10E60, 0x10E7E,
0x10EFD, 0x10EFF,
0x1EE00, 0x1EE03,
0x1EE05, 0x1EE1F,
0x1EE21, 0x1EE22,
0x1EE24, 0x1EE24,
0x1EE27, 0x1EE27,
0x1EE29, 0x1EE32,
0x1EE34, 0x1EE37,
0x1EE39, 0x1EE39,
0x1EE3B, 0x1EE3B,
0x1EE42, 0x1EE42,
0x1EE47, 0x1EE47,
0x1EE49, 0x1EE49,
0x1EE4B, 0x1EE4B,
0x1EE4D, 0x1EE4F,
0x1EE51, 0x1EE52,
0x1EE54, 0x1EE54,
0x1EE57, 0x1EE57,
0x1EE59, 0x1EE59,
0x1EE5B, 0x1EE5B,
0x1EE5D, 0x1EE5D,
0x1EE5F, 0x1EE5F,
0x1EE61, 0x1EE62,
0x1EE64, 0x1EE64,
0x1EE67, 0x1EE6A,
0x1EE6C, 0x1EE72,
0x1EE74, 0x1EE77,
0x1EE79, 0x1EE7C,
0x1EE7E, 0x1EE7E,
0x1EE80, 0x1EE89,
0x1EE8B, 0x1EE9B,
0x1EEA1, 0x1EEA3,
0x1EEA5, 0x1EEA9,
0x1EEAB, 0x1EEBB,
0x1EEF0, 0x1EEF1,
},
direction = "rtl",
normalizationFixes = handle_normalization_fixes{
from = {"ٳ"},
to = {"اٟ"}
},
}


m["fa-Arab"] = {
"Arabic",
m["Arab"][2],
ranges = m["Arab"].ranges,
characters = m["Arab"].characters,
otherNames = {"Perso-Arabic"},
direction = "rtl",
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["kk-Arab"] = {
"Arabic",
m["Arab"][2],
ranges = m["Arab"].ranges,
characters = m["Arab"].characters,
direction = "rtl",
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}
m["ks-Arab"] = m["fa-Arab"]
m["ku-Arab"] = m["fa-Arab"]
m["ms-Arab"] = m["kk-Arab"]
m["mzn-Arab"] = m["fa-Arab"]
m["ota-Arab"] = m["fa-Arab"]
m["pa-Arab"] = {
"Shahmukhi",
m["Arab"][2],
ranges = m["Arab"].ranges,
characters = m["Arab"].characters,
otherNames = {"Arabic"},
direction = "rtl",
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}
m["ps-Arab"] = m["fa-Arab"]
m["sd-Arab"] = m["fa-Arab"]
m["tt-Arab"] = m["fa-Arab"]
m["ug-Arab"] = m["fa-Arab"]
m["ur-Arab"] = m["fa-Arab"]


-- Aran (Nastaliq) is subsumed into Arab
 
 
 
m["Armi"] = process_ranges{
 
"Imperial Aramaic",
 
"abjad",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--Natural languages
 
m["Adlm"] = process_ranges{
"Adlam",
19606346,
"alphabet",
ranges = {
ranges = {
0x10840, 0x10855,
0x061F, 0x061F,
0x10857, 0x1085F,
0x0640, 0x0640,
0x1E900, 0x1E94B,
0x1E950, 0x1E959,
0x1E95E, 0x1E95F,
},
},
capitalized = true,
direction = "rtl",
direction = "rtl",
}
}


m["Armn"] = process_ranges{
m["Afak"] = {
"Armenian",
"Afaka",
382019,
"syllabary",
-- Not in Unicode
}
 
m["Aghb"] = process_ranges{
"Caucasian Albanian",
2495716,
"alphabet",
"alphabet",
ranges = {
ranges = {
0x0531, 0x0556,
0x10530, 0x10563,
0x0559, 0x058A,
0x1056F, 0x1056F,
0x058D, 0x058F,
0xFB13, 0xFB17,
},
},
capitalized = true,
}
}


m["Avst"] = process_ranges{
m["Ahom"] = process_ranges{
"Avestan",
"Ahom",
"alphabet",
2839633,
"abugida",
ranges = {
ranges = {
0x10B00, 0x10B35,
0x11700, 0x1171A,
0x10B39, 0x10B3F,
0x1171D, 0x1172B,
0x11730, 0x11746,
},
},
direction = "rtl",
}
}


m["pal-Avst"] = {
m["Arab"] = process_ranges{
"Pazend",
"Arabic",
m["Avst"][2],
1828555,
ranges = m["Avst"].ranges,
"abjad", -- more precisely, impure abjad
characters = m["Avst"].characters,
varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}},
direction = "rtl",
parent = "Avst",
}
 
m["Bali"] = process_ranges{
"Balinese",
"abugida",
ranges = {
ranges = {
0x1B00, 0x1B4C,
0x0600, 0x06FF,
0x1B50, 0x1B7E,
0x0750, 0x077F,
},
0x0870, 0x088E,
}
0x0890, 0x0891,
 
0x0897, 0x08E1,
m["Bamu"] = process_ranges{
0x08E3, 0x08FF,
"Bamum",
0xFB50, 0xFBC2,
"syllabary",
0xFBD3, 0xFD8F,
ranges = {
0xFD92, 0xFDC7,
0xA6A0, 0xA6F7,
0xFDCF, 0xFDCF,
0x16800, 0x16A38,
0xFDF0, 0xFDFF,
},
0xFE70, 0xFE74,
}
0xFE76, 0xFEFC,
 
0x102E0, 0x102FB,
m["Bass"] = process_ranges{
0x10E60, 0x10E7E,
"Bassa",
0x10EC2, 0x10EC4,
"alphabet",
0x10EFC, 0x10EFF,
aliases = {"Bassa Vah", "Vah"},
0x1EE00, 0x1EE03,
ranges = {
0x1EE05, 0x1EE1F,
0x16AD0, 0x16AED,
0x1EE21, 0x1EE22,
0x16AF0, 0x16AF5,
0x1EE24, 0x1EE24,
},
0x1EE27, 0x1EE27,
}
0x1EE29, 0x1EE32,
 
0x1EE34, 0x1EE37,
m["Batk"] = process_ranges{
0x1EE39, 0x1EE39,
"Batak",
0x1EE3B, 0x1EE3B,
"abugida",
0x1EE42, 0x1EE42,
ranges = {
0x1EE47, 0x1EE47,
0x1BC0, 0x1BF3,
0x1EE49, 0x1EE49,
0x1BFC, 0x1BFF,
0x1EE4B, 0x1EE4B,
},
0x1EE4D, 0x1EE4F,
}
0x1EE51, 0x1EE52,
0x1EE54, 0x1EE54,
0x1EE57, 0x1EE57,
0x1EE59, 0x1EE59,
0x1EE5B, 0x1EE5B,
0x1EE5D, 0x1EE5D,
0x1EE5F, 0x1EE5F,
0x1EE61, 0x1EE62,
0x1EE64, 0x1EE64,
0x1EE67, 0x1EE6A,
0x1EE6C, 0x1EE72,
0x1EE74, 0x1EE77,
0x1EE79, 0x1EE7C,
0x1EE7E, 0x1EE7E,
0x1EE80, 0x1EE89,
0x1EE8B, 0x1EE9B,
0x1EEA1, 0x1EEA3,
0x1EEA5, 0x1EEA9,
0x1EEAB, 0x1EEBB,
0x1EEF0, 0x1EEF1,
},
direction = "rtl",
normalizationFixes = handle_normalization_fixes{
from = {"ٳ"},
to = {"اٟ"}
},
}


m["Beng"] = process_ranges{
m["fa-Arab"] = {
"Bengali",
"Arabic",
"abugida",
744068,
ranges = {
m["Arab"][3],
0x0951, 0x0952,
ranges = m["Arab"].ranges,
0x0964, 0x0965,
characters = m["Arab"].characters,
0x0980, 0x0983,
otherNames = {"Perso-Arabic"},
0x0985, 0x098C,
direction = "rtl",
0x098F, 0x0990,
parent = "Arab",
0x0993, 0x09A8,
normalizationFixes = m["Arab"].normalizationFixes,
0x09AA, 0x09B0,
}
0x09B2, 0x09B2,
0x09B6, 0x09B9,
0x09BC, 0x09C4,
0x09C7, 0x09C8,
0x09CB, 0x09CE,
0x09D7, 0x09D7,
0x09DC, 0x09DD,
0x09DF, 0x09E3,
0x09E6, 0x09EF,
0x09F2, 0x09FE,
0x1CD0, 0x1CD0,
0x1CD2, 0x1CD2,
0x1CD5, 0x1CD6,
0x1CD8, 0x1CD8,
0x1CE1, 0x1CE1,
0x1CEA, 0x1CEA,
0x1CED, 0x1CED,
0x1CF2, 0x1CF2,
0x1CF5, 0x1CF7,
0xA8F1, 0xA8F1,
},
normalizationFixes = handle_normalization_fixes{
from = {"অা", "ঋৃ", "ঌৢ"},
to = {"", "ৠ", "ৡ"}
},
}


m["as-Beng"] = process_ranges{
m["kk-Arab"] = {
"Assamese",
"Arabic",
m["Beng"][2],
90681452,
otherNames = {"Bengali-Assamese", "Eastern Nagari"},
m["Arab"][3],
ranges = {
ranges = m["Arab"].ranges,
0x0951, 0x0952,
characters = m["Arab"].characters,
0x0964, 0x0965,
direction = "rtl",
0x0980, 0x0983,
parent = "Arab",
0x0985, 0x098C,
normalizationFixes = m["Arab"].normalizationFixes,
0x098F, 0x0990,
0x0993, 0x09A8,
0x09AA, 0x09AF,
0x09B2, 0x09B2,
0x09B6, 0x09B9,
0x09BC, 0x09C4,
0x09C7, 0x09C8,
0x09CB, 0x09CE,
0x09D7, 0x09D7,
0x09DC, 0x09DD,
0x09DF, 0x09E3,
0x09E6, 0x09FE,
0x1CD0, 0x1CD0,
0x1CD2, 0x1CD2,
0x1CD5, 0x1CD6,
0x1CD8, 0x1CD8,
0x1CE1, 0x1CE1,
0x1CEA, 0x1CEA,
0x1CED, 0x1CED,
0x1CF2, 0x1CF2,
0x1CF5, 0x1CF7,
0xA8F1, 0xA8F1,
},
normalizationFixes = m["Beng"].normalizationFixes,
}
}
 
m["Bhks"] = process_ranges{
m["ks-Arab"] = m["fa-Arab"]
"Bhaiksuki",
m["ku-Arab"] = m["fa-Arab"]
"abugida",
m["ms-Arab"] = m["kk-Arab"]
m["mzn-Arab"] = m["fa-Arab"]
m["ota-Arab"] = m["fa-Arab"]
m["pa-Arab"] = {
"Shahmukhi",
133800,
m["Arab"][3],
ranges = m["Arab"].ranges,
characters = m["Arab"].characters,
otherNames = {"Arabic"},
direction = "rtl",
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}
m["ps-Arab"] = m["fa-Arab"]
m["sd-Arab"] = m["fa-Arab"]
m["tt-Arab"] = m["fa-Arab"]
m["ug-Arab"] = m["fa-Arab"]
m["ur-Arab"] = m["fa-Arab"]
 
-- Aran (Nastaliq) is subsumed into Arab
 
m["Armi"] = process_ranges{
"Imperial Aramaic",
26978,
"abjad",
ranges = {
ranges = {
0x11C00, 0x11C08,
0x10840, 0x10855,
0x11C0A, 0x11C36,
0x10857, 0x1085F,
0x11C38, 0x11C45,
0x11C50, 0x11C6C,
},
},
direction = "rtl",
}
}


m["Blis"] = {
m["Armn"] = process_ranges{
"Blissymbols",
"Armenian",
"logography",
11932,
aliases = {"Blissymbolics"},
"alphabet",
-- Not in Unicode
ranges = {
0x0531, 0x0556,
0x0559, 0x058A,
0x058D, 0x058F,
0xFB13, 0xFB17,
},
capitalized = true,
}
}


m["Bopo"] = process_ranges{
m["Avst"] = process_ranges{
"Zhuyin",
"Avestan",
"semisyllabary",
790681,
aliases = {"Zhuyin Fuhao", "Bopomofo"},
"alphabet",
ranges = {
ranges = {
0x02EA, 0x02EB,
0x10B00, 0x10B35,
0x3001, 0x3003,
0x10B39, 0x10B3F,
0x3008, 0x3011,
0x3013, 0x301F,
0x302A, 0x302D,
0x3030, 0x3030,
0x3037, 0x3037,
0x30FB, 0x30FB,
0x3105, 0x312F,
0x31A0, 0x31BF,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
},
},
direction = "rtl",
}
}


m["Brah"] = process_ranges{
m["pal-Avst"] = {
"Brahmi",
"Pazend",
"abugida",
4925073,
ranges = {
m["Avst"][3],
0x11000, 0x1104D,
ranges = m["Avst"].ranges,
0x11052, 0x11075,
characters = m["Avst"].characters,
0x1107F, 0x1107F,
direction = "rtl",
parent = "Avst",
}
 
m["Bali"] = process_ranges{
"Balinese",
804984,
"abugida",
ranges = {
0x1B00, 0x1B4C,
0x1B4E, 0x1B7F,
},
},
normalizationFixes = handle_normalization_fixes{
}
from = {"𑀅𑀸", "𑀋𑀾", "𑀏𑁂"},
 
to = {"𑀆", "𑀌", "𑀐"}
m["Bamu"] = process_ranges{
"Bamum",
806024,
"syllabary",
ranges = {
0xA6A0, 0xA6F7,
0x16800, 0x16A38,
},
},
}
}


m["Brai"] = process_ranges{
m["Bass"] = process_ranges{
"Braille",
"Bassa",
810458,
"alphabet",
"alphabet",
aliases = {"Bassa Vah", "Vah"},
ranges = {
ranges = {
0x2800, 0x28FF,
0x16AD0, 0x16AED,
0x16AF0, 0x16AF5,
},
},
}
}


m["Bugi"] = process_ranges{
m["Batk"] = process_ranges{
"Lontara",
"Batak",
51592,
"abugida",
"abugida",
aliases = {"Buginese"},
ranges = {
ranges = {
0x1A00, 0x1A1B,
0x1BC0, 0x1BF3,
0x1A1E, 0x1A1F,
0x1BFC, 0x1BFF,
0xA9CF, 0xA9CF,
},
},
}
}


m["Buhd"] = process_ranges{
m["Beng"] = process_ranges{
"Buhid",
"Bengali",
"abugida",
756802,
ranges = {
0x1735, 0x1736,
0x1740, 0x1751,
0x1752, 0x1753,
},
}
 
m["Cakm"] = process_ranges{
"Chakma",
"abugida",
"abugida",
ranges = {
ranges = {
0x0951, 0x0952,
0x0964, 0x0965,
0x0980, 0x0983,
0x0985, 0x098C,
0x098F, 0x0990,
0x0993, 0x09A8,
0x09AA, 0x09B0,
0x09B2, 0x09B2,
0x09B6, 0x09B9,
0x09BC, 0x09C4,
0x09C7, 0x09C8,
0x09CB, 0x09CE,
0x09D7, 0x09D7,
0x09DC, 0x09DD,
0x09DF, 0x09E3,
0x09E6, 0x09EF,
0x09E6, 0x09EF,
0x1040, 0x1049,
0x09F2, 0x09FE,
0x11100, 0x11134,
0x1CD0, 0x1CD0,
0x11136, 0x11147,
0x1CD2, 0x1CD2,
0x1CD5, 0x1CD6,
0x1CD8, 0x1CD8,
0x1CE1, 0x1CE1,
0x1CEA, 0x1CEA,
0x1CED, 0x1CED,
0x1CF2, 0x1CF2,
0x1CF5, 0x1CF7,
0xA8F1, 0xA8F1,
},
},
}
normalizationFixes = handle_normalization_fixes{
 
from = {"অা", "ঋৃ", "ঌৢ"},
m["Cans"] = process_ranges{
to = {"আ", "ৠ", "ৡ"}
"Canadian syllabics",
"abugida",
ranges = {
0x1400, 0x167F,
0x18B0, 0x18F5,
0x11AB0, 0x11ABF,
},
},
}
}


m["Cari"] = process_ranges{
m["as-Beng"] = process_ranges{
"Carian",
"Assamese",
"alphabet",
191272,
ranges = {
m["Beng"][3],
0x102A0, 0x102D0,
otherNames = {"Eastern Nagari"},
},
ranges = {
}
0x0951, 0x0952,
 
0x0964, 0x0965,
m["Cham"] = process_ranges{
0x0980, 0x0983,
"Cham",
0x0985, 0x098C,
0x098F, 0x0990,
0x0993, 0x09A8,
0x09AA, 0x09AF,
0x09B2, 0x09B2,
0x09B6, 0x09B9,
0x09BC, 0x09C4,
0x09C7, 0x09C8,
0x09CB, 0x09CE,
0x09D7, 0x09D7,
0x09DC, 0x09DD,
0x09DF, 0x09E3,
0x09E6, 0x09FE,
0x1CD0, 0x1CD0,
0x1CD2, 0x1CD2,
0x1CD5, 0x1CD6,
0x1CD8, 0x1CD8,
0x1CE1, 0x1CE1,
0x1CEA, 0x1CEA,
0x1CED, 0x1CED,
0x1CF2, 0x1CF2,
0x1CF5, 0x1CF7,
0xA8F1, 0xA8F1,
},
normalizationFixes = m["Beng"].normalizationFixes,
}
 
m["Bhks"] = process_ranges{
"Bhaiksuki",
17017839,
"abugida",
"abugida",
ranges = {
ranges = {
0xAA00, 0xAA36,
0x11C00, 0x11C08,
0xAA40, 0xAA4D,
0x11C0A, 0x11C36,
0xAA50, 0xAA59,
0x11C38, 0x11C45,
0xAA5C, 0xAA5F,
0x11C50, 0x11C6C,
},
},
}
}


m["Cher"] = process_ranges{
m["Blis"] = {
"Cherokee",
"Blissymbolic",
"syllabary",
609817,
"logography",
aliases = {"Blissymbols"},
-- Not in Unicode
}
 
m["Bopo"] = process_ranges{
"Zhuyin",
198269,
"semisyllabary",
aliases = {"Zhuyin Fuhao", "Bopomofo"},
ranges = {
ranges = {
0x13A0, 0x13F5,
0x02EA, 0x02EB,
0x13F8, 0x13FD,
0x3001, 0x3003,
0xAB70, 0xABBF,
0x3008, 0x3011,
0x3013, 0x301F,
0x302A, 0x302D,
0x3030, 0x3030,
0x3037, 0x3037,
0x30FB, 0x30FB,
0x3105, 0x312F,
0x31A0, 0x31BF,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
},
},
}
}


m["Chis"] = {
m["Brah"] = process_ranges{
"Chisoi",
"Brahmi",
185083,
"abugida",
"abugida",
-- Not in Unicode
}
m["Chrs"] = process_ranges{
"Chorasmian",
"abjad",
ranges = {
ranges = {
0x10FB0, 0x10FCB,
0x11000, 0x1104D,
0x11052, 0x11075,
0x1107F, 0x1107F,
},
normalizationFixes = handle_normalization_fixes{
from = {"𑀅𑀸", "𑀋𑀾", "𑀏𑁂"},
to = {"𑀆", "𑀌", "𑀐"}
},
},
direction = "rtl",
}
}


m["Copt"] = process_ranges{
m["Brai"] = process_ranges{
"Coptic",
"Braille",
79894,
"alphabet",
"alphabet",
ranges = {
ranges = {
0x03E2, 0x03EF,
0x2800, 0x28FF,
0x2C80, 0x2CF3,
0x2CF9, 0x2CFF,
0x102E0, 0x102FB,
},
},
capitalized = true,
}
}


m["Cpmn"] = process_ranges{
m["Bugi"] = process_ranges{
"Cypro-Minoan",
"Lontara",
"syllabary",
1074947,
aliases = {"Cypro Minoan"},
"abugida",
aliases = {"Buginese"},
ranges = {
ranges = {
0x10100, 0x10101,
0x1A00, 0x1A1B,
0x12F90, 0x12FF2,
0x1A1E, 0x1A1F,
0xA9CF, 0xA9CF,
},
},
}
}


m["Cprt"] = process_ranges{
m["Buhd"] = process_ranges{
"Cypriot",
"Buhid",
"syllabary",
1002969,
"abugida",
ranges = {
ranges = {
0x10100, 0x10102,
0x1735, 0x1736,
0x10107, 0x10133,
0x1740, 0x1751,
0x10137, 0x1013F,
0x1752, 0x1753,
0x10800, 0x10805,
},
0x10808, 0x10808,
}
0x1080A, 0x10835,
 
0x10837, 0x10838,
m["Cakm"] = process_ranges{
0x1083C, 0x1083C,
"Chakma",
0x1083F, 0x1083F,
1059328,
"abugida",
ranges = {
0x09E6, 0x09EF,
0x1040, 0x1049,
0x11100, 0x11134,
0x11136, 0x11147,
},
},
direction = "rtl",
}
}


m["Cyrl"] = process_ranges{
m["Cans"] = process_ranges{
"Cyrillic",
"Canadian syllabic",
"alphabet",
2479183,
"abugida",
ranges = {
ranges = {
0x0400, 0x052F,
0x1400, 0x167F,
0x1C80, 0x1C88,
0x18B0, 0x18F5,
0x1D2B, 0x1D2B,
0x11AB0, 0x11ABF,
0x1D78, 0x1D78,
0x1DF8, 0x1DF8,
0x2DE0, 0x2DFF,
0x2E43, 0x2E43,
0xA640, 0xA69F,
0xFE2E, 0xFE2F,
0x1E030, 0x1E06D,
0x1E08F, 0x1E08F,
},
},
capitalized = true,
}
}


m["Cyrs"] = {
m["Cari"] = process_ranges{
"Old Cyrillic",
"Carian",
m["Cyrl"][2],
1094567,
aliases = {"Early Cyrillic"},
"alphabet",
ranges = m["Cyrl"].ranges,
ranges = {
characters = m["Cyrl"].characters,
0x102A0, 0x102D0,
capitalized = m["Cyrl"].capitalized,
wikipedia_article = "Early Cyrillic alphabet",
normalizationFixes = handle_normalization_fixes{
from = {"Ѹ", "ѹ"},
to = {"Ꙋ", "ꙋ"}
},
},
}
}


m["Deva"] = process_ranges{
m["Cham"] = process_ranges{
"Devanagari",
"Cham",
1060381,
"abugida",
"abugida",
ranges = {
ranges = {
0x0900, 0x097F,
0xAA00, 0xAA36,
0x1CD0, 0x1CF6,
0xAA40, 0xAA4D,
0x1CF8, 0x1CF9,
0xAA50, 0xAA59,
0x20F0, 0x20F0,
0xAA5C, 0xAA5F,
0xA830, 0xA839,
0xA8E0, 0xA8FF,
0x11B00, 0x11B09,
},
normalizationFixes = handle_normalization_fixes{
from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"},
to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
},
},
}
}


m["Diak"] = process_ranges{
m["Cher"] = process_ranges{
"Dhives Akuru",
"Cherokee",
"abugida",
26549,
aliases = {"Dhivehi Akuru", "Dives Akuru", "Divehi Akuru"},
"syllabary",
ranges = {
ranges = {
0x11900, 0x11906,
0x13A0, 0x13F5,
0x11909, 0x11909,
0x13F8, 0x13FD,
0x1190C, 0x11913,
0xAB70, 0xABBF,
0x11915, 0x11916,
0x11918, 0x11935,
0x11937, 0x11938,
0x1193B, 0x11946,
0x11950, 0x11959,
},
},
}
}


m["Dogr"] = process_ranges{
m["Chis"] = {
"Dogra",
"Chisoi",
123173777,
"abugida",
"abugida",
-- Not in Unicode
}
m["Chrs"] = process_ranges{
"Khwarezmian",
72386710,
"abjad",
aliases = {"Chorasmian"},
ranges = {
ranges = {
0x0964, 0x096F,
0x10FB0, 0x10FCB,
0xA830, 0xA839,
0x11800, 0x1183B,
},
},
direction = "rtl",
}
}


m["Dsrt"] = process_ranges{
m["Copt"] = process_ranges{
"Deseret",
"Coptic",
321083,
"alphabet",
"alphabet",
ranges = {
ranges = {
0x10400, 0x1044F,
0x03E2, 0x03EF,
0x2C80, 0x2CF3,
0x2CF9, 0x2CFF,
0x102E0, 0x102FB,
},
},
capitalized = true,
capitalized = true,
}
}


m["Dupl"] = process_ranges{
m["Cpmn"] = process_ranges{
"Duployan",
"Cypro-Minoan",
"alphabet",
1751985,
"syllabary",
aliases = {"Cypro Minoan"},
ranges = {
ranges = {
0x1BC00, 0x1BC6A,
0x10100, 0x10101,
0x1BC70, 0x1BC7C,
0x12F90, 0x12FF2,
0x1BC80, 0x1BC88,
0x1BC90, 0x1BC99,
0x1BC9C, 0x1BCA3,
},
},
}
}


m["Egyd"] = {
m["Cprt"] = process_ranges{
"Demotic",
"Cypriot",
"abjad, logography",
1757689,
-- Not in Unicode
"syllabary",
ranges = {
0x10100, 0x10102,
0x10107, 0x10133,
0x10137, 0x1013F,
0x10800, 0x10805,
0x10808, 0x10808,
0x1080A, 0x10835,
0x10837, 0x10838,
0x1083C, 0x1083C,
0x1083F, 0x1083F,
},
direction = "rtl",
}
}


m["Egyh"] = {
m["Cyrl"] = process_ranges{
"Hieratic",
"Cyrillic",
"abjad, logography",
8209,
-- Unified with Egyptian hieroglyphic in Unicode
"alphabet",
ranges = {
0x0400, 0x052F,
0x1C80, 0x1C8A,
0x1D2B, 0x1D2B,
0x1D78, 0x1D78,
0x1DF8, 0x1DF8,
0x2DE0, 0x2DFF,
0x2E43, 0x2E43,
0xA640, 0xA69F,
0xFE2E, 0xFE2F,
0x1E030, 0x1E06D,
0x1E08F, 0x1E08F,
},
capitalized = true,
}
}


m["Egyp"] = process_ranges{
m["Cyrs"] = {
"Egyptian hieroglyphic",
"Old Cyrillic",
"abjad, logography",
442244,
ranges = {
m["Cyrl"][3],
0x13000, 0x13455,
aliases = {"Early Cyrillic"},
},
ranges = m["Cyrl"].ranges,
varieties = {"Hieratic"},
characters = m["Cyrl"].characters,
wikipedia_article = "Egyptian hieroglyphs",
capitalized = m["Cyrl"].capitalized,
wikipedia_article = "Early Cyrillic alphabet",
normalizationFixes = handle_normalization_fixes{
normalizationFixes = handle_normalization_fixes{
from = {"𓃁", "𓆖"},
from = {"Ѹ", "ѹ"},
to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"}
to = {"", ""}
},
},
}
}


m["Elba"] = process_ranges{
m["Deva"] = process_ranges{
"Elbasan",
"Devanagari",
"alphabet",
38592,
"abugida",
ranges = {
ranges = {
0x10500, 0x10527,
0x0900, 0x097F,
0x1CD0, 0x1CF6,
0x1CF8, 0x1CF9,
0x20F0, 0x20F0,
0xA830, 0xA839,
0xA8E0, 0xA8FF,
0x11B00, 0x11B09,
},
normalizationFixes = handle_normalization_fixes{
from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"},
to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
},
},
}
}


m["Elym"] = process_ranges{
m["Diak"] = process_ranges{
"Elymaic",
"Dhives Akuru",
"abjad",
3307073,
"abugida",
aliases = {"Dhivehi Akuru", "Dives Akuru", "Divehi Akuru"},
ranges = {
ranges = {
0x10FE0, 0x10FF6,
0x11900, 0x11906,
0x11909, 0x11909,
0x1190C, 0x11913,
0x11915, 0x11916,
0x11918, 0x11935,
0x11937, 0x11938,
0x1193B, 0x11946,
0x11950, 0x11959,
},
},
direction = "rtl",
}
}


m["Ethi"] = process_ranges{
m["Dogr"] = process_ranges{
"Ethiopic",
"Dogra",
72402987,
"abugida",
"abugida",
aliases = {"Ge'ez"},
ranges = {
ranges = {
0x1200, 0x1248,
0x0964, 0x096F,
0x124A, 0x124D,
0xA830, 0xA839,
0x1250, 0x1256,
0x11800, 0x1183B,
0x1258, 0x1258,
0x125A, 0x125D,
0x1260, 0x1288,
0x128A, 0x128D,
0x1290, 0x12B0,
0x12B2, 0x12B5,
0x12B8, 0x12BE,
0x12C0, 0x12C0,
0x12C2, 0x12C5,
0x12C8, 0x12D6,
0x12D8, 0x1310,
0x1312, 0x1315,
0x1318, 0x135A,
0x135D, 0x137C,
0x1380, 0x1399,
0x2D80, 0x2D96,
0x2DA0, 0x2DA6,
0x2DA8, 0x2DAE,
0x2DB0, 0x2DB6,
0x2DB8, 0x2DBE,
0x2DC0, 0x2DC6,
0x2DC8, 0x2DCE,
0x2DD0, 0x2DD6,
0x2DD8, 0x2DDE,
0xAB01, 0xAB06,
0xAB09, 0xAB0E,
0xAB11, 0xAB16,
0xAB20, 0xAB26,
0xAB28, 0xAB2E,
0x1E7E0, 0x1E7E6,
0x1E7E8, 0x1E7EB,
0x1E7ED, 0x1E7EE,
0x1E7F0, 0x1E7FE,
},
},
}
}


m["Gara"] = {
m["Dsrt"] = process_ranges{
"Garay",
"Deseret",
1200582,
"alphabet",
"alphabet",
capitalized = true,
ranges = {
direction = "rtl",
0x10400, 0x1044F,
-- Not in Unicode
}
 
m["Geok"] = process_ranges{
"Khutsuri",
"alphabet",
ranges = { -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri
0x10A0, 0x10C5,
0x10C7, 0x10C7,
0x10CD, 0x10CD,
0x10FB, 0x10FB,
0x2D00, 0x2D25,
0x2D27, 0x2D27,
0x2D2D, 0x2D2D,
},
},
varieties = {"Nuskhuri", "Asomtavruli"},
capitalized = true,
capitalized = true,
}
}


m["Geor"] = process_ranges{
m["Dupl"] = process_ranges{
"Georgian",
"Duployan",
5316025,
"alphabet",
"alphabet",
ranges = { -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli)
ranges = {
0x10D0, 0x10FF,
0x1BC00, 0x1BC6A,
0x1C90, 0x1CBA,
0x1BC70, 0x1BC7C,
0x1CBD, 0x1CBF,
0x1BC80, 0x1BC88,
0x1BC90, 0x1BC99,
0x1BC9C, 0x1BCA3,
},
},
varieties = {"Mkhedruli", "Mtavruli"},
capitalized = true,
}
}


m["Glag"] = process_ranges{
m["Egyd"] = {
"Glagolitic",
"Demotic",
"alphabet",
188519,
"abjad, logography",
-- Not in Unicode
}
 
m["Egyh"] = {
"Hieratic",
208111,
"abjad, logography",
-- Unified with Egyptian hieroglyphic in Unicode
}
 
m["Egyp"] = process_ranges{
"Egyptian hieroglyphic",
132659,
"abjad, logography",
ranges = {
ranges = {
0x0484, 0x0484,
0x13000, 0x13455,
0x0487, 0x0487,
0x13460, 0x143FA,
0x2C00, 0x2C5F,
},
0x2E43, 0x2E43,
varieties = {"Hieratic"},
0xA66F, 0xA66F,
wikipedia_article = "Egyptian hieroglyphs",
0x1E000, 0x1E006,
normalizationFixes = handle_normalization_fixes{
0x1E008, 0x1E018,
from = {"𓃁", "𓆖"},
0x1E01B, 0x1E021,
to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"}
0x1E023, 0x1E024,
0x1E026, 0x1E02A,
},
},
capitalized = true,
}
}


m["Gong"] = process_ranges{
m["Elba"] = process_ranges{
"Gunjala Gondi",
"Elbasan",
"abugida",
1036714,
"alphabet",
ranges = {
ranges = {
0x0964, 0x0965,
0x10500, 0x10527,
0x11D60, 0x11D65,
0x11D67, 0x11D68,
0x11D6A, 0x11D8E,
0x11D90, 0x11D91,
0x11D93, 0x11D98,
0x11DA0, 0x11DA9,
},
},
}
}


m["Gonm"] = process_ranges{
m["Elym"] = process_ranges{
"Masaram Gondi",
"Elymaic",
"abugida",
60744423,
"abjad",
ranges = {
ranges = {
0x0964, 0x0965,
0x10FE0, 0x10FF6,
0x11D00, 0x11D06,
0x11D08, 0x11D09,
0x11D0B, 0x11D36,
0x11D3A, 0x11D3A,
0x11D3C, 0x11D3D,
0x11D3F, 0x11D47,
0x11D50, 0x11D59,
},
},
direction = "rtl",
}
}


m["Goth"] = process_ranges{
m["Ethi"] = process_ranges{
"Gothic",
"Ethiopic",
"alphabet",
257634,
ranges = {
0x10330, 0x1034A,
},
wikipedia_article = "Gothic alphabet",
}
 
m["Gran"] = process_ranges{
"Grantha",
"abugida",
"abugida",
aliases = {"Ge'ez", "Geʽez"},
ranges = {
ranges = {
0x0951, 0x0952,
0x1200, 0x1248,
0x0964, 0x0965,
0x124A, 0x124D,
0x0BE6, 0x0BF3,
0x1250, 0x1256,
0x1CD0, 0x1CD0,
0x1258, 0x1258,
0x1CD2, 0x1CD3,
0x125A, 0x125D,
0x1CF2, 0x1CF4,
0x1260, 0x1288,
0x1CF8, 0x1CF9,
0x128A, 0x128D,
0x20F0, 0x20F0,
0x1290, 0x12B0,
0x11300, 0x11303,
0x12B2, 0x12B5,
0x11305, 0x1130C,
0x12B8, 0x12BE,
0x1130F, 0x11310,
0x12C0, 0x12C0,
0x11313, 0x11328,
0x12C2, 0x12C5,
0x1132A, 0x11330,
0x12C8, 0x12D6,
0x11332, 0x11333,
0x12D8, 0x1310,
0x11335, 0x11339,
0x1312, 0x1315,
0x1133B, 0x11344,
0x1318, 0x135A,
0x11347, 0x11348,
0x135D, 0x137C,
0x1134B, 0x1134D,
0x1380, 0x1399,
0x11350, 0x11350,
0x2D80, 0x2D96,
0x11357, 0x11357,
0x2DA0, 0x2DA6,
0x1135D, 0x11363,
0x2DA8, 0x2DAE,
0x11366, 0x1136C,
0x2DB0, 0x2DB6,
0x11370, 0x11374,
0x2DB8, 0x2DBE,
0x11FD0, 0x11FD1,
0x2DC0, 0x2DC6,
0x11FD3, 0x11FD3,
0x2DC8, 0x2DCE,
0x2DD0, 0x2DD6,
0x2DD8, 0x2DDE,
0xAB01, 0xAB06,
0xAB09, 0xAB0E,
0xAB11, 0xAB16,
0xAB20, 0xAB26,
0xAB28, 0xAB2E,
0x1E7E0, 0x1E7E6,
0x1E7E8, 0x1E7EB,
0x1E7ED, 0x1E7EE,
0x1E7F0, 0x1E7FE,
},
},
}
}


m["Grek"] = process_ranges{
m["Gara"] = process_ranges{
"Greek",
"Garay",
3095302,
"alphabet",
"alphabet",
capitalized = true,
direction = "rtl",
ranges = {
ranges = {
0x0342, 0x0342,
0x060C, 0x060C,
0x0345, 0x0345,
0x061B, 0x061B,
0x0370, 0x0377,
0x061F, 0x061F,
0x037A, 0x037F,
0x10D40, 0x10D65,
0x0384, 0x038A,
0x10D69, 0x10D85,
0x038C, 0x038C,
0x10D8E, 0x10D8F,
0x038E, 0x03A1,
},
0x03A3, 0x03E1,
}
0x03F0, 0x03FF,
 
0x1D26, 0x1D2A,
m["Geok"] = process_ranges{
0x1D5D, 0x1D61,
"Khutsuri",
0x1D66, 0x1D6A,
1090055,
0x1DBF, 0x1DBF,
"alphabet",
0x2126, 0x2127,
ranges = { -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri
0x2129, 0x2129,
0x10A0, 0x10C5,
0x213C, 0x2140,
0x10C7, 0x10C7,
0xAB65, 0xAB65,
0x10CD, 0x10CD,
0x10140, 0x1018E,
0x10FB, 0x10FB,
0x101A0, 0x101A0,
0x2D00, 0x2D25,
0x1D200, 0x1D245,
0x2D27, 0x2D27,
0x2D2D, 0x2D2D,
},
},
varieties = {"Nuskhuri", "Asomtavruli"},
capitalized = true,
capitalized = true,
}
}


m["Polyt"] = process_ranges{
m["Geor"] = process_ranges{
"Greek",
"Georgian",
m["Grek"][2],
3317411,
ranges = union(m["Grek"].ranges, {
"alphabet",
0x1F00, 0x1F15,
ranges = { -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli)
0x1F18, 0x1F1D,
0x0589, 0x0589,
0x1F20, 0x1F45,
0x10D0, 0x10FF,
0x1F48, 0x1F4D,
0x1C90, 0x1CBA,
0x1F50, 0x1F57,
0x1CBD, 0x1CBF,
0x1F59, 0x1F59,
},
0x1F5B, 0x1F5B,
varieties = {"Mkhedruli", "Mtavruli"},
0x1F5D, 0x1F5D,
capitalized = true,
0x1F5F, 0x1F7D,
}
0x1F80, 0x1FB4,
0x1FB6, 0x1FC4,
0x1FC6, 0x1FD3,
0x1FD6, 0x1FDB,
0x1FDD, 0x1FEF,
0x1FF2, 0x1FF4,
0x1FF6, 0x1FFE,
}),
ietf_subtag = "Grek",
capitalized = m["Grek"].capitalized,
parent = "Grek",
}


m["Gujr"] = process_ranges{
m["Glag"] = process_ranges{
"Gujarati",
"Glagolitic",
"abugida",
145625,
"alphabet",
ranges = {
ranges = {
0x0951, 0x0952,
0x0484, 0x0484,
0x0964, 0x0965,
0x0487, 0x0487,
0x0A81, 0x0A83,
0x0589, 0x0589,
0x0A85, 0x0A8D,
0x10FB, 0x10FB,
0x0A8F, 0x0A91,
0x2C00, 0x2C5F,
0x0A93, 0x0AA8,
0x2E43, 0x2E43,
0x0AAA, 0x0AB0,
0xA66F, 0xA66F,
0x0AB2, 0x0AB3,
0x1E000, 0x1E006,
0x0AB5, 0x0AB9,
0x1E008, 0x1E018,
0x0ABC, 0x0AC5,
0x1E01B, 0x1E021,
0x0AC7, 0x0AC9,
0x1E023, 0x1E024,
0x0ACB, 0x0ACD,
0x1E026, 0x1E02A,
0x0AD0, 0x0AD0,
0x0AE0, 0x0AE3,
0x0AE6, 0x0AF1,
0x0AF9, 0x0AFF,
0xA830, 0xA839,
},
normalizationFixes = handle_normalization_fixes{
from = {"ઓ", "અાૈ", "અા", "અૅ", "અે", "અૈ", "અૉ", "અો", "અૌ", "આૅ", "આૈ", "ૅા"},
to = {"અાૅ", "ઔ", "આ", "ઍ", "એ", "ઐ", "ઑ", "ઓ", "ઔ", "ઓ", "ઔ", "ૉ"}
},
},
capitalized = true,
}
}


m["Gukh"] = {
m["Gong"] = process_ranges{
"Khema",
"Gunjala Gondi",
"abugida",
18125340,
aliases = {"Gurung Khema", "Khema Phri", "Khema Lipi"},
-- Not in Unicode
}
 
m["Guru"] = process_ranges{
"Gurmukhi",
"abugida",
"abugida",
ranges = {
ranges = {
0x0951, 0x0952,
0x0964, 0x0965,
0x0964, 0x0965,
0x0A01, 0x0A03,
0x11D60, 0x11D65,
0x0A05, 0x0A0A,
0x11D67, 0x11D68,
0x0A0F, 0x0A10,
0x11D6A, 0x11D8E,
0x0A13, 0x0A28,
0x11D90, 0x11D91,
0x0A2A, 0x0A30,
0x11D93, 0x11D98,
0x0A32, 0x0A33,
0x11DA0, 0x11DA9,
0x0A35, 0x0A36,
0x0A38, 0x0A39,
0x0A3C, 0x0A3C,
0x0A3E, 0x0A42,
0x0A47, 0x0A48,
0x0A4B, 0x0A4D,
0x0A51, 0x0A51,
0x0A59, 0x0A5C,
0x0A5E, 0x0A5E,
0x0A66, 0x0A76,
0xA830, 0xA839,
},
normalizationFixes = handle_normalization_fixes{
from = {"ਅਾ", "ਅੈ", "ਅੌ", "ੲਿ", "ੲੀ", "ੲੇ", "ੳੁ", "ੳੂ", "ੳੋ"},
to = {"ਆ", "ਐ", "ਔ", "ਇ", "ਈ", "ਏ", "ਉ", "ਊ", "ਓ"}
},
},
}
}


m["Hang"] = process_ranges{
m["Gonm"] = process_ranges{
"Hangul",
"Masaram Gondi",
"syllabary",
16977603,
aliases = {"Hangeul"},
"abugida",
ranges = {
ranges = {
0x1100, 0x11FF,
0x0964, 0x0965,
0x3001, 0x3003,
0x11D00, 0x11D06,
0x3008, 0x3011,
0x11D08, 0x11D09,
0x3013, 0x301F,
0x11D0B, 0x11D36,
0x302E, 0x3030,
0x11D3A, 0x11D3A,
0x3037, 0x3037,
0x11D3C, 0x11D3D,
0x30FB, 0x30FB,
0x11D3F, 0x11D47,
0x3131, 0x318E,
0x11D50, 0x11D59,
0x3200, 0x321E,
0x3260, 0x327E,
0xA960, 0xA97C,
0xAC00, 0xD7A3,
0xD7B0, 0xD7C6,
0xD7CB, 0xD7FB,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
0xFFA0, 0xFFBE,
0xFFC2, 0xFFC7,
0xFFCA, 0xFFCF,
0xFFD2, 0xFFD7,
0xFFDA, 0xFFDC,
},
},
}
}


m["Hani"] = process_ranges{
m["Goth"] = process_ranges{
"Han",
"Gothic",
"logography",
467784,
"alphabet",
ranges = {
ranges = {
0x2E80, 0x2E99,
0x10330, 0x1034A,
0x2E9B, 0x2EF3,
},
0x2F00, 0x2FD5,
wikipedia_article = "Gothic alphabet",
0x2FF0, 0x2FFF,
}
0x3001, 0x3003,
 
0x3005, 0x3011,
m["Gran"] = process_ranges{
0x3013, 0x301F,
"Grantha",
0x3021, 0x302D,
1119274,
0x3030, 0x3030,
"abugida",
0x3037, 0x303F,
ranges = {
0x3190, 0x319F,
0x0951, 0x0952,
0x31C0, 0x31E3,
0x0964, 0x0965,
0x31EF, 0x31EF,
0x0BE6, 0x0BF3,
0x3220, 0x3247,
0x1CD0, 0x1CD0,
0x3280, 0x32B0,
0x1CD2, 0x1CD3,
0x32C0, 0x32CB,
0x1CF2, 0x1CF4,
0x30FB, 0x30FB,
0x1CF8, 0x1CF9,
0x32FF, 0x32FF,
0x20F0, 0x20F0,
0x3358, 0x3370,
0x11300, 0x11303,
0x337B, 0x337F,
0x11305, 0x1130C,
0x33E0, 0x33FE,
0x1130F, 0x11310,
0x3400, 0x4DBF,
0x11313, 0x11328,
0x4E00, 0x9FFF,
0x1132A, 0x11330,
0xA700, 0xA707,
0x11332, 0x11333,
0xF900, 0xFA6D,
0x11335, 0x11339,
0xFA70, 0xFAD9,
0x1133B, 0x11344,
0xFE45, 0xFE46,
0x11347, 0x11348,
0xFF61, 0xFF65,
0x1134B, 0x1134D,
0x16FE2, 0x16FE3,
0x11350, 0x11350,
0x16FF0, 0x16FF1,
0x11357, 0x11357,
0x1D360, 0x1D371,
0x1135D, 0x11363,
0x1F250, 0x1F251,
0x11366, 0x1136C,
0x20000, 0x2A6DF,
0x11370, 0x11374,
0x2A700, 0x2B739,
0x11FD0, 0x11FD1,
0x2B740, 0x2B81D,
0x11FD3, 0x11FD3,
0x2B820, 0x2CEA1,
0x2CEB0, 0x2EBE0,
0x2EBF0, 0x2EE5D,
0x2F800, 0x2FA1D,
0x30000, 0x3134A,
0x31350, 0x323AF,
},
},
varieties = {"Hanzi", "Kanji", "Hanja", "Chu Nom"},
spaces = false,
}
}


m["Hans"] = {
m["Grek"] = process_ranges{
"Simplified Han",
"Greek",
m["Hani"][2],
8216,
ranges = m["Hani"].ranges,
"alphabet",
characters = m["Hani"].characters,
ranges = {
spaces = m["Hani"].spaces,
0x0342, 0x0342,
parent = "Hani",
0x0345, 0x0345,
}
0x0370, 0x0377,
 
0x037A, 0x037F,
m["Hant"] = {
0x0384, 0x038A,
"Traditional Han",
0x038C, 0x038C,
m["Hani"][2],
0x038E, 0x03A1,
ranges = m["Hani"].ranges,
0x03A3, 0x03E1,
characters = m["Hani"].characters,
0x03F0, 0x03FF,
spaces = m["Hani"].spaces,
0x1D26, 0x1D2A,
parent = "Hani",
0x1D5D, 0x1D61,
}
0x1D66, 0x1D6A,
 
0x1DBF, 0x1DBF,
m["Hano"] = process_ranges{
0x2126, 0x2127,
"Hanunoo",
0x2129, 0x2129,
"abugida",
0x213C, 0x2140,
ranges = {
0xAB65, 0xAB65,
0x1720, 0x1736,
0x10140, 0x1018E,
0x101A0, 0x101A0,
0x1D200, 0x1D245,
},
},
capitalized = true,
}
}


m["Hatr"] = process_ranges{
m["Polyt"] = process_ranges{
"Hatran",
"Greek",
"abjad",
1475332,
ranges = {
m["Grek"][3],
0x108E0, 0x108F2,
ranges = union(m["Grek"].ranges, {
0x108F4, 0x108F5,
0x1F00, 0x1F15,
0x108FB, 0x108FF,
0x1F18, 0x1F1D,
},
0x1F20, 0x1F45,
direction = "rtl",
0x1F48, 0x1F4D,
}
0x1F50, 0x1F57,
0x1F59, 0x1F59,
0x1F5B, 0x1F5B,
0x1F5D, 0x1F5D,
0x1F5F, 0x1F7D,
0x1F80, 0x1FB4,
0x1FB6, 0x1FC4,
0x1FC6, 0x1FD3,
0x1FD6, 0x1FDB,
0x1FDD, 0x1FEF,
0x1FF2, 0x1FF4,
0x1FF6, 0x1FFE,
}),
ietf_subtag = "Grek",
capitalized = m["Grek"].capitalized,
parent = "Grek",
}


m["Hebr"] = process_ranges{
m["Gujr"] = process_ranges{
"Hebrew",
"Gujarati",
"abjad", -- more precisely, impure abjad
733944,
"abugida",
ranges = {
ranges = {
0x0591, 0x05C7,
0x0951, 0x0952,
0x05D0, 0x05EA,
0x0964, 0x0965,
0x05EF, 0x05F4,
0x0A81, 0x0A83,
0x2135, 0x2138,
0x0A85, 0x0A8D,
0xFB1D, 0xFB36,
0x0A8F, 0x0A91,
0xFB38, 0xFB3C,
0x0A93, 0x0AA8,
0xFB3E, 0xFB3E,
0x0AAA, 0x0AB0,
0xFB40, 0xFB41,
0x0AB2, 0x0AB3,
0xFB43, 0xFB44,
0x0AB5, 0x0AB9,
0xFB46, 0xFB4F,
0x0ABC, 0x0AC5,
0x0AC7, 0x0AC9,
0x0ACB, 0x0ACD,
0x0AD0, 0x0AD0,
0x0AE0, 0x0AE3,
0x0AE6, 0x0AF1,
0x0AF9, 0x0AFF,
0xA830, 0xA839,
},
normalizationFixes = handle_normalization_fixes{
from = {"ઓ", "અાૈ", "અા", "અૅ", "અે", "અૈ", "અૉ", "અો", "અૌ", "આૅ", "આૈ", "ૅા"},
to = {"અાૅ", "ઔ", "આ", "ઍ", "એ", "ઐ", "ઑ", "ઓ", "ઔ", "ઓ", "ઔ", "ૉ"}
},
},
direction = "rtl",
}
}


m["Hira"] = process_ranges{
m["Gukh"] = process_ranges{
"Hiragana",
"Khema",
"syllabary",
110064239,
"abugida",
aliases = {"Gurung Khema", "Khema Phri", "Khema Lipi"},
ranges = {
ranges = {
0x3001, 0x3003,
0x0965, 0x0965,
0x3008, 0x3011,
0x16100, 0x16139,
0x3013, 0x301F,
0x3030, 0x3035,
0x3037, 0x3037,
0x303C, 0x303D,
0x3041, 0x3096,
0x3099, 0x30A0,
0x30FB, 0x30FC,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
0xFF70, 0xFF70,
0xFF9E, 0xFF9F,
0x1B001, 0x1B11F,
0x1B132, 0x1B132,
0x1B150, 0x1B152,
0x1F200, 0x1F200,
},
},
varieties = {"Hentaigana"},
spaces = false,
}
}


m["Hluw"] = process_ranges{
m["Guru"] = process_ranges{
"Anatolian Hieroglyphs",
"Gurmukhi",
"logography, syllabary",
689894,
"abugida",
ranges = {
ranges = {
0x14400, 0x14646,
0x0951, 0x0952,
},
0x0964, 0x0965,
wikipedia_article = "Anatolian hieroglyphs",
0x0A01, 0x0A03,
}
0x0A05, 0x0A0A,
 
0x0A0F, 0x0A10,
m["Hmng"] = process_ranges{
0x0A13, 0x0A28,
"Pahawh Hmong",
0x0A2A, 0x0A30,
"semisyllabary",
0x0A32, 0x0A33,
aliases = {"Hmong"},
0x0A35, 0x0A36,
ranges = {
0x0A38, 0x0A39,
0x16B00, 0x16B45,
0x0A3C, 0x0A3C,
0x16B50, 0x16B59,
0x0A3E, 0x0A42,
0x16B5B, 0x16B61,
0x0A47, 0x0A48,
0x16B63, 0x16B77,
0x0A4B, 0x0A4D,
0x16B7D, 0x16B8F,
0x0A51, 0x0A51,
0x0A59, 0x0A5C,
0x0A5E, 0x0A5E,
0x0A66, 0x0A76,
0xA830, 0xA839,
},
normalizationFixes = handle_normalization_fixes{
from = {"ਅਾ", "ਅੈ", "ਅੌ", "ੲਿ", "ੲੀ", "ੲੇ", "ੳੁ", "ੳੂ", "ੳੋ"},
to = {"ਆ", "ਐ", "ਔ", "ਇ", "ਈ", "ਏ", "ਉ", "ਊ", "ਓ"}
},
},
}
}


m["Hmnp"] = process_ranges{
m["Hang"] = process_ranges{
"Nyiakeng Puachue Hmong",
"Hangul",
"alphabet",
8222,
"syllabary",
aliases = {"Hangeul"},
ranges = {
ranges = {
0x1E100, 0x1E12C,
0x1100, 0x11FF,
0x1E130, 0x1E13D,
0x3001, 0x3003,
0x1E140, 0x1E149,
0x3008, 0x3011,
0x1E14E, 0x1E14F,
0x3013, 0x301F,
},
0x302E, 0x3030,
}
0x3037, 0x3037,
 
0x30FB, 0x30FB,
m["Hung"] = process_ranges{
0x3131, 0x318E,
"Old Hungarian",
0x3200, 0x321E,
"alphabet",
0x3260, 0x327E,
aliases = {"Hungarian runic"},
0xA960, 0xA97C,
ranges = {
0xAC00, 0xD7A3,
0x10C80, 0x10CB2,
0xD7B0, 0xD7C6,
0x10CC0, 0x10CF2,
0xD7CB, 0xD7FB,
0x10CFA, 0x10CFF,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
0xFFA0, 0xFFBE,
0xFFC2, 0xFFC7,
0xFFCA, 0xFFCF,
0xFFD2, 0xFFD7,
0xFFDA, 0xFFDC,
},
},
capitalized = true,
direction = "rtl",
}
}


m["Ibrnn"] = {
m["Hani"] = process_ranges{
"Northeastern Iberian",
"Han",
"semisyllabary",
8201,
ietf_subtag = "Zzzz",
"logography",
-- Not in Unicode
ranges = {
}
0x2E80, 0x2E99,
 
0x2E9B, 0x2EF3,
m["Ibrns"] = {
0x2F00, 0x2FD5,
"Southeastern Iberian",
0x2FF0, 0x2FFF,
"semisyllabary",
0x3001, 0x3003,
ietf_subtag = "Zzzz",
0x3005, 0x3011,
-- Not in Unicode
0x3013, 0x301F,
}
0x3021, 0x302D,
 
0x3030, 0x3030,
m["Image"] = {
0x3037, 0x303F,
-- To be used to avoid any formatting or link processing
0x3190, 0x319F,
"Image-rendered",
0x31C0, 0x31E5,
-- This should not have any characters listed
0x31EF, 0x31EF,
ietf_subtag = "Zyyy",
0x3220, 0x3247,
translit = false,
0x3280, 0x32B0,
character_category = false,
0x32C0, 0x32CB,
}
0x30FB, 0x30FB,
 
0x32FF, 0x32FF,
m["Inds"] = {
0x3358, 0x3370,
"Indus",
0x337B, 0x337F,
aliases = {"Harappan", "Indus Valley"},
0x33E0, 0x33FE,
0x3400, 0x4DBF,
0x4E00, 0x9FFF,
0xA700, 0xA707,
0xF900, 0xFA6D,
0xFA70, 0xFAD9,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
0x16FE2, 0x16FE3,
0x16FF0, 0x16FF1,
0x1D360, 0x1D371,
0x1F250, 0x1F251,
0x20000, 0x2A6DF,
0x2A700, 0x2B739,
0x2B740, 0x2B81D,
0x2B820, 0x2CEA1,
0x2CEB0, 0x2EBE0,
0x2EBF0, 0x2EE5D,
0x2F800, 0x2FA1D,
0x30000, 0x3134A,
0x31350, 0x323AF,
},
varieties = {"Hanzi", "Kanji", "Hanja", "Chu Nom"},
spaces = false,
}
}


m["Ipach"] = {
m["Hans"] = {
"International Phonetic Alphabet",
"Simplified Han",
aliases = {"IPA"},
185614,
ietf_subtag = "Latn",
m["Hani"][3],
}
ranges = m["Hani"].ranges,
characters = m["Hani"].characters,
spaces = m["Hani"].spaces,
parent = "Hani",
}
 
m["Hant"] = {
"Traditional Han",
178528,
m["Hani"][3],
ranges = m["Hani"].ranges,
characters = m["Hani"].characters,
spaces = m["Hani"].spaces,
parent = "Hani",
}


m["Ital"] = process_ranges{
m["Hano"] = process_ranges{
"Old Italic",
"Hanunoo",
"alphabet",
1584045,
"abugida",
aliases = {"Hanunó'o", "Hanuno'o"},
ranges = {
ranges = {
0x10300, 0x10323,
0x1720, 0x1736,
0x1032D, 0x1032F,
},
},
}
}


m["Java"] = process_ranges{
m["Hatr"] = process_ranges{
"Javanese",
"Hatran",
"abugida",
20813038,
"abjad",
ranges = {
ranges = {
0xA980, 0xA9CD,
0x108E0, 0x108F2,
0xA9CF, 0xA9D9,
0x108F4, 0x108F5,
0xA9DE, 0xA9DF,
0x108FB, 0x108FF,
},
},
direction = "rtl",
}
}


m["Jurc"] = {
m["Hebr"] = process_ranges{
"Jurchen",
"Hebrew",
"logography",
33513,
spaces = false,
"abjad", -- more precisely, impure abjad
}
ranges = {
 
0x0591, 0x05C7,
m["Kali"] = process_ranges{
0x05D0, 0x05EA,
"Kayah Li",
0x05EF, 0x05F4,
"abugida",
0x2135, 0x2138,
ranges = {
0xFB1D, 0xFB36,
0xA900, 0xA92F,
0xFB38, 0xFB3C,
0xFB3E, 0xFB3E,
0xFB40, 0xFB41,
0xFB43, 0xFB44,
0xFB46, 0xFB4F,
},
},
direction = "rtl",
}
}


m["Kana"] = process_ranges{
m["Hira"] = process_ranges{
"Katakana",
"Hiragana",
48332,
"syllabary",
"syllabary",
ranges = {
ranges = {
Line 1,368: Line 1,365:
0x3037, 0x3037,
0x3037, 0x3037,
0x303C, 0x303D,
0x303C, 0x303D,
0x3099, 0x309C,
0x3041, 0x3096,
0x30A0, 0x30FF,
0x3099, 0x30A0,
0x31F0, 0x31FF,
0x30FB, 0x30FC,
0x32D0, 0x32FE,
0x3300, 0x3357,
0xFE45, 0xFE46,
0xFE45, 0xFE46,
0xFF61, 0xFF9F,
0xFF61, 0xFF65,
0x1AFF0, 0x1AFF3,
0xFF70, 0xFF70,
0x1AFF5, 0x1AFFB,
0xFF9E, 0xFF9F,
0x1AFFD, 0x1AFFE,
0x1B001, 0x1B11F,
0x1B000, 0x1B000,
0x1B132, 0x1B132,
0x1B120, 0x1B122,
0x1B150, 0x1B152,
0x1B155, 0x1B155,
0x1F200, 0x1F200,
0x1B164, 0x1B167,
},
},
varieties = {"Hentaigana"},
spaces = false,
spaces = false,
}
}


m["Kawi"] = process_ranges{
m["Hluw"] = process_ranges{
"Kawi",
"Anatolian hieroglyphic",
"abugida",
521323,
"logography, syllabary",
ranges = {
ranges = {
0x11F00, 0x11F10,
0x14400, 0x14646,
0x11F12, 0x11F3A,
0x11F3E, 0x11F59,
},
},
wikipedia_article = "Anatolian hieroglyphs",
}
}


m["Khar"] = process_ranges{
m["Hmng"] = process_ranges{
"Kharoshthi",
"Pahawh Hmong",
"abugida",
365954,
"semisyllabary",
aliases = {"Hmong"},
ranges = {
ranges = {
0x10A00, 0x10A03,
0x16B00, 0x16B45,
0x10A05, 0x10A06,
0x16B50, 0x16B59,
0x10A0C, 0x10A13,
0x16B5B, 0x16B61,
0x10A15, 0x10A17,
0x16B63, 0x16B77,
0x10A19, 0x10A35,
0x16B7D, 0x16B8F,
0x10A38, 0x10A3A,
0x10A3F, 0x10A48,
0x10A50, 0x10A58,
},
},
direction = "rtl",
}
}


m["Khmr"] = process_ranges{
m["Hmnp"] = process_ranges{
"Khmer",
"Nyiakeng Puachue Hmong",
"abugida",
33712499,
"alphabet",
ranges = {
ranges = {
0x1780, 0x17DD,
0x1E100, 0x1E12C,
0x17E0, 0x17E9,
0x1E130, 0x1E13D,
0x17F0, 0x17F9,
0x1E140, 0x1E149,
0x19E0, 0x19FF,
0x1E14E, 0x1E14F,
},
spaces = false,
normalizationFixes = handle_normalization_fixes{
from = {"ឣ", "ឤ"},
to = {"អ", "អា"}
},
},
}
}


m["Khoj"] = process_ranges{
m["Hung"] = process_ranges{
"Khojki",
"Old Hungarian",
"abugida",
446224,
"alphabet",
aliases = {"Hungarian runic"},
ranges = {
ranges = {
0x0AE6, 0x0AEF,
0x10C80, 0x10CB2,
0xA830, 0xA839,
0x10CC0, 0x10CF2,
0x11200, 0x11211,
0x10CFA, 0x10CFF,
0x11213, 0x11241,
},
normalizationFixes = handle_normalization_fixes{
from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"},
to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"}
},
},
capitalized = true,
direction = "rtl",
}
}


m["Kitl"] = {
m["Ibrnn"] = {
"Khitan Large",
"Northeastern Iberian",
"logography",
1113155,
spaces = false,
"semisyllabary",
ietf_subtag = "Zzzz",
-- Not in Unicode
}
}


m["Kits"] = process_ranges{
m["Ibrns"] = {
"Khitan Small",
"Southeastern Iberian",
"logography, syllabary",
2305351,
ranges = {
"semisyllabary",
0x16FE4, 0x16FE4,
ietf_subtag = "Zzzz",
0x18B00, 0x18CD5,
-- Not in Unicode
},
spaces = false,
}
}


m["Knda"] = process_ranges{
m["Image"] = {
"Kannada",
-- To be used to avoid any formatting or link processing
"abugida",
"Image-rendered",
ranges = {
478798,
0x0951, 0x0952,
-- This should not have any characters listed
0x0964, 0x0965,
ietf_subtag = "Zyyy",
0x0C80, 0x0C8C,
translit = false,
0x0C8E, 0x0C90,
character_category = false, -- none
0x0C92, 0x0CA8,
}
0x0CAA, 0x0CB3,
0x0CB5, 0x0CB9,
0x0CBC, 0x0CC4,
0x0CC6, 0x0CC8,
0x0CCA, 0x0CCD,
0x0CD5, 0x0CD6,
0x0CDD, 0x0CDE,
0x0CE0, 0x0CE3,
0x0CE6, 0x0CEF,
0x0CF1, 0x0CF3,
0x1CD0, 0x1CD0,
0x1CD2, 0x1CD2,
0x1CDA, 0x1CDA,
0x1CF2, 0x1CF2,
0x1CF4, 0x1CF4,
0xA830, 0xA835,
},
normalizationFixes = handle_normalization_fixes{
from = {"ಉಾ", "ಋಾ", "ಒೌ"},
to = {"ಊ", "ೠ", "ಔ"}
},
}


m["Kpel"] = {
m["Inds"] = {
"Kpelle",
"Indus",
"syllabary",
601388,
-- Not in Unicode
aliases = {"Harappan", "Indus Valley"},
}
}


m["Krai"] = {
m["Ipach"] = {
"Kirat Rai",
"International Phonetic Alphabet",
"abugida",
21204,
aliases = {"Rai", "Khambu Rai", "Rai Barṇamālā", "Kirat Khambu Rai"},
aliases = {"IPA"},
-- Not in Unicode
ietf_subtag = "Latn",
}
}


m["Kthi"] = process_ranges{
m["Ital"] = process_ranges{
"Kaithi",
"Old Italic",
"abugida",
4891256,
"alphabet",
ranges = {
ranges = {
0x0966, 0x096F,
0x10300, 0x10323,
0xA830, 0xA839,
0x1032D, 0x1032F,
0x11080, 0x110C2,
0x110CD, 0x110CD,
},
},
}
}


m["Lana"] = process_ranges{
m["Java"] = process_ranges{
"Tai Tham",
"Javanese",
879704,
"abugida",
"abugida",
aliases = {"Tham", "Tua Mueang", "Lanna"},
ranges = {
ranges = {
0x1A20, 0x1A5E,
0xA980, 0xA9CD,
0x1A60, 0x1A7C,
0xA9CF, 0xA9D9,
0x1A7F, 0x1A89,
0xA9DE, 0xA9DF,
0x1A90, 0x1A99,
0x1AA0, 0x1AAD,
},
},
}
m["Jurc"] = {
"Jurchen",
912240,
"logography",
spaces = false,
spaces = false,
}
}


m["Laoo"] = process_ranges{
m["Kali"] = process_ranges{
"Lao",
"Kayah Li",
4919239,
"abugida",
"abugida",
ranges = {
ranges = {
0x0E81, 0x0E82,
0xA900, 0xA92F,
0x0E84, 0x0E84,
},
0x0E86, 0x0E8A,
}
0x0E8C, 0x0EA3,
 
0x0EA5, 0x0EA5,
m["Kana"] = process_ranges{
0x0EA7, 0x0EBD,
"Katakana",
0x0EC0, 0x0EC4,
82946,
0x0EC6, 0x0EC6,
"syllabary",
0x0EC8, 0x0ECE,
ranges = {
0x0ED0, 0x0ED9,
0x3001, 0x3003,
0x0EDC, 0x0EDF,
0x3008, 0x3011,
0x3013, 0x301F,
0x3030, 0x3035,
0x3037, 0x3037,
0x303C, 0x303D,
0x3099, 0x309C,
0x30A0, 0x30FF,
0x31F0, 0x31FF,
0x32D0, 0x32FE,
0x3300, 0x3357,
0xFE45, 0xFE46,
0xFF61, 0xFF9F,
0x1AFF0, 0x1AFF3,
0x1AFF5, 0x1AFFB,
0x1AFFD, 0x1AFFE,
0x1B000, 0x1B000,
0x1B120, 0x1B122,
0x1B155, 0x1B155,
0x1B164, 0x1B167,
},
spaces = false,
}
 
m["Kawi"] = process_ranges{
"Kawi",
975802,
"abugida",
ranges = {
0x11F00, 0x11F10,
0x11F12, 0x11F3A,
0x11F3E, 0x11F5A,
},
}
 
m["Khar"] = process_ranges{
"Kharoshthi",
1161266,
"abugida",
ranges = {
0x10A00, 0x10A03,
0x10A05, 0x10A06,
0x10A0C, 0x10A13,
0x10A15, 0x10A17,
0x10A19, 0x10A35,
0x10A38, 0x10A3A,
0x10A3F, 0x10A48,
0x10A50, 0x10A58,
},
direction = "rtl",
}
 
m["Khmr"] = process_ranges{
"Khmer",
1054190,
"abugida",
ranges = {
0x1780, 0x17DD,
0x17E0, 0x17E9,
0x17F0, 0x17F9,
0x19E0, 0x19FF,
},
spaces = false,
normalizationFixes = handle_normalization_fixes{
from = {"ឣ", "ឤ"},
to = {"អ", "អា"}
},
}
 
m["Khoj"] = process_ranges{
"Khojki",
1740656,
"abugida",
ranges = {
0x0AE6, 0x0AEF,
0xA830, 0xA839,
0x11200, 0x11211,
0x11213, 0x11241,
},
normalizationFixes = handle_normalization_fixes{
from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"},
to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"}
},
}
 
m["Khomt"] = {
"Khom Thai",
13023788,
"abugida",
-- Not in Unicode
}
 
m["Kitl"] = {
"Khitan large",
6401797,
"logography",
spaces = false,
}
 
m["Kits"] = process_ranges{
"Khitan small",
6401800,
"logography, syllabary",
ranges = {
0x16FE4, 0x16FE4,
0x18B00, 0x18CD5,
0x18CFF, 0x18CFF,
},
spaces = false,
}
 
m["Knda"] = process_ranges{
"Kannada",
839666,
"abugida",
ranges = {
0x0951, 0x0952,
0x0964, 0x0965,
0x0C80, 0x0C8C,
0x0C8E, 0x0C90,
0x0C92, 0x0CA8,
0x0CAA, 0x0CB3,
0x0CB5, 0x0CB9,
0x0CBC, 0x0CC4,
0x0CC6, 0x0CC8,
0x0CCA, 0x0CCD,
0x0CD5, 0x0CD6,
0x0CDD, 0x0CDE,
0x0CE0, 0x0CE3,
0x0CE6, 0x0CEF,
0x0CF1, 0x0CF3,
0x1CD0, 0x1CD0,
0x1CD2, 0x1CD3,
0x1CDA, 0x1CDA,
0x1CF2, 0x1CF2,
0x1CF4, 0x1CF4,
0xA830, 0xA835,
},
normalizationFixes = handle_normalization_fixes{
from = {"ಉಾ", "ಋಾ", "ಒೌ"},
to = {"ಊ", "ೠ", "ಔ"}
},
}
 
m["Kpel"] = {
"Kpelle",
1586299,
"syllabary",
-- Not in Unicode
}
 
m["Krai"] = process_ranges{
"Kirat Rai",
123173834,
"abugida",
aliases = {"Rai", "Khambu Rai", "Rai Barṇamālā", "Kirat Khambu Rai"},
ranges = {
0x16D40, 0x16D79,
},
}
 
m["Kthi"] = process_ranges{
"Kaithi",
1253814,
"abugida",
ranges = {
0x0966, 0x096F,
0xA830, 0xA839,
0x11080, 0x110C2,
0x110CD, 0x110CD,
},
}
 
m["Kulit"] = {
"Kulitan",
6443044,
"abugida",
-- Not in Unicode
}
 
m["Lana"] = process_ranges{
"Tai Tham",
1314503,
"abugida",
aliases = {"Tham", "Tua Mueang", "Lanna"},
ranges = {
0x1A20, 0x1A5E,
0x1A60, 0x1A7C,
0x1A7F, 0x1A89,
0x1A90, 0x1A99,
0x1AA0, 0x1AAD,
},
spaces = false,
}
 
m["Laoo"] = process_ranges{
"Lao",
1815229,
"abugida",
ranges = {
0x0E81, 0x0E82,
0x0E84, 0x0E84,
0x0E86, 0x0E8A,
0x0E8C, 0x0EA3,
0x0EA5, 0x0EA5,
0x0EA7, 0x0EBD,
0x0EC0, 0x0EC4,
0x0EC6, 0x0EC6,
0x0EC8, 0x0ECE,
0x0ED0, 0x0ED9,
0x0EDC, 0x0EDF,
},
spaces = false,
}
 
m["Latn"] = process_ranges{
"Latin",
8229,
"alphabet",
aliases = {"Roman"},
ranges = {
0x0041, 0x005A,
0x0061, 0x007A,
0x00AA, 0x00AA,
0x00BA, 0x00BA,
0x00C0, 0x00D6,
0x00D8, 0x00F6,
0x00F8, 0x02B8,
0x02C0, 0x02C1,
0x02E0, 0x02E4,
0x0363, 0x036F,
0x0485, 0x0486,
0x0951, 0x0952,
0x10FB, 0x10FB,
0x1D00, 0x1D25,
0x1D2C, 0x1D5C,
0x1D62, 0x1D65,
0x1D6B, 0x1D77,
0x1D79, 0x1DBE,
0x1DF8, 0x1DF8,
0x1E00, 0x1EFF,
0x202F, 0x202F,
0x2071, 0x2071,
0x207F, 0x207F,
0x2090, 0x209C,
0x20F0, 0x20F0,
0x2100, 0x2125,
0x2128, 0x2128,
0x212A, 0x2134,
0x2139, 0x213B,
0x2141, 0x214E,
0x2160, 0x2188,
0x2C60, 0x2C7F,
0xA700, 0xA707,
0xA722, 0xA787,
0xA78B, 0xA7CD,
0xA7D0, 0xA7D1,
0xA7D3, 0xA7D3,
0xA7D5, 0xA7DC,
0xA7F2, 0xA7FF,
0xA92E, 0xA92E,
0xAB30, 0xAB5A,
0xAB5C, 0xAB64,
0xAB66, 0xAB69,
0xFB00, 0xFB06,
0xFF21, 0xFF3A,
0xFF41, 0xFF5A,
0x10780, 0x10785,
0x10787, 0x107B0,
0x107B2, 0x107BA,
0x1DF00, 0x1DF1E,
0x1DF25, 0x1DF2A,
},
},
spaces = false,
varieties = {"Rumi", "Romaji", "Rōmaji", "Romaja"},
capitalized = true,
translit = false,
}
}


m["Latn"] = process_ranges{
m["Latf"] = {
"Latin",
"Fraktur",
"alphabet",
148443,
aliases = {"Roman"},
m["Latn"][3],
ranges = {
ranges = m["Latn"].ranges,
0x0041, 0x005A,
characters = m["Latn"].characters,
0x0061, 0x007A,
otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script"
0x00AA, 0x00AA,
capitalized = m["Latn"].capitalized,
0x00BA, 0x00BA,
translit = m["Latn"].translit,
0x00C0, 0x00D6,
parent = "Latn",
0x00D8, 0x00F6,
}
0x00F8, 0x02B8,
0x02C0, 0x02C1,
m["Latg"] = {
0x02E0, 0x02E4,
"Gaelic",
0x0363, 0x036F,
1432616,
0x0485, 0x0486,
m["Latn"][3],
0x0951, 0x0952,
ranges = m["Latn"].ranges,
0x10FB, 0x10FB,
characters = m["Latn"].characters,
0x1D00, 0x1D25,
otherNames = {"Irish"},
0x1D2C, 0x1D5C,
capitalized = m["Latn"].capitalized,
0x1D62, 0x1D65,
translit = m["Latn"].translit,
0x1D6B, 0x1D77,
parent = "Latn",
0x1D79, 0x1DBE,
}
0x1E00, 0x1EFF,
0x202F, 0x202F,
m["pjt-Latn"] = {
0x2071, 0x2071,
"Latin",
0x207F, 0x207F,
nil,
0x2090, 0x209C,
m["Latn"][3],
0x20F0, 0x20F0,
ranges = m["Latn"].ranges,
0x2100, 0x2125,
characters = m["Latn"].characters,
0x2128, 0x2128,
capitalized = m["Latn"].capitalized,
0x212A, 0x2134,
translit = m["Latn"].translit,
0x2139, 0x213B,
parent = "Latn",
0x2141, 0x214E,
}
0x2160, 0x2188,
 
0x2C60, 0x2C7F,
m["Leke"] = {
0xA700, 0xA707,
"Leke",
0xA722, 0xA787,
19572613,
0xA78B, 0xA7CA,
"abugida",
0xA7D0, 0xA7D1,
-- Not in Unicode
0xA7D3, 0xA7D3,
0xA7D5, 0xA7D9,
0xA7F2, 0xA7FF,
0xA92E, 0xA92E,
0xAB30, 0xAB5A,
0xAB5C, 0xAB64,
0xAB66, 0xAB69,
0xFB00, 0xFB06,
0xFF21, 0xFF3A,
0xFF41, 0xFF5A,
0x10780, 0x10785,
0x10787, 0x107B0,
0x107B2, 0x107BA,
0x1DF00, 0x1DF1E,
0x1DF25, 0x1DF2A,
},
varieties = {"Rumi", "Romaji", "Rōmaji", "Romaja"},
capitalized = true,
translit = false,
}
}


m["Latf"] = {
m["Lepc"] = process_ranges{
"Fraktur",
"Lepcha",
m["Latn"][2],
1481626,
ranges = m["Latn"].ranges,
"abugida",
characters = m["Latn"].characters,
aliases = {"Róng"},
otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script"
ranges = {
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}
m["Latg"] = {
"Gaelic",
m["Latn"][2],
ranges = m["Latn"].ranges,
characters = m["Latn"].characters,
otherNames = {"Irish"},
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}
m["pjt-Latn"] = {
"Latin",
m["Latn"][2],
ranges = m["Latn"].ranges,
characters = m["Latn"].characters,
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}
 
m["Leke"] = {
"Leke",
"abugida",
-- Not in Unicode
}
 
m["Lepc"] = process_ranges{
"Lepcha",
"abugida",
ranges = {
0x1C00, 0x1C37,
0x1C00, 0x1C37,
0x1C3B, 0x1C49,
0x1C3B, 0x1C49,
Line 1,659: Line 1,846:
m["Limb"] = process_ranges{
m["Limb"] = process_ranges{
"Limbu",
"Limbu",
933796,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,672: Line 1,860:
m["Lina"] = process_ranges{
m["Lina"] = process_ranges{
"Linear A",
"Linear A",
30972,
ranges = {
ranges = {
0x10107, 0x10133,
0x10107, 0x10133,
Line 1,682: Line 1,871:
m["Linb"] = process_ranges{
m["Linb"] = process_ranges{
"Linear B",
"Linear B",
190102,
ranges = {
ranges = {
0x10000, 0x1000B,
0x10000, 0x1000B,
Line 1,698: Line 1,888:
m["Lisu"] = process_ranges{
m["Lisu"] = process_ranges{
"Fraser",
"Fraser",
1194621,
"alphabet",
"alphabet",
aliases = {"Old Lisu", "Lisu"},
aliases = {"Old Lisu", "Lisu"},
ranges = {
ranges = {
0x300A, 0x300B,
0xA4D0, 0xA4FF,
0xA4D0, 0xA4FF,
0x11FB0, 0x11FB0,
0x11FB0, 0x11FB0,
Line 1,712: Line 1,904:
m["Loma"] = {
m["Loma"] = {
"Loma",
"Loma",
13023816,
"syllabary",
"syllabary",
-- Not in Unicode
-- Not in Unicode
Line 1,718: Line 1,911:
m["Lyci"] = process_ranges{
m["Lyci"] = process_ranges{
"Lycian",
"Lycian",
913587,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 1,726: Line 1,920:
m["Lydi"] = process_ranges{
m["Lydi"] = process_ranges{
"Lydian",
"Lydian",
4261300,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 1,736: Line 1,931:
m["Mahj"] = process_ranges{
m["Mahj"] = process_ranges{
"Mahajani",
"Mahajani",
6732850,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,746: Line 1,942:
m["Maka"] = process_ranges{
m["Maka"] = process_ranges{
"Makasar",
"Makasar",
72947229,
"abugida",
"abugida",
aliases = {"Old Makasar"},
aliases = {"Old Makasar"},
Line 1,755: Line 1,952:
m["Mand"] = process_ranges{
m["Mand"] = process_ranges{
"Mandaic",
"Mandaic",
1812130,
aliases = {"Mandaean"},
aliases = {"Mandaean"},
ranges = {
ranges = {
Line 1,766: Line 1,964:
m["Mani"] = process_ranges{
m["Mani"] = process_ranges{
"Manichaean",
"Manichaean",
3544702,
"abjad",
"abjad",
ranges = {
ranges = {
Line 1,777: Line 1,976:
m["Marc"] = process_ranges{
m["Marc"] = process_ranges{
"Marchen",
"Marchen",
72403709,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,787: Line 1,987:
m["Maya"] = process_ranges{
m["Maya"] = process_ranges{
"Maya",
"Maya",
211248,
aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
ranges = {
ranges = {
Line 1,795: Line 1,996:
m["Medf"] = process_ranges{
m["Medf"] = process_ranges{
"Medefaidrin",
"Medefaidrin",
1519764,
aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
ranges = {
ranges = {
Line 1,804: Line 2,006:
m["Mend"] = process_ranges{
m["Mend"] = process_ranges{
"Mende",
"Mende",
951069,
aliases = {"Mende Kikakui"},
aliases = {"Mende Kikakui"},
ranges = {
ranges = {
Line 1,814: Line 2,017:
m["Merc"] = process_ranges{
m["Merc"] = process_ranges{
"Meroitic cursive",
"Meroitic cursive",
73028124,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,825: Line 2,029:
m["Mero"] = process_ranges{
m["Mero"] = process_ranges{
"Meroitic hieroglyphic",
"Meroitic hieroglyphic",
73028623,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,830: Line 2,035:
},
},
direction = "rtl",
direction = "rtl",
wikipedia_article = "Meroitic hieroglyphs",
}
}


m["Mlym"] = process_ranges{
m["Mlym"] = process_ranges{
"Malayalam",
"Malayalam",
1164129,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,857: Line 2,064:
m["Modi"] = process_ranges{
m["Modi"] = process_ranges{
"Modi",
"Modi",
1703713,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,871: Line 2,079:
m["Mong"] = process_ranges{
m["Mong"] = process_ranges{
"Mongolian",
"Mongolian",
1055705,
"alphabet",
"alphabet",
aliases = {"Mongol bichig", "Hudum Mongol bichig"},
aliases = {"Mongol bichig", "Hudum Mongol bichig"},
Line 1,883: Line 2,092:
0x200C, 0x200D,
0x200C, 0x200D,
0x202F, 0x202F,
0x202F, 0x202F,
0x3001, 0x3002,
0x3008, 0x300B,
0x11660, 0x11668,
0x11660, 0x11668,
},
},
Line 1,890: Line 2,101:
m["mnc-Mong"] = process_ranges{
m["mnc-Mong"] = process_ranges{
"Manchu",
"Manchu",
m["Mong"][2],
122888,
m["Mong"][3],
ranges = {
ranges = {
0x1801, 0x1801,
0x1801, 0x1801,
Line 1,920: Line 2,132:
m["sjo-Mong"] = process_ranges{
m["sjo-Mong"] = process_ranges{
"Xibe",
"Xibe",
m["Mong"][2],
113624153,
m["Mong"][3],
aliases = {"Sibe"},
aliases = {"Sibe"},
ranges = {
ranges = {
Line 1,943: Line 2,156:
m["xwo-Mong"] = process_ranges{
m["xwo-Mong"] = process_ranges{
"Clear Script",
"Clear Script",
m["Mong"][2],
529085,
m["Mong"][3],
aliases = {"Todo", "Todo bichig"},
aliases = {"Todo", "Todo bichig"},
ranges = {
ranges = {
Line 1,971: Line 2,185:
m["Moon"] = {
m["Moon"] = {
"Moon",
"Moon",
918391,
"alphabet",
"alphabet",
aliases = {"Moon System of Embossed Reading", "Moon type", "Moon writing", "Moon alphabet", "Moon code"},
aliases = {"Moon System of Embossed Reading", "Moon type", "Moon writing", "Moon alphabet", "Moon code"},
Line 1,978: Line 2,193:
m["Morse"] = {
m["Morse"] = {
"Morse code",
"Morse code",
79897,
ietf_subtag = "Zsym",
ietf_subtag = "Zsym",
}
}


m["Mroo"] = process_ranges{
m["Mroo"] = process_ranges{
"Mro",
"Mru",
75919253,
aliases = {"Mro", "Mrung"},
ranges = {
ranges = {
0x16A40, 0x16A5E,
0x16A40, 0x16A5E,
Line 1,992: Line 2,210:
m["Mtei"] = process_ranges{
m["Mtei"] = process_ranges{
"Meitei Mayek",
"Meitei Mayek",
2981413,
"abugida",
"abugida",
aliases = {"Meetei Mayek", "Manipuri"},
aliases = {"Meetei Mayek", "Manipuri"},
Line 2,003: Line 2,222:
m["Mult"] = process_ranges{
m["Mult"] = process_ranges{
"Multani",
"Multani",
17047906,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,015: Line 2,235:


m["Music"] = process_ranges{
m["Music"] = process_ranges{
"Musical notation",
"musical notation",
233861,
"pictography",
"pictography",
ranges = {
ranges = {
Line 2,028: Line 2,249:
m["Mymr"] = process_ranges{
m["Mymr"] = process_ranges{
"Burmese",
"Burmese",
43887939,
"abugida",
"abugida",
aliases = {"Myanmar"},
aliases = {"Myanmar"},
Line 2,035: Line 2,257:
0xA9E0, 0xA9FE,
0xA9E0, 0xA9FE,
0xAA60, 0xAA7F,
0xAA60, 0xAA7F,
0x116D0, 0x116E3,
},
},
spaces = false,
spaces = false,
Line 2,040: Line 2,263:


m["Nagm"] = process_ranges{
m["Nagm"] = process_ranges{
"Nag Mundari",
"Mundari Bani",
106917274,
"alphabet",
"alphabet",
aliases = {"Nag Mundari"},
ranges = {
ranges = {
0x1E4D0, 0x1E4F9,
0x1E4D0, 0x1E4F9,
Line 2,049: Line 2,274:
m["Nand"] = process_ranges{
m["Nand"] = process_ranges{
"Nandinagari",
"Nandinagari",
6963324,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,064: Line 2,290:


m["Narb"] = process_ranges{
m["Narb"] = process_ranges{
"Old North Arabian",
"Ancient North Arabian",
1472213,
"abjad",
"abjad",
aliases = {"Old North Arabian"},
ranges = {
ranges = {
0x10A80, 0x10A9F,
0x10A80, 0x10A9F,
Line 2,074: Line 2,302:
m["Nbat"] = process_ranges{
m["Nbat"] = process_ranges{
"Nabataean",
"Nabataean",
855624,
"abjad",
"abjad",
aliases = {"Nabatean"},
aliases = {"Nabatean"},
Line 2,085: Line 2,314:
m["Newa"] = process_ranges{
m["Newa"] = process_ranges{
"Newa",
"Newa",
7237292,
"abugida",
"abugida",
aliases = {"Newar", "Newari", "Prachalit Nepal"},
aliases = {"Newar", "Newari", "Prachalit Nepal"},
Line 2,095: Line 2,325:
m["Nkdb"] = {
m["Nkdb"] = {
"Dongba",
"Dongba",
1190953,
"pictography",
"pictography",
aliases = {"Naxi Dongba", "Nakhi Dongba", "Tomba", "Tompa", "Mo-so"},
aliases = {"Naxi Dongba", "Nakhi Dongba", "Tomba", "Tompa", "Mo-so"},
Line 2,103: Line 2,334:
m["Nkgb"] = {
m["Nkgb"] = {
"Geba",
"Geba",
731189,
"syllabary",
"syllabary",
aliases = {"Nakhi Geba", "Naxi Geba"},
aliases = {"Nakhi Geba", "Naxi Geba"},
Line 2,111: Line 2,343:
m["Nkoo"] = process_ranges{
m["Nkoo"] = process_ranges{
"N'Ko",
"N'Ko",
1062587,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,124: Line 2,357:


m["None"] = {
m["None"] = {
"Unspecified", -- renders as 'unspecified script'
"unspecified",
nil,
-- This should not have any characters listed
-- This should not have any characters listed
ietf_subtag = "Zyyy",
ietf_subtag = "Zyyy",
translit = false,
translit = false,
character_category = false,
character_category = false, -- none
}
}


m["Nshu"] = process_ranges{
m["Nshu"] = process_ranges{
"Nüshu",
"Nüshu",
56436,
"syllabary",
"syllabary",
aliases = {"Nushu"},
aliases = {"Nushu"},
Line 2,144: Line 2,379:
m["Ogam"] = process_ranges{
m["Ogam"] = process_ranges{
"Ogham",
"Ogham",
184661,
ranges = {
ranges = {
0x1680, 0x169C,
0x1680, 0x169C,
Line 2,151: Line 2,387:
m["Olck"] = process_ranges{
m["Olck"] = process_ranges{
"Ol Chiki",
"Ol Chiki",
201688,
aliases = {"Ol Chemetʼ", "Ol", "Santali"},
aliases = {"Ol Chemetʼ", "Ol", "Santali"},
ranges = {
ranges = {
Line 2,157: Line 2,394:
}
}


m["Onao"] = {
m["Onao"] = process_ranges{
"Ol Onal",
"Ol Onal",
108607084,
"alphabet",
"alphabet",
-- Not in Unicode
ranges = {
0x0964, 0x0965,
0x1E5D0, 0x1E5FA,
0x1E5FF, 0x1E5FF,
},
}
}


m["Orkh"] = process_ranges{
m["Orkh"] = process_ranges{
"Orkhon runes",
"Old Turkic",
aliases = {"Old Turkic"},
5058305,
aliases = {"Orkhon runic"},
ranges = {
ranges = {
0x10C00, 0x10C48,
0x10C00, 0x10C48,
Line 2,174: Line 2,417:
m["Orya"] = process_ranges{
m["Orya"] = process_ranges{
"Odia",
"Odia",
1760127,
"abugida",
"abugida",
aliases = {"Oriya"},
aliases = {"Oriya"},
Line 2,204: Line 2,448:
m["Osge"] = process_ranges{
m["Osge"] = process_ranges{
"Osage",
"Osage",
7105529,
ranges = {
ranges = {
0x104B0, 0x104D3,
0x104B0, 0x104D3,
Line 2,213: Line 2,458:
m["Osma"] = process_ranges{
m["Osma"] = process_ranges{
"Osmanya",
"Osmanya",
1377866,
ranges = {
ranges = {
0x10480, 0x1049D,
0x10480, 0x1049D,
Line 2,221: Line 2,467:
m["Ougr"] = process_ranges{
m["Ougr"] = process_ranges{
"Old Uyghur",
"Old Uyghur",
1998938,
"abjad, alphabet",
"abjad, alphabet",
ranges = {
ranges = {
Line 2,233: Line 2,480:
m["Palm"] = process_ranges{
m["Palm"] = process_ranges{
"Palmyrene",
"Palmyrene",
17538100,
ranges = {
ranges = {
0x10860, 0x1087F,
0x10860, 0x1087F,
Line 2,241: Line 2,489:
m["Pauc"] = process_ranges{
m["Pauc"] = process_ranges{
"Pau Cin Hau",
"Pau Cin Hau",
25339852,
ranges = {
ranges = {
0x11AC0, 0x11AF8,
0x11AC0, 0x11AF8,
},
},
}
m["Pcun"] = {
"Proto-Cuneiform",
1650699,
"pictography",
-- Not in Unicode
}
m["Pelm"] = {
"Proto-Elamite",
56305763,
"pictography",
-- Not in Unicode
}
}


m["Perm"] = process_ranges{
m["Perm"] = process_ranges{
"Old Permic",
"Old Permic",
147899,
ranges = {
ranges = {
0x0483, 0x0483,
0x0483, 0x0483,
Line 2,256: Line 2,520:
m["Phag"] = process_ranges{
m["Phag"] = process_ranges{
"Phags-pa",
"Phags-pa",
822836,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,270: Line 2,535:
m["Phli"] = process_ranges{
m["Phli"] = process_ranges{
"Inscriptional Pahlavi",
"Inscriptional Pahlavi",
24089793,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,280: Line 2,546:
m["Phlp"] = process_ranges{
m["Phlp"] = process_ranges{
"Psalter Pahlavi",
"Psalter Pahlavi",
7253954,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,292: Line 2,559:
m["Phlv"] = {
m["Phlv"] = {
"Book Pahlavi",
"Book Pahlavi",
72403118,
"abjad",
"abjad",
direction = "rtl",
direction = "rtl",
Line 2,299: Line 2,567:
m["Phnx"] = process_ranges{
m["Phnx"] = process_ranges{
"Phoenician",
"Phoenician",
26752,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,309: Line 2,578:
m["Plrd"] = process_ranges{
m["Plrd"] = process_ranges{
"Pollard",
"Pollard",
601734,
"abugida",
"abugida",
aliases = {"Miao"},
aliases = {"Miao"},
Line 2,320: Line 2,590:
m["Prti"] = process_ranges{
m["Prti"] = process_ranges{
"Inscriptional Parthian",
"Inscriptional Parthian",
13023804,
ranges = {
ranges = {
0x10B40, 0x10B55,
0x10B40, 0x10B55,
Line 2,325: Line 2,596:
},
},
direction = "rtl",
direction = "rtl",
}
m["Psin"] = {
"Proto-Sinaitic",
1065250,
"abjad",
direction = "rtl",
-- Not in Unicode
}
}


m["Ranj"] = {
m["Ranj"] = {
"Ranjana",
"Ranjana",
2385276,
"abugida",
"abugida",
-- Not in Unicode
-- Not in Unicode
Line 2,335: Line 2,615:
m["Rjng"] = process_ranges{
m["Rjng"] = process_ranges{
"Rejang",
"Rejang",
2007960,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,344: Line 2,625:
m["Rohg"] = process_ranges{
m["Rohg"] = process_ranges{
"Hanifi Rohingya",
"Hanifi Rohingya",
21028705,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,359: Line 2,641:
m["Roro"] = {
m["Roro"] = {
"Rongorongo",
"Rongorongo",
209764,
-- Not in Unicode
-- Not in Unicode
}
}
Line 2,364: Line 2,647:
m["Rumin"] = process_ranges{
m["Rumin"] = process_ranges{
"Rumi numerals",
"Rumi numerals",
nil,
ranges = {
ranges = {
0x10E60, 0x10E7E,
0x10E60, 0x10E7E,
},
},
ietf_subtag = "Arab",
ietf_subtag = "Arab",
character_category = "Rumi numerals",
}
}


m["Runr"] = process_ranges{
m["Runr"] = process_ranges{
"Runic",
"Runic",
82996,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,382: Line 2,666:
m["Samr"] = process_ranges{
m["Samr"] = process_ranges{
"Samaritan",
"Samaritan",
1550930,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,391: Line 2,676:


m["Sarb"] = process_ranges{
m["Sarb"] = process_ranges{
"Old South Arabian",
"Ancient South Arabian",
446074,
"abjad",
"abjad",
aliases = {"Old South Arabian"},
ranges = {
ranges = {
0x10A60, 0x10A7F,
0x10A60, 0x10A7F,
Line 2,401: Line 2,688:
m["Saur"] = process_ranges{
m["Saur"] = process_ranges{
"Saurashtra",
"Saurashtra",
3535165,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,410: Line 2,698:
m["Semap"] = {
m["Semap"] = {
"flag semaphore",
"flag semaphore",
250796,
"pictography",
"pictography",
ietf_subtag = "Zsym",
ietf_subtag = "Zsym",
Line 2,416: Line 2,705:
m["Sgnw"] = process_ranges{
m["Sgnw"] = process_ranges{
"SignWriting",
"SignWriting",
1497335,
"pictography",
"pictography",
aliases = {"Sutton SignWriting"},
aliases = {"Sutton SignWriting"},
Line 2,428: Line 2,718:
m["Shaw"] = process_ranges{
m["Shaw"] = process_ranges{
"Shavian",
"Shavian",
1970098,
aliases = {"Shaw"},
aliases = {"Shaw"},
ranges = {
ranges = {
Line 2,436: Line 2,727:
m["Shrd"] = process_ranges{
m["Shrd"] = process_ranges{
"Sharada",
"Sharada",
2047117,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,451: Line 2,743:
m["Shui"] = {
m["Shui"] = {
"Sui",
"Sui",
752854,
"logography",
"logography",
spaces = false,
spaces = false,
Line 2,458: Line 2,751:
m["Sidd"] = process_ranges{
m["Sidd"] = process_ranges{
"Siddham",
"Siddham",
250379,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,467: Line 2,761:
m["Sidt"] = {
m["Sidt"] = {
"Sidetic",
"Sidetic",
36659,
"alphabet",
"alphabet",
direction = "rtl",
direction = "rtl",
Line 2,473: Line 2,768:


m["Sind"] = process_ranges{
m["Sind"] = process_ranges{
"Khudawadi",
"Khudabadi",
6402810,
"abugida",
"abugida",
aliases = {"Khudabadi"},
aliases = {"Khudawadi"},
ranges = {
ranges = {
0x0964, 0x0965,
0x0964, 0x0965,
Line 2,490: Line 2,786:
m["Sinh"] = process_ranges{
m["Sinh"] = process_ranges{
"Sinhalese",
"Sinhalese",
1574992,
"abugida",
"abugida",
aliases = {"Sinhala"},
aliases = {"Sinhala"},
Line 2,517: Line 2,814:
m["Sogd"] = process_ranges{
m["Sogd"] = process_ranges{
"Sogdian",
"Sogdian",
578359,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,527: Line 2,825:
m["Sogo"] = process_ranges{
m["Sogo"] = process_ranges{
"Old Sogdian",
"Old Sogdian",
72403254,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,536: Line 2,835:
m["Sora"] = process_ranges{
m["Sora"] = process_ranges{
"Sorang Sompeng",
"Sorang Sompeng",
7563292,
aliases = {"Sora Sompeng"},
aliases = {"Sora Sompeng"},
ranges = {
ranges = {
Line 2,545: Line 2,845:
m["Soyo"] = process_ranges{
m["Soyo"] = process_ranges{
"Soyombo",
"Soyombo",
8009382,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,553: Line 2,854:
m["Sund"] = process_ranges{
m["Sund"] = process_ranges{
"Sundanese",
"Sundanese",
51589,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,560: Line 2,862:
}
}


m["Sunu"] = {
m["Sunu"] = process_ranges{
"Sunuwar",
"Sunuwar",
109984965,
"alphabet",
"alphabet",
-- Not in Unicode
ranges = {
0x11BC0, 0x11BE1,
0x11BF0, 0x11BF9,
},
}
}


m["Sylo"] = process_ranges{
m["Sylo"] = process_ranges{
"Syloti Nagri",
"Sylheti Nagri",
144128,
"abugida",
"abugida",
aliases = {"Sylheti Nagari"},
aliases = {"Sylheti Nāgarī", "Syloti Nagri"},
ranges = {
ranges = {
0x0964, 0x0965,
0x0964, 0x0965,
Line 2,579: Line 2,886:
m["Syrc"] = process_ranges{
m["Syrc"] = process_ranges{
"Syriac",
"Syriac",
"abjad", -- more precisely, impure abjad
26567,
"abjad", -- more precisely, impure abjad
ranges = {
ranges = {
0x060C, 0x060C,
0x060C, 0x060C,
Line 2,601: Line 2,909:
m["Tagb"] = process_ranges{
m["Tagb"] = process_ranges{
"Tagbanwa",
"Tagbanwa",
977444,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,612: Line 2,921:
m["Takr"] = process_ranges{
m["Takr"] = process_ranges{
"Takri",
"Takri",
759202,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,627: Line 2,937:
m["Tale"] = process_ranges{
m["Tale"] = process_ranges{
"Tai Nüa",
"Tai Nüa",
2566326,
"abugida",
"abugida",
aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"},
aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"},
Line 2,639: Line 2,950:
m["Talu"] = process_ranges{
m["Talu"] = process_ranges{
"New Tai Lue",
"New Tai Lue",
3498863,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,651: Line 2,963:
m["Taml"] = process_ranges{
m["Taml"] = process_ranges{
"Tamil",
"Tamil",
26803,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,687: Line 3,000:
m["Tang"] = process_ranges{
m["Tang"] = process_ranges{
"Tangut",
"Tangut",
1373610,
"logography, syllabary",
"logography, syllabary",
ranges = {
ranges = {
0x31EF, 0x31EF,
0x16FE0, 0x16FE0,
0x16FE0, 0x16FE0,
0x17000, 0x187F7,
0x17000, 0x187F7,
Line 2,699: Line 3,014:
m["Tavt"] = process_ranges{
m["Tavt"] = process_ranges{
"Tai Viet",
"Tai Viet",
11818517,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,709: Line 3,025:
m["Tayo"] = {
m["Tayo"] = {
"Lai Tay",
"Lai Tay",
16306701,
"abugida",
"abugida",
aliases = {"Tai Yo"},
aliases = {"Tai Yo"},
Line 2,717: Line 3,034:
m["Telu"] = process_ranges{
m["Telu"] = process_ranges{
"Telugu",
"Telugu",
570450,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,745: Line 3,063:
m["Teng"] = {
m["Teng"] = {
"Tengwar",
"Tengwar",
473725,
}
}


m["Tfng"] = process_ranges{
m["Tfng"] = process_ranges{
"Tifinagh",
"Tifinagh",
208503,
"abjad, alphabet",
"abjad, alphabet",
ranges = {
ranges = {
Line 2,760: Line 3,080:
m["Tglg"] = process_ranges{
m["Tglg"] = process_ranges{
"Baybayin",
"Baybayin",
812124,
"abugida",
"abugida",
aliases = {"Tagalog"},
aliases = {"Tagalog"},
Line 2,771: Line 3,092:
m["Thaa"] = process_ranges{
m["Thaa"] = process_ranges{
"Thaana",
"Thaana",
877906,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,786: Line 3,108:
m["Thai"] = process_ranges{
m["Thai"] = process_ranges{
"Thai",
"Thai",
236376,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,796: Line 3,119:
m["Tibt"] = process_ranges{
m["Tibt"] = process_ranges{
"Tibetan",
"Tibetan",
46861,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,805: Line 3,129:
0x0FCE, 0x0FD4,
0x0FCE, 0x0FD4,
0x0FD9, 0x0FDA,
0x0FD9, 0x0FDA,
0x3008, 0x300B,
},
},
normalizationFixes = handle_normalization_fixes{
normalizationFixes = handle_normalization_fixes{
Line 2,815: Line 3,140:
m["sit-tam-Tibt"] = {
m["sit-tam-Tibt"] = {
"Tamyig",
"Tamyig",
m["Tibt"][2],
109875213,
m["Tibt"][3],
ranges = m["Tibt"].ranges,
ranges = m["Tibt"].ranges,
characters = m["Tibt"].characters,
characters = m["Tibt"].characters,
Line 2,824: Line 3,150:
m["Tirh"] = process_ranges{
m["Tirh"] = process_ranges{
"Tirhuta",
"Tirhuta",
1765752,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,841: Line 3,168:
m["Tnsa"] = process_ranges{
m["Tnsa"] = process_ranges{
"Tangsa",
"Tangsa",
105576311,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,848: Line 3,176:
}
}


m["Todr"] = {
m["Todr"] = process_ranges{
"Todhri",
"Todhri",
10274731,
"alphabet",
"alphabet",
direction = "rtl",
direction = "rtl",
-- Not in Unicode
ranges = {
0x105C0, 0x105F3,
},
}
}


m["Tols"] = {
m["Tols"] = {
"Tolong Siki",
"Tolong Siki",
4459822,
"alphabet",
"alphabet",
-- Not in Unicode
-- Not in Unicode
Line 2,863: Line 3,195:
m["Toto"] = process_ranges{
m["Toto"] = process_ranges{
"Toto",
"Toto",
104837516,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,869: Line 3,202:
}
}


m["Tutg"] = {
m["Tutg"] = process_ranges{
"Tigalari",
"Tigalari",
2604990,
"abugida",
"abugida",
aliases = {"Tulu"},
aliases = {"Tulu"},
-- Not in Unicode
ranges = {
0x1CF2, 0x1CF2,
0x1CF4, 0x1CF4,
0xA8F1, 0xA8F1,
0x11380, 0x11389,
0x1138B, 0x1138B,
0x1138E, 0x1138E,
0x11390, 0x113B5,
0x113B7, 0x113C0,
0x113C2, 0x113C2,
0x113C5, 0x113C5,
0x113C7, 0x113CA,
0x113CC, 0x113D5,
0x113D7, 0x113D8,
0x113E1, 0x113E2,
},
}
}


m["Ugar"] = process_ranges{
m["Ugar"] = process_ranges{
"Ugaritic",
"Ugaritic",
332652,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,887: Line 3,237:
m["Vaii"] = process_ranges{
m["Vaii"] = process_ranges{
"Vai",
"Vai",
523078,
"syllabary",
"syllabary",
ranges = {
ranges = {
Line 2,895: Line 3,246:
m["Visp"] = {
m["Visp"] = {
"Visible Speech",
"Visible Speech",
1303365,
"alphabet",
"alphabet",
-- Not in Unicode
-- Not in Unicode
Line 2,901: Line 3,253:
m["Vith"] = process_ranges{
m["Vith"] = process_ranges{
"Vithkuqi",
"Vithkuqi",
3301993,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,917: Line 3,270:
m["Wara"] = process_ranges{
m["Wara"] = process_ranges{
"Varang Kshiti",
"Varang Kshiti",
79199,
aliases = {"Warang Citi"},
aliases = {"Warang Citi"},
ranges = {
ranges = {
Line 2,927: Line 3,281:
m["Wcho"] = process_ranges{
m["Wcho"] = process_ranges{
"Wancho",
"Wancho",
33713728,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,936: Line 3,291:
m["Wole"] = {
m["Wole"] = {
"Woleai",
"Woleai",
6643710,
"syllabary",
"syllabary",
-- Not in Unicode
-- Not in Unicode
Line 2,942: Line 3,298:
m["Xpeo"] = process_ranges{
m["Xpeo"] = process_ranges{
"Old Persian",
"Old Persian",
1471822,
ranges = {
ranges = {
0x103A0, 0x103C3,
0x103A0, 0x103C3,
Line 2,950: Line 3,307:
m["Xsux"] = process_ranges{
m["Xsux"] = process_ranges{
"Cuneiform",
"Cuneiform",
401,
aliases = {"Sumero-Akkadian Cuneiform"},
aliases = {"Sumero-Akkadian Cuneiform"},
ranges = {
ranges = {
Line 2,961: Line 3,319:
m["Yezi"] = process_ranges{
m["Yezi"] = process_ranges{
"Yezidi",
"Yezidi",
13175481,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,976: Line 3,335:
m["Yiii"] = process_ranges{
m["Yiii"] = process_ranges{
"Yi",
"Yi",
1197646,
"syllabary",
"syllabary",
ranges = {
ranges = {
Line 2,990: Line 3,350:
m["Zanb"] = process_ranges{
m["Zanb"] = process_ranges{
"Zanabazar Square",
"Zanabazar Square",
50809208,
"abugida",
ranges = {
ranges = {
0x11A00, 0x11A47,
0x11A00, 0x11A47,
Line 2,997: Line 3,359:
m["Zmth"] = process_ranges{
m["Zmth"] = process_ranges{
"mathematical notation",
"mathematical notation",
1140046,
ranges = {
ranges = {
0x00AC, 0x00AC,
0x00AC, 0x00AC,
Line 3,134: Line 3,497:
},
},
translit = false,
translit = false,
character_category = "Mathematical notation symbols", -- ?
}
}


m["Zsym"] = process_ranges{
m["Zsym"] = process_ranges{
"symbol",
"symbolic",
80071,
"pictography",
"pictography",
ranges = {
ranges = {
Line 3,233: Line 3,596:
m["Zyyy"] = {
m["Zyyy"] = {
"undetermined",
"undetermined",
104839687,
-- This should not have any characters listed, probably
-- This should not have any characters listed, probably
translit = false,
translit = false,
Line 3,240: Line 3,604:
m["Zzzz"] = {
m["Zzzz"] = {
"uncoded",
"uncoded",
104839675,
-- This should not have any characters listed
-- This should not have any characters listed
translit = false,
translit = false,
Line 3,249: Line 3,614:
m["Hrkt"] = process_ranges{
m["Hrkt"] = process_ranges{
"Kana",
"Kana",
187659,
"syllabary",
"syllabary",
aliases = {"Japanese syllabaries"},
aliases = {"Japanese syllabaries"},
Line 3,260: Line 3,626:
m["Jpan"] = process_ranges{
m["Jpan"] = process_ranges{
"Japanese",
"Japanese",
190502,
"logography, syllabary",
"logography, syllabary",
ranges = union(
ranges = union(
Line 3,272: Line 3,639:
m["Kore"] = process_ranges{
m["Kore"] = process_ranges{
"Korean",
"Korean",
711797,
"logography, syllabary",
"logography, syllabary",
ranges = union(
ranges = union(
Line 3,280: Line 3,648:
}
}


return m
return require("Module:languages").finalizeData(m, "script")

Navigation menu