Modulo:Valido in corsivo

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Valido in corsivo/man (modifica · cronologia)
Sandbox: Modulo:Valido in corsivo/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Valido in corsivo/test (modifica · cronologia · esegui)
Modulo che implementa il template:Valido in corsivo. Da un'idea di WOSlinker.
Si può anche richiamare da un altro modulo. In questo caso ritorna "true" se riceve come primo argomento un testo che può essere scritto in corsivo, altrimenti "false".
local i = {}
function i.IsLatin(frame)
local txt = frame.args[1];
if txt == '' then
return '';
end
local len = mw.ustring.len(txt);
local pos = 1;
while ( pos <= len ) do
charval = mw.ustring.codepoint(mw.ustring.sub(txt, pos))
if charval>=370 and charval<2000 then
return "no";
elseif
charval>=2100 and charval~=8364 then
return "no";
end
pos = pos + 1;
end
return "sì";
end
return i