Module:pine-pron: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Tag: Reverted
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ṃ" .. "ʧŋʦɟɲɳcʔθɕʎʟ]"


local laxen = {
local laxen = {
Line 65: Line 65:
local consonants = consonants_spelling --lazy_consonants
local consonants = consonants_spelling --lazy_consonants
local words = split(term, "%s")
-- substitutions for easier processing
for i, word in ipairs(words) do
word = word:gsub("(" .. consonants .. "*" .. vowels .. "+" .. consonants .. "*)", "%1.")
--word = word:gsub("(" .. consonants .. ")(" .. consonants .. "+)", "%1·%2")
--word = word:gsub("^(" .. consonants .. ")·", "%1"); word = word:gsub("·(" .. consonants .. ")$", "%1")
words[i] = word
end
--[[ substitutions for easier processing
local digraphs = {
local digraphs = {
["tṡ"] = "ʧ", ["ng"] = "ŋ", ["ts"] = "ʦ",
["tṡ"] = "ʧ", ["ng"] = "ŋ", ["ts"] = "ʦ",
Line 90: Line 78:
     end
     end
-- Split between spaces if term is multiword
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 .. "ː?)(" .. consonants .. "+)", "%1·%2")
--word = word:gsub("(" .. consonants .. "*" .. vowels .. "+" .. consonants .. "*)", "%1·")
word = word:gsub("(" .. consonants .. ")(" .. consonants .. "+)", "%1·%2")
word = word:gsub("^(" .. consonants .. ")·", "%1"); word = word:gsub("·(" .. consonants .. ")$", "%1")
word = word:gsub("^(" .. consonants .. ")·", "%1"); word = word:gsub("·(" .. consonants .. ")$", "%1")
words[i] = word
words[i] = word
end]]
end
 
return table.concat(words, " ")
return table.concat(words, " ")
end
end

Navigation menu