Módulo:scripts/data
Aspeto
A documentação para este módulo pode ser criada na página Módulo:scripts/data/doc
--[=[
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 ws = {}
ws.AbjadAlphabet = {"abjad", "alphabet"}
ws.AbjadLogography = {"abjad", "logography"}
ws.LogographySyllabary = {"logography", "syllabary"}
local m = {}
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",
characters = "𖫐-",
aliases = {"Bassa Vah", "Vah"},
}
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",
characters = "ˇˉˊˋ˙˪˫、-〃〈-】〓-〟〪-〭〰〷・-ㄯ﹅﹆。-・",
aliases = {"Zhuyin Fuhao", "Bopomofo"},
}
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",
characters = "𐄀𐄁𒾐-",
aliases = {"Cypro Minoan"},
}
m["Cprt"] = {
"Cypriot",
"syllabary",
characters = "𐄀-𐄂𐄇-𐄳𐄷-𐄿𐠀-𐠿",
direction = "rtl",
}
m["Cyrl"] = {
"Cyrillic",
"alphabet",
characters = "Ѐ-ԯᲀ-ᴫᵸ᷸ⷠ-ⷿ⹃Ꙁ-ꚟ︮︯𞀰-𞂏",
capitalized = true,
}
m["Cyrs"] = {
"Old Cyrillic",
m["Cyrl"][2],
characters = m["Cyrl"].characters,
aliases = {"Early Cyrillic"},
capitalized = m["Cyrl"].capitalized,
wikipedia_article = "Early Cyrillic alphabet",
}
m["Deva"] = {
"Devanagari",
"abugida",
characters = "ऀ-ॿ꣠-ꣿ𑬀-𑬉",
normalizationFixes = {
from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्?ा"},
to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"}
},
}
m["Diak"] = {
"Dhives Akuru",
"abugida",
characters = "𑤀-𑤆𑤉𑤌-𑤓𑤕𑤖𑤘-𑤵𑤷𑤸𑤻-𑥆𑥐-𑥙",
aliases = {"Dives Akuru"},
}
m["Dogr"] = {
"Dogra",
"abugida",
characters = "𑠀-𑠻",
}
m["Dsrt"] = {
"Deseret",
"alphabet",
characters = "𐐀-𐑏",
capitalized = true,
}
m["Dupl"] = {
"Duployan",
"alphabet",
characters = "𛰀-𛱪𛱰-𛱼𛲀-𛲈𛲐-𛲙𛲜-𛲟",
}
m["Egyd"] = {
"Demotic",
ws.AbjadLogography,
}
m["Egyh"] = {
"Hieratic",
ws.AbjadLogography,
}
m["Egyp"] = {
"Egyptian hieroglyphic",
ws.AbjadLogography,
characters = "𓀀-𓑕",
varieties = {"Hieratic"},
wikipedia_article = "Egyptian hieroglyphs",
normalizationFixes = {
from = {"𓈗", "𓃁", "𓆖"},
to = {"𓈖𓈖𓈖", "𓃀𓂝", "𓆓𓏏𓇿"}
},
}
m["Elba"] = {
"Elbasan",
"alphabet",
characters = "𐔀-𐔧",
}
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["polytonic"] = {
"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",
characters = (
"가-힣".. -- Syllables
"ᄀ-ᇿ".. -- Jamo
"ꥠ-ꥼ".. -- Jamo Ext-A
"ힰ-ퟻ".. -- Jamo Ext-B
"ㄱ-ㆎ".. -- Compat Jamo
"ᅠ-ᅵ" -- Halfwidth
),
aliases = {"Hangeul"},
}
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"},
}
m["Hans"] = {
"Simplified Han",
m["Hani"][2],
characters = m["Hani"].characters,
parent = "Hani",
}
m["Hant"] = {
"Traditional Han",
m["Hani"][2],
characters = m["Hani"].characters,
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"},
}
m["Hluw"] = {
"Anatolian Hieroglyphs",
ws.LogographySyllabary,
characters = "𔐀-𔙆",
wikipedia_article = "Anatolian hieroglyphs",
}
m["Hmng"] = {
"Pahawh Hmong",
"semisyllabary",
characters = "𖬀-𖮏",
aliases = {"Hmong"},
}
m["Hung"] = {
"Old Hungarian",
"alphabet",
characters = "𐲀-𐲲",
aliases = {"Hungarian runic"},
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["IPAchar"] = {
"International Phonetic Alphabet",
aliases = {"IPA"},
}
m["Ital"] = {
"Old Italic",
"alphabet",
characters = "𐌀-𐌯",
}
m["Java"] = {
"Javanese",
"abugida",
characters = "ꦀ-꧟",
}
m["Jurc"] = {
"Jurchen",
}
m["Kali"] = {
"Kayah Li",
"abugida",
characters = "꤀-꤯",
}
m["Kana"] = {
"Katakana",
"syllabary",
characters = "゠-ヿㇰ-ㇿ㌀-㍗ヲ-゚𛀀𛅤𛅥𛅦𛅧",
}
m["Kawi"] = {
"Kawi",
"abugida",
characters = "𑼀-𑽙",
}
m["Khar"] = {
"Kharoshthi",
"abugida",
characters = "𐨀-𐩘",
direction = "rtl",
}
m["Khmr"] = {
"Khmer",
"abugida",
characters = "ក-៹᧠-᧿",
normalizationFixes = {
from = {"ឣ", "ឤ"},
to = {"អ", "អា"}
},
}
m["Khoj"] = {
"Khojki",
"abugida",
characters = "𑈀-𑈾",
normalizationFixes = {
from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"},
to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"}
},
}
m["Kitl"] = {
"Khitan Large",
ws.LogographySyllabary,
}
m["Kits"] = {
"Khitan Small",
ws.LogographySyllabary,
characters = "𘬀-𘳕"..u(0x16FE4),
}
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",
characters = "ᨠ-᪭",
aliases = {"Tham", "Tua Mueang", "Lanna"},
}
m["Laoo"] = {
"Lao",
"abugida",
characters = "ກ-ໟ",
}
m["Latn"] = {
"Latin",
"alphabet",
characters = "A-Za-zªºÀ-ÖØ-öø-ɏḀ-ỿ",
aliases = {"Roman"},
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["Latinx"] = {
"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",
characters = "ꓐ-꓿𑾰",
aliases = {"Fraser"},
}
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",
characters = "𑻠-𑻸",
aliases = {"Makasar"},
}
m["Mand"] = {
"Mandaic",
characters = "ࡀ-࡞",
aliases = {"Mandaean"},
direction = "rtl",
}
m["Mani"] = {
"Manichaean",
"abjad",
characters = "𐫀-𐫶",
direction = "rtl",
}
m["Marc"] = {
"Marchen",
"abugida",
characters = "𑱰-𑲶",
}
m["Maya"] = {
"Maya",
characters = "𝋠-𝋳",
aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"},
}
m["Medf"] = {
"Medefaidrin",
characters = "𖹀-𖺚",
aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"},
capitalized = true,
}
m["Mend"] = {
"Mende",
characters = "𞠀-𞣖",
aliases = {"Mende Kikakui"},
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",
characters = "᠀-᠅᠊-᠙ᠠ-ᡂᡸᢀ-ᢗᢦᢩ 𑙠-𑙨",
aliases = {"Mongol bichig", "Hudum Mongol bichig"},
direction = "down",
}
m["mnc-Mong"] = {
"Manchu",
m["Mong"][2],
characters = "᠁᠄᠈-᠏ᠠᠣᠨ-ᠪᠮ-ᠰᠴ-ᠸᠺᡝᡟ-ᡡᡤ-ᡩᡬ-ᡱᡳ-ᡷᢀ-ᢈᢏᢚ-ᢥᢨᢪ ",
direction = "down",
parent = "Mong",
}
m["sjo-Mong"] = {
"Xibe",
m["Mong"][2],
characters = "᠄᠇᠊-᠏ᠠᠣᠨᠪᠮ-ᠰᠴ-ᠸᠺᡝ-ᡲ ",
aliases = {"Sibe"},
direction = "down",
parent = "mnc-Mong",
}
m["xwo-Mong"] = {
"Clear Script",
m["Mong"][2],
characters = "᠀᠁᠄-᠆᠊-ᠠᠨᠯ-ᠱᠴᠷᠸᠺᠻᡀᡃ-ᡜᢀ-ᢇᢉ-ᢏᢔᢖ-ᢙᢧ 𑙩-𑙬",
aliases = {"Todo", "Todo bichig"},
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",
characters = "ꯀ-꯹ꫠ-꫶",
aliases = {"Meetei Mayek", "Manipuri"},
}
m["Mult"] = {
"Multani",
"abugida",
characters = "𑊀-𑊩",
}
m["musical"] = {
"Musical notation",
"pictography",
characters = "𝄀-𝇨",
translit = false,
}
m["Mymr"] = {
"Burmese",
"abugida",
characters = "က-႟ꩠ-ꩿꧠ-ꧾ",
aliases = {"Myanmar"},
}
m["Nagm"] = {
"Nag Mundari",
"alphabet",
characters = "𞓐-𞓹",
}
m["Nand"] = {
"Nandinagari",
"abugida",
characters = "𑦠-𑧤",
}
m["Narb"] = {
"Old North Arabian",
"abjad",
characters = "𐪀-𐪟",
direction = "rtl",
}
m["Nbat"] = {
"Nabataean",
"abjad",
characters = "𐢀-𐢯",
aliases = {"Nabatean"},
direction = "rtl",
}
m["Newa"] = {
"Newa",
"abugida",
characters = "𑐀-𑑡",
aliases = {"Newar", "Newari", "Prachalit Nepal"},
}
m["Nkdb"] = {
"Naxi Dongba",
"pictography",
-- Not in Unicode
}
m["Nkgb"] = {
"Nakhi Geba",
"syllabary",
-- 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",
characters = "𖿡𛅰-𛋻",
aliases = {"Nushu"},
}
m["Ogam"] = {
"Ogham",
characters = " -᚜",
}
m["Olck"] = {
"Ol Chiki",
characters = "᱐-᱿",
}
m["Orkh"] = {
"Orkhon runes",
characters = "𐰀-𐱈",
direction = "rtl",
}
m["Orya"] = {
"Oriya",
"abugida",
characters = "ଁ-୷",
aliases = {"Odia"},
normalizationFixes = {
from = {"ଅା", "ଏୗ", "ଓୗ"},
to = {"ଆ", "ଐ", "ଔ"}
},
}
m["Osge"] = {
"Osage",
characters = "𐒰-𐓻",
capitalized = true,
}
m["Osma"] = {
"Osmanya",
characters = "𐒀-𐒩",
}
m["Ougr"] = {
"Old Uyghur",
ws.AbjadAlphabet,
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",
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["Ruminumerals"] = {
"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",
-- Not in Unicode
}
m["Sidd"] = {
"Siddham",
"abugida",
characters = "𑖀-𑗝",
}
m["Sind"] = {
"Khudawadi",
"abugida",
characters = "𑊰-𑋹",
normalizationFixes = {
from = {"𑊰𑋠", "𑊰𑋥", "𑊰𑋦", "𑊰𑋧", "𑊰𑋨"},
to = {"𑊱", "𑊶", "𑊷", "𑊸", "𑊹"}
},
}
m["Sinh"] = {
"Sinhalese",
"abugida",
characters = "ං-෴",
aliases = {"Sinhala"},
normalizationFixes = {
from = {"අා", "අැ", "අෑ", "උෟ", "ඍෘ", "ඏෟ", "එ්", "එෙ", "ඔෟ", "ෘෘ"},
to = {"ආ", "ඇ", "ඈ", "ඌ", "ඎ", "ඐ", "ඒ", "ඓ", "ඖ", "ෲ"}
},
}
m["Sogd"] = {
"Sogdian",
"abjad",
characters = "𐼰-𐽙",
direction = "rtl",
}
m["Sogo"] = {
"Old Sogdian",
"abjad",
characters = "𐼀-𐼧",
direction = "rtl",
}
m["Sora"] = {
"Sorang Sompeng",
characters = "𑃐-𑃹",
aliases = {"Sora Sompeng"},
}
m["Soyo"] = {
"Soyombo",
"abugida",
characters = "𑩐-𑪢",
}
m["Sund"] = {
"Sundanese",
"abugida",
characters = "ᮀ-ᮿ",
}
m["Sylo"] = {
"Syloti Nagri",
"abugida",
characters = "ꠀ-꠫",
aliases = {"Sylheti Nagari"},
}
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",
characters = "ᥐ-ᥴ",
aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"},
}
m["Talu"] = {
"New Tai Lue",
characters = "ᦀ-᧟",
"abugida",
}
m["Taml"] = {
"Tamil",
"abugida",
characters = "ஂ-௺𑿀-𑿿",
normalizationFixes = {
from = {"அூ", "ஸ்ரீ"},
to = {"ஆ", "ஶ்ரீ"}
},
}
m["Tang"] = {
"Tangut",
ws.LogographySyllabary,
characters = "𖿠𗀀-𘫿𘴀-𘴈",
}
m["Tavt"] = {
"Tai Viet",
"abugida",
characters = "ꪀ-꫟",
}
m["Telu"] = {
"Telugu",
"abugida",
characters = "ఀ-౿",
normalizationFixes = {
from = {"ఒౌ", "ఒౕ", "ిౕ", "ెౕ", "ొౕ"},
to = {"ఔ", "ఓ", "ీ", "ే", "ో"}
},
}
m["Teng"] = {
"Tengwar",
}
m["Tfng"] = {
"Tifinagh",
ws.AbjadAlphabet,
characters = "ⴰ-⵿",
otherNames = {"Libyco-Berber", "Berber"}, -- per Wikipedia, Libyco-Berber is the parent
}
m["Tglg"] = {
"Baybayin",
"abugida",
characters = "ᜀ-᜔",
aliases = {"Tagalog"},
}
m["Thaa"] = {
"Thaana",
"abugida",
characters = "ހ-ޱ",
direction = "rtl",
}
m["Thai"] = {
"Thai",
"abugida",
characters = "ก-๛",
}
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",
characters = "𑢠-𑣿",
capitalized = true,
}
m["Wcho"] = {
"Wancho",
"alphabet",
characters = "𞋀-𞋿",
}
m["Wole"] = {
"Woleai",
"syllabary",
-- Not in Unicode
}
m["Xpeo"] = {
"Old Persian",
characters = "𐎠-𐏕",
}
m["Xsux"] = {
"Cuneiform",
characters = "𒀀-𒎙𒐀-𒑳",
aliases = {"Sumero-Akkadian Cuneiform"},
}
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["Jpan"] = {
"Japanese",
ws.LogographySyllabary,
characters = m["Hira"].characters .. m["Kana"].characters .. m["Hani"].characters .. m["Latn"].characters,
}
m["Kore"] = {
"Korean",
ws.LogographySyllabary,
characters = m["Hang"].characters .. m["Hani"].characters,
}
return m