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 vowels = "[aáâăɐ" .. front .. back .. c.acute .. c.breve .. c.circ .. c.diaer .. "jw]"
 
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͡ʃ"}, {"ʦ", "t͡s"}, {"ʣ", "d͡z"},
{"ʤ", "d͡ʒ"}, {"ʧ", "t͡ʃ"},
{"ḱ", "kʷ"}, {"ǵ", "ɡʷ"}, {"ʈ", "t"}, {"g", "ɡ"},
{"g", "ɡ"},
{"·", "."},
{"·", "."},
Line 170: Line 206:
local phonetic = phonemic
local phonetic = phonemic
--[[for _, rule in ipairs(phonetic_rules) do
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