Module:qlu-pron: Difference between revisions

No edit summary
No edit summary
Line 19: Line 19:
local consonants = "[" .. voiced .. voiceless .. "ʷː]"
local consonants = "[" .. voiced .. voiceless .. "ʷː]"


local front = "eêĕéiïíîɛɪæyʏøœ"
local front = "eêĕéiïíîIɛɪæyʏøœ"
local back = "uúûüoóôɔʊʌɑɒ"
local back = "uúûüoóôɔʊʌɑɒ"


Line 68: Line 68:
local phonemic_rules = {
local phonemic_rules = {
-- vowel digraphs
-- vowel digraphs
{"[ăa]e", "ɛ"}, {"[ăa]u", "ɔ"}, {"[ĕe]i", "i"},
{"[ăa]e", "ɛ"}, {"[ăa]u", "ɔ"}, {"[ĕe]i", "I"},
-- unstressed /a/
-- unstressed /a/
Line 74: Line 74:
-- diphthongs
-- diphthongs
{"i(" .. vowels .. ")", "j%1"}, {"(" .. vowels .. ")i", "%1j"},
{"[iI](" .. vowels .. ")", "j%1"}, {"(" .. vowels .. ")[Ii]", "%1j"},
{"u(" .. vowels .. ")", "w%1"}, {"(" .. vowels .. ")u", "%1w"},
{"u(" .. vowels .. ")", "w%1"}, {"(" .. vowels .. ")u", "%1w"},
{"jw", "ju"}, {"wj", "wi"},
{"jw", "ju"}, {"wj", "wi"},
Line 81: Line 81:
{"(" .. vowels .. ")([mnŋɲ])([·ˈˌ]?)%2", "%1" .. c.tilde .. "%3%2"},
{"(" .. vowels .. ")([mnŋɲ])([·ˈˌ]?)%2", "%1" .. c.tilde .. "%3%2"},
{"(" .. vowels .. ")[mnŋɲ]([·ˈˌ]?)([ɸβfvszθðʃxɣ])", "%1" .. c.tilde .. "%2%3"},
{"(" .. vowels .. ")[mnŋɲ]([·ˈˌ]?)([ɸβfvszθðʃxɣ])", "%1" .. c.tilde .. "%2%3"},
{"ɛ" .. c.tilde, "ẽ"}, {"ɔ" .. c.tilde, "õ"},
{"[ɛI]" .. c.tilde, "ẽ"}, {"ɔ" .. c.tilde, "õ"},
}
}


Line 96: Line 96:
{"(" .. vowels .. "·)g(" .. vowels .. ")", "%1ɣ%2"},
{"(" .. vowels .. "·)g(" .. vowels .. ")", "%1ɣ%2"},
{"I", "ɛ"},
{"^ɸ", "f"}, {"(" .. consonants .. ")([·ˈˌ]?)ɸ", "%1%2f"},
{"^ɸ", "f"}, {"(" .. consonants .. ")([·ˈˌ]?)ɸ", "%1%2f"},
{"^β", "v"}, {"(" .. consonants .. ")([·ˈˌ]?)β", "%1%2v"},
{"^β", "v"}, {"(" .. consonants .. ")([·ˈˌ]?)β", "%1%2v"},
Line 120: Line 121:
{"([ntdszl])", "%1" .. laminal}, {"(͡[sz])" .. laminal, "%1" .. dental},  
{"([ntdszl])", "%1" .. laminal}, {"(͡[sz])" .. laminal, "%1" .. dental},  
{"[ʤʧʃ]", "%1ʷ"},  
{"[ʤʧʃ]", "%1ʷ"},  
}
local upper_rules = {
{"a", "ɐ"}, {"ɸ", "f"}, {"β", "v"}, {"θ", "t"}, {"ð", "d"},
{"^[ˌˈ]", ""}, {"[ˌˈ]", "·"}, {"ju", "y"}, {"[ɛI]", "ɐj"}, {"ɔ", "aw"},
{"r", "ɾ"}, {"r·r", "ʀ"}, {"d·([ʣʤ])", "·%1"}, {"t·([ʦʧ])", "·%1"},
{"ʣ", "z"}, {"ʦ", "s"}, {"ʧ", "ʃ"}, {"ʤ", "ʒ"},
{"(" .. consonants .. ")·%1", "·%1"},
{"(" .. vowels .. ")·s(" .. vowels .. ")", "%1·z%2"},
{"ḱ", "k"}, {"ǵ", "g"}, {"ʎ", "ʎ" .. raised},
{"k([ieɛj])", "c%1"}, {"g([ieɛj])", "ɟ%1"},
{"ã", "ɐᵑ"}, {"ẽ", "eᵑ"}, {"ĩ", "iᵑ"}, {"õ", "oᵑ"}, {"ũ", "uᵑ"},
}
}


Line 209: Line 222:
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
local upper, bolognese, paulistan = phonemic, phonemic, phonemic
for _, rule in ipairs(upper_rules) do
upper = gsub(upper, rule[1], rule[2])
end
for _, rule in ipairs(bolognese_rules) do
bolognese = gsub(bolognese, rule[1], rule[2])
end
for _, rule in ipairs(paulistan_rules) do
paulistan = gsub(paulistan, rule[1], rule[2])
end
end
Line 224: Line 250:
end
end
return phonetic
return {
phonemic = phonemic,
phonetic = phonetic,
dialectal = {
upper = upper, bolognese = bolognese, paulistan = paulistan,
}
}
end
end


Line 246: Line 278:


local IPA_args = {}
local IPA_args = {}
local phonetic = separate_word(term)
local phonetic = export.crux(word).dialectal.upper --separate_word(term)
table.insert(IPA_args, {pron = '[' .. phonetic .. ']'})
table.insert(IPA_args, {pron = '[' .. phonetic .. ']'})