Module:qlu-pron: Difference between revisions
No edit summary |
No edit summary |
||
| Line 76: | Line 76: | ||
local function syllabify(word) | local function syllabify(word) | ||
word = gsub(word, "(" .. consonants .. " | local clusters = require("Module:table").listToSet({ | ||
"s[ptʈkfɸ]", "z[bdgβʤmnlr]", | |||
"[fɸvβpbtʈdkg]r", "[fɸvβpbkg]l", | |||
"[fɸvβszpbtʈdkgmnŋɲ][jw]", | |||
"s[ptʈkfɸ]r", "z[bdg]r", | |||
"s[pk]l", "zbl", | |||
"[fɸvβpbtʈdkg]r[jw]" | |||
}) | |||
for _, cluster in ipairs(clusters) do | |||
word = gsub(word, "(" .. cluster .. vowels .. "+" .. consonants .. "-", "·%1·") | |||
end | |||
word = gsub(word, "(" .. consonants .. "-" .. vowels .. "+" .. consonants .. "-)", "·%1·") | |||
word = gsub(word, "··", "·"); word = gsub(word, "·$", ""); word = gsub(word, "^·", "") | word = gsub(word, "··", "·"); word = gsub(word, "·$", ""); word = gsub(word, "^·", "") | ||
word = gsub(word, "(" .. consonants .. ")·(" .. vowels .. ")", "·%1%2") | word = gsub(word, "(" .. consonants .. ")·(" .. vowels .. ")", "·%1%2") | ||