Module:ábḫ-ipa: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 117: Line 117:
index = 1
index = 1
for i,val in ipairs(result) do
for i,val in ipairs(result) do
if (i == 1) and mw.ustring.match(val, "%.") and mw.ustring.match(newStresses[1], "%.") then
if (i == 1) and val == "%." and newStresses[1] == "%." then
index = index + 1
index = index + 1
elseif mw.ustring.match(val, "[%.ˈ]") then
elseif mw.ustring.match(val, "[%.ˈ]") then
Line 127: Line 127:
end
end
word = table.concat(newWord)
word = newWord
newWord = {}
-- allophonic rules
for i,val in word do
if val == "a" then
if word[i-1] == nil then
table.insert(newWord, "w")
else
table.insert(newWord, val)
end
else
table.insert(newWord, val)
end
end
word = table.concat(word)
-- go from one-to-one phonemic map to IPA
-- go from one-to-one phonemic map to IPA
word = string.gsub(word, "ā", "aː")
word = string.gsub(word, "â", "âː")
word = string.gsub(word, "ǎ", "ǎː")
word = string.gsub(word, "A", "aɪ̯")
word = string.gsub(word, "Á", "áɪ̯")
word = string.gsub(word, "Ā", "aːɪ̯")
word = string.gsub(word, "Â", "âːɪ̯")
word = string.gsub(word, "Ǎ", "ǎːɪ̯")
word = string.gsub(word, "b", "β")
word = string.gsub(word, "B", "ᵐb")
word = string.gsub(word, "B", "ᵐb")
word = string.gsub(word, "D", "ⁿd")
word = string.gsub(word, "d", "ð")
word = string.gsub(word, "j", "ɲ")
word = string.gsub(word, "D", "ⁿd̪")
word = string.gsub(word, "ē", "eːɪ̯")
word = string.gsub(word, "ê", "êːɪ̯")
word = string.gsub(word, "ě", "ěːɪ̯")
word = string.gsub(word, "G", "ᵑg")
word = string.gsub(word, "G", "ᵑg")
word = string.gsub(word, "P", "mp")
word = string.gsub(word, "h", "ɦ")
word = string.gsub(word, "T", "nt")
word = string.gsub(word, "K", "nk")
word = string.gsub(word, "b", "β")
word = string.gsub(word, "z", "θ")
word = string.gsub(word, "d", "ð")
word = string.gsub(word, "s", "ɕ")
word = string.gsub(word, "J", "ʑ")
word = string.gsub(word, "H", "x")
word = string.gsub(word, "H", "x")
word = string.gsub(word, "h", "ɦ")
word = string.gsub(word, "r", "ɺ")
word = string.gsub(word, "y", "j")
word = string.gsub(word, "ī", "iː")
word = string.gsub(word, "ī", "iː")
word = string.gsub(word, "î", "îː")
word = string.gsub(word, "î", "îː")
word = string.gsub(word, "ǐ", "ǐː")
word = string.gsub(word, "ǐ", "ǐː")
word = string.gsub(word, "ē", "eːɪ̯")
word = string.gsub(word, "I", "ɔɪ̯")
word = string.gsub(word, "ê", "êːɪ̯")
word = string.gsub(word, "Í", "ɔ́ɪ̯")
word = string.gsub(word, "ě", "ěːɪ̯")
word = string.gsub(word, "j", "ɲ̟")
word = string.gsub(word, "J", "ʑ")
word = string.gsub(word, "K", "ŋk")
word = string.gsub(word, "n", "n̪")
word = string.gsub(word, "o", "ɔ")
word = string.gsub(word, "o", "ɔ")
word = string.gsub(word, "ó", "ɔ́")
word = string.gsub(word, "ó", "ɔ́")
Line 157: Line 179:
word = string.gsub(word, "ô", "ɔ̂ːʊ̯")
word = string.gsub(word, "ô", "ɔ̂ːʊ̯")
word = string.gsub(word, "ǒ", "ɔ̌ːʊ̯")
word = string.gsub(word, "ǒ", "ɔ̌ːʊ̯")
word = string.gsub(word, "I", "ɔɪ̯")
word = string.gsub(word, "Í", "ɔ́ɪ̯")
word = string.gsub(word, "ā", "aː")
word = string.gsub(word, "â", "âː")
word = string.gsub(word, "ǎ", "ǎː")
word = string.gsub(word, "A", "aɪ̯")
word = string.gsub(word, "Á", "áɪ̯")
word = string.gsub(word, "Ā", "aːɪ̯")
word = string.gsub(word, "Â", "âːɪ̯")
word = string.gsub(word, "Ǎ", "ǎːɪ̯")
word = string.gsub(word, "O", "aɔ̯")
word = string.gsub(word, "O", "aɔ̯")
word = string.gsub(word, "Ó", "áɔ̯")
word = string.gsub(word, "Ó", "áɔ̯")
Line 172: Line 184:
word = string.gsub(word, "Ô", "âːɔ̯")
word = string.gsub(word, "Ô", "âːɔ̯")
word = string.gsub(word, "Ǒ", "ǎːɔ̯")
word = string.gsub(word, "Ǒ", "ǎːɔ̯")
word = string.gsub(word, "P", "mp")
word = string.gsub(word, "r", "ɺ")
word = string.gsub(word, "s", "ɕ")
word = string.gsub(word, "t", "t̪")
word = string.gsub(word, "T", "n̪t̪")
word = string.gsub(word, "w", "ɐ")
word = string.gsub(word, "y", "j")
word = string.gsub(word, "z", "θ̱")
return "/" .. word .. "/"
return "/" .. word .. "/"