Module:Kutenai

From Wikisource
Jump to navigation Jump to search
local replacements = {
	["_a"] = "ₐ", -- subscript a
	["_e"] = "ₑ", -- subscript e
	["_i"] = "ᵢ", -- subscript i
	["_u"] = "ᵤ", -- subscript u
	["%^a"] = "ᵃ", -- superscript a
	["%^i"] = "ⁱ", -- superscript i
	["%^u"] = "ᵘ", -- superscript u
	["\\e"] = "ᴇ", ["\\E"] = "ᴇ", -- small capital E
	["\\i"] = "<i>&#953;</i>", -- iota with italics
	["\\u"] = "<i>&#965;</i>", -- upsilon with italics
	["\\y"] = "<i>&#971;</i>", -- upsilon with dialytika and italics
	["l"] = "&#322;", ["L"] = "&#321;", -- L with stroke
	["\\l"] = "&#108;", ["\\L"] = "&#76;", -- L with no stroke
    ["x"] = "&#120;&#803;", ["X"] = "&#88;&#803;", -- X with dot below
    ["c"] = "&#120;&#815;", ["C"] = "&#88;&#815;", -- X with inverted breve below
	["\\%."] = "&#183;", -- middle dot
	["%)"] = "&#700;", -- glottal stop
	["%("] = "&#701;", -- aspiration
	["'"] = "′", -- principal stress accent
	["`"] = "&#8245;", -- secondary stress accent
	["\\v"] = "˘", -- concave accent symbol
}

local p = {}

function p.main(frame)
	local parent = frame:getParent()
	local args = parent.args[1] and parent.args or frame.args
	s = args[1]
	if (s == nil) then
		return "{{{1}}}"
	end
	for i,v in pairs(replacements) do
		s = mw.ustring.gsub(s, i, v)
	end
	return s
end

return p