Module:siwa-pron: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 10: Line 10:
local gmatch = mw.ustring.gmatch
local gmatch = mw.ustring.gmatch
local gsub = mw.ustring.gsub
local gsub = mw.ustring.gsub
local UNRELEASED = u(0x031A) -- COMBINING LEFT ANGLE ABOVE. ̚
local NASALIZED = u(0x0303) -- COMBINING TILDE. ̃


local consonant = "[" .. "mpbvntdsṡrklgġhįų" .. "]"
local consonant = "[" .. "mpbvntdsṡrklgġhįų" .. "]"
local vowel = "[" .. "aæɑeɛiɪɔʊyœøɤ" .. "]"
local front_vowel = "iɪyeøɛœæa"
local back_vowel = "uɔ" .. NASALIZED .. "?ɑʊ"
local vowel = "[" .. front_vowel .. back_vowel .. "]"


local rules = {
local rules = {
Line 43: Line 48:
["ġ"] = "x",
["ġ"] = "x",
},
},
{ --long vowels, ę, and o remain unchanged
{ --all vowels as open (open-closed distinctions are computed later)
["ẻu"] = "øː",
["a"] = "ɑ", [""] = "æː",
["õu"] = "ɔ̃ː̃",
["ę"] = "æ",
["õ"] = "ɔ̃",
["ả"] = "æː",
["ẻ"] = "eː",
["ẻ"] = "eː",
["ỉ"] = "iː",
["ỉ"] = "iː",
[""] = "ʊː",
["o"] = "ɔ", [""] = "ʊː",
["o"] = "ɔ",
["ủ"] = "uː",
["ủ"] = "uː",
["ỷ"] = "yː",
["ỷ"] = "yː",
["ę"] = "æ",
["ů"] = "ø", ["ẻu"] = "øː",
["õ"] = "ɔ̃", ["õu"] = "ɔ̃ː̃",
},
},
{
{
["^k([ieůy])"] = "c%1",
["^k(" .. front_vowel .. ")"] = "c%1", --word-initial [k] palatalizes before front-vowels
["^([ptkc])"] = "%1ʰ", --voiceless stops word-initially become aspirated
["^([ptkc])"] = "%1ʰ", --voiceless stops word-initially become aspirated
["^gį([ieůy])"] = "d͡z%1", --<gį> word-initially becomes [d͡z]
["^gį(" .. front_vowel .. ")"] = "d͡z%1", --<gį> word-initially and before front vowels is pronounced [d͡z]
["(" .. vowel .. ")t$"] = "%1ʔ%1" -- -Vt becomes -VʔV (or -Vht, not considered)
["(" .. vowel .. ")t$"] = "%1ʔ%1" -- -Vt becomes -VʔV (or -Vht, not considered)
},
},