local getArgs = require('Module:Arguments').getArgs
local p = {}
-- 替换顺序
local order = [[A|B|F|L|T|Y|[1]|[2]|3|4|5|6|7|8|⇧x|⇧a|⇧j|⇧n|⇧w|⇧y|A|B|D|E|F|H|L|N|T|V|1|2|3|4|5|6|7|8]]
-- 替换规则
local rule = {
A = "A",
B = "B",
F = "F",
L = "L",
T = "T",
Y = "ɤ",
["[1]"] = "1",
["[2]"] = "2",
["3"] = "3",
["4"] = "4",
["5"] = "5",
["6"] = "6",
["7"] = "7",
["8"] = "8",
["⇧x"] = "X",
["⇧a"] = "A",
["⇧j"] = "J",
["⇧n"] = '<span style="display:inline-block;position:relative;margin:0em -0.25em 0em 0em;">J<span style="display:inline-block;transform:translate(-48%,-27%) scale(1.3,1.1)">-</span></span>',
["⇧w"] = "W",
["⇧y"] = "Y",
["A"] = '<span style="vertical-align:-7%;display:inline-block;transform:scale(0.8,0.75) rotate(180deg);font-weight:500;margin:0em -0.07em 0em -0.07em;">A</span>',
["B"] = '<span style="vertical-align:-12%;display:inline-block;transform:scale(0.9,1);font-weight:500;margin:0em -0.08em 0em -0.08em;">B</span>',
D = '<span style="display:inline-block;position:relative;transform:scale(1,0.9);vertical-align:-4%;margin:0em -0.5em 0em 0em;">c<span style="display:inline-block;transform:translate(-90%,-18%) scale(0.6,0.8) rotate(90deg)">T</span></span>',
E = '<span style="vertical-align:-6%;display:inline-block;transform:scale(-0.9,0.72);margin:0em -0.12em 0em -0.12em;">3</span>',
["F"] = '<span style="vertical-align:-13%;display:inline-block;transform: scale(-0.9,1);font-weight:500;">F</span>',
H = '<span style="display:inline-block;position:relative;transform:scale(1,1);vertical-align:-16%;margin:0em -0.30em 0em 0em;">l<span style="display:inline-block;transform:translate(-55%,-0%) scale(0.7,1)">-</span></span>',
["L"] = '<span style="vertical-align:-3%;display:inline-block;transform:scale(0.8,0.9);font-weight:500;margin:0em -0.1em 0em -0.1em;">ת</span>',
N = '<span style="vertical-align:-10%;display:inline-block;transform:scale(-1,1.2);font-weight:500;margin:0em -0.05em 0em -0.05em;">ꝇ</span>',
["T"] = '<span style="display:inline-block;position:relative;transform:scale(1,1);margin:0em -0.4em 0em 0em;">o<span style="display:inline-block;transform:translate(-120%,-0%) scale(1.5,1)">-</span></span>',
V = '<span style="vertical-align:-16%;display:inline-block;transform: scale(-1,-0.9);font-weight:500;">y</span>',
["1"] = '<span style="vertical-align:-8%;display:inline-block;transform:scale(1,0.7);font-weight:500;margin:0em -0.2em 0em -0.1em;">1</span>',
["2"] = '<span style="display:inline-block;vertical-align:-16%;transform:scale(-1,-1)">e</span>',
["3"] = '<span style="vertical-align:-6%;display:inline-block;transform:scale(0.9,0.72);margin:0em -0.12em 0em -0.12em;">3</span>',
["4"] = '<span style="vertical-align:-6%;display:inline-block;transform:scale(0.9,0.72);margin:0em -0.12em 0em -0.12em;">4</span>',
["5"] = '<span style="vertical-align:-10%;display:inline-block;transform:scale(1,1.2);font-weight:500;">ꝇ</span>',
["6"] = '<span style="vertical-align:-6%;display:inline-block;transform:scale(0.9,0.72);margin:0em -0.12em 0em -0.12em;">6</span>',
["7"] = '<span style="vertical-align:-16%;display:inline-block;transform: scale(-0.9,-1);font-weight:500;">L</span>',
["8"] = '<span style="vertical-align:-6%;display:inline-block;transform:scale(0.9,0.72);margin:0em -0.12em 0em -0.12em;">8</span>',
}
function p.main(frame)
local args = getArgs(frame)
local text = args[1] or ''
for key in mw.ustring.gmatch(order, "([^|]+)") do
if rule[key] then
text = mw.ustring.gsub(text, key, rule[key])
end
end
return text
end
return p