Module:anui-pron: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:
local TILDE, NASAL = u(0x0303), u(0x0303) -- COMBINING TILDE ̃
local TILDE, NASAL = u(0x0303), u(0x0303) -- COMBINING TILDE ̃
local TILDEBELOW, CREAKY = u(0x0330), u(0x0330) -- COMBINING TILDE BELOW ̰
local TILDEBELOW, CREAKY = u(0x0330), u(0x0330) -- COMBINING TILDE BELOW ̰
local GRAVE = u(0x0300) -- COMBINING GRAVE ACCENT ̀
local HIGH = u(0x02E6) -- MODIFIER LETTER HIGH TONE BAR ˦
local HIGH = u(0x02E6) -- MODIFIER LETTER HIGH TONE BAR ˦
local HIGHFALL = "˥˦"
local HIGHFALL = "˥˦"
Line 21: Line 22:


local rules = {
local rules = {
{"ʇ", "ǀ"}, {"a" .. TILDEBELOW, "à"}, {"o" .. TILDEBELOW, "ò"},
{"ʇ", "ǀ"}, {"([ḛḭṵ])", mw.ustring.toNFD("$1")}, {TILDEBELOW, GRAVE}, {"([aeiou]" .. GRAVE .. ")", mw.ustring.toNFC("$1")},
--{"a" .. TILDEBELOW, "à"}, {"o" .. TILDEBELOW, "ò"},

Revision as of 16:38, 1 July 2021



local sub = mw.ustring.sub
local find = mw.ustring.find
local gmatch = mw.ustring.gmatch
local gsub = mw.ustring.gsub
local u = mw.ustring.char
local split = mw.text.split
local gsplit = mw.text.gsplit

-- To avoid weird annoying cursor behavior
local TILDE, NASAL = u(0x0303), u(0x0303) -- COMBINING TILDE ̃
local TILDEBELOW, CREAKY = u(0x0330), u(0x0330) -- COMBINING TILDE BELOW ̰
local GRAVE = u(0x0300) -- COMBINING GRAVE ACCENT ̀
local HIGH = u(0x02E6) -- MODIFIER LETTER HIGH TONE BAR ˦
local HIGHFALL = "˥˦"
local LOW = u(0x02E8) -- MODIFIER LETTER LOW TONE BAR ˨
local MID = u(0x02E7) -- MODIFIER LETTER MID TONE BAR ˧
local SYLLABIC = u(0x0329) -- COMBINING VERTICAL LINE BELOW ̩
local SYLLABICA = u(0x030D) -- COMBINING VERTICAL LINE ABOVE ̍


local export = {}

local rules = {
	{"ʇ", "ǀ"}, {"([ḛḭṵ])", mw.ustring.toNFD("$1")}, {TILDEBELOW, GRAVE}, {"([aeiou]" .. GRAVE .. ")", mw.ustring.toNFC("$1")},
		--{"a" .. TILDEBELOW, "à"}, {"o" .. TILDEBELOW, "ò"},
	
	
}

function export.crux(term)
	term=mw.ustring.lower(term)
	
	for _, rule in ipairs(rules) do
		term = gsub(term, rule[1], rule[2])
	end
	
	return term
end

return export