Module:pine-pron: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
Line 64: Line 64:
local vowels = "[" .. vowels_spelling .. "]"
local vowels = "[" .. vowels_spelling .. "]"
local consonants = consonants_spelling --lazy_consonants
local consonants = consonants_spelling --lazy_consonants
local words = split(term, "%s")
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
--[[ substitutions for easier processing
Line 73: Line 85:
}
}
term = term:gsub("(" .. consonants .. ")%1į", "%1įː") -- e.g. nnį > nį:
term = term:gsub("(.)%1į", "%1įː") -- e.g. nnį > nį:
for digraph, repl in pairs(digraphs) do
for digraph, repl in pairs(digraphs) do
         term = term:gsub(digraph, repl)
         term = term:gsub(digraph, repl)
     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 .. "*" .. vowels .. "+" .. consonants .. ")", "%1.")
word = word:gsub("(" .. consonants .. "ː?)(" .. consonants .. "+)", "%1·%2")
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