Module:Unicode chart/display
Appearance
--[[-----------------
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] = "<i>ƒ</i><small>()</small>",
[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),
-- Kawi
[0x11F02] = mw.ustring.char(0x11F02),
[0x11F42] = mw.ustring.char(0x11F42),
-- 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),
[0x13439] = mw.ustring.char(0x13439),
[0x1343A] = mw.ustring.char(0x1343A),
[0x1343B] = mw.ustring.char(0x1343B),
[0x1343C] = mw.ustring.char(0x1343C),
[0x1343D] = mw.ustring.char(0x1343D),
[0x1343E] = mw.ustring.char(0x1343E),
[0x1343F] = mw.ustring.char(0x1343F),
[0x13440] = mw.ustring.char(0x13440),
[0x13441] = "FB",
[0x13442] = "HB",
[0x13447] = mw.ustring.char(0x13447),
[0x13448] = mw.ustring.char(0x13448),
[0x13449] = mw.ustring.char(0x13449),
[0x1344A] = mw.ustring.char(0x1344A),
[0x1344B] = mw.ustring.char(0x1344B),
[0x1344C] = mw.ustring.char(0x1344C),
[0x1344D] = mw.ustring.char(0x1344D),
[0x1344E] = mw.ustring.char(0x1344E),
[0x1344F] = mw.ustring.char(0x1344F),
[0x13450] = mw.ustring.char(0x13450),
[0x13451] = mw.ustring.char(0x13451),
[0x13452] = mw.ustring.char(0x13452),
[0x13453] = mw.ustring.char(0x13453),
[0x13454] = mw.ustring.char(0x13454),
[0x13455] = mw.ustring.char(0x13455),
-- 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