Module:pine-pron: Difference between revisions

No edit summary
No edit summary
Line 20: Line 20:
["a" .. c.hook] = "æː", ["e" .. c.hook] = "eː", ["i" .. c.hook] = "iː",
["a" .. c.hook] = "æː", ["e" .. c.hook] = "eː", ["i" .. c.hook] = "iː",
["o" .. c.hook] = "oː", ["u" .. c.hook] = "uː", ["y" .. c.hook] = "yː",
["o" .. c.hook] = "oː", ["u" .. c.hook] = "uː", ["y" .. c.hook] = "yː",
}
local long_vowels_test = {
["ả"] = "æː", ["ẻ"] = "eː", ["ỉ"] = "iː",
["ỏ"] = "oː", ["ủ"] = "uː", ["ỷ"] = "yː",
}
}


Line 28: Line 33:
term = term:gsub("[aeiou]", laxen); term = term:gsub("ů", "œ")
term = term:gsub("[aeiou]", laxen); term = term:gsub("ů", "œ")
-- long vowels
-- long vowels
local nfd_term = mw.ustring.toNFD(term)
term = term:gsub("[ảẻỉỏủỷ]", function(v) return long_vowels_test[v] end)
--[[local nfd_term = mw.ustring.toNFD(term)
nfd_term = nfd_term:gsub("[aeiouy]" .. c.hook, long_vowels)
nfd_term = nfd_term:gsub("[aeiouy]" .. c.hook, long_vowels)
term = mw.ustring.toNFC(nfd_term)
term = mw.ustring.toNFC(nfd_term)]]
term = term:gsub("ɔɑ", "ɑː"); term = term:gsub("ɛœ", "øː")
term = term:gsub("ɔɑ", "ɑː"); term = term:gsub("ɛœ", "øː")
-- diphthongized vowels
-- diphthongized vowels