Module:scripts/data: Difference between revisions

Jump to navigation Jump to search
Undo revision 447234 by Sware (talk)
No edit summary
(Undo revision 447234 by Sware (talk))
(9 intermediate revisions by 2 users not shown)
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 66: Line 68:
end
end
end
end
sc.characters = concat(chars)
sc.characters = mw.ustring.gsub(concat(chars), "([%[%]])", "%%1")  
ranges.n = #ranges
ranges.n = #ranges
return sc
return sc
Line 93: Line 95:


--Constructed languages
--Constructed languages
m["Ayer"] = {
m["Ayer"] = process_ranges{
"Tahano Hikamu",
"Tahano Hikamu",
nil,
"abugida",
"abugida",
characters = "A-Za-z*ñÑʔəƏꜷꜶ¯ˀ¨ʰʲː[]&+0-9¹²",
character_category = false,
}
m["Roka"] = {
"Rokadong Curakjang",
"abugida",
characters = "A-Za-z*[]{}'\"0-9",
character_category = false,
}
--Natural languages
m["Adlm"] = process_ranges{
"Adlam",
"alphabet",
ranges = {
ranges = {
0x061F, 0x061F,
0x0041, 0x005A,
0x0640, 0x0640,
0x0061, 0x007A,
0x1E900, 0x1E94B,
0x002A, 0x002A,
0x1E950, 0x1E959,
0x00F1, 0x00F1,
0x1E95E, 0x1E95F,
0x00D1, 0x00D1,
0x0294, 0x0294,
0x0259, 0x0259,
0x018F, 0x018F,
0xA736, 0xA737,
0x0026, 0x0026,
0x002B, 0x002D,
0x005B, 0x005B,
0x005D, 0x005D,
0x00A8, 0x00A8,
0x00AF, 0x00AF,
0x00B2, 0x00B2,
0x00B9, 0x00B9,
0x02B0, 0x2B2,
0x02C0, 0x02C0,
0x02D0, 0x02D0,
},
},
capitalized = true,
character_category = false,
direction = "rtl",
}
}


m["Afak"] = {
m["Jovl"] = process_ranges{
"Afaka",
"Jovlish",
"syllabary",
nil,
-- Not in Unicode
}
 
m["Aghb"] = process_ranges{
"Caucasian Albanian",
"alphabet",
"alphabet",
ranges = {
ranges = {
0x10530, 0x10563,
0x0041, 0x005A,
0x1056F, 0x1056F,
0x0061, 0x007A,
},
0x00AA, 0x00AA,
}
0x00BA, 0x00BA,
 
0x00C0, 0x00D6,
m["Ahom"] = process_ranges{
0x00D8, 0x00F6,
"Ahom",
0x00F8, 0x02B8,
"abugida",
0x02C0, 0x02C1,
ranges = {
0x02E0, 0x02E4,
0x11700, 0x1171A,
0x0363, 0x036F,
0x1171D, 0x1172B,
0x039E, 0x039E,
0x11730, 0x11746,
0x03A8, 0x03A8,
},
0x03BE, 0x03BE,
}
0x03C8, 0x03C8,
 
0x0485, 0x0486,
m["Arab"] = process_ranges{
0x0951, 0x0952,
"Arabic",
0x10FB, 0x10FB,
"abjad", -- more precisely, impure abjad
0x1D00, 0x1D25,
varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}},
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,
},
character_category = false,
}
 
m["Roka"] = process_ranges{
"Rokadong Curakjang",
nil,
"abugida",
ranges = {
ranges = {
0x0600, 0x06FF,
0x0041, 0x005A,
0x0750, 0x077F,
0x0061, 0x007A,
0x0870, 0x088E,
0x0022, 0x0022,
0x0890, 0x0891,
0x0027, 0x0027,
0x0898, 0x08E1,
0x002A, 0x002A,
0x08E3, 0x08FF,
0x002D, 0x002D,
0xFB50, 0xFBC2,
0x005B, 0x005D,
0xFBD3, 0xFD8F,
0x007B, 0x007B,
0xFD92, 0xFDC7,
0x007D, 0x007D
0xFDCF, 0xFDCF,
},
0xFDF0, 0xFDFF,
character_category = false,
0xFE70, 0xFE74,
}
0xFE76, 0xFEFC,
m["Rsnold"] = process_ranges{
0x102E0, 0x102FB,
"Old Raysian",
0x10E60, 0x10E7E,
nil,
0x10EFD, 0x10EFF,
"alphabet",
0x1EE00, 0x1EE03,
ranges = {
0x1EE05, 0x1EE1F,
0x0041, 0x007A
0x1EE21, 0x1EE22,
},
0x1EE24, 0x1EE24,
character_category = false,
0x1EE27, 0x1EE27,
}
0x1EE29, 0x1EE32,
m["Pann"] = process_ranges{
0x1EE34, 0x1EE37,
"Pannonian",
0x1EE39, 0x1EE39,
nil,
0x1EE3B, 0x1EE3B,
"alphabet",
0x1EE42, 0x1EE42,
ranges = {
0x1EE47, 0x1EE47,
0x0041, 0x005A,
0x1EE49, 0x1EE49,
0x0061, 0x007A,
0x1EE4B, 0x1EE4B,
0x1D9C, 0x1D9D,
0x1EE4D, 0x1EE4F,
0x1D47, 0x1D4B,
0x1EE51, 0x1EE52,
0x02E1, 0x02E3,
0x1EE54, 0x1EE54,
0x0410, 0x044F,
0x1EE57, 0x1EE57,
0x0404, 0x0454,
0x1EE59, 0x1EE59,
0x04AE, 0x04B1,
0x1EE5B, 0x1EE5B,
0x0250, 0x0254,
0x1EE5D, 0x1EE5D,
0x0265, 0x0278,
0x1EE5F, 0x1EE5F,
0x028C, 0x028D,
0x1EE61, 0x1EE62,
0x0224, 0x0225,
0x1EE64, 0x1EE64,
0x01BA, 0x01BE,
0x1EE67, 0x1EE6A,
0x019A, 0x01A3,
0x1EE6C, 0x1EE72,
0x012D, 0x0131,
0x1EE74, 0x1EE77,
0xA793, 0xA794
0x1EE79, 0x1EE7C,
},
0x1EE7E, 0x1EE7E,
character_category = false,
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",
ranges = {
0x10840, 0x10855,
0x10857, 0x1085F,
},
direction = "rtl",
}


m["Armn"] = process_ranges{
"Armenian",
"alphabet",
ranges = {
0x0531, 0x0556,
0x0559, 0x058A,
0x058D, 0x058F,
0xFB13, 0xFB17,
},
capitalized = true,
}


m["Avst"] = process_ranges{
 
"Avestan",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--Natural languages
 
m["Adlm"] = process_ranges{
"Adlam",
19606346,
"alphabet",
"alphabet",
ranges = {
ranges = {
0x10B00, 0x10B35,
0x061F, 0x061F,
0x10B39, 0x10B3F,
0x0640, 0x0640,
0x1E900, 0x1E94B,
0x1E950, 0x1E959,
0x1E95E, 0x1E95F,
},
},
capitalized = true,
direction = "rtl",
direction = "rtl",
}
}


m["pal-Avst"] = {
m["Afak"] = {
"Pazend",
"Afaka",
m["Avst"][2],
382019,
ranges = m["Avst"].ranges,
characters = m["Avst"].characters,
direction = "rtl",
parent = "Avst",
}
 
m["Bali"] = process_ranges{
"Balinese",
"abugida",
ranges = {
0x1B00, 0x1B4C,
0x1B50, 0x1B7E,
},
}
 
m["Bamu"] = process_ranges{
"Bamum",
"syllabary",
"syllabary",
ranges = {
-- Not in Unicode
0xA6A0, 0xA6F7,
0x16800, 0x16A38,
},
}
}


m["Bass"] = process_ranges{
m["Aghb"] = process_ranges{
"Bassa",
"Caucasian Albanian",
2495716,
"alphabet",
"alphabet",
aliases = {"Bassa Vah", "Vah"},
ranges = {
ranges = {
0x16AD0, 0x16AED,
0x10530, 0x10563,
0x16AF0, 0x16AF5,
0x1056F, 0x1056F,
},
},
}
}


m["Batk"] = process_ranges{
m["Ahom"] = process_ranges{
"Batak",
"Ahom",
2839633,
"abugida",
"abugida",
ranges = {
ranges = {
0x1BC0, 0x1BF3,
0x11700, 0x1171A,
0x1BFC, 0x1BFF,
0x1171D, 0x1172B,
0x11730, 0x11746,
},
},
}
}


m["Beng"] = process_ranges{
m["Arab"] = process_ranges{
"Bengali",
"Arabic",
"abugida",
1828555,
"abjad", -- more precisely, impure abjad
varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}},
ranges = {
ranges = {
0x0951, 0x0952,
0x0600, 0x06FF,
0x0964, 0x0965,
0x0750, 0x077F,
0x0980, 0x0983,
0x0870, 0x088E,
0x0985, 0x098C,
0x0890, 0x0891,
0x098F, 0x0990,
0x0897, 0x08E1,
0x0993, 0x09A8,
0x08E3, 0x08FF,
0x09AA, 0x09B0,
0xFB50, 0xFBC2,
0x09B2, 0x09B2,
0xFBD3, 0xFD8F,
0x09B6, 0x09B9,
0xFD92, 0xFDC7,
0x09BC, 0x09C4,
0xFDCF, 0xFDCF,
0x09C7, 0x09C8,
0xFDF0, 0xFDFF,
0x09CB, 0x09CE,
0xFE70, 0xFE74,
0x09D7, 0x09D7,
0xFE76, 0xFEFC,
0x09DC, 0x09DD,
0x102E0, 0x102FB,
0x09DF, 0x09E3,
0x10E60, 0x10E7E,
0x09E6, 0x09EF,
0x10EC2, 0x10EC4,
0x09F2, 0x09FE,
0x10EFC, 0x10EFF,
0x1CD0, 0x1CD0,
0x1EE00, 0x1EE03,
0x1CD2, 0x1CD2,
0x1EE05, 0x1EE1F,
0x1CD5, 0x1CD6,
0x1EE21, 0x1EE22,
0x1CD8, 0x1CD8,
0x1EE24, 0x1EE24,
0x1CE1, 0x1CE1,
0x1EE27, 0x1EE27,
0x1CEA, 0x1CEA,
0x1EE29, 0x1EE32,
0x1CED, 0x1CED,
0x1EE34, 0x1EE37,
0x1CF2, 0x1CF2,
0x1EE39, 0x1EE39,
0x1CF5, 0x1CF7,
0x1EE3B, 0x1EE3B,
0xA8F1, 0xA8F1,
0x1EE42, 0x1EE42,
},
0x1EE47, 0x1EE47,
normalizationFixes = handle_normalization_fixes{
0x1EE49, 0x1EE49,
from = {"অা", "ঋৃ", "ঌৢ"},
0x1EE4B, 0x1EE4B,
to = {"আ", "ৠ", "ৡ"}
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["as-Beng"] = process_ranges{
m["fa-Arab"] = {
"Assamese",
"Arabic",
m["Beng"][2],
744068,
otherNames = {"Bengali-Assamese", "Eastern Nagari"},
m["Arab"][3],
ranges = {
ranges = m["Arab"].ranges,
0x0951, 0x0952,
characters = m["Arab"].characters,
0x0964, 0x0965,
otherNames = {"Perso-Arabic"},
0x0980, 0x0983,
direction = "rtl",
0x0985, 0x098C,
parent = "Arab",
0x098F, 0x0990,
normalizationFixes = m["Arab"].normalizationFixes,
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["kk-Arab"] = {
"Bhaiksuki",
"Arabic",
"abugida",
90681452,
ranges = {
m["Arab"][3],
0x11C00, 0x11C08,
ranges = m["Arab"].ranges,
0x11C0A, 0x11C36,
characters = m["Arab"].characters,
0x11C38, 0x11C45,
direction = "rtl",
0x11C50, 0x11C6C,
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",
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 = {
0x10840, 0x10855,
0x10857, 0x1085F,
},
},
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",
4925073,
m["Avst"][3],
ranges = m["Avst"].ranges,
characters = m["Avst"].characters,
direction = "rtl",
parent = "Avst",
}
 
m["Bali"] = process_ranges{
"Balinese",
804984,
"abugida",
"abugida",
ranges = {
ranges = {
0x11000, 0x1104D,
0x1B00, 0x1B4C,
0x11052, 0x11075,
0x1B4E, 0x1B7F,
0x1107F, 0x1107F,
},
},
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,
ranges = {
"logography",
0x13A0, 0x13F5,
aliases = {"Blissymbols"},
0x13F8, 0x13FD,
0xAB70, 0xABBF,
},
}
 
m["Chis"] = {
"Chisoi",
"abugida",
-- Not in Unicode
-- Not in Unicode
}
}


m["Chrs"] = process_ranges{
m["Bopo"] = process_ranges{
"Chorasmian",
"Zhuyin",
"abjad",
198269,
"semisyllabary",
aliases = {"Zhuyin Fuhao", "Bopomofo"},
ranges = {
ranges = {
0x10FB0, 0x10FCB,
0x02EA, 0x02EB,
0x3001, 0x3003,
0x3008, 0x3011,
0x3013, 0x301F,
0x302A, 0x302D,
0x3030, 0x3030,
0x3037, 0x3037,
0x30FB, 0x30FB,
0x3105, 0x312F,
0x31A0, 0x31BF,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
},
},
direction = "rtl",
}
}


m["Copt"] = process_ranges{
m["Brah"] = process_ranges{
"Coptic",
"Brahmi",
"alphabet",
185083,
"abugida",
ranges = {
ranges = {
0x03E2, 0x03EF,
0x11000, 0x1104D,
0x2C80, 0x2CF3,
0x11052, 0x11075,
0x2CF9, 0x2CFF,
0x1107F, 0x1107F,
0x102E0, 0x102FB,
},
normalizationFixes = handle_normalization_fixes{
from = {"𑀅𑀸", "𑀋𑀾", "𑀏𑁂"},
to = {"𑀆", "𑀌", "𑀐"}
},
},
capitalized = true,
}
}


m["Cpmn"] = process_ranges{
m["Brai"] = process_ranges{
"Cypro-Minoan",
"Braille",
"syllabary",
79894,
aliases = {"Cypro Minoan"},
"alphabet",
ranges = {
ranges = {
0x10100, 0x10101,
0x2800, 0x28FF,
0x12F90, 0x12FF2,
},
},
}
}


m["Cprt"] = process_ranges{
m["Bugi"] = process_ranges{
"Cypriot",
"Lontara",
"syllabary",
1074947,
"abugida",
aliases = {"Buginese"},
ranges = {
ranges = {
0x10100, 0x10102,
0x1A00, 0x1A1B,
0x10107, 0x10133,
0x1A1E, 0x1A1F,
0x10137, 0x1013F,
0xA9CF, 0xA9CF,
0x10800, 0x10805,
},
0x10808, 0x10808,
0x1080A, 0x10835,
0x10837, 0x10838,
0x1083C, 0x1083C,
0x1083F, 0x1083F,
},
direction = "rtl",
}
}


m["Cyrl"] = process_ranges{
m["Buhd"] = process_ranges{
"Cyrillic",
"Buhid",
"alphabet",
1002969,
"abugida",
ranges = {
ranges = {
0x0400, 0x052F,
0x1735, 0x1736,
0x1C80, 0x1C88,
0x1740, 0x1751,
0x1D2B, 0x1D2B,
0x1752, 0x1753,
0x1D78, 0x1D78,
0x1DF8, 0x1DF8,
0x2DE0, 0x2DFF,
0x2E43, 0x2E43,
0xA640, 0xA69F,
0xFE2E, 0xFE2F,
0x1E030, 0x1E06D,
0x1E08F, 0x1E08F,
},
},
capitalized = true,
}
}


m["Cyrs"] = {
m["Cakm"] = process_ranges{
"Old Cyrillic",
"Chakma",
m["Cyrl"][2],
1059328,
aliases = {"Early Cyrillic"},
"abugida",
ranges = m["Cyrl"].ranges,
ranges = {
characters = m["Cyrl"].characters,
0x09E6, 0x09EF,
capitalized = m["Cyrl"].capitalized,
0x1040, 0x1049,
wikipedia_article = "Early Cyrillic alphabet",
0x11100, 0x11134,
normalizationFixes = handle_normalization_fixes{
0x11136, 0x11147,
from = {"Ѹ", "ѹ"},
to = {"Ꙋ", "ꙋ"}
},
},
}
}


m["Deva"] = process_ranges{
m["Cans"] = process_ranges{
"Devanagari",
"Canadian syllabic",
2479183,
"abugida",
"abugida",
ranges = {
ranges = {
0x0900, 0x097F,
0x1400, 0x167F,
0x1CD0, 0x1CF6,
0x18B0, 0x18F5,
0x1CF8, 0x1CF9,
0x11AB0, 0x11ABF,
0x20F0, 0x20F0,
0xA830, 0xA839,
0xA8E0, 0xA8FF,
0x11B00, 0x11B09,
},
},
normalizationFixes = handle_normalization_fixes{
}
from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"},
 
to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
m["Cari"] = process_ranges{
"Carian",
1094567,
"alphabet",
ranges = {
0x102A0, 0x102D0,
},
},
}
}


m["Diak"] = process_ranges{
m["Cham"] = process_ranges{
"Dhives Akuru",
"Cham",
1060381,
"abugida",
"abugida",
aliases = {"Dhivehi Akuru", "Dives Akuru", "Divehi Akuru"},
ranges = {
ranges = {
0x11900, 0x11906,
0xAA00, 0xAA36,
0x11909, 0x11909,
0xAA40, 0xAA4D,
0x1190C, 0x11913,
0xAA50, 0xAA59,
0x11915, 0x11916,
0xAA5C, 0xAA5F,
0x11918, 0x11935,
0x11937, 0x11938,
0x1193B, 0x11946,
0x11950, 0x11959,
},
},
}
}


m["Dogr"] = process_ranges{
m["Cher"] = process_ranges{
"Dogra",
"Cherokee",
"abugida",
26549,
"syllabary",
ranges = {
ranges = {
0x0964, 0x096F,
0x13A0, 0x13F5,
0xA830, 0xA839,
0x13F8, 0x13FD,
0x11800, 0x1183B,
0xAB70, 0xABBF,
},
},
}
}


m["Dsrt"] = process_ranges{
m["Chis"] = {
"Deseret",
"Chisoi",
"alphabet",
123173777,
ranges = {
"abugida",
0x10400, 0x1044F,
-- Not in Unicode
}
 
m["Chrs"] = process_ranges{
"Khwarezmian",
72386710,
"abjad",
aliases = {"Chorasmian"},
ranges = {
0x10FB0, 0x10FCB,
},
},
capitalized = true,
direction = "rtl",
}
}


m["Dupl"] = process_ranges{
m["Copt"] = process_ranges{
"Duployan",
"Coptic",
321083,
"alphabet",
"alphabet",
ranges = {
ranges = {
0x1BC00, 0x1BC6A,
0x03E2, 0x03EF,
0x1BC70, 0x1BC7C,
0x2C80, 0x2CF3,
0x1BC80, 0x1BC88,
0x2CF9, 0x2CFF,
0x1BC90, 0x1BC99,
0x102E0, 0x102FB,
0x1BC9C, 0x1BCA3,
},
},
capitalized = true,
}
}


m["Egyd"] = {
m["Cpmn"] = process_ranges{
"Demotic",
"Cypro-Minoan",
"abjad, logography",
1751985,
-- Not in Unicode
"syllabary",
aliases = {"Cypro Minoan"},
ranges = {
0x10100, 0x10101,
0x12F90, 0x12FF2,
},
}
}


m["Egyh"] = {
m["Cprt"] = process_ranges{
"Hieratic",
"Cypriot",
"abjad, logography",
1757689,
-- Unified with Egyptian hieroglyphic in Unicode
"syllabary",
}
 
m["Egyp"] = process_ranges{
"Egyptian hieroglyphic",
"abjad, logography",
ranges = {
ranges = {
0x13000, 0x13455,
0x10100, 0x10102,
},
0x10107, 0x10133,
varieties = {"Hieratic"},
0x10137, 0x1013F,
wikipedia_article = "Egyptian hieroglyphs",
0x10800, 0x10805,
normalizationFixes = handle_normalization_fixes{
0x10808, 0x10808,
from = {"𓃁", "𓆖"},
0x1080A, 0x10835,
to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"}
0x10837, 0x10838,
0x1083C, 0x1083C,
0x1083F, 0x1083F,
},
},
direction = "rtl",
}
}


m["Elba"] = process_ranges{
m["Cyrl"] = process_ranges{
"Elbasan",
"Cyrillic",
8209,
"alphabet",
"alphabet",
ranges = {
ranges = {
0x10500, 0x10527,
0x0400, 0x052F,
},
0x1C80, 0x1C8A,
}
0x1D2B, 0x1D2B,
 
0x1D78, 0x1D78,
m["Elym"] = process_ranges{
0x1DF8, 0x1DF8,
"Elymaic",
0x2DE0, 0x2DFF,
"abjad",
0x2E43, 0x2E43,
ranges = {
0xA640, 0xA69F,
0x10FE0, 0x10FF6,
0xFE2E, 0xFE2F,
0x1E030, 0x1E06D,
0x1E08F, 0x1E08F,
},
capitalized = true,
}
 
m["Cyrs"] = {
"Old Cyrillic",
442244,
m["Cyrl"][3],
aliases = {"Early Cyrillic"},
ranges = m["Cyrl"].ranges,
characters = m["Cyrl"].characters,
capitalized = m["Cyrl"].capitalized,
wikipedia_article = "Early Cyrillic alphabet",
normalizationFixes = handle_normalization_fixes{
from = {"Ѹ", "ѹ"},
to = {"Ꙋ", "ꙋ"}
},
},
direction = "rtl",
}
}


m["Ethi"] = process_ranges{
m["Deva"] = process_ranges{
"Ethiopic",
"Devanagari",
38592,
"abugida",
"abugida",
aliases = {"Ge'ez"},
ranges = {
ranges = {
0x1200, 0x1248,
0x0900, 0x097F,
0x124A, 0x124D,
0x1CD0, 0x1CF6,
0x1250, 0x1256,
0x1CF8, 0x1CF9,
0x1258, 0x1258,
0x20F0, 0x20F0,
0x125A, 0x125D,
0xA830, 0xA839,
0x1260, 0x1288,
0xA8E0, 0xA8FF,
0x128A, 0x128D,
0x11B00, 0x11B09,
0x1290, 0x12B0,
},
0x12B2, 0x12B5,
normalizationFixes = handle_normalization_fixes{
0x12B8, 0x12BE,
from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"},
0x12C0, 0x12C0,
to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
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["Diak"] = process_ranges{
"Garay",
"Dhives Akuru",
3307073,
"abugida",
aliases = {"Dhivehi Akuru", "Dives Akuru", "Divehi Akuru"},
ranges = {
0x11900, 0x11906,
0x11909, 0x11909,
0x1190C, 0x11913,
0x11915, 0x11916,
0x11918, 0x11935,
0x11937, 0x11938,
0x1193B, 0x11946,
0x11950, 0x11959,
},
}
 
m["Dogr"] = process_ranges{
"Dogra",
72402987,
"abugida",
ranges = {
0x0964, 0x096F,
0xA830, 0xA839,
0x11800, 0x1183B,
},
}
 
m["Dsrt"] = process_ranges{
"Deseret",
1200582,
"alphabet",
"alphabet",
ranges = {
0x10400, 0x1044F,
},
capitalized = true,
capitalized = true,
direction = "rtl",
-- Not in Unicode
}
}


m["Geok"] = process_ranges{
m["Dupl"] = process_ranges{
"Khutsuri",
"Duployan",
5316025,
"alphabet",
"alphabet",
ranges = { -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri
ranges = {
0x10A0, 0x10C5,
0x1BC00, 0x1BC6A,
0x10C7, 0x10C7,
0x1BC70, 0x1BC7C,
0x10CD, 0x10CD,
0x1BC80, 0x1BC88,
0x10FB, 0x10FB,
0x1BC90, 0x1BC99,
0x2D00, 0x2D25,
0x1BC9C, 0x1BCA3,
0x2D27, 0x2D27,
0x2D2D, 0x2D2D,
},
},
varieties = {"Nuskhuri", "Asomtavruli"},
capitalized = true,
}
}


m["Geor"] = process_ranges{
m["Egyd"] = {
"Georgian",
"Demotic",
"alphabet",
188519,
ranges = { -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli)
"abjad, logography",
0x10D0, 0x10FF,
-- Not in Unicode
0x1C90, 0x1CBA,
0x1CBD, 0x1CBF,
},
varieties = {"Mkhedruli", "Mtavruli"},
capitalized = true,
}
}


m["Glag"] = process_ranges{
m["Egyh"] = {
"Glagolitic",
"Hieratic",
"alphabet",
208111,
ranges = {
"abjad, logography",
0x0484, 0x0484,
-- Unified with Egyptian hieroglyphic in Unicode
0x0487, 0x0487,
0x2C00, 0x2C5F,
0x2E43, 0x2E43,
0xA66F, 0xA66F,
0x1E000, 0x1E006,
0x1E008, 0x1E018,
0x1E01B, 0x1E021,
0x1E023, 0x1E024,
0x1E026, 0x1E02A,
},
capitalized = true,
}
}


m["Gong"] = process_ranges{
m["Egyp"] = process_ranges{
"Gunjala Gondi",
"Egyptian hieroglyphic",
"abugida",
132659,
"abjad, logography",
ranges = {
ranges = {
0x0964, 0x0965,
0x13000, 0x13455,
0x11D60, 0x11D65,
0x13460, 0x143FA,
0x11D67, 0x11D68,
},
0x11D6A, 0x11D8E,
varieties = {"Hieratic"},
0x11D90, 0x11D91,
wikipedia_article = "Egyptian hieroglyphs",
0x11D93, 0x11D98,
normalizationFixes = handle_normalization_fixes{
0x11DA0, 0x11DA9,
from = {"𓃁", "𓆖"},
to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"}
},
},
}
}


m["Gonm"] = process_ranges{
m["Elba"] = process_ranges{
"Masaram Gondi",
"Elbasan",
"abugida",
1036714,
"alphabet",
ranges = {
ranges = {
0x0964, 0x0965,
0x10500, 0x10527,
0x11D00, 0x11D06,
0x11D08, 0x11D09,
0x11D0B, 0x11D36,
0x11D3A, 0x11D3A,
0x11D3C, 0x11D3D,
0x11D3F, 0x11D47,
0x11D50, 0x11D59,
},
},
}
}


m["Goth"] = process_ranges{
m["Elym"] = process_ranges{
"Gothic",
"Elymaic",
"alphabet",
60744423,
"abjad",
ranges = {
ranges = {
0x10330, 0x1034A,
0x10FE0, 0x10FF6,
},
},
wikipedia_article = "Gothic alphabet",
direction = "rtl",
}
}


m["Gran"] = process_ranges{
m["Ethi"] = process_ranges{
"Grantha",
"Ethiopic",
257634,
"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,
0x0384, 0x038A,
0x038C, 0x038C,
0x038E, 0x03A1,
0x03A3, 0x03E1,
0x03F0, 0x03FF,
0x1D26, 0x1D2A,
0x1D5D, 0x1D61,
0x1D66, 0x1D6A,
0x1DBF, 0x1DBF,
0x2126, 0x2127,
0x2129, 0x2129,
0x213C, 0x2140,
0xAB65, 0xAB65,
0x10140, 0x1018E,
0x101A0, 0x101A0,
0x1D200, 0x1D245,
},
capitalized = true,
}


m["Hant"] = {
m["Polyt"] = process_ranges{
"Traditional Han",
"Greek",
m["Hani"][2],
1475332,
ranges = m["Hani"].ranges,
m["Grek"][3],
characters = m["Hani"].characters,
ranges = union(m["Grek"].ranges, {
spaces = m["Hani"].spaces,
0x1F00, 0x1F15,
parent = "Hani",
0x1F18, 0x1F1D,
0x1F20, 0x1F45,
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["Hano"] = process_ranges{
m["Gujr"] = process_ranges{
"Hanunoo",
"Gujarati",
733944,
"abugida",
"abugida",
ranges = {
ranges = {
0x1720, 0x1736,
0x0951, 0x0952,
},
0x0964, 0x0965,
}
0x0A81, 0x0A83,
 
0x0A85, 0x0A8D,
m["Hatr"] = process_ranges{
0x0A8F, 0x0A91,
"Hatran",
0x0A93, 0x0AA8,
"abjad",
0x0AAA, 0x0AB0,
ranges = {
0x0AB2, 0x0AB3,
0x108E0, 0x108F2,
0x0AB5, 0x0AB9,
0x108F4, 0x108F5,
0x0ABC, 0x0AC5,
0x108FB, 0x108FF,
0x0AC7, 0x0AC9,
0x0ACB, 0x0ACD,
0x0AD0, 0x0AD0,
0x0AE0, 0x0AE3,
0x0AE6, 0x0AF1,
0x0AF9, 0x0AFF,
0xA830, 0xA839,
},
normalizationFixes = handle_normalization_fixes{
from = {"ઓ", "અાૈ", "અા", "અૅ", "અે", "અૈ", "અૉ", "અો", "અૌ", "આૅ", "આૈ", "ૅા"},
to = {"અાૅ", "ઔ", "આ", "ઍ", "એ", "ઐ", "ઑ", "ઓ", "ઔ", "ઓ", "ઔ", "ૉ"}
},
},
direction = "rtl",
}
}


m["Hebr"] = process_ranges{
m["Gukh"] = process_ranges{
"Hebrew",
"Khema",
"abjad", -- more precisely, impure abjad
110064239,
"abugida",
aliases = {"Gurung Khema", "Khema Phri", "Khema Lipi"},
ranges = {
ranges = {
0x0591, 0x05C7,
0x0965, 0x0965,
0x05D0, 0x05EA,
0x16100, 0x16139,
0x05EF, 0x05F4,
0x2135, 0x2138,
0xFB1D, 0xFB36,
0xFB38, 0xFB3C,
0xFB3E, 0xFB3E,
0xFB40, 0xFB41,
0xFB43, 0xFB44,
0xFB46, 0xFB4F,
},
},
direction = "rtl",
}
}


m["Hira"] = process_ranges{
m["Guru"] = process_ranges{
"Hiragana",
"Gurmukhi",
689894,
"abugida",
ranges = {
0x0951, 0x0952,
0x0964, 0x0965,
0x0A01, 0x0A03,
0x0A05, 0x0A0A,
0x0A0F, 0x0A10,
0x0A13, 0x0A28,
0x0A2A, 0x0A30,
0x0A32, 0x0A33,
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{
"Hangul",
8222,
"syllabary",
"syllabary",
aliases = {"Hangeul"},
ranges = {
ranges = {
0x1100, 0x11FF,
0x3001, 0x3003,
0x3001, 0x3003,
0x3008, 0x3011,
0x3008, 0x3011,
0x3013, 0x301F,
0x3013, 0x301F,
0x3030, 0x3035,
0x302E, 0x3030,
0x3037, 0x3037,
0x3037, 0x3037,
0x303C, 0x303D,
0x30FB, 0x30FB,
0x3041, 0x3096,
0x3131, 0x318E,
0x3099, 0x30A0,
0x3200, 0x321E,
0x30FB, 0x30FC,
0x3260, 0x327E,
0xA960, 0xA97C,
0xAC00, 0xD7A3,
0xD7B0, 0xD7C6,
0xD7CB, 0xD7FB,
0xFE45, 0xFE46,
0xFE45, 0xFE46,
0xFF61, 0xFF65,
0xFF61, 0xFF65,
0xFF70, 0xFF70,
0xFFA0, 0xFFBE,
0xFF9E, 0xFF9F,
0xFFC2, 0xFFC7,
0x1B001, 0x1B11F,
0xFFCA, 0xFFCF,
0x1B132, 0x1B132,
0xFFD2, 0xFFD7,
0x1B150, 0x1B152,
0xFFDA, 0xFFDC,
0x1F200, 0x1F200,
},
},
varieties = {"Hentaigana"},
spaces = false,
}
}


m["Hluw"] = process_ranges{
m["Hani"] = process_ranges{
"Anatolian Hieroglyphs",
"Han",
"logography, syllabary",
8201,
"logography",
ranges = {
ranges = {
0x14400, 0x14646,
0x2E80, 0x2E99,
},
0x2E9B, 0x2EF3,
wikipedia_article = "Anatolian hieroglyphs",
0x2F00, 0x2FD5,
}
0x2FF0, 0x2FFF,
 
0x3001, 0x3003,
m["Hmng"] = process_ranges{
0x3005, 0x3011,
"Pahawh Hmong",
0x3013, 0x301F,
"semisyllabary",
0x3021, 0x302D,
aliases = {"Hmong"},
0x3030, 0x3030,
ranges = {
0x3037, 0x303F,
0x16B00, 0x16B45,
0x3190, 0x319F,
0x16B50, 0x16B59,
0x31C0, 0x31E5,
0x16B5B, 0x16B61,
0x31EF, 0x31EF,
0x16B63, 0x16B77,
0x3220, 0x3247,
0x16B7D, 0x16B8F,
0x3280, 0x32B0,
},
0x32C0, 0x32CB,
}
0x30FB, 0x30FB,
 
0x32FF, 0x32FF,
m["Hmnp"] = process_ranges{
0x3358, 0x3370,
"Nyiakeng Puachue Hmong",
0x337B, 0x337F,
"alphabet",
0x33E0, 0x33FE,
ranges = {
0x3400, 0x4DBF,
0x1E100, 0x1E12C,
0x4E00, 0x9FFF,
0x1E130, 0x1E13D,
0xA700, 0xA707,
0x1E140, 0x1E149,
0xF900, 0xFA6D,
0x1E14E, 0x1E14F,
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["Hung"] = process_ranges{
m["Hans"] = {
"Old Hungarian",
"Simplified Han",
"alphabet",
185614,
aliases = {"Hungarian runic"},
m["Hani"][3],
ranges = {
ranges = m["Hani"].ranges,
0x10C80, 0x10CB2,
characters = m["Hani"].characters,
0x10CC0, 0x10CF2,
spaces = m["Hani"].spaces,
0x10CFA, 0x10CFF,
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["Hano"] = process_ranges{
"Hanunoo",
1584045,
"abugida",
aliases = {"Hanunó'o", "Hanuno'o"},
ranges = {
0x1720, 0x1736,
},
},
capitalized = true,
direction = "rtl",
}
}


m["Ibrnn"] = {
m["Hatr"] = process_ranges{
"Northeastern Iberian",
"Hatran",
"semisyllabary",
20813038,
ietf_subtag = "Zzzz",
"abjad",
-- Not in Unicode
ranges = {
0x108E0, 0x108F2,
0x108F4, 0x108F5,
0x108FB, 0x108FF,
},
direction = "rtl",
}
}


m["Ibrns"] = {
m["Hebr"] = process_ranges{
"Southeastern Iberian",
"Hebrew",
"semisyllabary",
33513,
ietf_subtag = "Zzzz",
"abjad", -- more precisely, impure abjad
-- Not in Unicode
ranges = {
0x0591, 0x05C7,
0x05D0, 0x05EA,
0x05EF, 0x05F4,
0x2135, 0x2138,
0xFB1D, 0xFB36,
0xFB38, 0xFB3C,
0xFB3E, 0xFB3E,
0xFB40, 0xFB41,
0xFB43, 0xFB44,
0xFB46, 0xFB4F,
},
direction = "rtl",
}
}


m["Image"] = {
m["Hira"] = process_ranges{
-- To be used to avoid any formatting or link processing
"Hiragana",
"Image-rendered",
48332,
-- This should not have any characters listed
"syllabary",
ietf_subtag = "Zyyy",
ranges = {
translit = false,
0x3001, 0x3003,
character_category = false,
0x3008, 0x3011,
}
0x3013, 0x301F,
 
0x3030, 0x3035,
m["Inds"] = {
0x3037, 0x3037,
"Indus",
0x303C, 0x303D,
aliases = {"Harappan", "Indus Valley"},
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["Ipach"] = {
m["Hluw"] = process_ranges{
"International Phonetic Alphabet",
"Anatolian hieroglyphic",
aliases = {"IPA"},
521323,
ietf_subtag = "Latn",
"logography, syllabary",
}
 
m["Ital"] = process_ranges{
"Old Italic",
"alphabet",
ranges = {
ranges = {
0x10300, 0x10323,
0x14400, 0x14646,
0x1032D, 0x1032F,
},
},
wikipedia_article = "Anatolian hieroglyphs",
}
}


m["Java"] = process_ranges{
m["Hmng"] = process_ranges{
"Javanese",
"Pahawh Hmong",
"abugida",
365954,
"semisyllabary",
aliases = {"Hmong"},
ranges = {
ranges = {
0xA980, 0xA9CD,
0x16B00, 0x16B45,
0xA9CF, 0xA9D9,
0x16B50, 0x16B59,
0xA9DE, 0xA9DF,
0x16B5B, 0x16B61,
0x16B63, 0x16B77,
0x16B7D, 0x16B8F,
},
},
}
}


m["Jurc"] = {
m["Hmnp"] = process_ranges{
"Jurchen",
"Nyiakeng Puachue Hmong",
"logography",
33712499,
spaces = false,
"alphabet",
ranges = {
0x1E100, 0x1E12C,
0x1E130, 0x1E13D,
0x1E140, 0x1E149,
0x1E14E, 0x1E14F,
},
}
}


m["Kali"] = process_ranges{
m["Hung"] = process_ranges{
"Kayah Li",
"Old Hungarian",
"abugida",
446224,
"alphabet",
aliases = {"Hungarian runic"},
ranges = {
ranges = {
0xA900, 0xA92F,
0x10C80, 0x10CB2,
0x10CC0, 0x10CF2,
0x10CFA, 0x10CFF,
},
},
capitalized = true,
direction = "rtl",
}
}


m["Kana"] = process_ranges{
m["Ibrnn"] = {
"Katakana",
"Northeastern Iberian",
"syllabary",
1113155,
ranges = {
"semisyllabary",
0x3001, 0x3003,
ietf_subtag = "Zzzz",
0x3008, 0x3011,
-- Not in Unicode
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{
m["Ibrns"] = {
"Kawi",
"Southeastern Iberian",
"abugida",
2305351,
ranges = {
"semisyllabary",
0x11F00, 0x11F10,
ietf_subtag = "Zzzz",
0x11F12, 0x11F3A,
-- Not in Unicode
0x11F3E, 0x11F59,
}
 
m["Image"] = {
-- To be used to avoid any formatting or link processing
"Image-rendered",
478798,
-- This should not have any characters listed
ietf_subtag = "Zyyy",
translit = false,
character_category = false, -- none
}
 
m["Inds"] = {
"Indus",
601388,
aliases = {"Harappan", "Indus Valley"},
}
 
m["Ipach"] = {
"International Phonetic Alphabet",
21204,
aliases = {"IPA"},
ietf_subtag = "Latn",
}
 
m["Ital"] = process_ranges{
"Old Italic",
4891256,
"alphabet",
ranges = {
0x10300, 0x10323,
0x1032D, 0x1032F,
},
},
}
}


m["Khar"] = process_ranges{
m["Java"] = process_ranges{
"Kharoshthi",
"Javanese",
879704,
"abugida",
"abugida",
ranges = {
ranges = {
0x10A00, 0x10A03,
0xA980, 0xA9CD,
0x10A05, 0x10A06,
0xA9CF, 0xA9D9,
0x10A0C, 0x10A13,
0xA9DE, 0xA9DF,
0x10A15, 0x10A17,
0x10A19, 0x10A35,
0x10A38, 0x10A3A,
0x10A3F, 0x10A48,
0x10A50, 0x10A58,
},
},
direction = "rtl",
}
}


m["Khmr"] = process_ranges{
m["Jurc"] = {
"Khmer",
"Jurchen",
"abugida",
912240,
ranges = {
"logography",
0x1780, 0x17DD,
0x17E0, 0x17E9,
0x17F0, 0x17F9,
0x19E0, 0x19FF,
},
spaces = false,
spaces = false,
normalizationFixes = handle_normalization_fixes{
from = {"ឣ", "ឤ"},
to = {"អ", "អា"}
},
}
}


m["Khoj"] = process_ranges{
m["Kali"] = process_ranges{
"Khojki",
"Kayah Li",
4919239,
"abugida",
"abugida",
ranges = {
ranges = {
0x0AE6, 0x0AEF,
0xA900, 0xA92F,
0xA830, 0xA839,
0x11200, 0x11211,
0x11213, 0x11241,
},
normalizationFixes = handle_normalization_fixes{
from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"},
to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"}
},
},
}
}


m["Kitl"] = {
m["Kana"] = process_ranges{
"Khitan Large",
"Katakana",
"logography",
82946,
spaces = false,
"syllabary",
}
 
m["Kits"] = process_ranges{
"Khitan Small",
"logography, syllabary",
ranges = {
ranges = {
0x16FE4, 0x16FE4,
0x3001, 0x3003,
0x18B00, 0x18CD5,
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,
spaces = false,
}
}


m["Knda"] = process_ranges{
m["Kawi"] = process_ranges{
"Kannada",
"Kawi",
975802,
"abugida",
"abugida",
ranges = {
ranges = {
0x0951, 0x0952,
0x11F00, 0x11F10,
0x0964, 0x0965,
0x11F12, 0x11F3A,
0x0C80, 0x0C8C,
0x11F3E, 0x11F5A,
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, 0x1CD2,
0x1CDA, 0x1CDA,
0x1CF2, 0x1CF2,
0x1CF4, 0x1CF4,
0xA830, 0xA835,
},
normalizationFixes = handle_normalization_fixes{
from = {"ಉಾ", "ಋಾ", "ಒೌ"},
to = {"ಊ", "ೠ", "ಔ"}
},
},
}
}


m["Kpel"] = {
m["Khar"] = process_ranges{
"Kpelle",
"Kharoshthi",
"syllabary",
1161266,
-- Not in Unicode
}
 
m["Krai"] = {
"Kirat Rai",
"abugida",
"abugida",
aliases = {"Rai", "Khambu Rai", "Rai Barṇamālā", "Kirat Khambu Rai"},
ranges = {
-- Not in Unicode
0x10A00, 0x10A03,
0x10A05, 0x10A06,
0x10A0C, 0x10A13,
0x10A15, 0x10A17,
0x10A19, 0x10A35,
0x10A38, 0x10A3A,
0x10A3F, 0x10A48,
0x10A50, 0x10A58,
},
direction = "rtl",
}
}


m["Kthi"] = process_ranges{
m["Khmr"] = process_ranges{
"Kaithi",
"Khmer",
1054190,
"abugida",
"abugida",
ranges = {
ranges = {
0x0966, 0x096F,
0x1780, 0x17DD,
0xA830, 0xA839,
0x17E0, 0x17E9,
0x11080, 0x110C2,
0x17F0, 0x17F9,
0x110CD, 0x110CD,
0x19E0, 0x19FF,
},
spaces = false,
normalizationFixes = handle_normalization_fixes{
from = {"ឣ", "ឤ"},
to = {"អ", "អា"}
},
},
}
}


m["Lana"] = process_ranges{
m["Khoj"] = process_ranges{
"Tai Tham",
"Khojki",
1740656,
"abugida",
"abugida",
aliases = {"Tham", "Tua Mueang", "Lanna"},
ranges = {
ranges = {
0x1A20, 0x1A5E,
0x0AE6, 0x0AEF,
0x1A60, 0x1A7C,
0xA830, 0xA839,
0x1A7F, 0x1A89,
0x11200, 0x11211,
0x1A90, 0x1A99,
0x11213, 0x11241,
0x1AA0, 0x1AAD,
},
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["Laoo"] = process_ranges{
m["Latf"] = {
"Lao",
"Fraktur",
"abugida",
148443,
ranges = {
m["Latn"][3],
0x0E81, 0x0E82,
ranges = m["Latn"].ranges,
0x0E84, 0x0E84,
characters = m["Latn"].characters,
0x0E86, 0x0E8A,
otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script"
0x0E8C, 0x0EA3,
capitalized = m["Latn"].capitalized,
0x0EA5, 0x0EA5,
translit = m["Latn"].translit,
0x0EA7, 0x0EBD,
parent = "Latn",
0x0EC0, 0x0EC4,
}
0x0EC6, 0x0EC6,
0x0EC8, 0x0ECE,
m["Latg"] = {
0x0ED0, 0x0ED9,
"Gaelic",
0x0EDC, 0x0EDF,
1432616,
},
m["Latn"][3],
spaces = false,
ranges = m["Latn"].ranges,
}
characters = m["Latn"].characters,
otherNames = {"Irish"},
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}
m["pjt-Latn"] = {
"Latin",
nil,
m["Latn"][3],
ranges = m["Latn"].ranges,
characters = m["Latn"].characters,
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}


m["Latn"] = process_ranges{
m["Leke"] = {
"Latin",
"Leke",
"alphabet",
19572613,
aliases = {"Roman"},
"abugida",
-- Not in Unicode
}
 
m["Lepc"] = process_ranges{
"Lepcha",
1481626,
"abugida",
aliases = {"Róng"},
ranges = {
0x1C00, 0x1C37,
0x1C3B, 0x1C49,
0x1C4D, 0x1C4F,
},
}
 
m["Limb"] = process_ranges{
"Limbu",
933796,
"abugida",
ranges = {
ranges = {
0x0041, 0x005A,
0x0965, 0x0965,
0x0061, 0x007A,
0x1900, 0x191E,
0x00AA, 0x00AA,
0x1920, 0x192B,
0x00BA, 0x00BA,
0x1930, 0x193B,
0x00C0, 0x00D6,
0x1940, 0x1940,
0x00D8, 0x00F6,
0x1944, 0x194F,
0x00F8, 0x02B8,
},
0x02C0, 0x02C1,
}
0x02E0, 0x02E4,
 
0x0363, 0x036F,
m["Lina"] = process_ranges{
0x0485, 0x0486,
"Linear A",
0x0951, 0x0952,
30972,
0x10FB, 0x10FB,
ranges = {
0x1D00, 0x1D25,
0x10107, 0x10133,
0x1D2C, 0x1D5C,
0x10600, 0x10736,
0x1D62, 0x1D65,
0x10740, 0x10755,
0x1D6B, 0x1D77,
0x10760, 0x10767,
0x1D79, 0x1DBE,
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, 0xA7CA,
0xA7D0, 0xA7D1,
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["Linb"] = process_ranges{
"Fraktur",
"Linear B",
m["Latn"][2],
190102,
ranges = m["Latn"].ranges,
ranges = {
characters = m["Latn"].characters,
0x10000, 0x1000B,
otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script"
0x1000D, 0x10026,
capitalized = m["Latn"].capitalized,
0x10028, 0x1003A,
translit = m["Latn"].translit,
0x1003C, 0x1003D,
parent = "Latn",
0x1003F, 0x1004D,
}
0x10050, 0x1005D,
0x10080, 0x100FA,
m["Latg"] = {
0x10100, 0x10102,
"Gaelic",
0x10107, 0x10133,
m["Latn"][2],
0x10137, 0x1013F,
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{
m["Lisu"] = process_ranges{
"Lepcha",
"Fraser",
"abugida",
1194621,
"alphabet",
aliases = {"Old Lisu", "Lisu"},
ranges = {
ranges = {
0x1C00, 0x1C37,
0x300A, 0x300B,
0x1C3B, 0x1C49,
0xA4D0, 0xA4FF,
0x1C4D, 0x1C4F,
0x11FB0, 0x11FB0,
},
},
}
normalizationFixes = handle_normalization_fixes{
from = {"['’]", "[.ꓸ][.ꓸ]", "[.ꓸ][,ꓹ]"},
to = {"ʼ", "ꓺ", "ꓻ"}
},
}
 
m["Loma"] = {
"Loma",
13023816,
"syllabary",
-- Not in Unicode
}


m["Limb"] = process_ranges{
m["Lyci"] = process_ranges{
"Limbu",
"Lycian",
"abugida",
913587,
"alphabet",
ranges = {
ranges = {
0x0965, 0x0965,
0x10280, 0x1029C,
0x1900, 0x191E,
0x1920, 0x192B,
0x1930, 0x193B,
0x1940, 0x1940,
0x1944, 0x194F,
},
},
}
}


m["Lina"] = process_ranges{
m["Lydi"] = process_ranges{
"Linear A",
"Lydian",
4261300,
"alphabet",
ranges = {
ranges = {
0x10107, 0x10133,
0x10920, 0x10939,
0x10600, 0x10736,
0x1093F, 0x1093F,
0x10740, 0x10755,
0x10760, 0x10767,
},
},
direction = "rtl",
}
}


m["Linb"] = process_ranges{
m["Mahj"] = process_ranges{
"Linear B",
"Mahajani",
6732850,
"abugida",
ranges = {
ranges = {
0x10000, 0x1000B,
0x0964, 0x096F,
0x1000D, 0x10026,
0xA830, 0xA839,
0x10028, 0x1003A,
0x11150, 0x11176,
0x1003C, 0x1003D,
0x1003F, 0x1004D,
0x10050, 0x1005D,
0x10080, 0x100FA,
0x10100, 0x10102,
0x10107, 0x10133,
0x10137, 0x1013F,
},
},
}
}


m["Lisu"] = process_ranges{
m["Maka"] = process_ranges{
"Fraser",
"Makasar",
"alphabet",
72947229,
aliases = {"Old Lisu", "Lisu"},
"abugida",
aliases = {"Old Makasar"},
ranges = {
ranges = {
0xA4D0, 0xA4FF,
0x11EE0, 0x11EF8,
0x11FB0, 0x11FB0,
},
normalizationFixes = handle_normalization_fixes{
from = {"['’]", "[.ꓸ][.ꓸ]", "[.ꓸ][,ꓹ]"},
to = {"ʼ", "ꓺ", "ꓻ"}
},
},
}
}


m["Loma"] = {
m["Mand"] = process_ranges{
"Loma",
"Mandaic",
"syllabary",
1812130,
-- Not in Unicode
aliases = {"Mandaean"},
}
 
m["Lyci"] = process_ranges{
"Lycian",
"alphabet",
ranges = {
ranges = {
0x10280, 0x1029C,
0x0640, 0x0640,
0x0840, 0x085B,
0x085E, 0x085E,
},
},
direction = "rtl",
}
}


m["Lydi"] = process_ranges{
m["Mani"] = process_ranges{
"Lydian",
"Manichaean",
"alphabet",
3544702,
"abjad",
ranges = {
ranges = {
0x10920, 0x10939,
0x0640, 0x0640,
0x1093F, 0x1093F,
0x10AC0, 0x10AE6,
0x10AEB, 0x10AF6,
},
},
direction = "rtl",
direction = "rtl",
}
}


m["Mahj"] = process_ranges{
m["Marc"] = process_ranges{
"Mahajani",
"Marchen",
72403709,
"abugida",
"abugida",
ranges = {
ranges = {
0x0964, 0x096F,
0x11C70, 0x11C8F,
0xA830, 0xA839,
0x11C92, 0x11CA7,
0x11150, 0x11176,
0x11CA9, 0x11CB6,
},
},
}
}


m["Maka"] = process_ranges{
m["Maya"] = process_ranges{
"Makasar",
"Maya",
"abugida",
211248,
aliases = {"Old Makasar"},
aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
ranges = {
ranges = {
0x11EE0, 0x11EF8,
0x1D2E0, 0x1D2F3,
},
},
}
}


m["Mand"] = process_ranges{
m["Medf"] = process_ranges{
"Mandaic",
"Medefaidrin",
aliases = {"Mandaean"},
1519764,
aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
ranges = {
ranges = {
0x0640, 0x0640,
0x16E40, 0x16E9A,
0x0840, 0x085B,
0x085E, 0x085E,
},
},
direction = "rtl",
capitalized = true,
}
}


m["Mani"] = process_ranges{
m["Mend"] = process_ranges{
"Manichaean",
"Mende",
"abjad",
951069,
aliases = {"Mende Kikakui"},
ranges = {
ranges = {
0x0640, 0x0640,
0x1E800, 0x1E8C4,
0x10AC0, 0x10AE6,
0x1E8C7, 0x1E8D6,
0x10AEB, 0x10AF6,
},
},
direction = "rtl",
direction = "rtl",
}
}


m["Marc"] = process_ranges{
m["Merc"] = process_ranges{
"Marchen",
"Meroitic cursive",
73028124,
"abugida",
"abugida",
ranges = {
ranges = {
0x11C70, 0x11C8F,
0x109A0, 0x109B7,
0x11C92, 0x11CA7,
0x109BC, 0x109CF,
0x11CA9, 0x11CB6,
0x109D2, 0x109FF,
},
}
 
m["Maya"] = process_ranges{
"Maya",
aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
ranges = {
0x1D2E0, 0x1D2F3,
},
}
 
m["Medf"] = process_ranges{
"Medefaidrin",
aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
ranges = {
0x16E40, 0x16E9A,
},
capitalized = true,
}
 
m["Mend"] = process_ranges{
"Mende",
aliases = {"Mende Kikakui"},
ranges = {
0x1E800, 0x1E8C4,
0x1E8C7, 0x1E8D6,
},
direction = "rtl",
}
 
m["Merc"] = process_ranges{
"Meroitic cursive",
"abugida",
ranges = {
0x109A0, 0x109B7,
0x109BC, 0x109CF,
0x109D2, 0x109FF,
},
},
direction = "rtl",
direction = "rtl",
Line 1,762: Line 2,091:
m["Mero"] = process_ranges{
m["Mero"] = process_ranges{
"Meroitic hieroglyphic",
"Meroitic hieroglyphic",
73028623,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,767: Line 2,097:
},
},
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,794: Line 2,126:
m["Modi"] = process_ranges{
m["Modi"] = process_ranges{
"Modi",
"Modi",
1703713,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,808: Line 2,141:
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,820: Line 2,154:
0x200C, 0x200D,
0x200C, 0x200D,
0x202F, 0x202F,
0x202F, 0x202F,
0x3001, 0x3002,
0x3008, 0x300B,
0x11660, 0x11668,
0x11660, 0x11668,
},
},
Line 1,827: Line 2,163:
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,857: Line 2,194:
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,880: Line 2,218:
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,908: Line 2,247:
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,915: Line 2,255:
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,929: Line 2,272:
m["Mtei"] = process_ranges{
m["Mtei"] = process_ranges{
"Meitei Mayek",
"Meitei Mayek",
2981413,
"abugida",
"abugida",
aliases = {"Meetei Mayek", "Manipuri"},
aliases = {"Meetei Mayek", "Manipuri"},
Line 1,940: Line 2,284:
m["Mult"] = process_ranges{
m["Mult"] = process_ranges{
"Multani",
"Multani",
17047906,
"abugida",
"abugida",
ranges = {
ranges = {
Line 1,952: Line 2,297:


m["Music"] = process_ranges{
m["Music"] = process_ranges{
"Musical notation",
"musical notation",
233861,
"pictography",
"pictography",
ranges = {
ranges = {
Line 1,965: Line 2,311:
m["Mymr"] = process_ranges{
m["Mymr"] = process_ranges{
"Burmese",
"Burmese",
43887939,
"abugida",
"abugida",
aliases = {"Myanmar"},
aliases = {"Myanmar"},
Line 1,972: Line 2,319:
0xA9E0, 0xA9FE,
0xA9E0, 0xA9FE,
0xAA60, 0xAA7F,
0xAA60, 0xAA7F,
0x116D0, 0x116E3,
},
},
spaces = false,
spaces = false,
Line 1,977: Line 2,325:


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 1,986: Line 2,336:
m["Nand"] = process_ranges{
m["Nand"] = process_ranges{
"Nandinagari",
"Nandinagari",
6963324,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,001: Line 2,352:


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,011: Line 2,364:
m["Nbat"] = process_ranges{
m["Nbat"] = process_ranges{
"Nabataean",
"Nabataean",
855624,
"abjad",
"abjad",
aliases = {"Nabatean"},
aliases = {"Nabatean"},
Line 2,022: Line 2,376:
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,032: Line 2,387:
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,040: Line 2,396:
m["Nkgb"] = {
m["Nkgb"] = {
"Geba",
"Geba",
731189,
"syllabary",
"syllabary",
aliases = {"Nakhi Geba", "Naxi Geba"},
aliases = {"Nakhi Geba", "Naxi Geba"},
Line 2,048: Line 2,405:
m["Nkoo"] = process_ranges{
m["Nkoo"] = process_ranges{
"N'Ko",
"N'Ko",
1062587,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,061: Line 2,419:


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,081: Line 2,441:
m["Ogam"] = process_ranges{
m["Ogam"] = process_ranges{
"Ogham",
"Ogham",
184661,
ranges = {
ranges = {
0x1680, 0x169C,
0x1680, 0x169C,
Line 2,088: Line 2,449:
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,094: Line 2,456:
}
}


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,111: Line 2,479:
m["Orya"] = process_ranges{
m["Orya"] = process_ranges{
"Odia",
"Odia",
1760127,
"abugida",
"abugida",
aliases = {"Oriya"},
aliases = {"Oriya"},
Line 2,141: Line 2,510:
m["Osge"] = process_ranges{
m["Osge"] = process_ranges{
"Osage",
"Osage",
7105529,
ranges = {
ranges = {
0x104B0, 0x104D3,
0x104B0, 0x104D3,
Line 2,150: Line 2,520:
m["Osma"] = process_ranges{
m["Osma"] = process_ranges{
"Osmanya",
"Osmanya",
1377866,
ranges = {
ranges = {
0x10480, 0x1049D,
0x10480, 0x1049D,
Line 2,158: Line 2,529:
m["Ougr"] = process_ranges{
m["Ougr"] = process_ranges{
"Old Uyghur",
"Old Uyghur",
1998938,
"abjad, alphabet",
"abjad, alphabet",
ranges = {
ranges = {
Line 2,170: Line 2,542:
m["Palm"] = process_ranges{
m["Palm"] = process_ranges{
"Palmyrene",
"Palmyrene",
17538100,
ranges = {
ranges = {
0x10860, 0x1087F,
0x10860, 0x1087F,
Line 2,178: Line 2,551:
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,193: Line 2,582:
m["Phag"] = process_ranges{
m["Phag"] = process_ranges{
"Phags-pa",
"Phags-pa",
822836,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,207: Line 2,597:
m["Phli"] = process_ranges{
m["Phli"] = process_ranges{
"Inscriptional Pahlavi",
"Inscriptional Pahlavi",
24089793,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,217: Line 2,608:
m["Phlp"] = process_ranges{
m["Phlp"] = process_ranges{
"Psalter Pahlavi",
"Psalter Pahlavi",
7253954,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,229: Line 2,621:
m["Phlv"] = {
m["Phlv"] = {
"Book Pahlavi",
"Book Pahlavi",
72403118,
"abjad",
"abjad",
direction = "rtl",
direction = "rtl",
Line 2,236: Line 2,629:
m["Phnx"] = process_ranges{
m["Phnx"] = process_ranges{
"Phoenician",
"Phoenician",
26752,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,246: Line 2,640:
m["Plrd"] = process_ranges{
m["Plrd"] = process_ranges{
"Pollard",
"Pollard",
601734,
"abugida",
"abugida",
aliases = {"Miao"},
aliases = {"Miao"},
Line 2,257: Line 2,652:
m["Prti"] = process_ranges{
m["Prti"] = process_ranges{
"Inscriptional Parthian",
"Inscriptional Parthian",
13023804,
ranges = {
ranges = {
0x10B40, 0x10B55,
0x10B40, 0x10B55,
Line 2,262: Line 2,658:
},
},
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,272: Line 2,677:
m["Rjng"] = process_ranges{
m["Rjng"] = process_ranges{
"Rejang",
"Rejang",
2007960,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,281: Line 2,687:
m["Rohg"] = process_ranges{
m["Rohg"] = process_ranges{
"Hanifi Rohingya",
"Hanifi Rohingya",
21028705,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,296: Line 2,703:
m["Roro"] = {
m["Roro"] = {
"Rongorongo",
"Rongorongo",
209764,
-- Not in Unicode
-- Not in Unicode
}
}
Line 2,301: Line 2,709:
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,319: Line 2,728:
m["Samr"] = process_ranges{
m["Samr"] = process_ranges{
"Samaritan",
"Samaritan",
1550930,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,328: Line 2,738:


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,338: Line 2,750:
m["Saur"] = process_ranges{
m["Saur"] = process_ranges{
"Saurashtra",
"Saurashtra",
3535165,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,347: Line 2,760:
m["Semap"] = {
m["Semap"] = {
"flag semaphore",
"flag semaphore",
250796,
"pictography",
"pictography",
ietf_subtag = "Zsym",
ietf_subtag = "Zsym",
Line 2,353: Line 2,767:
m["Sgnw"] = process_ranges{
m["Sgnw"] = process_ranges{
"SignWriting",
"SignWriting",
1497335,
"pictography",
"pictography",
aliases = {"Sutton SignWriting"},
aliases = {"Sutton SignWriting"},
Line 2,365: Line 2,780:
m["Shaw"] = process_ranges{
m["Shaw"] = process_ranges{
"Shavian",
"Shavian",
1970098,
aliases = {"Shaw"},
aliases = {"Shaw"},
ranges = {
ranges = {
Line 2,373: Line 2,789:
m["Shrd"] = process_ranges{
m["Shrd"] = process_ranges{
"Sharada",
"Sharada",
2047117,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,388: Line 2,805:
m["Shui"] = {
m["Shui"] = {
"Sui",
"Sui",
752854,
"logography",
"logography",
spaces = false,
spaces = false,
Line 2,395: Line 2,813:
m["Sidd"] = process_ranges{
m["Sidd"] = process_ranges{
"Siddham",
"Siddham",
250379,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,404: Line 2,823:
m["Sidt"] = {
m["Sidt"] = {
"Sidetic",
"Sidetic",
36659,
"alphabet",
"alphabet",
direction = "rtl",
direction = "rtl",
Line 2,410: Line 2,830:


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,427: Line 2,848:
m["Sinh"] = process_ranges{
m["Sinh"] = process_ranges{
"Sinhalese",
"Sinhalese",
1574992,
"abugida",
"abugida",
aliases = {"Sinhala"},
aliases = {"Sinhala"},
Line 2,454: Line 2,876:
m["Sogd"] = process_ranges{
m["Sogd"] = process_ranges{
"Sogdian",
"Sogdian",
578359,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,464: Line 2,887:
m["Sogo"] = process_ranges{
m["Sogo"] = process_ranges{
"Old Sogdian",
"Old Sogdian",
72403254,
"abjad",
"abjad",
ranges = {
ranges = {
Line 2,473: Line 2,897:
m["Sora"] = process_ranges{
m["Sora"] = process_ranges{
"Sorang Sompeng",
"Sorang Sompeng",
7563292,
aliases = {"Sora Sompeng"},
aliases = {"Sora Sompeng"},
ranges = {
ranges = {
Line 2,482: Line 2,907:
m["Soyo"] = process_ranges{
m["Soyo"] = process_ranges{
"Soyombo",
"Soyombo",
8009382,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,490: Line 2,916:
m["Sund"] = process_ranges{
m["Sund"] = process_ranges{
"Sundanese",
"Sundanese",
51589,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,497: Line 2,924:
}
}


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,516: Line 2,948:
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,538: Line 2,971:
m["Tagb"] = process_ranges{
m["Tagb"] = process_ranges{
"Tagbanwa",
"Tagbanwa",
977444,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,549: Line 2,983:
m["Takr"] = process_ranges{
m["Takr"] = process_ranges{
"Takri",
"Takri",
759202,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,564: Line 2,999:
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,576: Line 3,012:
m["Talu"] = process_ranges{
m["Talu"] = process_ranges{
"New Tai Lue",
"New Tai Lue",
3498863,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,588: Line 3,025:
m["Taml"] = process_ranges{
m["Taml"] = process_ranges{
"Tamil",
"Tamil",
26803,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,624: Line 3,062:
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,636: Line 3,076:
m["Tavt"] = process_ranges{
m["Tavt"] = process_ranges{
"Tai Viet",
"Tai Viet",
11818517,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,646: Line 3,087:
m["Tayo"] = {
m["Tayo"] = {
"Lai Tay",
"Lai Tay",
16306701,
"abugida",
"abugida",
aliases = {"Tai Yo"},
aliases = {"Tai Yo"},
Line 2,654: Line 3,096:
m["Telu"] = process_ranges{
m["Telu"] = process_ranges{
"Telugu",
"Telugu",
570450,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,682: Line 3,125:
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,697: Line 3,142:
m["Tglg"] = process_ranges{
m["Tglg"] = process_ranges{
"Baybayin",
"Baybayin",
812124,
"abugida",
"abugida",
aliases = {"Tagalog"},
aliases = {"Tagalog"},
Line 2,708: Line 3,154:
m["Thaa"] = process_ranges{
m["Thaa"] = process_ranges{
"Thaana",
"Thaana",
877906,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,723: Line 3,170:
m["Thai"] = process_ranges{
m["Thai"] = process_ranges{
"Thai",
"Thai",
236376,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,733: Line 3,181:
m["Tibt"] = process_ranges{
m["Tibt"] = process_ranges{
"Tibetan",
"Tibetan",
46861,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,742: Line 3,191:
0x0FCE, 0x0FD4,
0x0FCE, 0x0FD4,
0x0FD9, 0x0FDA,
0x0FD9, 0x0FDA,
0x3008, 0x300B,
},
},
normalizationFixes = handle_normalization_fixes{
normalizationFixes = handle_normalization_fixes{
Line 2,752: Line 3,202:
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,761: Line 3,212:
m["Tirh"] = process_ranges{
m["Tirh"] = process_ranges{
"Tirhuta",
"Tirhuta",
1765752,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,778: Line 3,230:
m["Tnsa"] = process_ranges{
m["Tnsa"] = process_ranges{
"Tangsa",
"Tangsa",
105576311,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,785: Line 3,238:
}
}


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,800: Line 3,257:
m["Toto"] = process_ranges{
m["Toto"] = process_ranges{
"Toto",
"Toto",
104837516,
"abugida",
"abugida",
ranges = {
ranges = {
Line 2,806: Line 3,264:
}
}


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,824: Line 3,299:
m["Vaii"] = process_ranges{
m["Vaii"] = process_ranges{
"Vai",
"Vai",
523078,
"syllabary",
"syllabary",
ranges = {
ranges = {
Line 2,832: Line 3,308:
m["Visp"] = {
m["Visp"] = {
"Visible Speech",
"Visible Speech",
1303365,
"alphabet",
"alphabet",
-- Not in Unicode
-- Not in Unicode
Line 2,838: Line 3,315:
m["Vith"] = process_ranges{
m["Vith"] = process_ranges{
"Vithkuqi",
"Vithkuqi",
3301993,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,854: Line 3,332:
m["Wara"] = process_ranges{
m["Wara"] = process_ranges{
"Varang Kshiti",
"Varang Kshiti",
79199,
aliases = {"Warang Citi"},
aliases = {"Warang Citi"},
ranges = {
ranges = {
Line 2,864: Line 3,343:
m["Wcho"] = process_ranges{
m["Wcho"] = process_ranges{
"Wancho",
"Wancho",
33713728,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,873: Line 3,353:
m["Wole"] = {
m["Wole"] = {
"Woleai",
"Woleai",
6643710,
"syllabary",
"syllabary",
-- Not in Unicode
-- Not in Unicode
Line 2,879: Line 3,360:
m["Xpeo"] = process_ranges{
m["Xpeo"] = process_ranges{
"Old Persian",
"Old Persian",
1471822,
ranges = {
ranges = {
0x103A0, 0x103C3,
0x103A0, 0x103C3,
Line 2,887: Line 3,369:
m["Xsux"] = process_ranges{
m["Xsux"] = process_ranges{
"Cuneiform",
"Cuneiform",
401,
aliases = {"Sumero-Akkadian Cuneiform"},
aliases = {"Sumero-Akkadian Cuneiform"},
ranges = {
ranges = {
Line 2,898: Line 3,381:
m["Yezi"] = process_ranges{
m["Yezi"] = process_ranges{
"Yezidi",
"Yezidi",
13175481,
"alphabet",
"alphabet",
ranges = {
ranges = {
Line 2,913: Line 3,397:
m["Yiii"] = process_ranges{
m["Yiii"] = process_ranges{
"Yi",
"Yi",
1197646,
"syllabary",
"syllabary",
ranges = {
ranges = {
Line 2,927: Line 3,412:
m["Zanb"] = process_ranges{
m["Zanb"] = process_ranges{
"Zanabazar Square",
"Zanabazar Square",
50809208,
"abugida",
ranges = {
ranges = {
0x11A00, 0x11A47,
0x11A00, 0x11A47,
Line 2,934: Line 3,421:
m["Zmth"] = process_ranges{
m["Zmth"] = process_ranges{
"mathematical notation",
"mathematical notation",
1140046,
ranges = {
ranges = {
0x00AC, 0x00AC,
0x00AC, 0x00AC,
Line 3,071: Line 3,559:
},
},
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,170: Line 3,658:
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,177: Line 3,666:
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,186: Line 3,676:
m["Hrkt"] = process_ranges{
m["Hrkt"] = process_ranges{
"Kana",
"Kana",
187659,
"syllabary",
"syllabary",
aliases = {"Japanese syllabaries"},
aliases = {"Japanese syllabaries"},
Line 3,197: Line 3,688:
m["Jpan"] = process_ranges{
m["Jpan"] = process_ranges{
"Japanese",
"Japanese",
190502,
"logography, syllabary",
"logography, syllabary",
ranges = union(
ranges = union(
Line 3,209: Line 3,701:
m["Kore"] = process_ranges{
m["Kore"] = process_ranges{
"Korean",
"Korean",
711797,
"logography, syllabary",
"logography, syllabary",
ranges = union(
ranges = union(
Line 3,217: Line 3,710:
}
}


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

Navigation menu