Module:pine-pron: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 15: Line 15:
local vowels = "[aɑæɔoʊuʏyɛœøiɪe]"
local vowels = "[aɑæɔoʊuʏyɛœøiɪe]"
local lazy_consonants = "[^" .. vowels_spelling .."]"
local lazy_consonants = "[^" .. vowels_spelling .."]"
local consonants_spelling = "[rṛtįpsṡdḍgġhḥkḳlḷƛvbnṇmṃ]"
local consonants_spelling = "[rṛtįpsṡdḍgġhḥkḳlḷƛvbnṇmṃʧʦ]"


local laxen = {
local laxen = {
Line 64: Line 64:
local vowels = "[" .. vowels_spelling .. "]"
local vowels = "[" .. vowels_spelling .. "]"
local consonants = consonants_spelling --lazy_consonants
local consonants = consonants_spelling --lazy_consonants
term = term:gsub("(t[sṡ])", {["ts"] = "ʦ", ["tṡ"] = "ʧ"})
local words = split(term, "%s")
local words = split(term, "%s")
for i, word in ipairs(words) do
for i, word in ipairs(words) do
word = word:gsub("(" .. consonants .. "*" .. vowels .. "+" .. consonants .. "*)", "%1.")
word = word:gsub("(" .. consonants .. "*" .. vowels .. "+)(" .. consonants .. "*)", "%1.%2")
word = word:gsub("%.$", "")
word = word:gsub("%.(" .. consonants .. "?)$", "%1")
word = word:gsub("(" .. vowels .. ")(" .. consonants .. ")%.(" .. vowels .. ")", "%1.%2%3")
word = word:gsub("%.(" .. consonants .. ")(" .. consonants .. "+)", "%1.%2")
word = word:gsub("^(" .. vowels .. ")(" .. consonants .. ")%.(" .. vowels .. ")$", "%1.%2%3")
words[i] = word
words[i] = word