Module:qlu-pron: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 27: Line 27:
local function dediacv(str, diacritic)
local function dediacv(str, diacritic)
return gsub(mw.ustring.toNFD(str), diacritic, "")
return gsub(mw.ustring.toNFD(str), diacritic, "")
end
local function laxen(v)
local otc = {}
local switch = {["e"] = "i", ["i"] = "ɪ", ["u"] = "ʊ"}
for vc in gmatch(v, ".") do
if switch[vc] then vc = gsub(vc, vc, switch[vc]) end
table.insert(otc, vc)
end
return table.concat(otc)
end
end


Line 194: Line 183:
for cluster, _ in pairs(clusters) do
for cluster, _ in pairs(clusters) do
word = gsub(word, "(" .. cluster .. vowels .. "+" .. consonants .. "?)", "·%1·")
word = gsub(word, "(" .. cluster .. vowels .. "+" .. consonants .. "?)", "·%1·")
word = gsub(word, "(" .. consonants .. "+)·(" .. consonants .. "+)", function(c1,c2) return "·" .. c1 .. c2 end)
end
end
word = gsub(word, "(" .. consonants .. vowels .. "+" .. consonants .. "?)", "·%1·")
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")

Navigation menu