Module:qlu-pron: Difference between revisions
No edit summary |
No edit summary Tag: Reverted |
||
| Line 73: | Line 73: | ||
local function syllabify(word) | local function syllabify(word) | ||
local syll_pats = { | |||
{"(ː)(" .. vowels .. ")", "%1·%2"}, | |||
{"(" .. consonants .. "*)(" .. vowels .. "*)", "%1%2·"}, | |||
{"·+", "·"}, {"·$", ""}, {"^·", ""}, | |||
{"·(" .. consonants .. ")(" .. consonants .. ")(" .. vowels .. "*)", "%1·%2%3"}, | |||
{"·(" .. consonants .. ")$", "%1"}, {"·(" .. consonants .. ")·", "%1·"}, | |||
} | |||
local syllables = split(word, "·"); | local syllables = split(word, "·"); | ||
| Line 86: | Line 85: | ||
if #syllables == 1 then return table.concat(syllables) end -- account for monosyllables | if #syllables == 1 then return table.concat(syllables) end -- account for monosyllables | ||
for i, syllable in ipairs(syllables) do | for i, syllable in ipairs(syllables) do | ||
if match(syllable, "[ | if match(syllable, "[áéíóú]") then -- if the user inputted manual stress, ignore all the rest | ||
table.insert(syllables, i, " | table.insert(syllables, i, "ˌ") | ||
end | end | ||
end | end | ||