Module:qlu-pron: Difference between revisions
No edit summary |
No edit summary |
||
| Line 18: | Line 18: | ||
local voiceless = "ptʈkɸfsθʃxʦʧʨḱ" | local voiceless = "ptʈkɸfsθʃxʦʧʨḱ" | ||
local consonants = "[" .. voiced .. voiceless .. "ʷː]" | local consonants = "[" .. voiced .. voiceless .. "ʷː]" | ||
local front = "eêĕéiïíîɛɪæyʏøœ" | local front = "eêĕéiïíîɛɪæyʏøœ" | ||
local back = "uúûüoóôɔʊʌɑɒ" | local back = "uúûüoóôɔʊʌɑɒ" | ||
local | |||
local diacritics = c.acute .. c.breve .. c.circ .. c.diaer .. c.tilde | |||
local vowels = "[aáâăɐ" .. front .. back .. diacritics .. "jw]" | |||
local function dediacv(str, diacritic) | local function dediacv(str, diacritic) | ||
| Line 81: | Line 84: | ||
} | } | ||
local advanced = u(0x031F); local lowered = u(0x031E) | |||
local retracted = u(0x0320); local raised = u(0x031D) | |||
local laminal = u(0x033B); local dental = u(0x032A) | |||
local phonetic_rules = { | local phonetic_rules = { | ||
-- Gorgia Toscana | |||
{"(" .. vowels .. "·)p(" .. vowels .. ")", "%1ɸ%2"}, | |||
{"(" .. vowels .. "·)b(" .. vowels .. ")", "%1β%2"}, | |||
{"(" .. vowels .. "·)t(" .. vowels .. ")", "%1θ%2"}, | |||
{"(" .. vowels .. "·)d(" .. vowels .. ")", "%1ð%2"}, | |||
{"(" .. vowels .. "·)k(" .. vowels .. ")", "%1x%2"}, | |||
{"(" .. vowels .. "·)g(" .. vowels .. ")", "%1ɣ%2"}, | |||
{"^ɸ", "f"}, {"(" .. consonants .. ")([·ˈˌ]?)ɸ", "%1%2f"}, | |||
{"^β", "v"}, {"(" .. consonants .. ")([·ˈˌ]?)β", "%1%2v"}, | |||
{"ḱ", "kʷ"}, {"ǵ", "ɡʷ"}, | |||
{"k([ieɛj])", "k" .. advanced .. "%1"}, {"g([ieɛj])", "g˖%1"}, | |||
{"k([oɔu])", "q%1"}, {"g([oɔu])", "ɢ%1"}, | |||
{"([kg])ʷ([ieɛj])", "%1ᶣ%2"}, | |||
{"ŋ([·ˈˌ]?)([kg])([ʷᶣ" .. advanced .. "])", "ŋ%3%1%2%3"}, | |||
-- vowels | |||
{"ɔ", "ɔ" .. advanced}, | |||
{"iw", "ɪw"}, {"uw", "u" .. lowered .. "w"}, | |||
{"ew", "e" .. c.diaer .. lowered .. "w"}, {"ow", "o" .. lowered .. "w"}, | |||
{"ɛw", "æ" .. c.diaer .. "w"}, {"ɔ" .. advanced .. "w", "ʌw"}, | |||
{"ɐw", "ɒw"}, {"aw", "ɑw"}, | |||
{"ij", "ɪj"}, {"uj", "u" .. lowered .. "j"}, | |||
{"ej", "e" .. advanced .. "j"}, {"oj", "o" .. advanced .. "j"}, | |||
{"ɛj", "ɛ" .. raised .. "j"}, {"ɔ" .. advanced .. "j", "ɐ" .. raised .. "j"}, | |||
{"ɐj", "ɔ" .. raised .. "j"}, {"aj", "a" .. c.diaer .. raised .. "j"}, | |||
-- consonants | |||
{"ʈ", "t"}, {"ʦ", "t͡s"}, {"ʣ", "d͡z"}, | |||
{"([ntdszl])", "%1" .. laminal}, {"(͡[sz])" .. laminal, "%1" .. dental}, | |||
{"[ʤʧʃ]", "%1ʷ"}, | |||
} | } | ||
local last_rules = { | local last_rules = { | ||
-- Escaped characters | -- Escaped characters | ||
{"ʤ", "d͡ʒ"}, {"ʧ", "t͡ʃ | {"ʤ", "d͡ʒ"}, {"ʧ", "t͡ʃ"}, | ||
{"g", "ɡ"}, | |||
{"·", "."}, | {"·", "."}, | ||
| Line 170: | Line 206: | ||
local phonetic = phonemic | local phonetic = phonemic | ||
for _, rule in ipairs(phonetic_rules) do | |||
phonetic = gsub(phonetic, rule[1], rule[2]) | phonetic = gsub(phonetic, rule[1], rule[2]) | ||
end | end | ||
for _, rule in ipairs(last_rules) do | for _, rule in ipairs(last_rules) do | ||