Jump to content

ᱢᱳᱰᱩᱞ:character info

ᱣᱤᱠᱤ ᱟᱹᱲᱟᱹ ᱢᱩᱨᱟᱹᱭ ᱠᱷᱚᱱ

Documentation for this module may be created at ᱢᱳᱰᱩᱞ:character info/doc

-- Module:CharacterInfo
local p = {}

-- Main function to display character information
function p.characterInfo(frame)
    -- Get input (Unicode character or code point)
    local args = frame:getParent().args
    local char = args["char"] or "�" -- Default to Replacement Character if none provided

    -- Character metadata
    local data = {
        ["Character"] = char,
        ["Unicode Code Point"] = string.format("U+%04X", mw.ustring.codepoint(char)),
        ["HTML Entity"] = string.format("&#%d;", mw.ustring.codepoint(char)),
        ["Name"] = mw.ustring.charName(char) or "Unknown Name"
    }

    -- Create output table
    local output = {}
    table.insert(output, '<table class="wikitable">')
    table.insert(output, '<caption>Unicode Character Information</caption>')
    table.insert(output, '<tr><th>Property</th><th>Value</th></tr>')

    -- Populate table rows
    for property, value in pairs(data) do
        table.insert(output, string.format('<tr><td>%s</td><td>%s</td></tr>', property, value))
    end

    table.insert(output, '</table>')
    return table.concat(output, "\n")
end

return p