Module:anui-pron: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 22: Line 22:
local oral_to_nasal = {["a"] = "ã", ["i"] = "ĩ", ["ɔ"] = "ṍ", ["u"] = "ᴍ"}
local oral_to_nasal = {["a"] = "ã", ["i"] = "ĩ", ["ɔ"] = "ṍ", ["u"] = "ᴍ"}
local nasal_vowel = "[ãĩṍᴍ]"
local nasal_vowel = "[ãĩṍᴍ]"
local function same(foo, bar)
foo, bar = mw.ustring.toNFD(foo), mw.ustring.toNFD(bar)
foo, bar = match(foo, "^."), match(bar, "^.")
return foo == bar and true or false
end


local export = {}
local export = {}
Line 29: Line 35:
{"([ḛḭṵ])", {["ḛ"] = "è", ["ḭ"] = "ì", ["ṵ"] = "ù"}}, {"([ao])" .. TILDEBELOW, mw.ustring.toNFC("%1" .. GRAVE)},
{"([ḛḭṵ])", {["ḛ"] = "è", ["ḭ"] = "ì", ["ṵ"] = "ù"}}, {"([ao])" .. TILDEBELOW, mw.ustring.toNFC("%1" .. GRAVE)},
{"([uùm]ʼ?)m", "%1ᴍ"}, {"m(ʼᴍ)", "ᴍ%1"}, -- tell apart between regular and syllabic <m>
{"([uùm]ʼ?)m", "%1ᴍ"}, {"m(ʼᴍ)", "ᴍ%1"}, -- tell apart between regular and syllabic <m>
{vowel .. vowel, {["aa"] = "aː˧", ["ee"] = "eː˧", ["ii"] = "iː˧", ["ɔɔ"] = "ɔː˧", ["uu"] = "uː˧",}},
{"(" .. vowel .. ")(".. vowel .. ")", function(s1, s2) return same(s1, s2) and s1 .. "ː˧" or s1 .. s2 .. "˧" end},
{"(" .. vowel .. ")(" .. nasal_vowel .. ")", "%1" .. NASAL .. "%2ː" .. HIGHFALL},
{"(" .. vowel .. ")(" .. nasal_vowel .. ")", "%1" .. NASAL .. "%2ː" .. HIGHFALL},
--{["aa"] = "aː˧", ["ee"] = "eː˧", ["ii"] = "iː˧", ["ɔɔ"] = "ɔː˧", ["uu"] = "uː˧",}
}
}