Module:Unicode chart/display

--[[-

Values that look like meaningless pass-through assignments actually have the purpose of forcing a dashed box on printable characters that otherwise would not be identified as needing one. This avoids setting up a second config table for the box status.

The character U+1F3F7 LABEL actually looks like the tags in the Tags block. At least according to the standard. Reality will vary by font. See:
 * https://www.unicode.org/charts/PDF/U1F300.pdf
 * https://www.unicode.org/charts/PDF/UE0000.pdf

--]]-

local display = { -- Basic Latin [0x0000] = "NUL", [0x0001] = "SOH", [0x0002] = "STX", [0x0003] = "ETX", [0x0004] = "EOT", [0x0005] = "ENQ", [0x0006] = "ACK", [0x0007] = "BEL", [0x0008] = "BS", [0x0009] = "HT", [0x000A] = "LF", [0x000B] = "VT", [0x000C] = "FF", [0x000D] = "CR", [0x000E] = "SO", [0x000F] = "SI", [0x0010] = "DLE", [0x0011] = "DC1", [0x0012] = "DC2", [0x0013] = "DC3", [0x0014] = "DC4", [0x0015] = "NAK", [0x0016] = "SYN", [0x0017] = "ETB", [0x0018] = "CAN", [0x0019] = "EM", [0x001A] = "SUB", [0x001B] = "ESC", [0x001C] = "FS", [0x001D] = "GS", [0x001E] = "RS", [0x001F] = "US", [0x0020] = "SP", [0x007F] = "DEL", -- Latin-1 Supplement [0x0080] = "XXX", [0x0081] = "XXX", [0x0082] = "BPH", [0x0083] = "NBH", [0x0084] = "IND", [0x0085] = "NEL", [0x0086] = "SSA", [0x0087] = "ESA", [0x0088] = "HTS", [0x0089] = "HTJ", [0x008A] = "VTS", [0x008B] = "PLD", [0x008C] = "PLU", [0x008D] = "RI", [0x008E] = "SS2", [0x008F] = "SS3", [0x0090] = "DCS", [0x0091] = "PU1", [0x0092] = "PU2", [0x0093] = "STS", [0x0094] = "CCH", [0x0095] = "MW", [0x0096] = "SPA", [0x0097] = "EPA", [0x0098] = "SOS", [0x0099] = "XXX", [0x009A] = "SCI", [0x009B] = "CSI", [0x009C] = "ST", [0x009D] = "OSC", [0x009E] = "PM", [0x009F] = "APC", [0x00A0] = "NB SP", [0x00AD] = "SHY -", -- Combining Diacritical Marks [0x034F] = "CGJ ◌", -- Arabic [0x0600] = mw.ustring.char(0x0600), [0x0601] = mw.ustring.char(0x0601), [0x0602] = mw.ustring.char(0x0602), [0x0603] = mw.ustring.char(0x0603), [0x0604] = mw.ustring.char(0x0604), [0x0605] = mw.ustring.char(0x0605), [0x061C] = "ALM", [0x06DD] = mw.ustring.char(0x06DD), -- Syriac [0x070F] = mw.ustring.char(0x070F).." SAM", -- Arabic Extended-B [0x0890] = mw.ustring.char(0x0890), [0x0891] = mw.ustring.char(0x0891), -- Arabic Extended-A [0x08E2] = mw.ustring.char(0x08E2), -- Kannada [0x0CF1] = mw.ustring.char(0x0CF1), [0x0CF2] = mw.ustring.char(0x0CF2), -- Malayalam [0x0D4E] = mw.ustring.char(0x0D4E), -- Tibetan [0x0F0C] = mw.ustring.char(0x0F0C).." NB", -- Myanmar [0x1039] = mw.ustring.char(0x1039), -- Hangul Jamo [0x115F] = "HC F", [0x1160] = "HJ F", -- Ogham [0x1680] = mw.ustring.char(0x1680), -- Khmer [0x17B4] = "KIV AQ", [0x17B5] = "KIV AA", [0x17D2] = mw.ustring.char(0x17D2), -- Mongolian [0x180B] = "FV S1", [0x180C] = "FV S2", [0x180D] = "FV S3", [0x180E] = "MV S", [0x180F] = "FV S4", -- Tai Tham [0x1A60] = mw.ustring.char(0x1A60), -- Sundanese [0x1BAB] = mw.ustring.char(0x1BAB), -- Vedic Extensions [0x1CF5] = mw.ustring.char(0x1CF5), [0x1CF6] = mw.ustring.char(0x1CF6), -- General Punctuation [0x2000] = "NQ SP", [0x2001] = "MQ SP", [0x2002] = "EN SP", [0x2003] = "EM SP", [0x2004] = "3/M SP", [0x2005] = "4/M SP", [0x2006] = "6/M SP", [0x2007] = "F SP", [0x2008] = "P SP", [0x2009] = "TH SP", [0x200A] = "H SP", [0x200B] = "ZW SP", [0x200C] = "ZW NJ", [0x200D] = "ZW J", [0x200E] = "LRM", [0x200F] = "RLM", [0x2011] = "NB ‑", [0x2028] = "L SEP", [0x2029] = "P SEP", [0x202A] = "LRE", [0x202B] = "RLE", [0x202C] = "PDF", [0x202D] = "LRO", [0x202E] = "RLO", [0x202F] = "NNB SP", [0x205F] = "MM SP", [0x2060] = "WJ", [0x2061] = "&#x3c;i&#x3e;ƒ&#x3c;/i&#x3e;&#x3c;small&#x3e;&#x3c;/small&#x3e;", [0x2062] = "✕", [0x2063] = ",", [0x2064] = "+", [0x2066] = "LRI", [0x2067] = "RLI", [0x2068] = "FSI", [0x2069] = "PDI", [0x206A] = "I SS", [0x206B] = "A SS", [0x206C] = "I AFS", [0x206D] = "A AFS", [0x206E] = "NA DS", [0x206F] = "NO DS", -- Tifinagh [0x2D7F] = mw.ustring.char(0x2D7F), -- Supplemental Punctuation [0x2E3A] = "2M"..mw.ustring.char(0x2E3A), [0x2E3B] = "3M"..mw.ustring.char(0x2E3B), -- CJK Symbols and Punctuation [0x3000] = "ID SP", --whitespace anyway [0x303E] = mw.ustring.char(0x303E), -- Hangul Compatibility Jamo [0x3164] = "HF", -- Meetei Mayek Extensions [0xAAF6] = mw.ustring.char(0xAAF6), -- Variation Selectors [0xFE00] = "VS 1", [0xFE01] = "VS 2", [0xFE02] = "VS 3", [0xFE03] = "VS 4", [0xFE04] = "VS 5", [0xFE05] = "VS 6", [0xFE06] = "VS 7", [0xFE07] = "VS 8", [0xFE08] = "VS 9", [0xFE09] = "VS 10", [0xFE0A] = "VS 11", [0xFE0B] = "VS 12", [0xFE0C] = "VS 13", [0xFE0D] = "VS 14", [0xFE0E] = "VS 15", [0xFE0F] = "VS 16", -- Arabic Presentation Forms-B [0xFEFF] = "ZWN BSP", -- Halfwidth and Fullwidth Forms [0xFFA0] = "HW HF", -- Specials [0xFFF9] = "IA A", [0xFFFA] = "IA S", [0xFFFB] = "IA T", [0xFFFC] = "OBJ", -- Kharoshthi [0x10A3F] = mw.ustring.char(0x10A3F), -- Brahmi [0x11003] = mw.ustring.char(0x11003), [0x11004] = mw.ustring.char(0x11004), [0x1107F] = "BNJ", -- Kaithi [0x110BD] = mw.ustring.char(0x110BD), [0x110CD] = mw.ustring.char(0x110CD), -- Chakma [0x11133] = mw.ustring.char(0x11133), -- Sharada [0x111C2] = mw.ustring.char(0x111C2), [0x111C3] = mw.ustring.char(0x111C3), -- Newa [0x11460] = mw.ustring.char(0x11460), [0x11461] = mw.ustring.char(0x11461), -- Dives Akuru [0x1193E] = mw.ustring.char(0x1193E), [0x1193F] = mw.ustring.char(0x1193F), [0x11941] = mw.ustring.char(0x11941), -- Zanabazar Square [0x11A3A] = mw.ustring.char(0x11A3A), [0x11A47] = mw.ustring.char(0x11A47), -- Soyombo [0x11A84] = mw.ustring.char(0x11A84), [0x11A85] = mw.ustring.char(0x11A85), [0x11A86] = mw.ustring.char(0x11A86), [0x11A87] = mw.ustring.char(0x11A87), [0x11A88] = mw.ustring.char(0x11A88), [0x11A89] = mw.ustring.char(0x11A89), [0x11A99] = mw.ustring.char(0x11A99), -- Masaram Gondi [0x11D45] = mw.ustring.char(0x11D45), [0x11D46] = mw.ustring.char(0x11D46), -- Gunjala Gondi [0x11D97] = mw.ustring.char(0x11D97), -- Egyptian Hieroglyph Format Controls [0x13430] = mw.ustring.char(0x13430), [0x13431] = mw.ustring.char(0x13431), [0x13432] = mw.ustring.char(0x13432), [0x13433] = mw.ustring.char(0x13433), [0x13434] = mw.ustring.char(0x13434), [0x13435] = mw.ustring.char(0x13435), [0x13436] = mw.ustring.char(0x13436), [0x13437] = mw.ustring.char(0x13437), [0x13438] = mw.ustring.char(0x13438), -- Miao [0x16F8F] = mw.ustring.char(0x16F8F), [0x16F90] = mw.ustring.char(0x16F90), [0x16F91] = mw.ustring.char(0x16F91), [0x16F92] = mw.ustring.char(0x16F92), -- Ideographic Symbols and Punctuation [0x16FE4] = "KSS F", -- Duployan [0x1BC9D] = "DT LS", -- Shorthand Format Controls [0x1BCA0] = mw.ustring.char(0x1BCA0), [0x1BCA1] = mw.ustring.char(0x1BCA1), [0x1BCA2] = mw.ustring.char(0x1BCA2), [0x1BCA3] = mw.ustring.char(0x1BCA3), -- Musical Symbols [0x1D159] = "NULL NOTE HEAD", [0x1D173] = "BEGIN BEAM", [0x1D174] = "END BEAM", [0x1D175] = "BEGIN TIE", [0x1D176] = "END TIE", [0x1D177] = "BEGIN SLUR", [0x1D178] = "END SLUR", [0x1D179] = "BEGIN PHR.", [0x1D17A] = "END PHR.", -- Sutton SignWriting [0x1DA9B] = "SW F2", [0x1DA9C] = "SW F3", [0x1DA9D] = "SW F4", [0x1DA9E] = "SW F5", [0x1DA9F] = "SW F6", [0x1DAA1] = "SW R2", [0x1DAA2] = "SW R3", [0x1DAA3] = "SW R4", [0x1DAA4] = "SW R5", [0x1DAA5] = "SW R6", [0x1DAA6] = "SW R7", [0x1DAA7] = "SW R8", [0x1DAA8] = "SW R9", [0x1DAA9] = "SW R10", [0x1DAAA] = "SW R11", [0x1DAAB] = "SW R12", [0x1DAAC] = "SW R13", [0x1DAAD] = "SW R14", [0x1DAAE] = "SW R15", [0x1DAAF] = "SW R16", -- Enclosed Alphanumeric Supplement [0x1F1E6] = mw.ustring.char(0x1F1E6), [0x1F1E7] = mw.ustring.char(0x1F1E7), [0x1F1E8] = mw.ustring.char(0x1F1E8), [0x1F1E9] = mw.ustring.char(0x1F1E9), [0x1F1EA] = mw.ustring.char(0x1F1EA), [0x1F1EB] = mw.ustring.char(0x1F1EB), [0x1F1EC] = mw.ustring.char(0x1F1EC), [0x1F1ED] = mw.ustring.char(0x1F1ED), [0x1F1EE] = mw.ustring.char(0x1F1EE), [0x1F1EF] = mw.ustring.char(0x1F1EF), [0x1F1F0] = mw.ustring.char(0x1F1F0), [0x1F1F1] = mw.ustring.char(0x1F1F1), [0x1F1F2] = mw.ustring.char(0x1F1F2), [0x1F1F3] = mw.ustring.char(0x1F1F3), [0x1F1F4] = mw.ustring.char(0x1F1F4), [0x1F1F5] = mw.ustring.char(0x1F1F5), [0x1F1F6] = mw.ustring.char(0x1F1F6), [0x1F1F7] = mw.ustring.char(0x1F1F7), [0x1F1F8] = mw.ustring.char(0x1F1F8), [0x1F1F9] = mw.ustring.char(0x1F1F9), [0x1F1FA] = mw.ustring.char(0x1F1FA), [0x1F1FB] = mw.ustring.char(0x1F1FB), [0x1F1FC] = mw.ustring.char(0x1F1FC), [0x1F1FD] = mw.ustring.char(0x1F1FD), [0x1F1FE] = mw.ustring.char(0x1F1FE), [0x1F1FF] = mw.ustring.char(0x1F1FF), }

-- Tags local tag = ' '..mw.ustring.char(0x1F3F7) display[0xE0001] = "BEGIN"..tag display[0xE0020] = "SP"..tag for n = 0xE0021,0xE007F do display[n] = (string.char(n-0xE0000)..tag) end

-- Variation Selectors Supplement for n = 0xE0100,0x0E01EF do display[n] = "VS "..(n-0xE00EF) end

return display