Module:sinogramme
ⵜⵉⴼⵔⴰⵙ
Documentation for this module may be created at Module:sinogramme/doc
local sinogramme = {}
local chaine_regex = "⺀-⿕々-〇ヶ㐀-䶿一-鿿﨎-﨩𠀀-𪜇𪜉-𬻿𬼁-"
local tableau_radical_trait = {}
local function code_radical_trait(char)
local code = mw.ustring.codepoint(char)
local page = math.floor(code / 0x1000)
local tableau = tableau_radical_trait[page]
if not tableau then
tableau = mw.loadData(mw.ustring.format("Module:sinogramme/radical trait %X000", page))
tableau_radical_trait[page] = tableau
end
return tableau[char]
end
function sinogramme.chaine_radical_trait(str)
str = mw.ustring.gsub(str, "([" .. chaine_regex .. "])", code_radical_trait)
return str
end
-- Fonctions pour des modèles.
function sinogramme.radical_trait(frame)
local str = frame.args[1] or ""
return sinogramme.chaine_radical_trait(str)
end
function sinogramme.regex(frame)
return chaine_regex
end
return sinogramme