local p = {}
local getArgs = require('Module:Arguments').getArgs
local function createUnicodeBlockTable(startHex, endHex)
local tab = mw.html.create("table")--:addClass("test")
--header
local labelRow = tab:tag("tr")
labelRow:tag("td")--empty corner cell
for colIndex=0, 15 do
labelRow:tag("td"):wikitext(string.format("%X", colIndex))
end
local startInt = tonumber(startHex:sub(1, -2), 16)
local endInt = tonumber(endHex:sub(1, -2), 16)
for rowIndex=startInt, endInt do
local row = tab:tag("tr")
local rowHex = string.format("%X", rowIndex)
row:tag("th"):wikitext('U+'.. rowHex .. 'x')
for colIndex=0, 15 do
row:tag("td"):wikitext('&#x'.. rowHex .. string.format("%X", colIndex) .. ';')
end
end
return tostring(tab)
end
function p.main(frameArg)
frame = frameArg
local args = getArgs(frame)
local html = ""
if args['block-range-start'] and args['block-range-end'] then
html = createUnicodeBlockTable(args['block-range-start'],
args['block-range-end'])
end
return html
end
return p