Module:rad-IPA: Difference between revisions

ਕੋਈ ਸੋਧ ਸਾਰ ਨਹੀਂ
No edit summary
No edit summary
Line 1,894: Line 1,894:
local V_short_regex = "[uyiɔœɛɤa]([^ːaeoiu])"
local V_short_regex = "[uyiɔœɛɤa]([^ːaeoiu])"
IPA = mw.ustring.match(IPA, "[^ˈˌ]+$")
IPA = mw.ustring.match(IPA, "[^ˈˌ]+$")
IPA = mw.ustring.gsub(IPA, "ː(" .. V_short_regex .. ")", "ː.%1")
IPA = mw.ustring.gsub(IPA, "ː(" .. V_long_regex .. ")", "ː.%1")
IPA = mw.ustring.gsub(IPA, "^[" .. C_regex .. "]+", "") -- delete consonant cluster
IPA = mw.ustring.gsub(IPA, "^[" .. C_regex .. "]+", "") -- delete consonant cluster
IPA = mw.ustring.gsub(IPA, "^" .. V_short_regex, "%1") -- delete short vowel
IPA = mw.ustring.gsub(IPA, "^".. V_long_regex, "") -- delete long vowel
IPA = mw.ustring.gsub(IPA, "^".. V_long_regex, "") -- delete long vowel
IPA = mw.ustring.gsub(IPA, "^" .. V_short_regex, "%1") -- delete short vowel
IPA = mw.ustring.gsub(IPA, "^[" .. C_regex .. "]+", "") -- delete consonant cluster
IPA = mw.ustring.gsub(IPA, "^[" .. C_regex .. "]+", "") -- delete consonant cluster
if mw.ustring.find(IPA, "^".. V_long_regex) or mw.ustring.find(IPA, "^[uyiɔœɛɤa][" .. C_regex .. "]*$") then return nil end
if mw.ustring.find(IPA, "^".. V_long_regex) or mw.ustring.find(IPA, "^[uyiɔœɛɤa][" .. C_regex .. "]*$") then return nil end