Module:mg-pron: Difference between revisions

No edit summary
No edit summary
Line 24: Line 24:
local prelims = {
local prelims = {
{"r", "ɾ"}, {"ch", "ʧ"}, {"qu", "k"}, {"il", "ʎ"}, {"ñ", "ɲ"}, {"g", "ɡ"},
{"r", "ɾ"}, {"ch", "ʧ"}, {"qu", "k"}, {"il", "ʎ"}, {"ñ", "ɲ"}, {"g", "ɡ"},
}
local rules = {
{"([ɾs])([ɾs])", function(s1, s2) return same(s1, s2) and "ʰ%1" or s1 .. s2 end},
{".$", {["a"] = "ɐ", ["e"] = "ɪ", ["o"] = "ʊ", --[[["n"] = NASAL]]}}
}
}


local function syllabify(term)
local function syllabify(term)
--term = gsub(term, "(" .. consonants .. "*)(" .. vowels .. "*)", "%1%2.")
term = gsub(term, "(" .. consonants .. "*)(" .. vowels .. "*)", "%1%2.")
term = gsub(term, ".(" .. consonants .. ")(" .. consonants .. ")(" .. vowels .. "*)", "%1.%2%3")
term = gsub(term, ".(" .. consonants .. ")(" .. consonants .. ")(" .. vowels .. "*)", "%1.%2%3")
return term
return term
end
end
local rules = {
{"([ɾs])([ɾs])", function(s1, s2) return same(s1, s2) and "ʰ%1" or s1 .. s2 end},
{".$", {["a"] = "ɐ", ["e"] = "ɪ", ["o"] = "ʊ", --[[["n"] = NASAL]]}}
}


function export.crux(term)
function export.crux(term)
Line 48: Line 48:
for _, rule in ipairs(rules) do
for _, rule in ipairs(rules) do
term = gsub(term, rule[1], rule[2])
--term = gsub(term, rule[1], rule[2])
end
end