Module:Scripts/data: Difference between revisions

From The Languages of David J. Peterson
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 3 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 u = mw.ustring.char
--local m = {}
t = require("Module:Table")


local u = mw.ustring.char
local m_djp= require("Module:Scripts/data/djp")
local m = {}
local m = t.shallowClone(m_djp)


m["Adlm"] = {
m["Adlm"] = {
canonicalName = "Adlam",
"Adlam",
characters = "𞤀-𞥟",
"alphabet",
characters = "؟ـ𞤀-𞥟",
capitalized = true,
direction = "rtl",
direction = "rtl",
}
}


m["Afak"] = {
m["Afak"] = {
canonicalName = "Afaka",
"Afaka",
"syllabary",
}
}


m["Aghb"] = {
m["Aghb"] = {
canonicalName = "Caucasian Albanian",
"Caucasian Albanian",
characters = "𐔰-𐕣𐕯",
"alphabet",
characters = "𐔰-𐕯",
}
}


m["Ahom"] = {
m["Ahom"] = {
canonicalName = "Ahom",
"Ahom",
characters = "𑜀-𑜿",
"abugida",
systems = {"abugida"},
characters = "𑜀-𑝏",
}
}


m["Arab"] = {
m["Arab"] = {
canonicalName = "Arabic",
"Arabic",
otherNames = {"Jawi", "Nastaliq", "Nastaleeq"},
"abjad", -- more precisely, impure abjad
characters = "؀-ۿݐ-ݿࢠ-ࣿﭐ-﷽ﹰ-",
varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}},
characters = "؀-ۿݐ-ݿࡰ-ࣿﭐ-﷏ﷰ-﷿ﹰ-﻾𐋠-𐋻𐹠-𐹿𐻀-𐻿𞸀-𞻿",
direction = "rtl",
direction = "rtl",
systems = {"abjad"}, -- more precisely, impure abjad
normalizationFixes = {
from = {"ٳ"},
to = {"اٟ"}
},
}
}


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


m["kk-Arab"] = {
m["ks-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ks-Arab"] = {
m["ku-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ku-Arab"] = {
m["ms-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ms-Arab"] = {
m["mzn-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["mzn-Arab"] = {
m["ota-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ota-Arab"] = {
m["pa-Arab"] = {
canonicalName = "Arabic",
"Shahmukhi",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
otherNames = {"Arabic"},
}
direction = "rtl",
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["pa-Arab"] = {
m["ps-Arab"] = {
canonicalName = "Shahmukhi",
"Arabic",
otherNames = {"Arabic"},
m["Arab"][2],
characters = m["Arab"].characters,
characters = m["Arab"].characters,
direction = "rtl",
direction = "rtl",
parent = "Arab",
parent = "Arab",
}
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ps-Arab"] = {
m["sd-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["sd-Arab"] = {
m["tt-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["tt-Arab"] = {
m["ug-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ug-Arab"] = {
m["ur-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


m["ur-Arab"] = {
m["xka-Arab"] = {
canonicalName = "Arabic",
"Arabic",
characters = m["Arab"].characters,
m["Arab"][2],
direction = "rtl",
characters = m["Arab"].characters,
parent = "Arab",
direction = "rtl",
}
parent = "Arab",
normalizationFixes = m["Arab"].normalizationFixes,
}


-- Aran (Nastaliq) is subsumed into Arab
-- Aran (Nastaliq) is subsumed into Arab


m["Armi"] = {
m["Armi"] = {
canonicalName = "Imperial Aramaic",
"Imperial Aramaic",
"abjad",
characters = "𐡀-𐡟",
characters = "𐡀-𐡟",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Armn"] = {
m["Armn"] = {
canonicalName = "Armenian",
"Armenian",
characters = "Ա-֏ﬓ-ﬗ",
"alphabet",
characters = "԰-֏ﬓ-ﬗ",
capitalized = true,
}
}


m["Avst"] = {
m["Avst"] = {
canonicalName = "Avestan",
"Avestan",
"alphabet",
characters = "𐬀-𐬿",
characters = "𐬀-𐬿",
direction = "rtl",
direction = "rtl",
}
}
m["pal-Avst"] = {
"Pazend",
m["Avst"][2],
characters = m["Avst"].characters,
direction = "rtl",
parent = "Avst",
}


m["Bali"] = {
m["Bali"] = {
canonicalName = "Balinese",
"Balinese",
characters = "ᬀ-᭼",
"abugida",
systems = {"abugida"},
characters = "ᬀ-᭿",
}
}


m["Bamu"] = {
m["Bamu"] = {
canonicalName = "Bamum",
"Bamum",
characters = "ꚠ-꛷𖠀-𖨸",
"syllabary",
characters = "ꚠ-꛿𖠀-𖨿",
}
}


m["Bass"] = {
m["Bass"] = {
canonicalName = "Bassa",
"Bassa",
otherNames = {"Bassa Vah", "Vah"},
"alphabet",
characters = "𖫐-𖫵",
aliases = {"Bassa Vah", "Vah"},
characters = "𖫐-𖫿",
}
}


m["Batk"] = {
m["Batk"] = {
canonicalName = "Batak",
"Batak",
"abugida",
characters = "ᯀ-᯿",
characters = "ᯀ-᯿",
systems = {"abugida"},
}
}


m["Beng"] = {
m["Beng"] = {
canonicalName = "Bengali",
"Bengali",
otherNames = {"Bengali-Assamese", "Eastern Nagari"},
"abugida",
characters = "-ঃঅ-ঌএঐও-নপ-রললশ-হ়-ৄেৈো-ৎৗড়ঢ়য়়ৠ-ৣ০-৯",
characters = "॒॑।॥ঀ-৯৲-৿᳕᳖᳘᳐᳒᳡ᳪ᳭ᳲᳵ-᳷꣱",
systems = {"abugida"},
normalizationFixes = {
from = {"অা", "ঋৃ", "ঌৢ"},
to = {"আ", "ৠ", "ৡ"}
},
}
}


m["as-Beng"] = {
m["as-Beng"] = {
canonicalName = "Assamese",
"Assamese",
otherNames = {"Bengali-Assamese", "Eastern Nagari"},
m["Beng"][2],
characters = "-ঃঅ-ঌএঐও-নপ-যশ-হ়-ৄেৈো-ৎৗড়ঢ়য়়ৠ-ৣ০-ৱ",
otherNames = {"Bengali-Assamese", "Eastern Nagari"},
systems = {"abugida"},
characters = "॒॑।॥ঀ-য঱-৿᳕᳖᳘᳐᳒᳡ᳪ᳭ᳲᳵ-᳷꣱",
normalizationFixes = m["Beng"].normalizationFixes,
}
 
m["Bhks"] = {
"Bhaiksuki",
"abugida",
characters = "𑰀-𑱯",
}
}


m["Bhks"] = {
m["Blis"] = {
canonicalName = "Bhaiksuki",
"Blissymbols",
characters = "𑰀-𑱬",
"logography",
systems = {"abugida"},
aliases = {"Blissymbolics"},
-- Not in Unicode
}
}


m["Bopo"] = {
m["Bopo"] = {
canonicalName = "Zhuyin",
"Zhuyin",
otherNames = {"Zhuyin Fuhao", "Bopomofo"},
"semisyllabary",
characters = "-ㄯㆠ-",
aliases = {"Zhuyin Fuhao", "Bopomofo"},
characters = "ˇˉˊˋ˙˪˫、-〃〈-】〓-〟〪-〭〰〷・㄀-ㄯ﹅﹆。-",
}
}


m["Brah"] = {
m["Brah"] = {
canonicalName = "Brahmi",
"Brahmi",
"abugida",
characters = "𑀀-𑁿",
characters = "𑀀-𑁿",
systems = {"abugida"},
normalizationFixes = {
from = {"𑀅𑀸", "𑀋𑀾", "𑀏𑁂"},
to = {"𑀆", "𑀌", "𑀐"}
},
}
}


m["Brai"] = {
m["Brai"] = {
canonicalName = "Braille",
"Braille",
"alphabet",
characters = "⠀-⣿",
characters = "⠀-⣿",
}
}


m["Bugi"] = {
m["Bugi"] = {
canonicalName = "Buginese",
"Buginese",
otherNames = {"Lontara"},
"abugida",
characters = "ᨀ-᨟",
aliases = {"Lontara"},
systems = {"abugida"},
characters = "ᨀ-᨟ꧏ",
}
}


m["Buhd"] = {
m["Buhd"] = {
canonicalName = "Buhid",
"Buhid",
characters = "ᝀ-ᝓ",
"abugida",
systems = {"abugida"},
characters = "᜵᜶ᝀ-᝟ꧏ",
}
}


m["Cakm"] = {
m["Cakm"] = {
canonicalName = "Chakma",
"Chakma",
characters = "𑄀-𑅆",
"abugida",
systems = {"abugida"},
characters = "০-৯၀-၉𑄀-𑅏",
}
}


m["Cans"] = {
m["Cans"] = {
canonicalName = "Canadian syllabics",
"Canadian syllabics",
characters = "᐀-ᙿ",
"abugida",
systems = {"abugida"},
characters = "᐀-ᙿᢰ-᣿𑪰-𑪿",
}
}


m["Cari"] = {
m["Cari"] = {
canonicalName = "Carian",
"Carian",
characters = "𐊠-𐋐",
"alphabet",
systems = {"alphabet"},
characters = "𐊠-𐋟",
}
}


m["Cham"] = {
m["Cham"] = {
canonicalName = "Cham",
"Cham",
"abugida",
characters = "ꨀ-꩟",
characters = "ꨀ-꩟",
systems = {"abugida"},
}
}


m["Cher"] = {
m["Cher"] = {
canonicalName = "Cherokee",
"Cherokee",
characters = "Ꭰ-Ᏼꭰ-ꮿ",
"syllabary",
systems = {"syllabary"},
characters = "Ꭰ-᏿ꭰ-ꮿ",
}
 
m["Chrs"] = {
"Chorasmian",
"abjad",
characters = "𐾰-𐿟",
direction = "rtl",
}
}


m["Copt"] = {
m["Copt"] = {
canonicalName = "Coptic",
"Coptic",
characters = "Ϣ-ϯⲀ-⳿𐋡-𐋻", -- this is mostly "Coptic", not unified "Greek and Coptic"
"alphabet",
systems = {"alphabet"},
characters = "Ϣ-ϯⲀ-⳿𐋠-𐋻", -- this is mostly "Coptic", not unified "Greek and Coptic"
capitalized = true,
}
 
m["Cpmn"] = {
"Cypro-Minoan",
"syllabary",
aliases = {"Cypro Minoan"},
characters = "𐄀𐄁𒾐-𒿿",
}
}


m["Cprt"] = {
m["Cprt"] = {
canonicalName = "Cypriot",
"Cypriot",
characters = "𐠀-𐠿",
"syllabary",
characters = "𐄀-𐄂𐄇-𐄳𐄷-𐄿𐠀-𐠿",
direction = "rtl",
direction = "rtl",
systems = {"syllabary"},
}
}


m["Cyrl"] = {
m["Cyrl"] = {
canonicalName = "Cyrillic",
"Cyrillic",
characters = "Ѐ-џѢѣѪѫѬѭѲѳѴѵҊ-ԧꚀ-",
"alphabet",
systems = {"alphabet"},
characters = "Ѐ-ԯᲀ-᲏ᴫᵸ᷸ⷠ-ⷿ⹃Ꙁ-ꚟ︮︯𞀰-𞂏",
capitalized = true,
}
}


m["Cyrs"] = {
m["Cyrs"] = {
canonicalName = "Old Cyrillic",
"Old Cyrillic",
otherNames = { "Early Cyrillic" },
m["Cyrl"][2],
characters = "Ѐ-ԧꙀ-ꚗ",
aliases = {"Early Cyrillic"},
characters = m["Cyrl"].characters,
capitalized = m["Cyrl"].capitalized,
wikipedia_article = "Early Cyrillic alphabet",
wikipedia_article = "Early Cyrillic alphabet",
systems = {"alphabet"},
}
}


m["Deva"] = {
m["Deva"] = {
canonicalName = "Devanagari",
"Devanagari",
characters = "ऀ-ॿ꣠-ꣿ",
"abugida",
systems = {"abugida"},
characters = "ऀ-ॿ꣠-ꣿ𑬀-𑬉",
normalizationFixes = {
from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"},
to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
},
}
 
m["Diak"] = {
"Dhives Akuru",
"abugida",
aliases = {"Dives Akuru"},
characters = "𑤀-𑤆𑤉𑤌-𑤓𑤕𑤖𑤘-𑤵𑤷𑤸𑤻-𑥆𑥐-𑥙",
}
}


m["Dogr"] = {
m["Dogr"] = {
canonicalName = "Dogra",
"Dogra",
"abugida",
characters = "𑠀-𑠻",
characters = "𑠀-𑠻",
systems = {"abugida"},
}
}


m["Dsrt"] = {
m["Dsrt"] = {
canonicalName = "Deseret",
"Deseret",
"alphabet",
characters = "𐐀-𐑏",
characters = "𐐀-𐑏",
systems = {"alphabet"},
capitalized = true,
}
}


m["Dupl"] = {
m["Dupl"] = {
canonicalName = "Duployan",
"Duployan",
characters = "𛰀-𛲟",
"alphabet",
characters = "𛰀-𛱪𛱰-𛱼𛲀-𛲈𛲐-𛲙𛲜-𛲟",
}
}


m["Egyd"] = {
m["Egyd"] = {
canonicalName = "Demotic",
"Demotic",
"abjad, logography",
}
 
m["Egyh"] = {
"Hieratic",
"abjad, logography",
}
}


m["Egyp"] = {
m["Egyp"] = {
canonicalName = "Egyptian hieroglyphic",
"Egyptian hieroglyphic",
characters = "𓀀-𓐮",
"abjad, logography",
characters = "𓀀-𓑕",
varieties = {"Hieratic"},
wikipedia_article = "Egyptian hieroglyphs",
normalizationFixes = {
from = {"𓃁", "𓆖"},
to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"}
},
}
}


m["Elba"] = {
m["Elba"] = {
canonicalName = "Elbasan",
"Elbasan",
"alphabet",
characters = "𐔀-𐔧",
characters = "𐔀-𐔧",
}
m["Elym"] = {
"Elymaic",
"abjad",
characters = "𐿠-𐿶",
direction = "rtl",
}
}


m["Ethi"] = {
m["Ethi"] = {
canonicalName = "Ethiopic",
"Ethiopic",
otherNames = {"Ge'ez"},
"abugida",
characters = "ሀ-᎙ⶀ-ⷞꬁ-",
aliases = {"Ge'ez"},
systems = {"abugida"},
characters = "ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ𞟠-𞟦𞟨-𞟫𞟭𞟮𞟰-𞟾",
}
}


m["Geok"] = {
m["Geok"] = {
canonicalName = "Khutsuri",
"Khutsuri",
otherNames = {"Nuskhuri", "Asomtavruli"},
"alphabet",
characters = "Ⴀ-Ⴭⴀ-", -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri
characters = "Ⴀ-ჅჇჍ჻ⴀ-ⴥⴧⴭ", -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri
systems = {"alphabet"},
varieties = {"Nuskhuri", "Asomtavruli"},
capitalized = true,
}
}


m["Geor"] = {
m["Geor"] = {
canonicalName = "Georgian",
"Georgian",
otherNames = {"Mkhedruli", "Mtavruli"},
"alphabet",
characters = "ა-ჿᲐ-Ჿ", -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli)
characters = "ა-ჿᲐ-ᲺᲽ-Ჿ", -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli)
systems = {"alphabet"},
varieties = {"Mkhedruli", "Mtavruli"},
capitalized = true,
}
}


m["Glag"] = {
m["Glag"] = {
canonicalName = "Glagolitic",
"Glagolitic",
characters = "Ⰰ-ⱞ𞀀-𞀪",
"alphabet",
systems = {"alphabet"},
characters = "Ⰰ-ⱟ𞀀-𞀆𞀈-𞀘𞀛-𞀡𞀣𞀤𞀦-𞀪",
capitalized = true,
}
}


m["Gong"] = {
m["Gong"] = {
canonicalName = "Gunjala Gondi",
"Gunjala Gondi",
characters = "𑵠-𑶩",
"abugida",
systems = {"abugida"},
characters = "𑵠-𑵥𑵧𑵨𑵪-𑶎𑶐𑶑𑶓-𑶘𑶠-𑶩",
}
}


m["Gonm"] = {
m["Gonm"] = {
canonicalName = "Masaram Gondi",
"Masaram Gondi",
characters = "𑴀-𑵙",
"abugida",
systems = {"abugida"},
characters = "𑴀-𑴆𑴈𑴉𑴋-𑴶𑴺𑴼𑴽𑴿-𑵇𑵐-𑵙",
}
}


m["Goth"] = {
m["Goth"] = {
canonicalName = "Gothic",
"Gothic",
"alphabet",
characters = "𐌰-𐍊",
characters = "𐌰-𐍊",
systems = {"alphabet"},
}
}


m["Gran"] = {
m["Gran"] = {
canonicalName = "Grantha",
"Grantha",
characters = "𑌁-𑍴",
"abugida",
systems = {"abugida"},
characters = "𑌀-𑌃𑌅-𑌌𑌏-𑌐𑌓-𑌨𑌪-𑌰𑌲𑌳𑌵-𑌹𑌼-𑍄𑍇𑍈𑍋-𑍍𑍐𑍗𑍝-𑍣𑍦-𑍬𑍰-𑍴",
}
}


m["Grek"] = {
m["Grek"] = {
canonicalName = "Greek",
"Greek",
characters = "Ͱ-ϡϰ-Ͽ",
"alphabet",
systems = {"alphabet"},
characters = "Ͱ-ͷͺ-Ϳ΄-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿΩ℩ꭥ𐅀-𐆎𐆠𝈀-𝉅",
capitalized = true,
}
}


m["polytonic"] = {
m["Polyt"] = {
canonicalName = "Greek",
"Greek",
characters = "ἀ-῾" .. m["Grek"].characters,
m["Grek"][2],
parent = "Grek",
characters = "ἀ-῾" .. m["Grek"].characters,
systems = {"alphabet"},
capitalized = m["Grek"].capitalized,
}
parent = "Grek",
}


m["Gujr"] = {
m["Gujr"] = {
canonicalName = "Gujarati",
"Gujarati",
characters = "ઁ-",
"abugida",
systems = {"abugida"},
characters = "ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૺ-૿",
normalizationFixes = {
from = {"ઓ", "અાૈ", "અા", "અૅ", "અે", "અૈ", "અૉ", "અો", "અૌ", "આૅ", "આૈ", "ૅા"},
to = {"અાૅ", "ઔ", "આ", "ઍ", "એ", "ઐ", "ઑ", "ઓ", "ઔ", "ઓ", "ઔ", "ૉ"}
},
}
}


m["Guru"] = {
m["Guru"] = {
canonicalName = "Gurmukhi",
"Gurmukhi",
characters = "ਁ-੶",
"abugida",
systems = {"abugida"},
characters = "ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶",
normalizationFixes = {
from = {"ਅਾ", "ਅੈ", "ਅੌ", "ੲਿ", "ੲੀ", "ੲੇ", "ੳੁ", "ੳੂ", "ੳੋ"},
to = {"ਆ", "ਐ", "ਔ", "ਇ", "ਈ", "ਏ", "ਉ", "ਊ", "ਓ"}
},
}
}


m["Hang"] = {
m["Hang"] = {
canonicalName = "Hangul",
"Hangul",
characters = "ᄀ-ᇿ가-힣ㄱ-ㆎ",
"syllabary",
systems = {"syllabary"},
aliases = {"Hangeul"},
characters = (
"가-힣".. -- Syllables
"ᄀ-ᇿ".. -- Jamo
"ꥠ-ꥼ".. -- Jamo Ext-A
"ힰ-ퟻ".. -- Jamo Ext-B
"ㄱ-ㆎ".. -- Compat Jamo
"ᅠ-ᅵ" -- Halfwidth
),
}
}


m["Hani"] = {
m["Hani"] = {
canonicalName = "Han",
"Han",
otherNames = {"Hanzi", "Chu Nom"},
"logography",
characters = "一-鿿㐀-䶵𠀀-"..u(0x2EBE0).."﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧﨨﨩⺀-⿟㇀-㇣ -〿㍻-㍿",
characters = (
systems = {"logography"},
"一-鿿"..
"㐀-䶿".. -- ExtA
"𠀀-𮯯".. -- SIP
"𰀀-𲎯".. -- ExtG-H
"﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧﨨﨩"..
"⺀-⻿".. -- Radicals Supplement
" -".. -- CJK Symbols and Punctuation
"𖿢𖿣𖿰𖿱".. -- Ideographic Symbols and Punctuation
"-㇯".. -- Strokes
"㋿㍻-㍿" .. -- 組文字
"㈠-㉇㊀-㊰㋀-㋋㍘-㍰㏠-㏾🈐-🈒🈔-🈻🉀-🉈🉐🉑🉠-🉥"
),
varieties = {"Hanzi", "Kanji", "Hanja", "Chu Nom"},
spaces = false,
}
}


m["Hans"] = {
m["Hans"] = {
canonicalName = "Simplified Han",
"Simplified Han",
characters = m["Hani"].characters,
m["Hani"][2],
systems = {"logography"},
characters = m["Hani"].characters,
}
spaces = m["Hani"].spaces,
parent = "Hani",
}
 
m["Hant"] = {
"Traditional Han",
m["Hani"][2],
characters = m["Hani"].characters,
spaces = m["Hani"].spaces,
parent = "Hani",
}


m["Hant"] = {
m["Hano"] = {
canonicalName = "Traditional Han",
"Hanunoo",
characters = m["Hani"].characters,
"abugida",
systems = {"logography"},
characters = "ᜠ-᜴",
}
}


m["Hatr"] = {
m["Hatr"] = {
canonicalName = "Hatran",
"Hatran",
"abjad",
characters = "𐣠-𐣿",
characters = "𐣠-𐣿",
systems = {"abjad"},
direction = "rtl",
}
 
m["Hebr"] = {
"Hebrew",
"abjad", -- more precisely, impure abjad
characters = u(0x0590) .. "-" .. u(0x05FF) .. u(0xFB1D) .. "-" .. u(0xFB4F),
direction = "rtl",
}
}


m["Hira"] = {
m["Hira"] = {
canonicalName = "Hiragana",
"Hiragana",
otherNames = {"Hentaigana"},
"syllabary",
characters = "ぁ-ゟ𛀁-𛄞",
characters = "ぁ-ゟ𛀁-𛄞𛅐𛅑𛅒🈀",
systems = {"syllabary"},
varieties = {"Hentaigana"},
spaces = false,
}
}


m["Hluw"] = {
m["Hluw"] = {
canonicalName = "Anatolian Hieroglyphs",
"Anatolian Hieroglyphs",
"logography, syllabary",
characters = "𔐀-𔙆",
characters = "𔐀-𔙆",
wikipedia_article = "Anatolian hieroglyphs",
wikipedia_article = "Anatolian hieroglyphs",
}
}


m["Hung"] = {
m["Hmng"] = {
canonicalName = "Old Hungarian",
"Pahawh Hmong",
otherNames = {"Hungarian runic"},
"semisyllabary",
characters = "𐲀-𐲲",
aliases = {"Hmong"},
characters = "𖬀-𖮏",
}
}


m["Kana"] = {
m["Hmnp"] = {
canonicalName = "Katakana",
"Nyiakeng Puachue Hmong",
characters = "゠-ヿㇰ-ㇿ𛀀㌀-㍗",
"alphabet",
systems = {"syllabary"},
characters = "𞄀‎-𞅏",
}
}


-- These should be defined after the scripts they are composed of
m["Hung"] = {
 
"Old Hungarian",
m["Kore"] = {
"alphabet",
canonicalName = "Korean",
aliases = {"Hungarian runic"},
characters = m["Hang"].characters .. m["Hani"].characters .. "!-○",
characters = "𐲀-𐲲",
systems = {"syllabary", "logography"},
capitalized = true,
}
 
m["Hano"] = {
canonicalName = "Hanunoo",
characters = "-᜴",
systems = {"abugida"},
}
 
m["Hebr"] = {
canonicalName = "Hebrew",
characters = u(0x0590) .. "-" .. u(0x05FF) .. u(0xFB1D) .. "-" .. u(0xFB4F),
direction = "rtl",
direction = "rtl",
systems = {"abjad"}, -- more precisely, impure abjad
}
m["Hmng"] = {
canonicalName = "Hmong",
otherNames = {"Pahawh Hmong"},
characters = "𖬀-𖮏",
}
}


m["Ibrn"] = {
m["Ibrn"] = {
canonicalName = "Iberian",
"Iberian",
"semisyllabary",
}
}


m["Imag"] = {
m["Imag"] = {
-- To be used to avoid any formatting or link processing
-- To be used to avoid any formatting or link processing
canonicalName = "Image-rendered",
"Image-rendered",
-- This should not have any characters listed
-- This should not have any characters listed
translit = false,
character_category = false,
character_category = false,
}
}


m["Inds"] = {
m["Inds"] = {
canonicalName = "Indus",
"Indus",
otherNames = {"Harappan", "Indus Valley"},
aliases = {"Harappan", "Indus Valley"},
}
}


m["IPAchar"] = {
m["Ipach"] = {
canonicalName = "International Phonetic Alphabet",
"International Phonetic Alphabet",
aliases = {"IPA"},
}
}


m["Ital"] = {
m["Ital"] = {
canonicalName = "Old Italic",
"Old Italic",
characters = "𐌀-𐌣",
"alphabet",
systems = {"alphabet"},
characters = "𐌀-𐌯",
}
}


m["Java"] = {
m["Java"] = {
canonicalName = "Javanese",
"Javanese",
"abugida",
characters = "ꦀ-꧟",
characters = "ꦀ-꧟",
systems = {"abugida"},
}
}


m["Jurc"] = {
m["Jurc"] = {
canonicalName = "Jurchen",
"Jurchen",
spaces = false,
}
}


m["Kali"] = {
m["Kali"] = {
canonicalName = "Kayah Li",
"Kayah Li",
"abugida",
characters = "꤀-꤯",
characters = "꤀-꤯",
}
m["Kana"] = {
"Katakana",
"syllabary",
characters = "゠-ヿㇰ-ㇿ㌀-㍗ヲ-゚𛀀𛅤𛅥𛅦𛅧",
spaces = false,
}
m["Kawi"] = {
"Kawi",
"abugida",
characters = "𑼀-𑽙",
}
}


m["Khar"] = {
m["Khar"] = {
canonicalName = "Kharoshthi",
"Kharoshthi",
"abugida",
characters = "𐨀-𐩘",
characters = "𐨀-𐩘",
systems = {"abugida"},
direction = "rtl",
direction = "rtl",
}
}


m["Khmr"] = {
m["Khmr"] = {
canonicalName = "Khmer",
"Khmer",
characters = "ក-៹᧠-᧿",
"abugida",
systems = {"abugida"},
characters = "ក-៝០-៩៰-៹᧠-᧿",
spaces = false,
normalizationFixes = {
from = {"ឣ", "ឤ"},
to = {"អ", "អា"}
},
}
}


m["Khoj"] = {
m["Khoj"] = {
canonicalName = "Khojki",
"Khojki",
characters = "𑈀-𑈽",
"abugida",
systems = {"abugida"},
characters = "𑈀-𑈾",
normalizationFixes = {
from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"},
to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"}
},
}
}


m["Kitl"] = {
m["Kitl"] = {
canonicalName = "Khitan Large",
"Khitan Large",
"logography, syllabary",
spaces = false,
}
}


m["Kits"] = {
m["Kits"] = {
canonicalName = "Khitan Small",
"Khitan Small",
"logography, syllabary",
characters = "𘬀-𘳕"..u(0x16FE4),
spaces = false,
}
}


m["Knda"] = {
m["Knda"] = {
canonicalName = "Kannada",
"Kannada",
"abugida",
characters = "ಀ-ೲ",
characters = "ಀ-ೲ",
systems = {"abugida"},
normalizationFixes = {
from = {"ಉಾ", "ಋಾ", "ಒೌ"},
to = {"ಊ", "ೠ", ""}
},
}
 
m["Kpel"] = {
"Kpelle",
"syllabary",
-- Not in Unicode
}
}


m["Kthi"] = {
m["Kthi"] = {
canonicalName = "Kaithi",
"Kaithi",
"abugida",
characters = "𑂀-𑃍",
characters = "𑂀-𑃍",
systems = {"abugida"},
}
}


m["Lana"] = {
m["Lana"] = {
canonicalName = "Tai Tham",
"Tai Tham",
otherNames = {"Tham", "Tua Mueang", "Lanna"},
"abugida",
characters = "ᨠ-᪭",
aliases = {"Tham", "Tua Mueang", "Lanna"},
systems = {"abugida"},
characters = "ᨠ-ᩞ᩠-᩿᩼᪀-᪉᪐-᪙᪠-᪭",
spaces = false,
}
}


m["Laoo"] = {
m["Laoo"] = {
canonicalName = "Lao",
"Lao",
characters = "-ໟ",
"abugida",
systems = {"abugida"},
characters = "ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-໎໐-໙ໜ-ໟ",
spaces = false,
}
}


m["Latn"] = {
m["Latn"] = {
canonicalName = "Latin",
"Latin",
otherNames = {"Roman", "Rumi", "Romaji", "Rōmaji"},
"alphabet",
characters = "A-Za--ÖØ-öø-ɏḀ-ỿ",
aliases = {"Roman"},
systems = {"alphabet"},
characters = "A-Za-zªºÀ-ÖØ-öø-ɏḀ-ỿ",
varieties = {"Rumi", "Romaji", "Rōmaji", "Romaja"},
capitalized = true,
translit = false,
}
}


m["Latf"] = {
m["Latf"] = {
canonicalName = "Fraktur",
"Fraktur",
otherNames = {"Blackletter"},
m["Latn"][2],
characters = m["Latn"].characters,
characters = m["Latn"].characters,
}
otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script"
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}
m["Latg"] = {
"Gaelic",
m["Latn"][2],
characters = m["Latn"].characters,
otherNames = {"Irish"},
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}


m["Latinx"] = {
m["Latnx"] = {
canonicalName = "Latin",
"Latin",
characters = m["Latn"].characters .. "-Ɀ꜠-ꟿꬰ-",
m["Latn"][2],
parent = "Latn",
characters = m["Latn"].characters .. "ɐ-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z𐞀-𐞅𐞇-𐞰𐞲-𐞺𝼀-𝼞𝼥-𝼪",
}
capitalized = m["Latn"].capitalized,
translit = m["Latn"].translit,
parent = "Latn",
}


m["nv-Latn"] = {
m["pjt-Latn"] = {
canonicalName = "Latin",
"Latin",
characters = m["Latn"].characters,
m["Latn"][2],
parent = "Latn",
characters = m["Latn"].characters,
}
capitalized = m["Latn"].capitalized,
 
translit = m["Latn"].translit,
m["pjt-Latn"] = {
parent = "Latn",
canonicalName = "Latin",
}
characters = m["Latn"].characters,
parent = "Latn",
}
 
m["Jpan"] = {
canonicalName = "Japanese",
characters = m["Hira"].characters .. m["Kana"].characters .. m["Hani"].characters .. m["Latn"].characters,
systems = {"syllabary", "logography"},
}
 
m["Kwan"] = {
canonicalName = "Kwandon",
systems = {"abjad"},
}


m["Leke"] = {
m["Leke"] = {
canonicalName = "Leke",
"Leke",
systems = {"abugida"},
"abugida",
}
}


m["Lepc"] = {
m["Lepc"] = {
canonicalName = "Lepcha",
"Lepcha",
"abugida",
characters = "ᰀ-ᱏ",
characters = "ᰀ-ᱏ",
systems = {"abugida"},
}
}


m["Limb"] = {
m["Limb"] = {
canonicalName = "Limbu",
"Limbu",
"abugida",
characters = "ᤀ-᥏",
characters = "ᤀ-᥏",
systems = {"abugida"},
}
}


m["Lina"] = {
m["Lina"] = {
canonicalName = "Linear A",
"Linear A",
characters = "𐘀-𐝧",
characters = "𐘀-𐝧",
}
}


m["Linb"] = {
m["Linb"] = {
canonicalName = "Linear B",
"Linear B",
characters = "𐀀-𐃺",
characters = "𐀀-𐃺",
}
}


m["Lisu"] = {
m["Lisu"] = {
canonicalName = "Lisu",
"Lisu",
otherNames = {"Fraser"},
"alphabet",
characters = "ꓐ-",
aliases = {"Fraser"},
systems = {"alphabet"},
characters = "ꓐ-꓿𑾰",
normalizationFixes = {
from = {"['’]", "[.ꓸ][.ꓸ]", "[.ꓸ][,ꓹ]"},
to = {"ʼ", "ꓺ", "ꓻ"}
},
}
 
m["Loma"] = {
"Loma",
"syllabary",
-- Not in Unicode
}
}


m["Lyci"] = {
m["Lyci"] = {
canonicalName = "Lycian",
"Lycian",
"alphabet",
characters = "𐊀-𐊜",
characters = "𐊀-𐊜",
systems = {"alphabet"},
}
}


m["Lydi"] = {
m["Lydi"] = {
canonicalName = "Lydian",
"Lydian",
"alphabet",
characters = "𐤠-𐤿",
characters = "𐤠-𐤿",
systems = {"alphabet"},
direction = "rtl",
}
}


m["Mahj"] = {
m["Mahj"] = {
canonicalName = "Mahajani",
"Mahajani",
"abugida",
characters = "𑅐-𑅶",
characters = "𑅐-𑅶",
systems = {"abugida"},
}
}


m["Maka"] = {
m["Maka"] = {
canonicalName = "Makasar",
"Lontara",
"abugida",
aliases = {"Makasar"},
characters = "𑻠-𑻸",
characters = "𑻠-𑻸",
systems = {"abugida"},
}
}


m["Mand"] = {
m["Mand"] = {
canonicalName = "Mandaic",
"Mandaic",
otherNames = {"Mandaean"},
aliases = {"Mandaean"},
characters = "ࡀ-࡞",
characters = "ࡀ-࡞",
direction = "rtl",
direction = "rtl",
Line 678: Line 903:


m["Mani"] = {
m["Mani"] = {
canonicalName = "Manichaean",
"Manichaean",
"abjad",
characters = "𐫀-𐫶",
characters = "𐫀-𐫶",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
 
m["Marc"] = {
"Marchen",
"abugida",
characters = "𑱰-𑲶",
}
}


m["Maya"] = {
m["Maya"] = {
canonicalName = "Maya",
"Maya",
otherNames = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
characters = "𝋠-𝋳",
characters = "𝋠-𝋳",
}
}


m["Medf"] = {
m["Medf"] = {
canonicalName = "Medefaidrin",
"Medefaidrin",
otherNames = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
characters = "𖹀-𖺚",
characters = "𖹀-𖺚",
capitalized = true,
}
}


m["Mend"] = {
m["Mend"] = {
canonicalName = "Mende",
"Mende",
otherNames = {"Mende Kikakui"},
aliases = {"Mende Kikakui"},
characters = "𞠀-𞣖",
characters = "𞠀-𞣖",
direction = "rtl",
direction = "rtl",
Line 704: Line 936:


m["Merc"] = {
m["Merc"] = {
canonicalName = "Meroitic cursive",
"Meroitic cursive",
"abugida",
characters = "𐦠-𐦿",
characters = "𐦠-𐦿",
systems = {"abugida"},
direction = "rtl",
}
}


m["Mero"] = {
m["Mero"] = {
canonicalName = "Meroitic hieroglyphic",
"Meroitic hieroglyphic",
"abugida",
characters = "𐦀-𐦟",
characters = "𐦀-𐦟",
systems = {"abugida"},
direction = "rtl",
}
}


m["Mlym"] = {
m["Mlym"] = {
canonicalName = "Malayalam",
"Malayalam",
characters = "-ൿ",
"abugida",
systems = {"abugida"},
characters = "-ൿ",
normalizationFixes = {
from = {"ഇൗ", "ഉൗ", "എെ", "ഒാ", "ഒൗ", "ക്‍", "ണ്‍", "ന്‍റ", "ന്‍", "മ്‍", "യ്‍", "ര്‍", "ല്‍", "ള്‍", "ഴ്‍", "െെ", "ൻ്റ"},
to = {"ഈ", "ഊ", "ഐ", "ഓ", "ഔ", "ൿ", "ൺ", "ൻറ", "ൻ", "ൔ", "ൕ", "ർ", "ൽ", "ൾ", "ൖ", "ൈ", "ന്റ"}
},
}
}


m["Modi"] = {
m["Modi"] = {
canonicalName = "Modi",
"Modi",
"abugida",
characters = "𑘀-𑙙",
characters = "𑘀-𑙙",
systems = {"abugida"},
normalizationFixes = {
from = {"𑘀𑘹", "𑘀𑘺", "𑘁𑘹", "𑘁𑘺"},
to = {"𑘊", "𑘋", "𑘌", "𑘍"}
},
}
}


m["Mong"] = {
m["Mong"] = {
canonicalName = "Mongolian",
"Mongolian",
characters = "᠀-",
"alphabet",
aliases = {"Mongol bichig", "Hudum Mongol bichig"},
characters = "᠀-᠅᠊-᠙ᠠ-ᡂᡸᢀ-ᢗᢦᢩ‌‍ 𑙠-𑙨",
direction = "down",
direction = "down",
}
m["mnc-Mong"] = {
"Manchu",
m["Mong"][2],
characters = "᠁᠄᠈-᠏ᠠᠣᠨ-ᠪᠮ-ᠰᠴ-ᠸᠺᡝᡟ-ᡡᡤ-ᡩᡬ-ᡱᡳ-ᡷᢀ-ᢈᢏᢚ-ᢥᢨᢪ‌‍ ",
direction = "down",
parent = "Mong",
}
m["sjo-Mong"] = {
"Xibe",
m["Mong"][2],
aliases = {"Sibe"},
characters = "᠄᠇᠊-᠏ᠠᠣᠨᠪᠮ-ᠰᠴ-ᠸᠺᡝ-ᡲ‌‍ ",
direction = "down",
parent = "mnc-Mong",
}
m["xwo-Mong"] = {
"Clear Script",
m["Mong"][2],
aliases = {"Todo", "Todo bichig"},
characters = "᠀᠁᠄-᠆᠊-ᠠᠨᠯ-ᠱᠴᠷᠸᠺᠻᡀᡃ-ᡜᢀ-ᢇᢉ-ᢏᢔᢖ-ᢙᢧ‌‍ 𑙩-𑙬",
direction = "down",
parent = "Mong",
}
m["Moon"] = {
"Moon",
"alphabet",
aliases = {"Moon System of Embossed Reading", "Moon type", "Moon writing", "Moon alphabet", "Moon code"},
-- Not in Unicode
}
}


m["Morse"] = {
m["Morse"] = {
canonicalName = "Morse code",
"Morse code",
}
}


m["Mroo"] = {
m["Mroo"] = {
canonicalName = "Mro",
"Mro",
characters = "𖩀-𖩯",
characters = "𖩀-𖩯",
}
}


m["Mtei"] = {
m["Mtei"] = {
canonicalName = "Meitei Mayek",
"Meitei Mayek",
characters = "ꯀ-꯿ꫠ-꫿",
"abugida",
aliases = {"Meetei Mayek", "Manipuri"},
characters = "ꯀ-꯹ꫠ-",
}
}


m["Mult"] = {
m["Mult"] = {
canonicalName = "Multani",
"Multani",
"abugida",
characters = "𑊀-𑊩",
characters = "𑊀-𑊩",
systems = {"abugida"},
}
}


m["musical"] = {
m["Music"] = {
canonicalName = "Musical notation",
"Musical notation",
characters = "𝄀-𝇝",
"pictography",
systems = {"pictography"},
characters = "𝄀-𝇨",
translit = false,
}
}


m["Mymr"] = {
m["Mymr"] = {
canonicalName = "Burmese",
"Burmese",
otherNames = {"Myanmar"},
"abugida",
aliases = {"Myanmar"},
characters = "က-႟ꩠ-ꩿꧠ-ꧾ",
characters = "က-႟ꩠ-ꩿꧠ-ꧾ",
systems = {"abugida"},
spaces = false,
}
 
m["Nagm"] = {
"Nag Mundari",
"alphabet",
characters = "𞓐-𞓹",
}
 
m["Nand"] = {
"Nandinagari",
"abugida",
characters = "𑦠-𑧤",
}
}


m["Narb"] = {
m["Narb"] = {
canonicalName = "Old North Arabian",
"Old North Arabian",
"abjad",
characters = "𐪀-𐪟",
characters = "𐪀-𐪟",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Nbat"] = {
m["Nbat"] = {
canonicalName = "Nabataean",
"Nabataean",
otherNames = {"Nabatean"},
"abjad",
aliases = {"Nabatean"},
characters = "𐢀-𐢯",
characters = "𐢀-𐢯",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Newa"] = {
m["Newa"] = {
canonicalName = "Newa",
"Newa",
otherNames = {"Newar", "Newari", "Prachalit Nepal"}, -- and Ranjana?
"abugida",
characters = "𑐀-𑑞",
aliases = {"Newar", "Newari", "Prachalit Nepal"},
systems = {"abugida"},
characters = "𑐀-𑑡",
}
 
m["Nkdb"] = {
"Dongba",
"pictography",
aliases = {"Naxi Dongba", "Nakhi Dongba", "Tomba", "Tompa", "Mo-so"},
spaces = false,
-- Not in Unicode
}
 
m["Nkgb"] = {
"Geba",
"syllabary",
aliases = {"Nakhi Geba", "Naxi Geba"},
spaces = false,
-- Not in Unicode
}
}


m["Nkoo"] = {
m["Nkoo"] = {
canonicalName = "N'Ko",
"N'Ko",
"alphabet",
characters = "߀-߿",
characters = "߀-߿",
direction = "rtl",
direction = "rtl",
Line 795: Line 1,105:


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


m["Nshu"] = {
m["Nshu"] = {
canonicalName = "Nushu",
"Nüshu",
otherNames = {"Nüshu"},
"syllabary",
aliases = {"Nushu"},
characters = "𖿡𛅰-𛋻",
characters = "𖿡𛅰-𛋻",
systems = {"syllabary"},
spaces = false,
}
}


m["Ogam"] = {
m["Ogam"] = {
canonicalName = "Ogham",
"Ogham",
characters = " -᚜",
characters = " -᚜",
}
}


m["Olck"] = {
m["Olck"] = {
canonicalName = "Ol Chiki",
"Ol Chiki",
characters = "᱐-᱿",
characters = "᱐-᱿",
}
}


m["Orkh"] = {
m["Orkh"] = {
canonicalName = "Orkhon runes",
"Orkhon runes",
aliases = {"Old Turkic"},
characters = "𐰀-𐱈",
characters = "𐰀-𐱈",
direction = "rtl",
direction = "rtl",
Line 824: Line 1,137:


m["Orya"] = {
m["Orya"] = {
canonicalName = "Oriya",
"Oriya",
otherNames = {"Odia"},
"abugida",
aliases = {"Odia"},
characters = "ଁ-୷",
characters = "ଁ-୷",
normalizationFixes = {
from = {"ଅା", "ଏୗ", "ଓୗ"},
to = {"ଆ", "ଐ", "ଔ"}
},
}
}


m["Osge"] = {
m["Osge"] = {
canonicalName = "Osage",
"Osage",
characters = "𐒰-𐓻",
characters = "𐒰-𐓻",
capitalized = true,
}
}


m["Osma"] = {
m["Osma"] = {
canonicalName = "Osmanya",
"Osmanya",
characters = "𐒀-𐒩",
characters = "𐒀-𐒩",
}
m["Ougr"] = {
"Old Uyghur",
"abjad, alphabet",
characters = "𐽰-𐾉",
direction = "down",
}
}


m["Palm"] = {
m["Palm"] = {
canonicalName = "Palmyrene",
"Palmyrene",
characters = "𐡠-𐡿",
characters = "𐡠-𐡿",
direction = "rtl",
}
}


m["Pauc"] = {
m["Pauc"] = {
canonicalName = "Pau Cin Hau",
"Pau Cin Hau",
characters = "𑫀-𑫸",
characters = "𑫀-𑫸",
}
}


m["Perm"] = {
m["Perm"] = {
canonicalName = "Old Permic",
"Old Permic",
characters = "𐍐-𐍺",
characters = "𐍐-𐍺",
}
}


m["Phag"] = {
m["Phag"] = {
canonicalName = "Phags-pa",
"Phags-pa",
characters = "ꡀ-꡷",
"abugida",
systems = {"abugida"},
characters = "᠂᠃᠅‌‍ 。ꡀ-",
}
direction = "down",
 
m["Marc"] = {
canonicalName = "Marchen",
characters = "𑱰-𑲶",
systems = {"abugida"},
}
}


m["Phli"] = {
m["Phli"] = {
canonicalName = "Inscriptional Pahlavi",
"Inscriptional Pahlavi",
"abjad",
characters = "𐭠-𐭿",
characters = "𐭠-𐭿",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Phlp"] = {
m["Phlp"] = {
canonicalName = "Psalter Pahlavi",
"Psalter Pahlavi",
"abjad",
characters = "𐮀-𐮯",
characters = "𐮀-𐮯",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Phlv"] = {
m["Phlv"] = {
canonicalName = "Book Pahlavi",
"Book Pahlavi",
"abjad",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
-- Not in Unicode
-- Not in Unicode
}
}


m["Phnx"] = {
m["Phnx"] = {
canonicalName = "Phoenician",
"Phoenician",
"abjad",
characters = "𐤀-𐤟",
characters = "𐤀-𐤟",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Plrd"] = {
m["Plrd"] = {
canonicalName = "Pollard",
"Pollard",
"abugida",
aliases = {"Miao"},
characters = "𖼀-𖾟",
characters = "𖼀-𖾟",
systems = {"abugida"},
}
}


m["Prti"] = {
m["Prti"] = {
canonicalName = "Inscriptional Parthian",
"Inscriptional Parthian",
characters = "𐭀-𐭟",
characters = "𐭀-𐭟",
direction = "rtl",
direction = "rtl",
}
m["Ranj"] = {
"Ranjana",
"abugida",
-- Not in Unicode
}
}


m["Rjng"] = {
m["Rjng"] = {
canonicalName = "Rejang",
"Rejang",
"abugida",
characters = "ꤰ-꥟",
characters = "ꤰ-꥟",
systems = {"abugida"},
}
}


m["Rohg"] = {
m["Rohg"] = {
canonicalName = "Hanifi Rohingya",
"Hanifi Rohingya",
"alphabet",
characters = "𐴀-𐴹",
characters = "𐴀-𐴹",
direction = "rtl",
direction = "rtl",
systems = {"alphabet"},
}
}


m["Ruminumerals"] = {
m["Roro"] = {
canonicalName = "Rumi numerals",
"Rongorongo",
-- Not in Unicode
}
 
m["Rumin"] = {
"Rumi numerals",
characters = "𐹠-𐹾",
characters = "𐹠-𐹾",
character_category = "Rumi numerals",
character_category = "Rumi numerals",
Line 926: Line 1,260:


m["Runr"] = {
m["Runr"] = {
canonicalName = "Runic",
"Runic",
"alphabet",
characters = "ᚠ-ᛰ",
characters = "ᚠ-ᛰ",
systems = {"alphabet"},
}
}


m["Samr"] = {
m["Samr"] = {
canonicalName = "Samaritan",
"Samaritan",
"abjad",
characters = "ࠀ-࠾",
characters = "ࠀ-࠾",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Sarb"] = {
m["Sarb"] = {
canonicalName = "Old South Arabian",
"Old South Arabian",
"abjad",
characters = "𐩠-𐩿",
characters = "𐩠-𐩿",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Saur"] = {
m["Saur"] = {
canonicalName = "Saurashtra",
"Saurashtra",
"abugida",
characters = "ꢀ-꣙",
characters = "ꢀ-꣙",
systems = {"abugida"},
}
}


m["Semap"] = {
m["Semap"] = {
canonicalName = "flag semaphore",
"flag semaphore",
systems = {"pictography"},
"pictography",
}
}


m["Sgnw"] = {
m["Sgnw"] = {
canonicalName = "SignWriting",
"SignWriting",
"pictography",
characters = "𝠀-𝪯",
characters = "𝠀-𝪯",
systems = {"pictography"},
translit = false,
}
}


m["Shaw"] = {
m["Shaw"] = {
canonicalName = "Shavian",
"Shavian",
characters = "𐑐-𐑿",
characters = "𐑐-𐑿",
}
}


m["Shrd"] = {
m["Shrd"] = {
canonicalName = "Sharada",
"Sharada",
"abugida",
characters = "𑆀-𑇙",
characters = "𑆀-𑇙",
systems = {"abugida"},
}
 
m["Shui"] = {
"Sui",
"logography",
spaces = false,
-- Not in Unicode
}
}


m["Sidd"] = {
m["Sidd"] = {
canonicalName = "Siddham",
"Siddham",
"abugida",
characters = "𑖀-𑗝",
characters = "𑖀-𑗝",
systems = {"abugida"},
}
}


m["Sind"] = {
m["Sind"] = {
canonicalName = "Khudawadi",
"Khudawadi",
"abugida",
characters = "𑊰-𑋹",
characters = "𑊰-𑋹",
systems = {"abugida"},
normalizationFixes = {
from = {"𑊰𑋠", "𑊰𑋥", "𑊰𑋦", "𑊰𑋧", "𑊰𑋨"},
to = {"𑊱", "𑊶", "𑊷", "𑊸", "𑊹"}
},
}
}


m["Sinh"] = {
m["Sinh"] = {
canonicalName = "Sinhalese",
"Sinhalese",
"abugida",
aliases = {"Sinhala"},
characters = "ං-෴",
characters = "ං-෴",
systems = {"abugida"},
normalizationFixes = {
from = {"අා", "අැ", "අෑ", "උෟ", "ඍෘ", "ඏෟ", "එ්", "එෙ", "ඔෟ", "ෘෘ"},
to = {"ආ", "ඇ", "ඈ", "ඌ", "ඎ", "ඐ", "ඒ", "ඓ", "ඖ", ""}
},
}
}


m["Sogd"] = {
m["Sogd"] = {
canonicalName = "Sogdian",
"Sogdian",
"abjad",
characters = "𐼰-𐽙",
characters = "𐼰-𐽙",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Sogo"] = {
m["Sogo"] = {
canonicalName = "Old Sogdian",
"Old Sogdian",
"abjad",
characters = "𐼀-𐼧",
characters = "𐼀-𐼧",
direction = "rtl",
direction = "rtl",
systems = {"abjad"},
}
}


m["Sora"] = {
m["Sora"] = {
canonicalName = "Sorang Sompeng",
"Sorang Sompeng",
otherNames = {"Sora Sompeng"},
aliases = {"Sora Sompeng"},
characters = "𑃐-𑃹",
characters = "𑃐-𑃹",
}
}


m["Soyo"] = {
m["Soyo"] = {
canonicalName = "Soyombo",
"Soyombo",
"abugida",
characters = "𑩐-𑪢",
characters = "𑩐-𑪢",
systems = {"abugida"},
}
}


m["Sund"] = {
m["Sund"] = {
canonicalName = "Sundanese",
"Sundanese",
"abugida",
characters = "ᮀ-ᮿ",
characters = "ᮀ-ᮿ",
systems = {"abugida"},
}
}


m["Sylo"] = {
m["Sylo"] = {
canonicalName = "Syloti Nagri",
"Syloti Nagri",
otherNames = {"Sylheti Nagari"},
"abugida",
aliases = {"Sylheti Nagari"},
characters = "ꠀ-꠫",
characters = "ꠀ-꠫",
systems = {"abugida"},
}
}


m["Syrc"] = {
m["Syrc"] = {
canonicalName = "Syriac",
"Syriac",
"abjad", -- more precisely, impure abjad
characters = "܀-ݏ"..u(0x0860).."-"..u(0x086A),
characters = "܀-ݏ"..u(0x0860).."-"..u(0x086A),
direction = "rtl",
direction = "rtl",
systems = {"abjad"}, -- more precisely, impure abjad
}
}


Line 1,040: Line 1,391:


m["Tagb"] = {
m["Tagb"] = {
canonicalName = "Tagbanwa",
"Tagbanwa",
"abugida",
characters = "ᝠ-ᝳ",
characters = "ᝠ-ᝳ",
systems = {"abugida"},
}
}


m["Takr"] = {
m["Takr"] = {
canonicalName = "Takri",
"Takri",
"abugida",
characters = "𑚀-𑛉",
characters = "𑚀-𑛉",
systems = {"abugida"},
normalizationFixes = {
from = {"𑚀𑚭", "𑚀𑚴", "𑚀𑚵", "𑚆𑚲"},
to = {"𑚁", "𑚈", "𑚉", "𑚇"}
},
}
}


m["Tale"] = {
m["Tale"] = {
canonicalName = "Tai Nüa",
"Tai Nüa",
otherNames = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"},
"abugida",
characters = "ᥐ-ᥴ",
aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"},
systems = {"abugida"},
characters = "ᥐ-ᥭᥰ-ᥴ",
spaces = false,
}
}


m["Talu"] = {
m["Talu"] = {
canonicalName = "New Tai Lue",
"New Tai Lue",
characters = "ᦀ-",
"abugida",
systems = {"abugida"},
characters = "ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟",
spaces = false,
}
}


m["Taml"] = {
m["Taml"] = {
canonicalName = "Tamil",
"Tamil",
characters = "ஂ-",
"abugida",
systems = {"abugida"},
characters = "ஂ-௺𑿀-𑿿",
normalizationFixes = {
from = {"அூ", "ஸ்ரீ"},
to = {"ஆ", "ஶ்ரீ"}
},
}
}


m["Tang"] = {
m["Tang"] = {
canonicalName = "Tangut",
"Tangut",
characters = "𖿠𗀀-𘫲",
"logography, syllabary",
systems = {"logography", "syllabary"},
characters = "𖿠𗀀-𘫿𘴀-𘴈",
spaces = false,
}
}


m["Tavt"] = {
m["Tavt"] = {
canonicalName = "Tai Viet",
"Tai Viet",
characters = "ꪀ-꫟",
"abugida",
systems = {"abugida"},
characters = "ꪀ-ꫂꫛ-꫟",
spaces = false,
}
}


m["Telu"] = {
m["Telu"] = {
canonicalName = "Telugu",
"Telugu",
"abugida",
characters = "ఀ-౿",
characters = "ఀ-౿",
systems = {"abugida"},
normalizationFixes = {
from = {"ఒౌ", "ఒౕ", "ిౕ", "ెౕ", "ొౕ"},
to = {"ఔ", "ఓ", "ీ", "ే", ""}
},
}
}


m["Teng"] = {
m["Teng"] = {
canonicalName = "Tengwar",
"Tengwar",
}
}


m["Tfng"] = {
m["Tfng"] = {
canonicalName = "Tifinagh",
"Tifinagh",
otherNames = {"Libyco-Berber", "Berber"},
"abjad, alphabet",
characters = "ⴰ-⵿",
characters = "ⴰ-⵿",
systems = {"abjad", "alphabet"},
otherNames = {"Libyco-Berber", "Berber"}, -- per Wikipedia, Libyco-Berber is the parent
}
}


m["Tglg"] = {
m["Tglg"] = {
canonicalName = "Baybayin",
"Baybayin",
otherNames = {"Tagalog"},
"abugida",
aliases = {"Tagalog"},
characters = "ᜀ-᜔",
characters = "ᜀ-᜔",
systems = {"abugida"},
}
}


m["Thaa"] = {
m["Thaa"] = {
canonicalName = "Thaana",
"Thaana",
"abugida",
characters = "ހ-ޱ",
characters = "ހ-ޱ",
systems = {"abugida"},
direction = "rtl",
direction = "rtl",
}
}


m["Thai"] = {
m["Thai"] = {
canonicalName = "Thai",
"Thai",
characters = "ก-๛",
"abugida",
systems = {"abugida"},
characters = "ก-ฺเ-๛",
spaces = false,
}
}


m["Tibt"] = {
m["Tibt"] = {
canonicalName = "Tibetan",
"Tibetan",
"abugida",
characters = "ༀ-࿚",
characters = "ༀ-࿚",
systems = {"abugida"},
normalizationFixes = {
combiningClasses = {["༹"] = 1},
from = {"ཷ", "ཹ"},
to = {"ྲཱྀ", "ླཱྀ"}
},
}
}
m["sit-tam-Tibt"] = {
"Tamyig",
m["Tibt"][2],
characters = m["Tibt"].characters,
parent = "Tibt",
normalizationFixes = m["Tibt"].normalizationFixes,
}
m["xzh-Tibt"] = {
"Zhang-Zhung",
m["Tibt"][2],
characters = m["Tibt"].characters,
parent = "Tibt",
normalizationFixes = m["Tibt"].normalizationFixes,
}


m["Tirh"] = {
m["Tirh"] = {
canonicalName = "Tirhuta",
"Tirhuta",
"abugida",
characters = "𑒀-𑓙",
characters = "𑒀-𑓙",
systems = {"abugida"},
normalizationFixes = {
from = {"𑒁𑒰", "𑒋𑒺", "𑒍𑒺", "𑒪𑒵", "𑒪𑒶"},
to = {"𑒂", "𑒌", "𑒎", "𑒉", "𑒊"}
},
}
}


m["xzh-Tibt"] = {
m["Tnsa"] = {
canonicalName = "Zhang-Zhung",
"Tangsa",
systems = {"abugida"},
"alphabet",
characters = "𖩰-𖫉",
}
}


m["Todj"] = {
m["Toto"] = {
canonicalName = "Todjydheenil",
"Toto",
systems = {"alphabet"},
"abugida",
characters = "𞊐-𞊮",
}
}


m["Ugar"] = {
m["Ugar"] = {
canonicalName = "Ugaritic",
"Ugaritic",
"abjad",
characters = "𐎀-𐎟",
characters = "𐎀-𐎟",
systems = {"abjad"},
}
}


m["Vaii"] = {
m["Vaii"] = {
canonicalName = "Vai",
"Vai",
"syllabary",
characters = "ꔀ-ꘫ",
characters = "ꔀ-ꘫ",
systems = {"syllabary"},
}
}


m["Vkht"] = {
m["Visp"] = {
canonicalName = "Vukht",
"Visible Speech",
systems = {"abjad"},
"alphabet",
-- Not in Unicode
}
 
m["Vith"] = {
"Vithkuqi",
"alphabet",
characters = "𐕰-𐖼",
capitalized = true,
}
}


m["Wara"] = {
m["Wara"] = {
canonicalName = "Varang Kshiti",
"Varang Kshiti",
aliases = {"Warang Citi"},
characters = "𑢠-𑣿",
characters = "𑢠-𑣿",
capitalized = true,
}
}


m["Wlqr"] = {
m["Wcho"] = {
canonicalName = "Welqor",
"Wancho",
systems = {"abjad"},
"alphabet",
characters = "𞋀-𞋿",
}
 
m["Wole"] = {
"Woleai",
"syllabary",
-- Not in Unicode
}
}


m["Xpeo"] = {
m["Xpeo"] = {
canonicalName = "Old Persian",
"Old Persian",
characters = "𐎠-𐏕",
characters = "𐎠-𐏕",
}
}


m["Xsux"] = {
m["Xsux"] = {
canonicalName = "Cuneiform",
"Cuneiform",
otherNames = {"Sumero-Akkadian Cuneiform"},
aliases = {"Sumero-Akkadian Cuneiform"},
characters = "𒀀-𒍮𒐀-𒑳",
characters = "𒀀-𒎙𒐀-𒑳",
}
}


m["Yesu"] = {
m["Yezi"] = {
canonicalName = "Yesuthoh",
"Yezidi",
systems = {"alphabet"},
"alphabet",
characters = "𐺀-𐺱",
direction = "rtl",
}
}


m["Yiii"] = {
m["Yiii"] = {
canonicalName = "Yi",
"Yi",
"syllabary",
characters = "ꀀ-꓆",
characters = "ꀀ-꓆",
systems = {"syllabary"},
}
m["Zadu"] = {
canonicalName = "Zaduusel",
systems = {"alphabet"},
}
}


m["Zanb"] = {
m["Zanb"] = {
canonicalName = "Zanabazar Square",
"Zanabazar Square",
characters = u(0x11A00).."-"..u(0x11A47),
characters = u(0x11A00).."-"..u(0x11A47),
}
}


m["Zmth"] = {
m["Zmth"] = {
canonicalName = "mathematical notation",
"mathematical notation",
characters = "ℵ∀-⋿⟀-⟯⦀-⫿𝐀-𝟿",
characters = "ℵ∀-⋿⟀-⟯⦀-⫿𝐀-𝟿",
translit = false,
character_category = "Mathematical notation symbols", -- ?
character_category = "Mathematical notation symbols", -- ?
}
}


m["Zsym"] = {
m["Zsym"] = {
canonicalName = "symbol",
"symbol",
"pictography",
characters = "─-➿←-⇿⌀-⏿⬀-⯾🀀-🃵🌀-🩭",
characters = "─-➿←-⇿⌀-⏿⬀-⯾🀀-🃵🌀-🩭",
translit = false,
character_category = false, -- none
character_category = false, -- none
systems = {"pictography"},
}
}


m["Zyyy"] = {
m["Zyyy"] = {
canonicalName = "undetermined",
"undetermined",
-- This should not have any characters listed, probably
-- This should not have any characters listed, probably
translit = false,
character_category = false, -- none
character_category = false, -- none
characters = m["Latn"].characters,
}
}


m["Zzzz"] = {
m["Zzzz"] = {
canonicalName = "uncoded",
"uncoded",
-- This should not have any characters listed
-- This should not have any characters listed
translit = false,
character_category = false, -- none
character_category = false, -- none
}
-- These should be defined after the scripts they are composed of.
m["Hrkt"] = { -- TODO: add hentaigana
"Kana",
"syllabary",
aliases = {"Japanese syllabaries"},
characters = m["Hira"].characters .. m["Kana"].characters,
spaces = false,
}
m["Jpan"] = {
"Japanese",
"logography, syllabary",
characters = m["Hrkt"].characters .. m["Hani"].characters .. m["Latnx"].characters,
spaces = false,
sort_by_scraping = true,
}
m["Kore"] = {
"Korean",
"logography, syllabary",
characters = m["Hang"].characters .. m["Hani"].characters,
}
}


return m
return m

Latest revision as of 03:31, 7 September 2023

Documentation for this module may be created at Module:Scripts/data/documentation

--[=[
	When adding new scripts to this file, please don't forget to add
	style definitons for the script in [[MediaWiki:Common.css]].
]=]
local u = mw.ustring.char

--local m = {}
t = require("Module:Table")

local m_djp= require("Module:Scripts/data/djp")
local m = t.shallowClone(m_djp)

m["Adlm"] = {
	"Adlam",
	"alphabet",
	characters = "؟ـ𞤀-𞥟",
	capitalized = true,
	direction = "rtl",
}

m["Afak"] = {
	"Afaka",
	"syllabary",
}

m["Aghb"] = {
	"Caucasian Albanian",
	"alphabet",
	characters = "𐔰-𐕯",
}

m["Ahom"] = {
	"Ahom",
	"abugida",
	characters = "𑜀-𑝏",
}

m["Arab"] = {
	"Arabic",
	"abjad",	-- more precisely, impure abjad
	varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}},
	characters = "؀-ۿݐ-ݿࡰ-ࣿﭐ-﷏ﷰ-﷿ﹰ-﻾𐋠-𐋻𐹠-𐹿𐻀-𐻿𞸀-𞻿",
	direction = "rtl",
	normalizationFixes = {
		from = {"ٳ"},
		to = {"اٟ"}
	},
}

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

	m["kk-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ks-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ku-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ms-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["mzn-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ota-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["pa-Arab"] = {
		"Shahmukhi",
		m["Arab"][2],
		characters = m["Arab"].characters,
		otherNames = {"Arabic"},
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ps-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["sd-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["tt-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ug-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["ur-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

	m["xka-Arab"] = {
		"Arabic",
		m["Arab"][2],
		characters = m["Arab"].characters,
		direction = "rtl",
		parent = "Arab",
		normalizationFixes = m["Arab"].normalizationFixes,
	}

-- Aran (Nastaliq) is subsumed into Arab

m["Armi"] = {
	"Imperial Aramaic",
	"abjad",
	characters = "𐡀-𐡟",
	direction = "rtl",
}

m["Armn"] = {
	"Armenian",
	"alphabet",
	characters = "԰-֏ﬓ-ﬗ",
	capitalized = true,
}

m["Avst"] = {
	"Avestan",
	"alphabet",
	characters = "𐬀-𐬿",
	direction = "rtl",
}

	m["pal-Avst"] = {
		"Pazend",
		m["Avst"][2],
		characters = m["Avst"].characters,
		direction = "rtl",
		parent = "Avst",
	}

m["Bali"] = {
	"Balinese",
	"abugida",
	characters = "ᬀ-᭿",
}

m["Bamu"] = {
	"Bamum",
	"syllabary",
	characters = "ꚠ-꛿𖠀-𖨿",
}

m["Bass"] = {
	"Bassa",
	"alphabet",
	aliases = {"Bassa Vah", "Vah"},
	characters = "𖫐-𖫿",
}

m["Batk"] = {
	"Batak",
	"abugida",
	characters = "ᯀ-᯿",
}

m["Beng"] = {
	"Bengali",
	"abugida",
	characters = "॒॑।॥ঀ-৯৲-৿᳕᳖᳘᳐᳒᳡ᳪ᳭ᳲᳵ-᳷꣱",
	normalizationFixes = {
		from = {"অা", "ঋৃ", "ঌৢ"},
		to = {"আ", "ৠ", "ৡ"}
	},
}

	m["as-Beng"] = {
		"Assamese",
		m["Beng"][2],
		otherNames = {"Bengali-Assamese", "Eastern Nagari"},
		characters = "॒॑।॥ঀ-য঱-৿᳕᳖᳘᳐᳒᳡ᳪ᳭ᳲᳵ-᳷꣱",
		normalizationFixes = m["Beng"].normalizationFixes,
	}

m["Bhks"] = {
	"Bhaiksuki",
	"abugida",
	characters = "𑰀-𑱯",
}

m["Blis"] = {
	"Blissymbols",
	"logography",
	aliases = {"Blissymbolics"},
	-- Not in Unicode
}

m["Bopo"] = {
	"Zhuyin",
	"semisyllabary",
	aliases = {"Zhuyin Fuhao", "Bopomofo"},
	characters = "ˇˉˊˋ˙˪˫、-〃〈-】〓-〟〪-〭〰〷・㄀-ㄯ﹅﹆。-・",
}

m["Brah"] = {
	"Brahmi",
	"abugida",
	characters = "𑀀-𑁿",
	normalizationFixes = {
		from = {"𑀅𑀸", "𑀋𑀾", "𑀏𑁂"},
		to = {"𑀆", "𑀌", "𑀐"}
	},
}

m["Brai"] = {
	"Braille",
	"alphabet",
	characters = "⠀-⣿",
}

m["Bugi"] = {
	"Buginese",
	"abugida",
	aliases = {"Lontara"},
	characters = "ᨀ-᨟ꧏ",
}

m["Buhd"] = {
	"Buhid",
	"abugida",
	characters = "᜵᜶ᝀ-᝟ꧏ",
}

m["Cakm"] = {
	"Chakma",
	"abugida",
	characters = "০-৯၀-၉𑄀-𑅏",
}

m["Cans"] = {
	"Canadian syllabics",
	"abugida",
	characters = "᐀-ᙿᢰ-᣿𑪰-𑪿",
}

m["Cari"] = {
	"Carian",
	"alphabet",
	characters = "𐊠-𐋟",
}

m["Cham"] = {
	"Cham",
	"abugida",
	characters = "ꨀ-꩟",
}

m["Cher"] = {
	"Cherokee",
	"syllabary",
	characters = "Ꭰ-᏿ꭰ-ꮿ",
}

m["Chrs"] = {
	"Chorasmian",
	"abjad",
	characters = "𐾰-𐿟",
	direction = "rtl",
}

m["Copt"] = {
	"Coptic",
	"alphabet",
	characters = "Ϣ-ϯⲀ-⳿𐋠-𐋻", -- this is mostly "Coptic", not unified "Greek and Coptic"
	capitalized = true,
}

m["Cpmn"] = {
	"Cypro-Minoan",
	"syllabary",
	aliases = {"Cypro Minoan"},
	characters = "𐄀𐄁𒾐-𒿿",
}

m["Cprt"] = {
	"Cypriot",
	"syllabary",
	characters = "𐄀-𐄂𐄇-𐄳𐄷-𐄿𐠀-𐠿",
	direction = "rtl",
}

m["Cyrl"] = {
	"Cyrillic",
	"alphabet",
	characters = "Ѐ-ԯᲀ-᲏ᴫᵸ᷸ⷠ-ⷿ⹃Ꙁ-ꚟ︮︯𞀰-𞂏",
	capitalized = true,
}

m["Cyrs"] = {
	"Old Cyrillic",
	m["Cyrl"][2],
	aliases = {"Early Cyrillic"},
	characters = m["Cyrl"].characters,
	capitalized = m["Cyrl"].capitalized,
	wikipedia_article = "Early Cyrillic alphabet",
}

m["Deva"] = {
	"Devanagari",
	"abugida",
	characters = "ऀ-ॿ꣠-ꣿ𑬀-𑬉",
	normalizationFixes = {
		from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"},
		to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
	},
}

m["Diak"] = {
	"Dhives Akuru",
	"abugida",
	aliases = {"Dives Akuru"},
	characters = "𑤀-𑤆𑤉𑤌-𑤓𑤕𑤖𑤘-𑤵𑤷𑤸𑤻-𑥆𑥐-𑥙",
}

m["Dogr"] = {
	"Dogra",
	"abugida",
	characters = "𑠀-𑠻",
}

m["Dsrt"] = {
	"Deseret",
	"alphabet",
	characters = "𐐀-𐑏",
	capitalized = true,
}

m["Dupl"] = {
	"Duployan",
	"alphabet",
	characters = "𛰀-𛱪𛱰-𛱼𛲀-𛲈𛲐-𛲙𛲜-𛲟",
}

m["Egyd"] = {
	"Demotic",
	"abjad, logography",
}

m["Egyh"] = {
	"Hieratic",
	"abjad, logography",
}

m["Egyp"] = {
	"Egyptian hieroglyphic",
	"abjad, logography",
	characters = "𓀀-𓑕",
	varieties = {"Hieratic"},
	wikipedia_article = "Egyptian hieroglyphs",
	normalizationFixes = {
		from = {"𓃁", "𓆖"},
		to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"}
	},
}

m["Elba"] = {
	"Elbasan",
	"alphabet",
	characters = "𐔀-𐔧",
}

m["Elym"] = {
	"Elymaic",
	"abjad",
	characters = "𐿠-𐿶",
	direction = "rtl",
}

m["Ethi"] = {
	"Ethiopic",
	"abugida",
	aliases = {"Ge'ez"},
	characters = "ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ𞟠-𞟦𞟨-𞟫𞟭𞟮𞟰-𞟾",
}

m["Geok"] = {
	"Khutsuri",
	"alphabet",
	characters = "Ⴀ-ჅჇჍ჻ⴀ-ⴥⴧⴭ", -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri
	varieties = {"Nuskhuri", "Asomtavruli"},
	capitalized = true,
}

m["Geor"] = {
	"Georgian",
	"alphabet",
	characters = "ა-ჿᲐ-ᲺᲽ-Ჿ", -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli)
	varieties = {"Mkhedruli", "Mtavruli"},
	capitalized = true,
}

m["Glag"] = {
	"Glagolitic",
	"alphabet",
	characters = "Ⰰ-ⱟ𞀀-𞀆𞀈-𞀘𞀛-𞀡𞀣𞀤𞀦-𞀪",
	capitalized = true,
}

m["Gong"] = {
	"Gunjala Gondi",
	"abugida",
	characters = "𑵠-𑵥𑵧𑵨𑵪-𑶎𑶐𑶑𑶓-𑶘𑶠-𑶩",
}

m["Gonm"] = {
	"Masaram Gondi",
	"abugida",
	characters = "𑴀-𑴆𑴈𑴉𑴋-𑴶𑴺𑴼𑴽𑴿-𑵇𑵐-𑵙",
}

m["Goth"] = {
	"Gothic",
	"alphabet",
	characters = "𐌰-𐍊",
}

m["Gran"] = {
	"Grantha",
	"abugida",
	characters = "𑌀-𑌃𑌅-𑌌𑌏-𑌐𑌓-𑌨𑌪-𑌰𑌲𑌳𑌵-𑌹𑌼-𑍄𑍇𑍈𑍋-𑍍𑍐𑍗𑍝-𑍣𑍦-𑍬𑍰-𑍴",
}

m["Grek"] = {
	"Greek",
	"alphabet",
	characters = "Ͱ-ͷͺ-Ϳ΄-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿΩ℩ꭥ𐅀-𐆎𐆠𝈀-𝉅",
	capitalized = true,
}

	m["Polyt"] = {
		"Greek",
		m["Grek"][2],
		characters = "ἀ-῾" .. m["Grek"].characters,
		capitalized = m["Grek"].capitalized,
		parent = "Grek",
	}

m["Gujr"] = {
	"Gujarati",
	"abugida",
	characters = "ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૺ-૿",
	normalizationFixes = {
		from = {"ઓ", "અાૈ", "અા", "અૅ", "અે", "અૈ", "અૉ", "અો", "અૌ", "આૅ", "આૈ", "ૅા"},
		to = {"અાૅ", "ઔ", "આ", "ઍ", "એ", "ઐ", "ઑ", "ઓ", "ઔ", "ઓ", "ઔ", "ૉ"}
	},
}

m["Guru"] = {
	"Gurmukhi",
	"abugida",
	characters = "ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶",
	normalizationFixes = {
		from = {"ਅਾ", "ਅੈ", "ਅੌ", "ੲਿ", "ੲੀ", "ੲੇ", "ੳੁ", "ੳੂ", "ੳੋ"},
		to = {"ਆ", "ਐ", "ਔ", "ਇ", "ਈ", "ਏ", "ਉ", "ਊ", "ਓ"}
	},
}

m["Hang"] = {
	"Hangul",
	"syllabary",
	aliases = {"Hangeul"},
	characters = (
		"가-힣".. -- Syllables
		"ᄀ-ᇿ".. -- Jamo
		"ꥠ-ꥼ".. -- Jamo Ext-A
		"ힰ-ퟻ".. -- Jamo Ext-B
		"ㄱ-ㆎ".. -- Compat Jamo
		"ᅠ-ᅵ" -- Halfwidth
	),
}

m["Hani"] = {
	"Han",
	"logography",
	characters = (
		"一-鿿"..
		"㐀-䶿".. -- ExtA
		"𠀀-𮯯".. -- SIP 
		"𰀀-𲎯".. -- ExtG-H
		"﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧﨨﨩"..
		"⺀-⻿".. -- Radicals Supplement
		" -〿".. -- CJK Symbols and Punctuation
		"𖿢𖿣𖿰𖿱".. -- Ideographic Symbols and Punctuation
		"㇀-㇯".. -- Strokes
		"㋿㍻-㍿" .. -- 組文字
		"㈠-㉇㊀-㊰㋀-㋋㍘-㍰㏠-㏾🈐-🈒🈔-🈻🉀-🉈🉐🉑🉠-🉥"
	),
	varieties = {"Hanzi", "Kanji", "Hanja", "Chu Nom"},
	spaces = false,
}

	m["Hans"] = {
		"Simplified Han",
		m["Hani"][2],
		characters = m["Hani"].characters,
		spaces = m["Hani"].spaces,
		parent = "Hani",
	}

	m["Hant"] = {
		"Traditional Han",
		m["Hani"][2],
		characters = m["Hani"].characters,
		spaces = m["Hani"].spaces,
		parent = "Hani",
	}

m["Hano"] = {
	"Hanunoo",
	"abugida",
	characters = "ᜠ-᜴",
}

m["Hatr"] = {
	"Hatran",
	"abjad",
	characters = "𐣠-𐣿",
	direction = "rtl",
}

m["Hebr"] = {
	"Hebrew",
	"abjad",	-- more precisely, impure abjad
	characters = u(0x0590) .. "-" .. u(0x05FF) .. u(0xFB1D) .. "-" .. u(0xFB4F),
	direction = "rtl",
}

m["Hira"] = {
	"Hiragana",
	"syllabary",
	characters = "ぁ-ゟ𛀁-𛄞𛅐𛅑𛅒🈀",
	varieties = {"Hentaigana"},
	spaces = false,
}

m["Hluw"] = {
	"Anatolian Hieroglyphs",
	"logography, syllabary",
	characters = "𔐀-𔙆",
	wikipedia_article = "Anatolian hieroglyphs",
}

m["Hmng"] = {
	"Pahawh Hmong",
	"semisyllabary",
	aliases = {"Hmong"},
	characters = "𖬀-𖮏",
}

m["Hmnp"] = {
	"Nyiakeng Puachue Hmong",
	"alphabet",
	characters = "𞄀‎-𞅏",
}

m["Hung"] = {
	"Old Hungarian",
	"alphabet",
	aliases = {"Hungarian runic"},
	characters = "𐲀-𐲲",
	capitalized = true,
	direction = "rtl",
}

m["Ibrn"] = {
	"Iberian",
	"semisyllabary",
}

m["Imag"] = {
	-- To be used to avoid any formatting or link processing
	"Image-rendered",
	-- This should not have any characters listed
	translit = false,
	character_category = false,
}

m["Inds"] = {
	"Indus",
	aliases = {"Harappan", "Indus Valley"},
}

m["Ipach"] = {
	"International Phonetic Alphabet",
	aliases = {"IPA"},
}

m["Ital"] = {
	"Old Italic",
	"alphabet",
	characters = "𐌀-𐌯",
}

m["Java"] = {
	"Javanese",
	"abugida",
	characters = "ꦀ-꧟",
}

m["Jurc"] = {
	"Jurchen",
	spaces = false,
}

m["Kali"] = {
	"Kayah Li",
	"abugida",
	characters = "꤀-꤯",
}

m["Kana"] = {
	"Katakana",
	"syllabary",
	characters = "゠-ヿㇰ-ㇿ㌀-㍗ヲ-゚𛀀𛅤𛅥𛅦𛅧",
	spaces = false,
}

m["Kawi"] = {
	"Kawi",
	"abugida",
	characters = "𑼀-𑽙",
}

m["Khar"] = {
	"Kharoshthi",
	"abugida",
	characters = "𐨀-𐩘",
	direction = "rtl",
}

m["Khmr"] = {
	"Khmer",
	"abugida",
	characters = "ក-៝០-៩៰-៹᧠-᧿",
	spaces = false,
	normalizationFixes = {
		from = {"ឣ", "ឤ"},
		to = {"អ", "អា"}
	},
}

m["Khoj"] = {
	"Khojki",
	"abugida",
	characters = "𑈀-𑈾",
	normalizationFixes = {
		from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"},
		to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"}
	},
}

m["Kitl"] = {
	"Khitan Large",
	"logography, syllabary",
	spaces = false,
}

m["Kits"] = {
	"Khitan Small",
	"logography, syllabary",
	characters = "𘬀-𘳕"..u(0x16FE4),
	spaces = false,
}

m["Knda"] = {
	"Kannada",
	"abugida",
	characters = "ಀ-ೲ",
	normalizationFixes = {
		from = {"ಉಾ", "ಋಾ", "ಒೌ"},
		to = {"ಊ", "ೠ", "ಔ"}
	},
}

m["Kpel"] = {
	"Kpelle",
	"syllabary",
	-- Not in Unicode
}

m["Kthi"] = {
	"Kaithi",
	"abugida",
	characters = "𑂀-𑃍",
}

m["Lana"] = {
	"Tai Tham",
	"abugida",
	aliases = {"Tham", "Tua Mueang", "Lanna"},
	characters = "ᨠ-ᩞ᩠-᩿᩼᪀-᪉᪐-᪙᪠-᪭",
	spaces = false,
}

m["Laoo"] = {
	"Lao",
	"abugida",
	characters = "ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-໎໐-໙ໜ-ໟ",
	spaces = false,
}

m["Latn"] = {
	"Latin",
	"alphabet",
	aliases = {"Roman"},
	characters = "A-Za-zªºÀ-ÖØ-öø-ɏḀ-ỿ",
	varieties = {"Rumi", "Romaji", "Rōmaji", "Romaja"},
	capitalized = true,
	translit = false,
}

	m["Latf"] = {
		"Fraktur",
		m["Latn"][2],
		characters = m["Latn"].characters,
		otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script"
		capitalized = m["Latn"].capitalized,
		translit = m["Latn"].translit,
		parent = "Latn",
	}
	
	m["Latg"] = {
		"Gaelic",
		m["Latn"][2],
		characters = m["Latn"].characters,
		otherNames = {"Irish"},
		capitalized = m["Latn"].capitalized,
		translit = m["Latn"].translit,
		parent = "Latn",
	}

	m["Latnx"] = {
		"Latin",
		m["Latn"][2],
		characters = m["Latn"].characters .. "ɐ-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z𐞀-𐞅𐞇-𐞰𐞲-𐞺𝼀-𝼞𝼥-𝼪",
		capitalized = m["Latn"].capitalized,
		translit = m["Latn"].translit,
		parent = "Latn",
	}

	m["pjt-Latn"] = {
		"Latin",
		m["Latn"][2],
		characters = m["Latn"].characters,
		capitalized = m["Latn"].capitalized,
		translit = m["Latn"].translit,
		parent = "Latn",
	}

m["Leke"] = {
	"Leke",
	"abugida",
}

m["Lepc"] = {
	"Lepcha",
	"abugida",
	characters = "ᰀ-ᱏ",
}

m["Limb"] = {
	"Limbu",
	"abugida",
	characters = "ᤀ-᥏",
}

m["Lina"] = {
	"Linear A",
	characters = "𐘀-𐝧",
}

m["Linb"] = {
	"Linear B",
	characters = "𐀀-𐃺",
}

m["Lisu"] = {
	"Lisu",
	"alphabet",
	aliases = {"Fraser"},
	characters = "ꓐ-꓿𑾰",
	normalizationFixes = {
		from = {"['’]", "[.ꓸ][.ꓸ]", "[.ꓸ][,ꓹ]"},
		to = {"ʼ", "ꓺ", "ꓻ"}
	},
}

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

m["Lyci"] = {
	"Lycian",
	"alphabet",
	characters = "𐊀-𐊜",
}

m["Lydi"] = {
	"Lydian",
	"alphabet",
	characters = "𐤠-𐤿",
	direction = "rtl",
}

m["Mahj"] = {
	"Mahajani",
	"abugida",
	characters = "𑅐-𑅶",
}

m["Maka"] = {
	"Lontara",
	"abugida",
	aliases = {"Makasar"},
	characters = "𑻠-𑻸",
}

m["Mand"] = {
	"Mandaic",
	aliases = {"Mandaean"},
	characters = "ࡀ-࡞",
	direction = "rtl",
}

m["Mani"] = {
	"Manichaean",
	"abjad",
	characters = "𐫀-𐫶",
	direction = "rtl",
}

m["Marc"] = {
	"Marchen",
	"abugida",
	characters = "𑱰-𑲶",
}

m["Maya"] = {
	"Maya",
	aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
	characters = "𝋠-𝋳",
}

m["Medf"] = {
	"Medefaidrin",
	aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
	characters = "𖹀-𖺚",
	capitalized = true,
}

m["Mend"] = {
	"Mende",
	aliases = {"Mende Kikakui"},
	characters = "𞠀-𞣖",
	direction = "rtl",
}

m["Merc"] = {
	"Meroitic cursive",
	"abugida",
	characters = "𐦠-𐦿",
	direction = "rtl",
}

m["Mero"] = {
	"Meroitic hieroglyphic",
	"abugida",
	characters = "𐦀-𐦟",
	direction = "rtl",
}

m["Mlym"] = {
	"Malayalam",
	"abugida",
	characters = "ഀ-ൿ",
	normalizationFixes = {
		from = {"ഇൗ", "ഉൗ", "എെ", "ഒാ", "ഒൗ", "ക്‍", "ണ്‍", "ന്‍റ", "ന്‍", "മ്‍", "യ്‍", "ര്‍", "ല്‍", "ള്‍", "ഴ്‍", "െെ", "ൻ്റ"},
		to = {"ഈ", "ഊ", "ഐ", "ഓ", "ഔ", "ൿ", "ൺ", "ൻറ", "ൻ", "ൔ", "ൕ", "ർ", "ൽ", "ൾ", "ൖ", "ൈ", "ന്റ"}
	},
}

m["Modi"] = {
	"Modi",
	"abugida",
	characters = "𑘀-𑙙",
	normalizationFixes = {
		from = {"𑘀𑘹", "𑘀𑘺", "𑘁𑘹", "𑘁𑘺"},
		to = {"𑘊", "𑘋", "𑘌", "𑘍"}
	},
}

m["Mong"] = {
	"Mongolian",
	"alphabet",
	aliases = {"Mongol bichig", "Hudum Mongol bichig"},
	characters = "᠀-᠅᠊-᠙ᠠ-ᡂᡸᢀ-ᢗᢦᢩ‌‍ 𑙠-𑙨",
	direction = "down",
}

	m["mnc-Mong"] = {
		"Manchu",
		m["Mong"][2],
		characters = "᠁᠄᠈-᠏ᠠᠣᠨ-ᠪᠮ-ᠰᠴ-ᠸᠺᡝᡟ-ᡡᡤ-ᡩᡬ-ᡱᡳ-ᡷᢀ-ᢈᢏᢚ-ᢥᢨᢪ‌‍ ",
		direction = "down",
		parent = "Mong",
	}
	
	m["sjo-Mong"] = {
		"Xibe",
		m["Mong"][2],
		aliases = {"Sibe"},
		characters = "᠄᠇᠊-᠏ᠠᠣᠨᠪᠮ-ᠰᠴ-ᠸᠺᡝ-ᡲ‌‍ ",
		direction = "down",
		parent = "mnc-Mong",
	}
	
	m["xwo-Mong"] = {
		"Clear Script",
		m["Mong"][2],
		aliases = {"Todo", "Todo bichig"},
		characters = "᠀᠁᠄-᠆᠊-ᠠᠨᠯ-ᠱᠴᠷᠸᠺᠻᡀᡃ-ᡜᢀ-ᢇᢉ-ᢏᢔᢖ-ᢙᢧ‌‍ 𑙩-𑙬",
		direction = "down",
		parent = "Mong",
	}

m["Moon"] = {
	"Moon",
	"alphabet",
	aliases = {"Moon System of Embossed Reading", "Moon type", "Moon writing", "Moon alphabet", "Moon code"},
	-- Not in Unicode
}

m["Morse"] = {
	"Morse code",
}

m["Mroo"] = {
	"Mro",
	characters = "𖩀-𖩯",
}

m["Mtei"] = {
	"Meitei Mayek",
	"abugida",
	aliases = {"Meetei Mayek", "Manipuri"},
	characters = "ꯀ-꯹ꫠ-꫶",
}

m["Mult"] = {
	"Multani",
	"abugida",
	characters = "𑊀-𑊩",
}

m["Music"] = {
	"Musical notation",
	"pictography",
	characters = "𝄀-𝇨",
	translit = false,
}

m["Mymr"] = {
	"Burmese",
	"abugida",
	aliases = {"Myanmar"},
	characters = "က-႟ꩠ-ꩿꧠ-ꧾ",
	spaces = false,
}

m["Nagm"] = {
	"Nag Mundari",
	"alphabet",
	characters = "𞓐-𞓹",
}

m["Nand"] = {
	"Nandinagari",
	"abugida",
	characters = "𑦠-𑧤",
}

m["Narb"] = {
	"Old North Arabian",
	"abjad",
	characters = "𐪀-𐪟",
	direction = "rtl",
}

m["Nbat"] = {
	"Nabataean",
	"abjad",
	aliases = {"Nabatean"},
	characters = "𐢀-𐢯",
	direction = "rtl",
}

m["Newa"] = {
	"Newa",
	"abugida",
	aliases = {"Newar", "Newari", "Prachalit Nepal"},
	characters = "𑐀-𑑡",
}

m["Nkdb"] = {
	"Dongba",
	"pictography",
	aliases = {"Naxi Dongba", "Nakhi Dongba", "Tomba", "Tompa", "Mo-so"},
	spaces = false,
	-- Not in Unicode
}

m["Nkgb"] = {
	"Geba",
	"syllabary",
	aliases = {"Nakhi Geba", "Naxi Geba"},
	spaces = false,
	-- Not in Unicode
}

m["Nkoo"] = {
	"N'Ko",
	"alphabet",
	characters = "߀-߿",
	direction = "rtl",
}

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

m["Nshu"] = {
	"Nüshu",
	"syllabary",
	aliases = {"Nushu"},
	characters = "𖿡𛅰-𛋻",
	spaces = false,
}

m["Ogam"] = {
	"Ogham",
	characters = " -᚜",
}

m["Olck"] = {
	"Ol Chiki",
	characters = "᱐-᱿",
}

m["Orkh"] = {
	"Orkhon runes",
	aliases = {"Old Turkic"},
	characters = "𐰀-𐱈",
	direction = "rtl",
}

m["Orya"] = {
	"Oriya",
	"abugida",
	aliases = {"Odia"},
	characters = "ଁ-୷",
	normalizationFixes = {
		from = {"ଅା", "ଏୗ", "ଓୗ"},
		to = {"ଆ", "ଐ", "ଔ"}
	},
}

m["Osge"] = {
	"Osage",
	characters = "𐒰-𐓻",
	capitalized = true,
}

m["Osma"] = {
	"Osmanya",
	characters = "𐒀-𐒩",
}

m["Ougr"] = {
	"Old Uyghur",
	"abjad, alphabet",
	characters = "𐽰-𐾉",
	direction = "down",
}

m["Palm"] = {
	"Palmyrene",
	characters = "𐡠-𐡿",
	direction = "rtl",
}

m["Pauc"] = {
	"Pau Cin Hau",
	characters = "𑫀-𑫸",
}

m["Perm"] = {
	"Old Permic",
	characters = "𐍐-𐍺",
}

m["Phag"] = {
	"Phags-pa",
	"abugida",
	characters = "᠂᠃᠅‌‍ 。ꡀ-꡷",
	direction = "down",
}

m["Phli"] = {
	"Inscriptional Pahlavi",
	"abjad",
	characters = "𐭠-𐭿",
	direction = "rtl",
}

m["Phlp"] = {
	"Psalter Pahlavi",
	"abjad",
	characters = "𐮀-𐮯",
	direction = "rtl",
}

m["Phlv"] = {
	"Book Pahlavi",
	"abjad",
	direction = "rtl",
	-- Not in Unicode
}

m["Phnx"] = {
	"Phoenician",
	"abjad",
	characters = "𐤀-𐤟",
	direction = "rtl",
}

m["Plrd"] = {
	"Pollard",
	"abugida",
	aliases = {"Miao"},
	characters = "𖼀-𖾟",
}

m["Prti"] = {
	"Inscriptional Parthian",
	characters = "𐭀-𐭟",
	direction = "rtl",
}

m["Ranj"] = {
	"Ranjana",
	"abugida",
	-- Not in Unicode
}

m["Rjng"] = {
	"Rejang",
	"abugida",
	characters = "ꤰ-꥟",
}

m["Rohg"] = {
	"Hanifi Rohingya",
	"alphabet",
	characters = "𐴀-𐴹",
	direction = "rtl",
}

m["Roro"] = {
	"Rongorongo",
	-- Not in Unicode
}

m["Rumin"] = {
	"Rumi numerals",
	characters = "𐹠-𐹾",
	character_category = "Rumi numerals",
}

m["Runr"] = {
	"Runic",
	"alphabet",
	characters = "ᚠ-ᛰ",
}

m["Samr"] = {
	"Samaritan",
	"abjad",
	characters = "ࠀ-࠾",
	direction = "rtl",
}

m["Sarb"] = {
	"Old South Arabian",
	"abjad",
	characters = "𐩠-𐩿",
	direction = "rtl",
}

m["Saur"] = {
	"Saurashtra",
	"abugida",
	characters = "ꢀ-꣙",
}

m["Semap"] = {
	"flag semaphore",
	"pictography",
}

m["Sgnw"] = {
	"SignWriting",
	"pictography",
	characters = "𝠀-𝪯",
	translit = false,
}

m["Shaw"] = {
	"Shavian",
	characters = "𐑐-𐑿",
}

m["Shrd"] = {
	"Sharada",
	"abugida",
	characters = "𑆀-𑇙",
}

m["Shui"] = {
	"Sui",
	"logography",
	spaces = false,
	-- Not in Unicode
}

m["Sidd"] = {
	"Siddham",
	"abugida",
	characters = "𑖀-𑗝",
}

m["Sind"] = {
	"Khudawadi",
	"abugida",
	characters = "𑊰-𑋹",
	normalizationFixes = {
		from = {"𑊰𑋠", "𑊰𑋥", "𑊰𑋦", "𑊰𑋧", "𑊰𑋨"},
		to = {"𑊱", "𑊶", "𑊷", "𑊸", "𑊹"}
	},
}

m["Sinh"] = {
	"Sinhalese",
	"abugida",
	aliases = {"Sinhala"},
	characters = "ං-෴",
	normalizationFixes = {
		from = {"අා", "අැ", "අෑ", "උෟ", "ඍෘ", "ඏෟ", "එ්", "එෙ", "ඔෟ", "ෘෘ"},
		to = {"ආ", "ඇ", "ඈ", "ඌ", "ඎ", "ඐ", "ඒ", "ඓ", "ඖ", "ෲ"}
	},
}

m["Sogd"] = {
	"Sogdian",
	"abjad",
	characters = "𐼰-𐽙",
	direction = "rtl",
}

m["Sogo"] = {
	"Old Sogdian",
	"abjad",
	characters = "𐼀-𐼧",
	direction = "rtl",
}

m["Sora"] = {
	"Sorang Sompeng",
	aliases = {"Sora Sompeng"},
	characters = "𑃐-𑃹",
}

m["Soyo"] = {
	"Soyombo",
	"abugida",
	characters = "𑩐-𑪢",
}

m["Sund"] = {
	"Sundanese",
	"abugida",
	characters = "ᮀ-ᮿ",
}

m["Sylo"] = {
	"Syloti Nagri",
	"abugida",
	aliases = {"Sylheti Nagari"},
	characters = "ꠀ-꠫",
}

m["Syrc"] = {
	"Syriac",
	"abjad",	-- more precisely, impure abjad
	characters = "܀-ݏ"..u(0x0860).."-"..u(0x086A),
	direction = "rtl",
}

-- Syre, Syrj, Syrn are apparently subsumed into Syrc; discuss if this causes issues

m["Tagb"] = {
	"Tagbanwa",
	"abugida",
	characters = "ᝠ-ᝳ",
}

m["Takr"] = {
	"Takri",
	"abugida",
	characters = "𑚀-𑛉",
	normalizationFixes = {
		from = {"𑚀𑚭", "𑚀𑚴", "𑚀𑚵", "𑚆𑚲"},
		to = {"𑚁", "𑚈", "𑚉", "𑚇"}
	},
}

m["Tale"] = {
	"Tai Nüa",
	"abugida",
	aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"},
	characters = "ᥐ-ᥭᥰ-ᥴ",
	spaces = false,
}

m["Talu"] = {
	"New Tai Lue",
	"abugida",
	characters = "ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟",
	spaces = false,
}

m["Taml"] = {
	"Tamil",
	"abugida",
	characters = "ஂ-௺𑿀-𑿿",
	normalizationFixes = {
		from = {"அூ", "ஸ்ரீ"},
		to = {"ஆ", "ஶ்ரீ"}
	},
}

m["Tang"] = {
	"Tangut",
	"logography, syllabary",
	characters = "𖿠𗀀-𘫿𘴀-𘴈",
	spaces = false,
}

m["Tavt"] = {
	"Tai Viet",
	"abugida",
	characters = "ꪀ-ꫂꫛ-꫟",
	spaces = false,
}

m["Telu"] = {
	"Telugu",
	"abugida",
	characters = "ఀ-౿",
	normalizationFixes = {
		from = {"ఒౌ", "ఒౕ", "ిౕ", "ెౕ", "ొౕ"},
		to = {"ఔ", "ఓ", "ీ", "ే", "ో"}
	},
}

m["Teng"] = {
	"Tengwar",
}

m["Tfng"] = {
	"Tifinagh",
	"abjad, alphabet",
	characters = "ⴰ-⵿",
	otherNames = {"Libyco-Berber", "Berber"}, -- per Wikipedia, Libyco-Berber is the parent
}

m["Tglg"] = {
	"Baybayin",
	"abugida",
	aliases = {"Tagalog"},
	characters = "ᜀ-᜔",
}

m["Thaa"] = {
	"Thaana",
	"abugida",
	characters = "ހ-ޱ",
	direction = "rtl",
}

m["Thai"] = {
	"Thai",
	"abugida",
	characters = "ก-ฺเ-๛",
	spaces = false,
}

m["Tibt"] = {
	"Tibetan",
	"abugida",
	characters = "ༀ-࿚",
	normalizationFixes = {
		combiningClasses = {["༹"] = 1},
		from = {"ཷ", "ཹ"},
		to = {"ྲཱྀ", "ླཱྀ"}
	},
}

	m["sit-tam-Tibt"] = {
		"Tamyig",
		m["Tibt"][2],
		characters = m["Tibt"].characters,
		parent = "Tibt",
		normalizationFixes = m["Tibt"].normalizationFixes,
	}

	m["xzh-Tibt"] = {
		"Zhang-Zhung",
		m["Tibt"][2],
		characters = m["Tibt"].characters,
		parent = "Tibt",
		normalizationFixes = m["Tibt"].normalizationFixes,
	}

m["Tirh"] = {
	"Tirhuta",
	"abugida",
	characters = "𑒀-𑓙",
	normalizationFixes = {
		from = {"𑒁𑒰", "𑒋𑒺", "𑒍𑒺", "𑒪𑒵", "𑒪𑒶"},
		to = {"𑒂", "𑒌", "𑒎", "𑒉", "𑒊"}
	},
}

m["Tnsa"] = {
	"Tangsa",
	"alphabet",
	characters = "𖩰-𖫉",
}

m["Toto"] = {
	"Toto",
	"abugida",
	characters = "𞊐-𞊮",
}

m["Ugar"] = {
	"Ugaritic",
	"abjad",
	characters = "𐎀-𐎟",
}

m["Vaii"] = {
	"Vai",
	"syllabary",
	characters = "ꔀ-ꘫ",
}

m["Visp"] = {
	"Visible Speech",
	"alphabet",
	-- Not in Unicode
}

m["Vith"] = {
	"Vithkuqi",
	"alphabet",
	characters = "𐕰-𐖼",
	capitalized = true,
}

m["Wara"] = {
	"Varang Kshiti",
	aliases = {"Warang Citi"},
	characters = "𑢠-𑣿",
	capitalized = true,
}

m["Wcho"] = {
	"Wancho",
	"alphabet",
	characters = "𞋀-𞋿",
}

m["Wole"] = {
	"Woleai",
	"syllabary",
	-- Not in Unicode
}

m["Xpeo"] = {
	"Old Persian",
	characters = "𐎠-𐏕",
}

m["Xsux"] = {
	"Cuneiform",
	aliases = {"Sumero-Akkadian Cuneiform"},
	characters = "𒀀-𒎙𒐀-𒑳",
}

m["Yezi"] = {
	"Yezidi",
	"alphabet",
	characters = "𐺀-𐺱",
	direction = "rtl",
}

m["Yiii"] = {
	"Yi",
	"syllabary",
	characters = "ꀀ-꓆",
}

m["Zanb"] = {
	"Zanabazar Square",
	characters = u(0x11A00).."-"..u(0x11A47),
}

m["Zmth"] = {
	"mathematical notation",
	characters = "ℵ∀-⋿⟀-⟯⦀-⫿𝐀-𝟿",
	translit = false,
	character_category = "Mathematical notation symbols", -- ?
}

m["Zsym"] = {
	"symbol",
	"pictography",
	characters = "─-➿←-⇿⌀-⏿⬀-⯾🀀-🃵🌀-🩭",
	translit = false,
	character_category = false, -- none
}

m["Zyyy"] = {
	"undetermined",
	-- This should not have any characters listed, probably
	translit = false,
	character_category = false, -- none
}

m["Zzzz"] = {
	"uncoded",
	-- This should not have any characters listed
	translit = false,
	character_category = false, -- none
}

-- These should be defined after the scripts they are composed of.

m["Hrkt"] = { -- TODO: add hentaigana
	"Kana",
	"syllabary",
	aliases = {"Japanese syllabaries"},
	characters = m["Hira"].characters .. m["Kana"].characters,
	spaces = false,
}

m["Jpan"] = {
	"Japanese",
	"logography, syllabary",
	characters = m["Hrkt"].characters .. m["Hani"].characters .. m["Latnx"].characters,
	spaces = false,
	sort_by_scraping = true,
}

m["Kore"] = {
	"Korean",
	"logography, syllabary",
	characters = m["Hang"].characters .. m["Hani"].characters,
}

return m