Module:qlu-pron: Difference between revisions

No edit summary
No edit summary
Line 56: Line 56:


local function syllabify(word)
local function syllabify(word)
word = gsub(word, "(" .. consonants .. "?" .. consonants .. "?" .. consonants .. "?" .. vowels .. "?" .. vowels .. vowels .. "?" .. consonants .. "?" .. consonants .. "?)", "·%1·")
word = word:gsub("(" .. consonants .. "?" .. consonants .. "?" .. consonants .. "?" .. vowels .. "?" .. vowels .. vowels .. "?" .. consonants .. "?" .. consonants .. "?)", "·%1·")
word = word:gsub("^·", "")
word = word:gsub("·$", "")
local syllables = split(word, "·");
local syllables = split(word, "·");
if #syllables ~= 1 then
if #syllables ~= 1 then
for i, syll in ipairs(syllables) do
syllables[#syllables - 1] = "ˈ" .. syllables[#syllables - 1]
table.insert(syllables, #syllables-1, "ˈ")
return ret
end
local ret = table.concat(syllables, "·");
if not match(ret, "ˈ") then
syllables = split(ret, "·")
syllables[#syllables - 1] = "ˈ" .. syllables[#syllables - 1]
ret = table.concat(syllables, "·")
end
end
end