Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Unicode chart/display

From Wikipedia, the free encyclopedia
--[[-----------------

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