Module:Test: Difference between revisions
Jump to navigation
Jump to search
PhantomCaleb (talk | contribs) mNo edit summary |
KokoroSenshi (talk | contribs) m (Reverting to this version so Template:Hylian works - TODO: create dedicated module for Template:Hylian) |
||
Line 1: | Line 1: | ||
return { | local p = {} | ||
--Hello, world! | |||
function p.hello( frame ) | |||
return "Hello, world!" | |||
end | |||
} | --https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#table | ||
function p.tabletest( frame ) | |||
-- Create table | |||
t = {} | |||
t["foo"] = "foo" | |||
t.bar = "bar" | |||
t[1] = "one" | |||
t[2] = "two" | |||
t[3] = "three" | |||
t[12] = "the number twelve" | |||
t["12"] = "the string twelve" | |||
t[true] = "true" | |||
t[tonumber] = "yes, even functions may be table keys" | |||
t[t] = "yes, a table may be a table key too. Even in itself." | |||
-- This creates a table roughly equivalent to the above | |||
t2 = { | |||
foo = "foo", | |||
bar = "bar", | |||
"one", | |||
"two", | |||
[12] = "the number twelve", | |||
["12"] = "the string twelve", | |||
"three", | |||
[true] = "true", | |||
[tonumber] = "yes, even functions may be table keys", | |||
} | |||
t2[t2] = "yes, a table may be a table key too. Even in itself." | |||
end | |||
--like Template:HylianALBW/Letter | |||
function p.getChar( frame ) | |||
local game = frame.args[1] | |||
local char = frame.args[2] | |||
local size = frame.args[3] | |||
char = char:upper() | |||
--char = string.upper(char) | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Control_structures | |||
--No case-switch in Lua | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Relational_operators | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Logical_operators | |||
--https://stackoverflow.com/questions/27633331/can-i-check-strings-equality-in-lua#27634079 | |||
local letter = char | |||
if game == 'SS' then | |||
if char == 'D' or char == 'W' then letter = 'DW' | |||
elseif char == 'E' or char == 'K' then letter = 'EK' | |||
elseif char == 'O' or char == 'Z' then letter = 'OZ' | |||
end | |||
elseif game == 'ALBW' then | |||
if char == 'D' or char == 'G' then letter = 'DG' | |||
elseif char == 'F' or char == 'R' then letter = 'FR' | |||
elseif char == 'J' or char == 'T' then letter = 'JT' | |||
elseif char == 'E' or char == 'W' then letter = 'EW' | |||
elseif char == 'O' or char == 'Z' then letter = 'OZ' | |||
end | |||
end | |||
local ext = 'png' | |||
if game == 'ALBW' then ext = 'svg' end | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Concatenation_operator | |||
return '<span class="tooltip" title="' .. char .. '">[[File:' .. game .. ' ' .. letter .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>' | |||
end | |||
--like Template:HylianALBW | |||
function p.getWord( frame ) | |||
---- | |||
-- https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual | |||
-- https://www.lua.org/cgi-bin/demo | |||
---- | |||
--Precondition: Assumes no spaces in the string | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Variables | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object | |||
local game = frame.args[1] | |||
local word = frame.args[2] | |||
local size = frame.args[3] | |||
game = game:upper() | |||
if game == 'BOTW' then game = 'ALBW' end | |||
if size == nil or '' then size = '20' end | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#table | |||
local t = {} | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#string | |||
t[1] = '<span style="display:inline-block; margin:1px 4px;">' | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Length_operator | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Control_structures | |||
local i = 1 | |||
repeat | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Function_calls | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#string.sub | |||
local char = word:sub(i,i) | |||
--local char = string.sub(word,i,i) | |||
--local char = word.sub(word,i,i) | |||
--argument formatted like a frame object: | |||
t[i+1] = p.getChar({args={ game, char, size }}) | |||
i = i+1 | |||
until( i > #word ) | |||
t[i+1] = '</span>' | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#table.concat | |||
return table.concat(t," ") | |||
end | |||
--should return the first arg when #invoked | |||
function p.func( frame ) | |||
return frame.args[1] | |||
end | |||
--should return something when #invoked | |||
function p.funcDriver( frame ) | |||
--nope--local f.args[1] = "something" | |||
--local f = {} | |||
--f.args = {} | |||
--f.args[1] = "something" | |||
--local f = {} | |||
--f.args = { "something" } | |||
--return p.func( { args = { "something" } } ) | |||
---local f = { args = { <insert csv list of arguments to p.func here> } } | |||
local f = { args = { "something" } } | |||
return p.func( f ) | |||
end | |||
--like Template:HylianALBW/Letter | |||
function p.getChar( frame ) | |||
local game = frame.args[1] | |||
local char = frame.args[2] | |||
local size = frame.args[3] | |||
char = char:upper() | |||
--char = string.upper(char) | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Control_structures | |||
--No case-switch in Lua | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Relational_operators | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Logical_operators | |||
--https://stackoverflow.com/questions/27633331/can-i-check-strings-equality-in-lua#27634079 | |||
local letter = char | |||
if game == 'SS' then | |||
if char == 'D' or char == 'W' then letter = 'DW' | |||
elseif char == 'E' or char == 'K' then letter = 'EK' | |||
elseif char == 'O' or char == 'Z' then letter = 'OZ' | |||
end | |||
elseif game == 'ALBW' then | |||
if char == 'D' or char == 'G' then letter = 'DG' | |||
elseif char == 'F' or char == 'R' then letter = 'FR' | |||
elseif char == 'J' or char == 'T' then letter = 'JT' | |||
elseif char == 'E' or char == 'W' then letter = 'EW' | |||
elseif char == 'O' or char == 'Z' then letter = 'OZ' | |||
end | |||
end | |||
local ext = 'png' | |||
if game == 'ALBW' then ext = 'svg' end | |||
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Concatenation_operator | |||
return '<span class="tooltip" title="' .. char .. '">[[File:' .. game .. ' ' .. letter .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>' | |||
end | |||
--v2 ~ like Template:HylianALBW | |||
function p.test( frame ) | |||
local game = frame.args[1]:upper() | |||
local word = frame.args[2]:upper() | |||
local size = frame.args[3] | |||
if size == nil or '' then size = '20' end | |||
local dict | |||
if game == 'BOTW' or game == 'ALBW' then | |||
dict = { | |||
D = 'DG', G = 'DG', | |||
F = 'FR', R = 'FR', | |||
J = 'JT', T = 'JT', | |||
E = 'EW', W = 'EW', | |||
O = 'OZ', Z = 'OZ', | |||
} | |||
elseif game == 'SS' then | |||
dict = { | |||
D = 'DW', W = 'DW', | |||
E = 'EK', K = 'EK', | |||
O = 'OZ', Z = 'OZ' | |||
} | |||
end | |||
local ext = 'png' | |||
if game == 'ALBW' then ext = 'svg' end | |||
--Will store the string parts to concatenate | |||
local t = {} | |||
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">') | |||
local i = 1 | |||
repeat | |||
local letter = word:sub(i,i) | |||
if letter == ' ' then | |||
table.insert(t, '</span>') | |||
table.insert(t, ' ') | |||
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">') | |||
else | |||
local glyph = letter | |||
if dict[letter] ~= nil then glyph = dict[letter] end | |||
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
end | |||
i = i+1 | |||
until( i > #word ) | |||
table.insert(t, '</span>') | |||
return table.concat(t," ") | |||
end | |||
--v3 ~ like Template:HylianALBW | |||
function p.test2( frame ) | |||
local game = frame.args[1]:upper() | |||
local word = frame.args[2]:upper() | |||
local size = frame.args[3] | |||
if size == nil or '' then size = '20' end | |||
local dict | |||
if game == 'OOT' or game == 'MM' then | |||
game = 'OoT' | |||
dict = { | |||
A = 'A', | |||
E = 'E', | |||
I = 'I', | |||
O = 'O', | |||
U = 'U', | |||
KA = 'KA', | |||
KI = 'KI', | |||
KU = 'KU', | |||
KE = 'KE', | |||
KO = 'KO', | |||
GA = 'KA', | |||
GI = 'KI', | |||
GU = 'KU', | |||
GE = 'KE', | |||
GO = 'KO', | |||
SA = 'SA', | |||
SHI = 'SHI', | |||
SU = 'SU', | |||
SE = 'SE', | |||
SO = 'SO', | |||
ZA = 'SA', | |||
ZI = 'SHI', | |||
ZU = 'SU', | |||
ZE = 'SE', | |||
ZO = 'SO', | |||
TA = 'TA', | |||
CHI = 'CHI', | |||
TSU = 'TSU', | |||
TE = 'TE', | |||
TO = 'TO', | |||
DA = 'TA', | |||
DI = 'CHI', | |||
DU = 'TSU', | |||
DE = 'TE', | |||
DO = 'TO', | |||
NA = 'NA', | |||
NI = 'NI', | |||
NU = 'NU', | |||
NE = 'NE', | |||
NO = 'NO', | |||
HA = 'HA', | |||
HI = 'HI', | |||
HU = 'HU', | |||
HE = 'HE', | |||
HO = 'HO', | |||
PA = 'HA', | |||
PI = 'HI', | |||
PU = 'HU', | |||
PE = 'HE', | |||
PO = 'HO', | |||
MA = 'MA', | |||
MI = 'MI', | |||
MU = 'MU', | |||
ME = 'ME', | |||
MO = 'MO', | |||
YA = 'YA', | |||
YU = 'YU', | |||
YO = 'YO', | |||
RA = 'RA', | |||
RI = 'RI', | |||
RU = 'RU', | |||
RE = 'RE', | |||
RO = 'RO', | |||
WA = 'WA', | |||
WO = 'WO ' | |||
} | |||
end | |||
local ext = 'png' | |||
--Will store the string parts to concatenate | |||
local t = {} | |||
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">') | |||
local letter = '' | |||
local glyph | |||
local next_char | |||
local i = 1 | |||
repeat | |||
letter = letter .. word:sub(i,i) | |||
repeat | |||
next_char = true | |||
if letter == ' ' then | |||
table.insert(t, '</span>') | |||
table.insert(t, ' ') | |||
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">') | |||
letter = '' | |||
--elseif letter == 'N' then | |||
elseif letter == '.' then | |||
glyph = 'Kuten' | |||
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
letter = '' | |||
elseif letter == ',' then | |||
glyph = 'Toten' | |||
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
letter = '' | |||
elseif dict[letter] ~= nil then | |||
glyph = dict[letter] | |||
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
letter = '' | |||
elseif letter:sub(1,1) == 'N' then | |||
glyph = 'N' | |||
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
letter = letter:sub(2) | |||
next_char = false | |||
elseif #letter >= 3 and letter:sub(2,2) == 'Y' then | |||
--Note that `letter` isn't used in the <span> for these | |||
glyph = letter:sub(1,1) .. 'I' | |||
table.insert(t, '<span class="tooltip" title="' .. glyph .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
glyph = 'Y' .. letter:sub(3,3) | |||
table.insert(t, '<span class="tooltip" title="' .. glyph .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>') | |||
letter = letter:sub(4) | |||
next_char = false | |||
end | |||
until(next_char == true) | |||
i = i+1 | |||
until( i > #word ) | |||
table.insert(t, '</span>') | |||
return table.concat(t," ") | |||
end | |||
return p |
Latest revision as of 05:13, 9 July 2018
Documentation for this module may be created at Module:Test/Documentation
local p = {}
--Hello, world!
function p.hello( frame )
return "Hello, world!"
end
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#table
function p.tabletest( frame )
-- Create table
t = {}
t["foo"] = "foo"
t.bar = "bar"
t[1] = "one"
t[2] = "two"
t[3] = "three"
t[12] = "the number twelve"
t["12"] = "the string twelve"
t[true] = "true"
t[tonumber] = "yes, even functions may be table keys"
t[t] = "yes, a table may be a table key too. Even in itself."
-- This creates a table roughly equivalent to the above
t2 = {
foo = "foo",
bar = "bar",
"one",
"two",
[12] = "the number twelve",
["12"] = "the string twelve",
"three",
[true] = "true",
[tonumber] = "yes, even functions may be table keys",
}
t2[t2] = "yes, a table may be a table key too. Even in itself."
end
--like Template:HylianALBW/Letter
function p.getChar( frame )
local game = frame.args[1]
local char = frame.args[2]
local size = frame.args[3]
char = char:upper()
--char = string.upper(char)
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Control_structures
--No case-switch in Lua
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Relational_operators
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Logical_operators
--https://stackoverflow.com/questions/27633331/can-i-check-strings-equality-in-lua#27634079
local letter = char
if game == 'SS' then
if char == 'D' or char == 'W' then letter = 'DW'
elseif char == 'E' or char == 'K' then letter = 'EK'
elseif char == 'O' or char == 'Z' then letter = 'OZ'
end
elseif game == 'ALBW' then
if char == 'D' or char == 'G' then letter = 'DG'
elseif char == 'F' or char == 'R' then letter = 'FR'
elseif char == 'J' or char == 'T' then letter = 'JT'
elseif char == 'E' or char == 'W' then letter = 'EW'
elseif char == 'O' or char == 'Z' then letter = 'OZ'
end
end
local ext = 'png'
if game == 'ALBW' then ext = 'svg' end
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Concatenation_operator
return '<span class="tooltip" title="' .. char .. '">[[File:' .. game .. ' ' .. letter .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>'
end
--like Template:HylianALBW
function p.getWord( frame )
----
-- https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual
-- https://www.lua.org/cgi-bin/demo
----
--Precondition: Assumes no spaces in the string
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Variables
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
local game = frame.args[1]
local word = frame.args[2]
local size = frame.args[3]
game = game:upper()
if game == 'BOTW' then game = 'ALBW' end
if size == nil or '' then size = '20' end
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#table
local t = {}
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#string
t[1] = '<span style="display:inline-block; margin:1px 4px;">'
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Length_operator
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Control_structures
local i = 1
repeat
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Function_calls
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#string.sub
local char = word:sub(i,i)
--local char = string.sub(word,i,i)
--local char = word.sub(word,i,i)
--argument formatted like a frame object:
t[i+1] = p.getChar({args={ game, char, size }})
i = i+1
until( i > #word )
t[i+1] = '</span>'
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#table.concat
return table.concat(t," ")
end
--should return the first arg when #invoked
function p.func( frame )
return frame.args[1]
end
--should return something when #invoked
function p.funcDriver( frame )
--nope--local f.args[1] = "something"
--local f = {}
--f.args = {}
--f.args[1] = "something"
--local f = {}
--f.args = { "something" }
--return p.func( { args = { "something" } } )
---local f = { args = { <insert csv list of arguments to p.func here> } }
local f = { args = { "something" } }
return p.func( f )
end
--like Template:HylianALBW/Letter
function p.getChar( frame )
local game = frame.args[1]
local char = frame.args[2]
local size = frame.args[3]
char = char:upper()
--char = string.upper(char)
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Control_structures
--No case-switch in Lua
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Relational_operators
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Logical_operators
--https://stackoverflow.com/questions/27633331/can-i-check-strings-equality-in-lua#27634079
local letter = char
if game == 'SS' then
if char == 'D' or char == 'W' then letter = 'DW'
elseif char == 'E' or char == 'K' then letter = 'EK'
elseif char == 'O' or char == 'Z' then letter = 'OZ'
end
elseif game == 'ALBW' then
if char == 'D' or char == 'G' then letter = 'DG'
elseif char == 'F' or char == 'R' then letter = 'FR'
elseif char == 'J' or char == 'T' then letter = 'JT'
elseif char == 'E' or char == 'W' then letter = 'EW'
elseif char == 'O' or char == 'Z' then letter = 'OZ'
end
end
local ext = 'png'
if game == 'ALBW' then ext = 'svg' end
--https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Concatenation_operator
return '<span class="tooltip" title="' .. char .. '">[[File:' .. game .. ' ' .. letter .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>'
end
--v2 ~ like Template:HylianALBW
function p.test( frame )
local game = frame.args[1]:upper()
local word = frame.args[2]:upper()
local size = frame.args[3]
if size == nil or '' then size = '20' end
local dict
if game == 'BOTW' or game == 'ALBW' then
dict = {
D = 'DG', G = 'DG',
F = 'FR', R = 'FR',
J = 'JT', T = 'JT',
E = 'EW', W = 'EW',
O = 'OZ', Z = 'OZ',
}
elseif game == 'SS' then
dict = {
D = 'DW', W = 'DW',
E = 'EK', K = 'EK',
O = 'OZ', Z = 'OZ'
}
end
local ext = 'png'
if game == 'ALBW' then ext = 'svg' end
--Will store the string parts to concatenate
local t = {}
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">')
local i = 1
repeat
local letter = word:sub(i,i)
if letter == ' ' then
table.insert(t, '</span>')
table.insert(t, ' ')
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">')
else
local glyph = letter
if dict[letter] ~= nil then glyph = dict[letter] end
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
end
i = i+1
until( i > #word )
table.insert(t, '</span>')
return table.concat(t," ")
end
--v3 ~ like Template:HylianALBW
function p.test2( frame )
local game = frame.args[1]:upper()
local word = frame.args[2]:upper()
local size = frame.args[3]
if size == nil or '' then size = '20' end
local dict
if game == 'OOT' or game == 'MM' then
game = 'OoT'
dict = {
A = 'A',
E = 'E',
I = 'I',
O = 'O',
U = 'U',
KA = 'KA',
KI = 'KI',
KU = 'KU',
KE = 'KE',
KO = 'KO',
GA = 'KA',
GI = 'KI',
GU = 'KU',
GE = 'KE',
GO = 'KO',
SA = 'SA',
SHI = 'SHI',
SU = 'SU',
SE = 'SE',
SO = 'SO',
ZA = 'SA',
ZI = 'SHI',
ZU = 'SU',
ZE = 'SE',
ZO = 'SO',
TA = 'TA',
CHI = 'CHI',
TSU = 'TSU',
TE = 'TE',
TO = 'TO',
DA = 'TA',
DI = 'CHI',
DU = 'TSU',
DE = 'TE',
DO = 'TO',
NA = 'NA',
NI = 'NI',
NU = 'NU',
NE = 'NE',
NO = 'NO',
HA = 'HA',
HI = 'HI',
HU = 'HU',
HE = 'HE',
HO = 'HO',
PA = 'HA',
PI = 'HI',
PU = 'HU',
PE = 'HE',
PO = 'HO',
MA = 'MA',
MI = 'MI',
MU = 'MU',
ME = 'ME',
MO = 'MO',
YA = 'YA',
YU = 'YU',
YO = 'YO',
RA = 'RA',
RI = 'RI',
RU = 'RU',
RE = 'RE',
RO = 'RO',
WA = 'WA',
WO = 'WO '
}
end
local ext = 'png'
--Will store the string parts to concatenate
local t = {}
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">')
local letter = ''
local glyph
local next_char
local i = 1
repeat
letter = letter .. word:sub(i,i)
repeat
next_char = true
if letter == ' ' then
table.insert(t, '</span>')
table.insert(t, ' ')
table.insert(t, '<span style="display:inline-block; margin:1px 4px;">')
letter = ''
--elseif letter == 'N' then
elseif letter == '.' then
glyph = 'Kuten'
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
letter = ''
elseif letter == ',' then
glyph = 'Toten'
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
letter = ''
elseif dict[letter] ~= nil then
glyph = dict[letter]
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
letter = ''
elseif letter:sub(1,1) == 'N' then
glyph = 'N'
table.insert(t, '<span class="tooltip" title="' .. letter .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
letter = letter:sub(2)
next_char = false
elseif #letter >= 3 and letter:sub(2,2) == 'Y' then
--Note that `letter` isn't used in the <span> for these
glyph = letter:sub(1,1) .. 'I'
table.insert(t, '<span class="tooltip" title="' .. glyph .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
glyph = 'Y' .. letter:sub(3,3)
table.insert(t, '<span class="tooltip" title="' .. glyph .. '">[[File:' .. game .. ' ' .. glyph .. ' Icon.' .. ext .. '|x' .. size .. 'px|link=]]</span>')
letter = letter:sub(4)
next_char = false
end
until(next_char == true)
i = i+1
until( i > #word )
table.insert(t, '</span>')
return table.concat(t," ")
end
return p