Module:mg-pron: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 9: Line 9:


local NASAL = u(0x0303) -- COMBINING TILDE, ̃
local NASAL = u(0x0303) -- COMBINING TILDE, ̃
local NONSYLL = (0x032F) -- COMBINING INVERTED BREVE BELOW, ̯


local velar = "[kɡɫ]"
local velar = "[kɡɫ]"
Line 39: Line 40:
local monosyll = {["n"] = "ˈ", ["pron"] = "", ["particle"] = "(ˈ)", ["prep"] = "(ˈ)", ["conj"] = "(ˈ)"}
local monosyll = {["n"] = "ˈ", ["pron"] = "", ["particle"] = "(ˈ)", ["prep"] = "(ˈ)", ["conj"] = "(ˈ)"}
if #syll == 1 then
if #syll == 1 then
if not pos then error('Part of speech needed to determine stress') end
syll[1] = monosyll[pos] .. (pos ~= "n" and gsub(syll[1], "([aá])", "%1ː") or syll[1])
syll[1] = monosyll[pos] .. (pos ~= "n" and gsub(syll[1], "([aá])", "%1ː") or syll[1])
else
else
Line 58: Line 60:
{"e(" .. consonants .. ")·(" .. consonants .. ")", "ɛ%1·%2"}, {"o(" .. consonants .. ")·(" .. consonants .. ")", "ɔ%1·%2"},  
{"e(" .. consonants .. ")·(" .. consonants .. ")", "ɛ%1·%2"}, {"o(" .. consonants .. ")·(" .. consonants .. ")", "ɔ%1·%2"},  
{"e(" .. consonants .. ")?·(" .. consonants .. ")a", "ɛ%1·%2a"}, {"o(" .. consonants .. ")?·(" .. consonants .. ")a", "ɔ%1·%2a"},
{"e(" .. consonants .. ")?·(" .. consonants .. ")a", "ɛ%1·%2a"}, {"o(" .. consonants .. ")?·(" .. consonants .. ")a", "ɔ%1·%2a"},
{"(" .. vowels .. ")([iu])", "%1%2" .. NONSYLL},
{"ʧ", "(t)ʃ"}, {"·ˈ", "ˈ"}, {"·", "."},  
{"ʧ", "(t)ʃ"}, {"·ˈ", "ˈ"}, {"·", "."},