/// Returns the character's Unicode name, or a U+ code point label for a character outside the font. pub fn name_of(c: char) -> String { match c { '\u{0041}' => "LATIN CAPITAL LETTER A".to_string(), '\u{0042}' => "LATIN CAPITAL LETTER B".to_string(), '\u{0043}' => "LATIN CAPITAL LETTER C".to_string(), '\u{0044}' => "LATIN CAPITAL LETTER D".to_string(), '\u{0045}' => "LATIN CAPITAL LETTER E".to_string(), '\u{0046}' => "LATIN CAPITAL LETTER F".to_string(), '\u{0047}' => "LATIN CAPITAL LETTER G".to_string(), '\u{0048}' => "LATIN CAPITAL LETTER H".to_string(), '\u{0049}' => "LATIN CAPITAL LETTER I".to_string(), '\u{004a}' => "LATIN CAPITAL LETTER J".to_string(), '\u{004b}' => "LATIN CAPITAL LETTER K".to_string(), '\u{004c}' => "LATIN CAPITAL LETTER L".to_string(), '\u{004d}' => "LATIN CAPITAL LETTER M".to_string(), '\u{004e}' => "LATIN CAPITAL LETTER N".to_string(), '\u{004f}' => "LATIN CAPITAL LETTER O".to_string(), '\u{0050}' => "LATIN CAPITAL LETTER P".to_string(), '\u{0051}' => "LATIN CAPITAL LETTER Q".to_string(), '\u{0052}' => "LATIN CAPITAL LETTER R".to_string(), '\u{0053}' => "LATIN CAPITAL LETTER S".to_string(), '\u{0054}' => "LATIN CAPITAL LETTER T".to_string(), '\u{0055}' => "LATIN CAPITAL LETTER U".to_string(), '\u{0056}' => "LATIN CAPITAL LETTER V".to_string(), '\u{0057}' => "LATIN CAPITAL LETTER W".to_string(), '\u{0058}' => "LATIN CAPITAL LETTER X".to_string(), '\u{0059}' => "LATIN CAPITAL LETTER Y".to_string(), '\u{005a}' => "LATIN CAPITAL LETTER Z".to_string(), '\u{0061}' => "LATIN SMALL LETTER A".to_string(), '\u{0062}' => "LATIN SMALL LETTER B".to_string(), '\u{0063}' => "LATIN SMALL LETTER C".to_string(), '\u{0064}' => "LATIN SMALL LETTER D".to_string(), '\u{0065}' => "LATIN SMALL LETTER E".to_string(), '\u{0066}' => "LATIN SMALL LETTER F".to_string(), '\u{0067}' => "LATIN SMALL LETTER G".to_string(), '\u{0068}' => "LATIN SMALL LETTER H".to_string(), '\u{0069}' => "LATIN SMALL LETTER I".to_string(), '\u{006a}' => "LATIN SMALL LETTER J".to_string(), '\u{006b}' => "LATIN SMALL LETTER K".to_string(), '\u{006c}' => "LATIN SMALL LETTER L".to_string(), '\u{006d}' => "LATIN SMALL LETTER M".to_string(), '\u{006e}' => "LATIN SMALL LETTER N".to_string(), '\u{006f}' => "LATIN SMALL LETTER O".to_string(), '\u{0070}' => "LATIN SMALL LETTER P".to_string(), '\u{0071}' => "LATIN SMALL LETTER Q".to_string(), '\u{0072}' => "LATIN SMALL LETTER R".to_string(), '\u{0073}' => "LATIN SMALL LETTER S".to_string(), '\u{0074}' => "LATIN SMALL LETTER T".to_string(), '\u{0075}' => "LATIN SMALL LETTER U".to_string(), '\u{0076}' => "LATIN SMALL LETTER V".to_string(), '\u{0077}' => "LATIN SMALL LETTER W".to_string(), '\u{0078}' => "LATIN SMALL LETTER X".to_string(), '\u{0079}' => "LATIN SMALL LETTER Y".to_string(), '\u{007a}' => "LATIN SMALL LETTER Z".to_string(), '\u{0030}' => "DIGIT ZERO".to_string(), '\u{0031}' => "DIGIT ONE".to_string(), '\u{0032}' => "DIGIT TWO".to_string(), '\u{0033}' => "DIGIT THREE".to_string(), '\u{0034}' => "DIGIT FOUR".to_string(), '\u{0035}' => "DIGIT FIVE".to_string(), '\u{0036}' => "DIGIT SIX".to_string(), '\u{0037}' => "DIGIT SEVEN".to_string(), '\u{0038}' => "DIGIT EIGHT".to_string(), '\u{0039}' => "DIGIT NINE".to_string(), '\u{0020}' => "SPACE".to_string(), '\u{002e}' => "FULL STOP".to_string(), '\u{002c}' => "COMMA".to_string(), '\u{0027}' => "APOSTROPHE".to_string(), '\u{0060}' => "GRAVE ACCENT".to_string(), '\u{0022}' => "QUOTATION MARK".to_string(), '\u{003a}' => "COLON".to_string(), '\u{003b}' => "SEMICOLON".to_string(), '\u{0021}' => "EXCLAMATION MARK".to_string(), '\u{00a1}' => "INVERTED EXCLAMATION MARK".to_string(), '\u{003f}' => "QUESTION MARK".to_string(), '\u{00bf}' => "INVERTED QUESTION MARK".to_string(), '\u{005e}' => "CIRCUMFLEX ACCENT".to_string(), '\u{005f}' => "LOW LINE".to_string(), '\u{007c}' => "VERTICAL LINE".to_string(), '\u{005c}' => "REVERSE SOLIDUS".to_string(), '\u{002f}' => "SOLIDUS".to_string(), '\u{003c}' => "LESS-THAN SIGN".to_string(), '\u{003e}' => "GREATER-THAN SIGN".to_string(), '\u{2190}' => "LEFTWARDS ARROW".to_string(), '\u{2191}' => "UPWARDS ARROW".to_string(), '\u{2192}' => "RIGHTWARDS ARROW".to_string(), '\u{2193}' => "DOWNWARDS ARROW".to_string(), '\u{002d}' => "HYPHEN-MINUS".to_string(), '\u{2014}' => "EM DASH".to_string(), '\u{00b7}' => "MIDDLE DOT".to_string(), '\u{003d}' => "EQUALS SIGN".to_string(), '\u{002b}' => "PLUS SIGN".to_string(), '\u{2212}' => "MINUS SIGN".to_string(), '\u{00d7}' => "MULTIPLICATION SIGN".to_string(), '\u{00f7}' => "DIVISION SIGN".to_string(), '\u{002a}' => "ASTERISK".to_string(), '\u{0023}' => "NUMBER SIGN".to_string(), '\u{0025}' => "PERCENT SIGN".to_string(), '\u{007e}' => "TILDE".to_string(), '\u{0026}' => "AMPERSAND".to_string(), '\u{0028}' => "LEFT PARENTHESIS".to_string(), '\u{0029}' => "RIGHT PARENTHESIS".to_string(), '\u{005b}' => "LEFT SQUARE BRACKET".to_string(), '\u{005d}' => "RIGHT SQUARE BRACKET".to_string(), '\u{007b}' => "LEFT CURLY BRACKET".to_string(), '\u{007d}' => "RIGHT CURLY BRACKET".to_string(), '\u{0024}' => "DOLLAR SIGN".to_string(), '\u{0040}' => "COMMERCIAL AT".to_string(), '\u{00a9}' => "COPYRIGHT SIGN".to_string(), '\u{00ae}' => "REGISTERED SIGN".to_string(), other => format!("U+{:04X}", other as u32), } }