Module:siwa-noun: Difference between revisions

No edit summary
No edit summary
Line 17: Line 17:
local pagename = mw.title.getCurrentTitle().text
local pagename = mw.title.getCurrentTitle().text
local xc = "[mnɲŋpbtdcɟkɡvðsɕzʑxɣhrlɬjw⁽ʰ⁾ʔː̥͡"..UNRELEASED.."]"
local xc = "[mnɲŋpbtdcɟkɡvðsɕzʑxɣhrlɬjw⁽ʰ⁾ʔː̥͡"..UNRELEASED.."]"


local stressedvowels = {
local stressedvowels = {
Line 31: Line 30:
["k([lvs])"] = "g%1", ["ps"] = "bs", ["[vųbhḥg]"] = "", ["d[aoul]"] = "l", ["ġ[aou]"] = "vv", ["[dġ][eůy]"] = "", ["[rġ]i"] = "ṡi",
["k([lvs])"] = "g%1", ["ps"] = "bs", ["[vųbhḥg]"] = "", ["d[aoul]"] = "l", ["ġ[aou]"] = "vv", ["[dġ][eůy]"] = "", ["[rġ]i"] = "ṡi",
["di"] = "", ["nįi"] = "gįi", ["hhį"] = "ṡ", ["[ou]ų"] = "ů",  
["di"] = "", ["nįi"] = "gįi", ["hhį"] = "ṡ", ["[ou]ų"] = "ů",  
}
local digraphs_to_single = {
["ts"] = "ʦ", ["tṡ"] = "ʨ", ["dį"] = "ʥ", ["ng"] = "ŋ", ["nį"] = "ɲ", ["kį"] = "c", ["gį"] = "ɟ", ["hh"] = "ħ",
}
}


function syll_count(word)
function syll_count(word)
word = m_pron.crux(word, true, false, false)
for _, digraph in ipairs(digraphs_to_single) do
word = gsub(word, "[ˌˈ]", "")
gsub(word, digraph, digraphs_to_single[digraph])
end
--word = m_pron.crux(word, true, false, false)
--word = gsub(word, "[ˌˈ]", "")
local pattern = "(" .. xc .. "?" .. vowels .. "+ː?" .. xc .. "*)"
local pattern = "(" .. xc .. "?" .. vowels .. "+ː?" .. xc .. "*)"
syllable, n = gsub(word, pattern, "%1")
syllable, n = gsub(word, pattern, "%1")
syllable = match(syllable, pattern)
syllable = match(syllable, pattern)
return syllable, n
return word
end
end