Module:siwa-pron: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 22: Line 22:
local vowel = "[" .. front_vowel .. back_vowel .. "]"
local vowel = "[" .. front_vowel .. back_vowel .. "]"
local stpattern = "(·?ˈ[mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦ⁽ʰ⁾ʔː]*"..UNRELEASED.."?[iɪyeøɛœæauɔɑʊ])([mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦʔįː]*"..UNRELEASED.."?)"
local stpattern = "(·?ˈ[mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦ⁽ʰ⁾ʔː]*"..UNRELEASED.."?[iɪyeøɛœæauɔɑʊ])([mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦʔįː]*"..UNRELEASED.."?)"
local unstpattern = "(·?ˈ?[mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦ⁽ʰ⁾ʔː]*"..UNRELEASED.."?[iɪyeøɛœæauɔɑʊ]*)([mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦʔįː]*"..UNRELEASED.."?)"
local unstpattern = "(·?ˈ?[mnɲŋpbtdcɟkɡʔvðsɕxɣhʨʥrlɬłʣjwʦ⁽ʰ⁾ʔː]*"..UNRELEASED.."?[iɪyeøɛœæauɔɑʊ]*)(h)"


local srules = {["ɣj"] = "jː", ["h"] = "ʔ",}
local srules = {["ɣj"] = "jː", ["h"] = "ʔ",}
Line 53: Line 53:
to tell apart natural and stress-borne]]
to tell apart natural and stress-borne]]
["p"] = "ƀ", ["d"] = "ꝺ", ["t"] = "đ",  
["p"] = "ƀ", ["d"] = "ꝺ", ["t"] = "đ",  
["ɡ"] = "ɣ", ["k"] = "ꬶ", ["ḥ"] = "ʔ",
["ɡ"] = "ɣ", ["k"] = "ꬶ",
},
},
{ --default all vowels as open (open-closed distinctions are computed later)
{ --default all vowels as open (open-closed distinctions are computed later)
Line 78: Line 78:
},
},
{
{
[stpattern] = function(s1, s2)
[stpattern] = "%1ʔ",
for r, repl in pairs(srules) do x=gsub(s2,r,repl) end return s1..x end,
},
},
{
{