Module:qlu-pron: Difference between revisions
No edit summary |
No edit summary |
||
| Line 67: | Line 67: | ||
{"ʤ", "d͡ʒ"}, {"ʧ", "t͡ʃ"}, {"ʦ", "t͡s"}, {"ʣ", "d͡z"}, | {"ʤ", "d͡ʒ"}, {"ʧ", "t͡ʃ"}, {"ʦ", "t͡s"}, {"ʣ", "d͡z"}, | ||
{"ḱ", "kʷ"}, {"ǵ", "ɡʷ"}, {"ʈ", "t"}, | {"ḱ", "kʷ"}, {"ǵ", "ɡʷ"}, {"ʈ", "t"}, | ||
{"·+", "."} | |||
} | } | ||
local function syllabify(word) | local function syllabify(word) | ||
word = gsub(word, "(ː)(" .. vowels .. ")", "%1·%2") | word = gsub(word, "(ː)(" .. vowels .. ")", "%1·%2") | ||
word = gsub(word, "(" .. consonants .. "*)(" .. vowels .. "*)", "%1%2·") | word = gsub(word, "(" .. consonants .. "*)(" .. vowels .. "*)", "%1%2·") | ||
| Line 82: | Line 83: | ||
local syllables = split(word, "·"); | local syllables = split(word, "·"); | ||
if #syllables | if #syllables == 1 then return table.concat(syllables) end -- account for monosyllables | ||
for i, syllable in ipairs(syllables) do | |||
if match(syllable, "[áéíóúý]") then -- if the user inputted manual stress, ignore all the rest | |||
table.insert(syllables, i, "ˈ") | |||
return table.concat(syllables, "·") | |||
end | end | ||
end | end | ||
| Line 131: | Line 112: | ||
phonetic = gsub(phonetic, rule[1], rule[2]) | phonetic = gsub(phonetic, rule[1], rule[2]) | ||
end]] | end]] | ||
for _, rule in ipairs(last_rules) do | for _, rule in ipairs(last_rules) do | ||