Module:Scripts/data

--[=[

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 = {}

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

"𠀀-𪛟" .. -- ExtB

"𪜀-𮹟" .. -- ExtC-F & I

"𰀀-𲎯" .. -- ExtG-H

"﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧﨨﨩" ..

"⼀-⿟" .. -- Kangxi Radicals

"⺀-⻿" .. -- Radicals Supplement

" -〿" .. -- CJK Symbols and Punctuation

"𖿢𖿣𖿰𖿱" .. -- Ideographic Symbols and Punctuation

"㇀-㇮" .. -- Strokes

"㋿㍻-㍿" .. -- 組文字

"㈠-㉇㊀-㊰㋀-㋋㍘-㍰㏠-㏾🈐-🈒🈔-🈻🉀-🉈🉐🉑🉠-🉥" ..

-- Saved as bytes to stop normalization on save.

"\239\164\128-\239\171\191" .. -- Compatibility Ideographs

"\240\175\160\128-\240\175\168\159" -- Compatibility Ideographs Supplement

),

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"] = {

"Odia",

"abugida",

aliases = {"Oriya"},

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