Модуль:Unicode/data
Материал из вики «Вече»
Дополнительные действия
Для документации этого модуля может быть создана страница Модуль:Unicode/data/doc
local p = {}
local data = {}
local function getModuleIndex(number)
if number <= tonumber('0x0EDF') then
return 1
elseif number <= tonumber('0x1D61') then
return 2
elseif number <= tonumber('0x2BFF') then
return 3
elseif number <= tonumber('0xA4C6') then
return 4
elseif number <= tonumber('0xFEFC') then
return 5
elseif number <= tonumber('0x11241') then
return 6
elseif number <= tonumber('0x13455') then
return 7
elseif number <= tonumber('0x18CD5') then
return 8
elseif number <= tonumber('0x1DAAF') then
return 9
else
return 10
end
end
function p.getData(character)
local moduleIndex = 0
local charKey
if type(character) == 'string' then
charKey = character:upper()
character = '0x' .. charKey
moduleIndex = getModuleIndex(tonumber(character))
else
charKey = string.format("%03x", character):upper()
moduleIndex = getModuleIndex(character)
end
if not data[moduleIndex] then
data[moduleIndex] = mw.loadData('Module:Unicode/data/' .. moduleIndex)
end
return data[moduleIndex][charKey]
end
return p