Documentation for this module may be created at Mòideal:languages/datax/doc

local u = mw.ustring.char

-- UTF-8 encoded strings for some commonly-used diacritics
local GRAVE     = u(0x0300)
local ACUTE     = u(0x0301)
local CIRC      = u(0x0302)
local TILDE     = u(0x0303)
local MACRON    = u(0x0304)
local BREVE     = u(0x0306)
local DOTABOVE  = u(0x0307)
local DIAER     = u(0x0308)
local CARON     = u(0x030C)
local DGRAVE    = u(0x030F)
local INVBREVE  = u(0x0311)
local DOTBELOW  = u(0x0323)
local RINGBELOW = u(0x0325)
local CEDILLA   = u(0x0327)

local m = {}

m["aav-pro"] = {
	canonicalName = "Proto-Austro-Asiatic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "aav",
}

m["afa-pro"] = {
	canonicalName = "Proto-Afro-Asiatic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "afa",
}

m["alg-pro"] = {
	canonicalName = "Proto-Algonquian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "alg",
	sort_key = {
		from = {"·"},
		to   = {""}} ,
}

m["aql-pro"] = {
	canonicalName = "Proto-Algic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "aql",
	sort_key = {
		from = {"·"},
		to   = {""}} ,
}

m["art-blk"] = {
	canonicalName = "Bolak",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-bsp"] = {
	canonicalName = "Black Speech",
	type = "appendix-constructed",
	scripts = {"Latn", "Teng"},
	family = "art",
}

m["art-com"] = {
	canonicalName = "Communicationssprache",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-elo"] = {
	canonicalName = "Eloi",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-gld"] = {
	canonicalName = "Goa'uld",
	type = "appendix-constructed",
	scripts = {"Latn", "Egyp", "Mero"},
	family = "art",
}

m["art-lap"] = {
	canonicalName = "Lapine",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-man"] = {
	canonicalName = "Mandalorian",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-mun"] = {
	canonicalName = "Mundolinco",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-nav"] = {
	canonicalName = "Na'vi",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-nox"] = {
	canonicalName = "Noxilo",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-top"] = {
	canonicalName = "Toki Pona",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["art-una"] = {
	canonicalName = "Unas",
	type = "appendix-constructed",
	scripts = {"Latn"},
	family = "art",
}

m["ath-pro"] = {
	canonicalName = "Proto-Athabaskan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ath",
}

m["aus-bun"] = {
	canonicalName = "Bunurong",
	type = "regular",
	scripts = {"None"},
	family = "aus-pam",
}

m["aus-cww-pro"] = {
	canonicalName = "Proto-Central New South Wales",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "aus-cww",
}

m["aus-pam-pro"] = {
	canonicalName = "Proto-Pama-Nyungan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "aus-pam",
}

m["awd-pro"] = {
	canonicalName = "Proto-Arawakan",
	otherNames = {"Proto-Arawak", "Proto-Maipurean", "Proto-Maipuran"},
	type = "reconstructed",
	scripts = {"Latn"},
	family = "awd",
}

m["awd-taa-pro"] = {
	canonicalName = "Proto-Ta-Arawakan",
	otherNames = {"Proto-Ta-Arawak", "Proto-Caribbean Northern Arawak"},
	type = "reconstructed",
	scripts = {"Latn"},
	family = "awd-taa",
}

m["azc-cup-pro"] = {
	canonicalName = "Proto-Cupan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "azc-cup",
}

m["azc-nah-pro"] = {
	canonicalName = "Proto-Nahuan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "azc-nah",
}

m["azc-num-pro"] = {
	canonicalName = "Proto-Numic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "azc-num",
}

m["azc-tak-pro"] = {
	canonicalName = "Proto-Takic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "azc-tak",
}

m["azc-pro"] = {
	canonicalName = "Proto-Uto-Aztecan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "azc",
}

m["bat-pro"] = {
	canonicalName = "Proto-Baltic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "bat",
	ancestors = {"ine-bsl-pro"},
}

m["ber-pro"] = {
	canonicalName = "Proto-Berber",
	type = "reconstructed",
	scripts = {"None"},
	family = "ber",
}

m["bnt-phu"] = {
	canonicalName = "Phuthi",
	type = "regular",
	scripts = {"None"},
	family = "bnt",
}

m["bnt-pro"] = {
	canonicalName = "Proto-Bantu",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "bnt",
}

m["cau-cir-pro"] = {
	canonicalName = "Proto-Circassian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "cau-cir",
}

m["cau-nec-pro"] = {
	canonicalName = "Proto-Northeast Caucasian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "cau-nec",
}

m["cau-nwc-pro"] = {
	canonicalName = "Proto-Northwest Caucasian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "cau-nwc",
}

m["cbk-zam"] = {
	canonicalName = "Zamboanga Chavacano",
	type = "regular",
	scripts = {"None"},
	family = "crp",
}

m["ccn-pro"] = {
	canonicalName = "Proto-North Caucasian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ccn",
}

m["ccs-pro"] = {
	canonicalName = "Proto-Kartvelian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ccs",
}

m["cel-bry-pro"] = {
	canonicalName = "Proto-Brythonic",
	otherNames = {"Proto-Brittonic"},
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "cel-bry",
	ancestors = {"cel-pro"},
}

m["cel-gau"] = {
	canonicalName = "Gaulish",
	type = "regular",
	scripts = {"Latn", "Grek"},
	family = "cel",
	ancestors = {"cel-pro"},
}

m["cel-pro"] = {
	canonicalName = "Proto-Celtic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "cel",
	ancestors = {"ine-pro"},
}

m["cmc-pro"] = {
	canonicalName = "Proto-Chamic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "cmc",
}

m["cpe-mar"] = {
	canonicalName = "Maroon Spirit Language",
	otherNames = {"Jamaican Maroon Spirit Possession Language"},
	type = "regular",
	scripts = {"Latn"},
	family = "crp",
	ancestors = {"en"},
}

m["cpe-spp"] = {
	canonicalName = "Samoan Plantation Pidgin",
	type = "regular",
	scripts = {"Latn"},
	family = "crp",
	ancestors = {"en"},
}

m["crp-gep"] = {
	canonicalName = "Greenlandic Pidgin",
	otherNames = {"West Greenlandic Pidgin", "Greenlandic Eskimo Pidgin"},
	type = "regular",
	scripts = {"Latn"},
	family = "crp",
}

m["crp-rsn"] = {
	canonicalName = "Russenorsk",
	type = "regular",
	scripts = {"Cyrl", "Latn"},
	family = "crp",
	ancestors = {"no", "ru"},
}

m["crp-tpr"] = {
	canonicalName = "Taimyr Pidgin Russian",
	type = "regular",
	scripts = {"Cyrl"},
	family = "crp",
}

m["dra-pro"] = {
	canonicalName = "Proto-Dravidian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "dra",
}

m["dru-pro"] = {
	canonicalName = "Proto-Rukai",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "map",
}

m["esx-esk-pro"] = {
	canonicalName = "Proto-Eskimo",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "esx-esk",
}

m["esx-inu-pro"] = {
	canonicalName = "Proto-Inuit",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "esx-inu",
}

m["esx-pro"] = {
	canonicalName = "Proto-Eskimo-Aleut",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "esx",
}

m["euq-pro"] = {
	canonicalName = "Proto-Basque",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "euq",
}

m["fiu-fin-pro"] = {
	canonicalName = "Proto-Finnic",
	type = "reconstructed",
	scripts = {"Latn"},
	family = "fiu-fin",
	ancestors = {"fiu-fpr-pro"},
	sort_key = {
		from = {"ä", "ö", "ü"},
		to   = {"a", "o", "u"}} ,
}

m["fiu-ugr-pro"] = {
	canonicalName = "Proto-Ugric",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "fiu-ugr",
	ancestors = {"fiu-pro"},
}

m["fra-aca"] = {
	canonicalName = "Acadian French",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
}

m["gem-pro"] = {
	canonicalName = "Proto-Germanic",
	otherNames = {"Common Germanic"},
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "gem",
	ancestors = {"ine-pro"},
	sort_key = {
		from = {"ā", "[ēê]", "ī", "[ōô]", "ū", "ą" , "į" , "ǫ" , "ų" , CIRC, MACRON},
		to   = {"a" , "e"  , "i", "o"   , "u", "an", "in", "on", "un"}} ,
}

m["gme-cgo"] = {
	canonicalName = "Crimean Gothic",
	type = "regular",
	scripts = {"Latn"},
	family = "gme",
	ancestors = {"gem-pro"},
}

m["gmq-gut"] = {
	canonicalName = "Gutnish",
	type = "regular",
	scripts = {"Latn"},
	family = "gmq",
}

m["gmq-mno"] = {
	canonicalName = "Middle Norwegian",
	type = "regular",
	scripts = {"Latn"},
	family = "gmq",
	ancestors = {"non"},
}

m["gmq-oda"] = {
	canonicalName = "Old Danish",
	type = "regular",
	scripts = {"Latn"},
	family = "gmq",
	ancestors = {"non"},
}

m["gmq-osw"] = {
	canonicalName = "Old Swedish",
	type = "regular",
	scripts = {"Latn"},
	family = "gmq",
	ancestors = {"non"},
}

m["gmq-pro"] = {
	canonicalName = "Proto-Norse",
	type = "regular",
	scripts = {"Runr"},
	family = "gmq",
	ancestors = {"gem-pro"},
	translit_module = "Runr-translit",
}

m["gmw-jdt"] = {
	canonicalName = "Jersey Dutch",
	type = "regular",
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"nl"},
}

m["grk-cal"] = {
	canonicalName = "Calabrian Greek",
	otherNames = {"Italian Greek", "Bova"},
	type = "regular", -- NB the related lect Griko has the etym-only code 'el-grk'
	scripts = {"Latn"},
	family = "grk",
}

m["grk-pro"] = {
	canonicalName = "Proto-Hellenic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "grk",
	ancestors = {"ine-pro"},
}

m["hmn-pro"] = {
	canonicalName = "Proto-Hmong",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "hmn",
}

m["hmx-mie-pro"] = {
	canonicalName = "Proto-Mien",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "hmx-mie",
}

m["hmx-pro"] = {
	canonicalName = "Proto-Hmong-Mien",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "hmx",
}

m["hyx-pro"] = {
	canonicalName = "Proto-Armenian",
	type = "reconstructed",
	scripts = {"Latn"},
	family = "hyx",
	ancestors = {"ine-pro"},
}

m["iir-pro"] = {
	canonicalName = "Proto-Indo-Iranian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "iir",
	ancestors = {"ine-pro"},
}

m["inc-pro"] = {
	canonicalName = "Proto-Indo-Aryan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "inc",
	ancestors = {"iir-pro"},
}

m["ine-ana-pro"] = {
	canonicalName = "Proto-Anatolian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ine-ana",
	ancestors = {"ine-pro"},
}

m["ine-bsl-pro"] = {
	canonicalName = "Proto-Balto-Slavic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ine-bsl",
	ancestors = {"ine-pro"},
}

m["ine-pro"] = {
	canonicalName = "Proto-Indo-European",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ine",
	sort_key = {
		from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", "ĺ", "ḿ", "ń", "ŕ", "ǵ" , "ḱ" , "ʰ", "ʷ", "₁", "₂", "₃", RINGBELOW, ACUTE, MACRON},
		to   = {"a"   , "e"	, "i"   , "o"	, "u"   , "l", "m", "n", "r", "g'", "k'", "h", "w", "1", "2", "3"}} ,
}

m["ine-toc-pro"] = {
	canonicalName = "Proto-Tocharian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ine-toc",
	ancestors = {"ine-pro"},
}

m["ira-pro"] = {
	canonicalName = "Proto-Iranian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "ira",
	ancestors = {"iir-pro"},
}

m["iro-min"] = {
	canonicalName = "Mingo",
	type = "regular",
	scripts = {"Latn"},
	family = "iro",
}

m["itc-ola"] = {
	canonicalName = "Old Latin",
	otherNames = {"Archaic Latin", "Early Latin", "Pre-Classical Latin", "Ante-Classical Latin"},
	type = "regular",
	scripts = {"Latn"},
	family = "itc",
	ancestors = {"itc-pro"},
	entry_name = {
		from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"},
		to   = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}} ,
}

m["itc-pro"] = {
	canonicalName = "Proto-Italic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "itc",
	ancestors = {"ine-pro"},
}

m["jpx-pro"] = {
	canonicalName = "Proto-Japonic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "jpx",
}

m["khi-kun"] = {
	canonicalName = "ǃKung",
	otherNames = {"ǃOǃKung", "ǃ'OǃKung", "Kung", "Ekoka ǃKung", "Ekoka Kung", "Sekele"},
	type = "regular",
	scripts = {"Latn"},
	family = "khi",
}

m["map-ata-pro"] = {
	canonicalName = "Proto-Atayalic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "map-ata",
}

m["map-bms"] = {
	canonicalName = "Banyumasan",
	type = "regular",
	scripts = {"None"},
	family = "qfa-und",
}

m["map-pro"] = {
	canonicalName = "Proto-Austronesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "map",
}

m["mkh-mvi"] = {
	canonicalName = "Middle Vietnamese",
	type = "regular",
	scripts = {"Latn", "Hani"},
	family = "mkh-vie",
}

m["mkh-pro"] = {
	canonicalName = "Proto-Mon-Khmer",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "mkh",
}

m["mkh-vie-pro"] = {
	canonicalName = "Proto-Vietic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "mkh-vie",
}

m["nai-pic"] = {
	canonicalName = "Picuris",
	type = "regular",
	scripts = {"Latn"},
	family = "qfa-kta",
}

m["nds-de"] = {
	canonicalName = "German Low German",
	type = "regular",
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"nds"},
	wikimedia_codes = {"nds"},
}

m["nds-nl"] = {
	canonicalName = "Dutch Low Saxon",
	type = "regular",
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"nds"},
}

m["phi-pro"] = {
	canonicalName = "Proto-Philippine",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "phi",
}

m["plf-pro"] = {
	canonicalName = "Proto-Central Malayo-Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "plf",
}

m["poz-btk-pro"] = {
	canonicalName = "Proto-Bungku-Tolaki",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-btk",
}

m["poz-cet-pro"] = {
	canonicalName = "Proto-Central-Eastern Malayo-Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz",
}

m["poz-hce-pro"] = {
	canonicalName = "Proto-Halmahera-Cenderawasih",
	otherNames = {"Proto-South Halmahera - West New Guinea"},
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-hce",
}

m["poz-lgx-pro"] = {
	canonicalName = "Proto-Lampungic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-lgx",
}

m["poz-mcm-pro"] = {
	canonicalName = "Proto-Malayo-Chamic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-msa",
}

m["poz-mly-pro"] = {
	canonicalName = "Proto-Malayic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-mly",
}

m["poz-msa-pro"] = {
	canonicalName = "Proto-Malayo-Sumbawan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-msa",
}

m["poz-oce-pro"] = {
	canonicalName = "Proto-Oceanic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-oce",
}

m["poz-pep-pro"] = {
	canonicalName = "Proto-Eastern Polynesian",
	otherNames = {"Proto-Eastern-Polynesian", "Proto-East Polynesian", "Proto-East-Polynesian"},
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-pol",
}

m["poz-pnp-pro"] = {
	canonicalName = "Proto-Nuclear Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-pol",
}

m["poz-pol-pro"] = {
	canonicalName = "Proto-Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-pol",
}

m["poz-pro"] = {
	canonicalName = "Proto-Malayo-Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz",
}

m["poz-ssw-pro"] = {
	canonicalName = "Proto-South Sulawesi",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-ssw",
}

m["poz-sus-pro"] = {
	canonicalName = "Proto-Sunda-Sulawesi",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-sus",
}

m["poz-swa-pro"] = {
	canonicalName = "Proto-North Sarawak",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "poz-swa",
}

m["pqe-pro"] = {
	canonicalName = "Proto-Eastern Malayo-Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "pqe",
}

m["pqw-pro"] = {
	canonicalName = "Proto-Western Malayo-Polynesian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "pqw",
}

m["qfa-cka-pro"] = {
	canonicalName = "Proto-Chukotko-Kamchatkan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "qfa-cka",
}

m["qfa-ctc-cat"] = {
	canonicalName = "Catacao",
	type = "regular",
	scripts = {"Latinx"},
	family = "qfa-ctc",
}

m["qfa-ctc-col"] = {
	canonicalName = "Colán",
	otherNames = {"Colan"},
	type = "regular",
	scripts = {"Latinx"},
	family = "qfa-ctc",
}

m["qfa-kor-pro"] = {
	canonicalName = "Proto-Korean",
	type = "reconstructed",
	scripts = {"None"},
	family = "qfa-kor",
}

m["qfa-len-slv"] = {
	canonicalName = "Salvadoran Lenca",
	type = "regular",
	scripts = {"Latn"},
	family = "qfa-len",
}

m["qfa-yen-pro"] = {
	canonicalName = "Proto-Yeniseian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "qfa-yen",
}

m["roa-oca"] = {
	canonicalName = "Old Catalan",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	ancestors = {"pro"},
	sort_key = {
		from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "·"},
		to   = {"a", "e"   , "i"   , "o"   , "u"   , "c"}} ,
}

m["roa-gal"] = {
	canonicalName = "Gallo",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"},
		to   = {"a"	 , "e"	 , "i"	 , "o"	 , "u"	 , "y"	 , "c"}} ,
}

m["roa-grn"] = {
	canonicalName = "Guernésiais",
	otherNames = {"Dgèrnésiais", "Guernsey French", "Guernsey Norman French"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"},
		to   = {"a"	 , "e"	 , "i"	 , "o"	 , "u"	 , "y"	 , "c"}} ,
}

m["roa-jer"] = {
	canonicalName = "Jèrriais",
	otherNames = {"Jersey French", "Jersey Norman", "Jersey Norman French"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"},
		to   = {"a"	 , "e"	 , "i"	 , "o"	 , "u"	 , "y"	 , "c"}} ,
}

m["roa-leo"] = {
	canonicalName = "Leonese",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
}

m["roa-oan"] = {
	canonicalName = "Navarro-Aragonese",
	otherNames = {"Old Aragonese"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
}

m["roa-oit"] = {
	canonicalName = "Old Italian",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
}

m["roa-ole"] = {
	canonicalName = "Old Leonese",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
}

m["roa-opt"] = {
	canonicalName = "Old Portuguese",
	otherNames = {"Galician-Portuguese", "Galician Portuguese", "Medieval Galician"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
}

m["roa-tar"] = {
	canonicalName = "Tarantino",
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	wikimedia_codes = {"roa-tara"},
}

m["sal-pro"] = {
	canonicalName = "Proto-Salish",
	otherNames = {"Proto-Salishan"},
	type = "reconstructed",
	scripts = {"Latn"},
	family = "sal",
}

m["sca-pro"] = { -- NB 'sio-pro' "Proto-Siouan" which is Proto-Western Siouan
	canonicalName = "Proto-Siouan-Catawban",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "qfa-sca",
}

m["sem-amm"] = {
	canonicalName = "Ammonite",
	type = "regular",
	scripts = {"Phnx"},
	family = "sem-can",
}

m["sem-pro"] = {
	canonicalName = "Proto-Semitic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "sem",
}

m["sem-srb"] = {
	canonicalName = "Old South Arabian",
	type = "regular",
	scripts = {"Sarb"},
	family = "sem-osa",
}

m["sio-pro"] = { -- this is the proto-lang of Western Sioun only; cf. 'sca-pro'
	canonicalName = "Proto-Siouan",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "sio",
}

m["sit-pro"] = {
	canonicalName = "Proto-Sino-Tibetan",
	type = "reconstructed",
	scripts = {"Latn"},
	family = "sit",
}

m["sla-pro"] = {
	canonicalName = "Proto-Slavic",
	otherNames = {"Common Slavic"},
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "sla",
	ancestors = {"ine-bsl-pro"},
}

m["smi-pro"] = {
	canonicalName = "Proto-Samic",
	otherNames = {"Proto-Sami"},
	type = "reconstructed",
	scripts = {"Latn"},
	family = "smi",
}

m["sqj-pro"] = {
	canonicalName = "Proto-Albanian",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "sqj",
}

m["syd-fne"] = {
	canonicalName = "Forest Nenets",
	type = "regular",
	scripts = {"Cyrl"},
	family = "syd",
	ancestors = {"syd-pro"},
}

m["syd-pro"] = {
	canonicalName = "Proto-Samoyedic",
	type = "reconstructed",
	scripts = {"Latn"},
	family = "syd",
	ancestors = {"urj-pro"},
}

m["tai-pro"] = {
	canonicalName = "Proto-Tai",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "tai",
}

m["tai-swe-pro"] = {
	canonicalName = "Proto-Southwestern Tai",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "tai-swe",
}

m["trk-pro"] = {
	canonicalName = "Proto-Turkic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "trk",
}

m["tut-pro"] = {
	canonicalName = "Proto-Altaic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "tut",
}

m["tuw-pro"] = {
	canonicalName = "Proto-Tungusic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "qfa-und",
}

m["urj-pro"] = {
	canonicalName = "Proto-Uralic",
	otherNames = {"Proto-Finno-Ugric", "Proto-Finno-Permic"}, -- PFU and PFP are subsumed into PU per [[Wiktionary:Beer parlour/2015/January#Merging Finno-Volgaic, Finno-Samic, Finno-Permic and Finno-Ugric into Uralic]]
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "urj",
}

m["xgn-pro"] = {
	canonicalName = "Proto-Mongolic",
	type = "reconstructed",
	scripts = {"Latinx"},
	family = "xgn",
}

m["zlw-opl"] = {
	canonicalName = "Old Polish",
	type = "regular",
	scripts = {"Latn"},
	family = "zlw",
	ancestors = {"sla-pro"},
}

m["zlw-pom"] = {
	canonicalName = "Pomeranian",
	type = "regular",
	scripts = {"None"},
	family = "qfa-und",
}

m["zlw-slv"] = {
	canonicalName = "Slovincian",
	type = "regular",
	scripts = {"Latn"},
	family = "zlw",
}

return m