/// This MS-DOS CodePage 850. It offers a compromise between the box
/// characters of CodePage 437 and the accents of ISO 8859-1 / Latin-1.
#[repr(u8)]
#[derive(Copy, Clone)]
pub enum Char {
Null, // Char 000 ' ' = REPLACEMENT CHARACTER
SOH, // Char 001 '☺' = WHITE SMILING FACE
STX, // Char 002 '☻' = BLACK SMILING FACE
ETX, // Char 003 '♥' = BLACK HEART SUIT
EOT, // Char 004 '♦' = BLACK DIAMOND SUIT
ENQ, // Char 005 '♣' = BLACK CLUB SUIT
ACK, // Char 006 '♠' = BLACK SPADE SUIT
BEL, // Char 007 '•' = BULLET
BS, // Char 008 '◘' = INVERSE BULLET
HT, // Char 009 '○' = WHITE CIRCLE
LF, // Char 010 '◙' = INVERSE WHITE CIRCLE
VT, // Char 011 '♂' = MALE SIGN
FF, // Char 012 '♀' = FEMALE SIGN
CR, // Char 013 '♪' = EIGHTH NOTE
SO, // Char 014 '♫' = BEAMED EIGHTH NOTES
SI, // Char 015 '☼' = WHITE SUN WITH RAYS
DLE, // Char 016 '►' = BLACK RIGHT-POINTING ARROW
DC1, // Char 017 '◄' = BLACK LEFT-POINTING ARROW
DC2, // Char 018 '↕' = UP DOWN ARROW
DC3, // Char 019 '‼' = DOUBLE EXCLAMATION MARK
DC4, // Char 020 '¶' = PILCROW SIGN
NAK, // Char 021 '§' = SECTION SIGN
SYN, // Char 022 '▬' = BLACK RECTANGLE
ETB, // Char 023 '↨' = UP DOWN ARROW WITH BASE
CAN, // Char 024 '↑' = UPWARDS ARROW
EM, // Char 025 '↓' = DOWNWARDS ARROW
SUB, // Char 026 '→' = RIGHTWARDS ARROW
Escape, // Char 027 '←' = LEFTWARDS ARROW
FS, // Char 028 '∟' = RIGHT ANDLE
GS, // Char 029 '↔' = LEFT RIGHT ARROW
RS, // Char 030 '▲' = BLACK UP POINTING ARROW
US, // Char 031 '▼' = BLACK DOWN POINTING ARROW
Space, // Char 032 ' ' = SPACE
ExclamationMark, // Char 033 '!' = EXCLAMATION MARK
QuotationMark, // Char 034 '"' = QUOTATION MARK
NumberSign, // Char 035 '#' = NUMBER SIGN
DollarSign, // Char 036 '$' = DOLLAR SIGN
PercentSign, // Char 037 '%' = PERCENT SIGN
Ampersand, // Char 038 '&' = AMPERSAND
Apostrophe, // Char 039 "'" = APOSTROPHE
LeftParenthesis, // Char 040 '(' = LEFT PARENTHESIS
RightParenthesis, // Char 041 ')' = RIGHT PARENTHESIS
Asterisk, // Char 042 '*' = ASTERISK
PlusSign, // Char 043 '+' = PLUS SIGN
Comma, // Char 044 ',' = COMMA
HyphenMinus, // Char 045 '-' = HYPHEN-MINUS
FullStop, // Char 046 '.' = FULL STOP
Solidus, // Char 047 '/' = SOLIDUS
DigitZero, // Char 048 '0' = DIGIT ZERO
DigitOne, // Char 049 '1' = DIGIT ONE
DigitTwo, // Char 050 '2' = DIGIT TWO
DigitThree, // Char 051 '3' = DIGIT THREE
DigitFour, // Char 052 '4' = DIGIT FOUR
DigitFive, // Char 053 '5' = DIGIT FIVE
DigitSix, // Char 054 '6' = DIGIT SIX
DigitSeven, // Char 055 '7' = DIGIT SEVEN
DigitEight, // Char 056 '8' = DIGIT EIGHT
DigitNine, // Char 057 '9' = DIGIT NINE
Colon, // Char 058 ':' = COLON
Semicolon, // Char 059 ';' = SEMICOLON
LessThanSign, // Char 060 '<' = LESS-THAN SIGN
EqualsSign, // Char 061 '=' = EQUALS SIGN
GreaterThanSign, // Char 062 '>' = GREATER-THAN SIGN
QuestionMark, // Char 063 '?' = QUESTION MARK
CommercialAt, // Char 064 '@' = COMMERCIAL AT
LatinCapitalLetterA, // Char 065 'A' = LATIN CAPITAL LETTER A
LatinCapitalLetterB, // Char 066 'B' = LATIN CAPITAL LETTER B
LatinCapitalLetterC, // Char 067 'C' = LATIN CAPITAL LETTER C
LatinCapitalLetterD, // Char 068 'D' = LATIN CAPITAL LETTER D
LatinCapitalLetterE, // Char 069 'E' = LATIN CAPITAL LETTER E
LatinCapitalLetterF, // Char 070 'F' = LATIN CAPITAL LETTER F
LatinCapitalLetterG, // Char 071 'G' = LATIN CAPITAL LETTER G
LatinCapitalLetterH, // Char 072 'H' = LATIN CAPITAL LETTER H
LatinCapitalLetterI, // Char 073 'I' = LATIN CAPITAL LETTER I
LatinCapitalLetterJ, // Char 074 'J' = LATIN CAPITAL LETTER J
LatinCapitalLetterK, // Char 075 'K' = LATIN CAPITAL LETTER K
LatinCapitalLetterL, // Char 076 'L' = LATIN CAPITAL LETTER L
LatinCapitalLetterM, // Char 077 'M' = LATIN CAPITAL LETTER M
LatinCapitalLetterN, // Char 078 'N' = LATIN CAPITAL LETTER N
LatinCapitalLetterO, // Char 079 'O' = LATIN CAPITAL LETTER O
LatinCapitalLetterP, // Char 080 'P' = LATIN CAPITAL LETTER P
LatinCapitalLetterQ, // Char 081 'Q' = LATIN CAPITAL LETTER Q
LatinCapitalLetterR, // Char 082 'R' = LATIN CAPITAL LETTER R
LatinCapitalLetterS, // Char 083 'S' = LATIN CAPITAL LETTER S
LatinCapitalLetterT, // Char 084 'T' = LATIN CAPITAL LETTER T
LatinCapitalLetterU, // Char 085 'U' = LATIN CAPITAL LETTER U
LatinCapitalLetterV, // Char 086 'V' = LATIN CAPITAL LETTER V
LatinCapitalLetterW, // Char 087 'W' = LATIN CAPITAL LETTER W
LatinCapitalLetterX, // Char 088 'X' = LATIN CAPITAL LETTER X
LatinCapitalLetterY, // Char 089 'Y' = LATIN CAPITAL LETTER Y
LatinCapitalLetterZ, // Char 090 'Z' = LATIN CAPITAL LETTER Z
LeftSquareBracket, // Char 091 '[' = LEFT SQUARE BRACKET
ReverseSolidus, // Char 092 '\\' = REVERSE SOLIDUS
RightSquareBracket, // Char 093 ']' = RIGHT SQUARE BRACKET
CircumflexAccent, // Char 094 '^' = CIRCUMFLEX ACCENT
LowLine, // Char 095 '_' = LOW LINE
GraveAccent, // Char 096 '`' = GRAVE ACCENT
LatinSmallLetterA, // Char 097 'a' = LATIN SMALL LETTER A
LatinSmallLetterB, // Char 098 'b' = LATIN SMALL LETTER B
LatinSmallLetterC, // Char 099 'c' = LATIN SMALL LETTER C
LatinSmallLetterD, // Char 100 'd' = LATIN SMALL LETTER D
LatinSmallLetterE, // Char 101 'e' = LATIN SMALL LETTER E
LatinSmallLetterF, // Char 102 'f' = LATIN SMALL LETTER F
LatinSmallLetterG, // Char 103 'g' = LATIN SMALL LETTER G
LatinSmallLetterH, // Char 104 'h' = LATIN SMALL LETTER H
LatinSmallLetterI, // Char 105 'i' = LATIN SMALL LETTER I
LatinSmallLetterJ, // Char 106 'j' = LATIN SMALL LETTER J
LatinSmallLetterK, // Char 107 'k' = LATIN SMALL LETTER K
LatinSmallLetterL, // Char 108 'l' = LATIN SMALL LETTER L
LatinSmallLetterM, // Char 109 'm' = LATIN SMALL LETTER M
LatinSmallLetterN, // Char 110 'n' = LATIN SMALL LETTER N
LatinSmallLetterO, // Char 111 'o' = LATIN SMALL LETTER O
LatinSmallLetterP, // Char 112 'p' = LATIN SMALL LETTER P
LatinSmallLetterQ, // Char 113 'q' = LATIN SMALL LETTER Q
LatinSmallLetterR, // Char 114 'r' = LATIN SMALL LETTER R
LatinSmallLetterS, // Char 115 's' = LATIN SMALL LETTER S
LatinSmallLetterT, // Char 116 't' = LATIN SMALL LETTER T
LatinSmallLetterU, // Char 117 'u' = LATIN SMALL LETTER U
LatinSmallLetterV, // Char 118 'v' = LATIN SMALL LETTER V
LatinSmallLetterW, // Char 119 'w' = LATIN SMALL LETTER W
LatinSmallLetterX, // Char 120 'x' = LATIN SMALL LETTER X
LatinSmallLetterY, // Char 121 'y' = LATIN SMALL LETTER Y
LatinSmallLetterZ, // Char 122 'z' = LATIN SMALL LETTER Z
LeftCurlyBracket, // Char 123 '{' = LEFT CURLY BRACKET
VerticalLine, // Char 124 '|' = VERTICAL LINE
RightCurlyBracket, // Char 125 '}' = RIGHT CURLY BRACKET
Tilde, // Char 126 '~' = TILDE
Delete, // Char 127 '\x7f' = DELETE
LatinCapitalLetterCWithCedilla, // Char 128 'Ç' = LATIN CAPITAL LETTER C WITH CEDILLA
LatinSmallLetterUWithDiaeresis, // Char 129 'ü' = LATIN SMALL LETTER U WITH DIAERESIS
LatinSmallLetterEWithAcute, // Char 130 'é' = LATIN SMALL LETTER E WITH ACUTE
LatinSmallLetterAWithCircumflex, // Char 131 'â' = LATIN SMALL LETTER A WITH CIRCUMFLEX
LatinSmallLetterAWithDiaeresis, // Char 132 'ä' = LATIN SMALL LETTER A WITH DIAERESIS
LatinSmallLetterAWithGrave, // Char 133 'à' = LATIN SMALL LETTER A WITH GRAVE
LatinSmallLetterAWithRingAbove, // Char 134 'å' = LATIN SMALL LETTER A WITH RING ABOVE
LatinSmallLetterCWithCedilla, // Char 135 'ç' = LATIN SMALL LETTER C WITH CEDILLA
LatinSmallLetterEWithCircumflex, // Char 136 'ê' = LATIN SMALL LETTER E WITH CIRCUMFLEX
LatinSmallLetterEWithDiaeresis, // Char 137 'ë' = LATIN SMALL LETTER E WITH DIAERESIS
LatinSmallLetterEWithGrave, // Char 138 'è' = LATIN SMALL LETTER E WITH GRAVE
LatinSmallLetterIWithDiaeresis, // Char 139 'ï' = LATIN SMALL LETTER I WITH DIAERESIS
LatinSmallLetterIWithCircumflex, // Char 140 'î' = LATIN SMALL LETTER I WITH CIRCUMFLEX
LatinSmallLetterIWithGrave, // Char 141 'ì' = LATIN SMALL LETTER I WITH GRAVE
LatinCapitalLetterAWithDiaeresis, // Char 142 'Ä' = LATIN CAPITAL LETTER A WITH DIAERESIS
LatinCapitalLetterAWithRingAbove, // Char 143 'Å' = LATIN CAPITAL LETTER A WITH RING ABOVE
LatinCapitalLetterEWithAcute, // Char 144 'É' = LATIN CAPITAL LETTER E WITH ACUTE
LatinSmallLetterAe, // Char 145 'æ' = LATIN SMALL LETTER AE
LatinCapitalLetterAe, // Char 146 'Æ' = LATIN CAPITAL LETTER AE
LatinSmallLetterOWithCircumflex, // Char 147 'ô' = LATIN SMALL LETTER O WITH CIRCUMFLEX
LatinSmallLetterOWithDiaeresis, // Char 148 'ö' = LATIN SMALL LETTER O WITH DIAERESIS
LatinSmallLetterOWithGrave, // Char 149 'ò' = LATIN SMALL LETTER O WITH GRAVE
LatinSmallLetterUWithCircumflex, // Char 150 'û' = LATIN SMALL LETTER U WITH CIRCUMFLEX
LatinSmallLetterUWithGrave, // Char 151 'ù' = LATIN SMALL LETTER U WITH GRAVE
LatinSmallLetterYWithDiaeresis, // Char 152 'ÿ' = LATIN SMALL LETTER Y WITH DIAERESIS
LatinCapitalLetterOWithDiaeresis, // Char 153 'Ö' = LATIN CAPITAL LETTER O WITH DIAERESIS
LatinCapitalLetterUWithDiaeresis, // Char 154 'Ü' = LATIN CAPITAL LETTER U WITH DIAERESIS
LatinSmallLetterOWithStroke, // Char 155 'ø' = LATIN SMALL LETTER O WITH STROKE
PoundSign, // Char 156 '£' = POUND SIGN
LatinCapitalLetterOWithStroke, // Char 157 'Ø' = LATIN CAPITAL LETTER O WITH STROKE
MultiplicationSign, // Char 158 '×' = MULTIPLICATION SIGN
LatinSmallLetterFWithHook, // Char 159 'ƒ' = LATIN SMALL LETTER F WITH HOOK
LatinSmallLetterAWithAcute, // Char 160 'á' = LATIN SMALL LETTER A WITH ACUTE
LatinSmallLetterIWithAcute, // Char 161 'í' = LATIN SMALL LETTER I WITH ACUTE
LatinSmallLetterOWithAcute, // Char 162 'ó' = LATIN SMALL LETTER O WITH ACUTE
LatinSmallLetterUWithAcute, // Char 163 'ú' = LATIN SMALL LETTER U WITH ACUTE
LatinSmallLetterNWithTilde, // Char 164 'ñ' = LATIN SMALL LETTER N WITH TILDE
LatinCapitalLetterNWithTilde, // Char 165 'Ñ' = LATIN CAPITAL LETTER N WITH TILDE
FeminineOrdinalIndicator, // Char 166 'ª' = FEMININE ORDINAL INDICATOR
MasculineOrdinalIndicator, // Char 167 'º' = MASCULINE ORDINAL INDICATOR
InvertedQuestionMark, // Char 168 '¿' = INVERTED QUESTION MARK
RegisteredSign, // Char 169 '®' = REGISTERED SIGN
NotSign, // Char 170 '¬' = NOT SIGN
VulgarFractionOneHalf, // Char 171 '½' = VULGAR FRACTION ONE HALF
VulgarFractionOneQuarter, // Char 172 '¼' = VULGAR FRACTION ONE QUARTER
InvertedExclamationMark, // Char 173 '¡' = INVERTED EXCLAMATION MARK
LeftPointingDoubleAngleQuotationMark, // Char 174 '«' = LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
RightPointingDoubleAngleQuotationMark, // Char 175 '»' = RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
LightShade, // Char 176 '░' = LIGHT SHADE
MediumShade, // Char 177 '▒' = MEDIUM SHADE
DarkShade, // Char 178 '▓' = DARK SHADE
BoxDrawingsLightVertical, // Char 179 '│' = BOX DRAWINGS LIGHT VERTICAL
BoxDrawingsLightVerticalAndLeft, // Char 180 '┤' = BOX DRAWINGS LIGHT VERTICAL AND LEFT
LatinCapitalLetterAWithAcute, // Char 181 'Á' = LATIN CAPITAL LETTER A WITH ACUTE
LatinCapitalLetterAWithCircumflex, // Char 182 'Â' = LATIN CAPITAL LETTER A WITH CIRCUMFLEX
LatinCapitalLetterAWithGrave, // Char 183 'À' = LATIN CAPITAL LETTER A WITH GRAVE
CopyrightSign, // Char 184 '©' = COPYRIGHT SIGN
BoxDrawingsDoubleVerticalAndLeft, // Char 185 '╣' = BOX DRAWINGS DOUBLE VERTICAL AND LEFT
BoxDrawingsDoubleVertical, // Char 186 '║' = BOX DRAWINGS DOUBLE VERTICAL
BoxDrawingsDoubleDownAndLeft, // Char 187 '╗' = BOX DRAWINGS DOUBLE DOWN AND LEFT
BoxDrawingsDoubleUpAndLeft, // Char 188 '╝' = BOX DRAWINGS DOUBLE UP AND LEFT
CentSign, // Char 189 '¢' = CENT SIGN
YenSign, // Char 190 '¥' = YEN SIGN
BoxDrawingsLightDownAndLeft, // Char 191 '┐' = BOX DRAWINGS LIGHT DOWN AND LEFT
BoxDrawingsLightUpAndRight, // Char 192 '└' = BOX DRAWINGS LIGHT UP AND RIGHT
BoxDrawingsLightUpAndHorizontal, // Char 193 '┴' = BOX DRAWINGS LIGHT UP AND HORIZONTAL
BoxDrawingsLightDownAndHorizontal, // Char 194 '┬' = BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
BoxDrawingsLightVerticalAndRight, // Char 195 '├' = BOX DRAWINGS LIGHT VERTICAL AND RIGHT
BoxDrawingsLightHorizontal, // Char 196 '─' = BOX DRAWINGS LIGHT HORIZONTAL
BoxDrawingsLightVerticalAndHorizontal, // Char 197 '┼' = BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
LatinSmallLetterAWithTilde, // Char 198 'ã' = LATIN SMALL LETTER A WITH TILDE
LatinCapitalLetterAWithTilde, // Char 199 'Ã' = LATIN CAPITAL LETTER A WITH TILDE
BoxDrawingsDoubleUpAndRight, // Char 200 '╚' = BOX DRAWINGS DOUBLE UP AND RIGHT
BoxDrawingsDoubleDownAndRight, // Char 201 '╔' = BOX DRAWINGS DOUBLE DOWN AND RIGHT
BoxDrawingsDoubleUpAndHorizontal, // Char 202 '╩' = BOX DRAWINGS DOUBLE UP AND HORIZONTAL
BoxDrawingsDoubleDownAndHorizontal, // Char 203 '╦' = BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
BoxDrawingsDoubleVerticalAndRight, // Char 204 '╠' = BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
BoxDrawingsDoubleHorizontal, // Char 205 '═' = BOX DRAWINGS DOUBLE HORIZONTAL
BoxDrawingsDoubleVerticalAndHorizontal, // Char 206 '╬' = BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
CurrencySign, // Char 207 '¤' = CURRENCY SIGN
LatinSmallLetterEth, // Char 208 'ð' = LATIN SMALL LETTER ETH
LatinCapitalLetterEth, // Char 209 'Ð' = LATIN CAPITAL LETTER ETH
LatinCapitalLetterEWithCircumflex, // Char 210 'Ê' = LATIN CAPITAL LETTER E WITH CIRCUMFLEX
LatinCapitalLetterEWithDiaeresis, // Char 211 'Ë' = LATIN CAPITAL LETTER E WITH DIAERESIS
LatinCapitalLetterEWithGrave, // Char 212 'È' = LATIN CAPITAL LETTER E WITH GRAVE
LatinSmallLetterDotlessI, // Char 213 'ı' = LATIN SMALL LETTER DOTLESS I
LatinCapitalLetterIWithAcute, // Char 214 'Í' = LATIN CAPITAL LETTER I WITH ACUTE
LatinCapitalLetterIWithCircumflex, // Char 215 'Î' = LATIN CAPITAL LETTER I WITH CIRCUMFLEX
LatinCapitalLetterIWithDiaeresis, // Char 216 'Ï' = LATIN CAPITAL LETTER I WITH DIAERESIS
BoxDrawingsLightUpAndLeft, // Char 217 '┘' = BOX DRAWINGS LIGHT UP AND LEFT
BoxDrawingsLightDownAndRight, // Char 218 '┌' = BOX DRAWINGS LIGHT DOWN AND RIGHT
FullBlock, // Char 219 '█' = FULL BLOCK
LowerHalfBlock, // Char 220 '▄' = LOWER HALF BLOCK
BrokenBar, // Char 221 '¦' = BROKEN BAR
LatinCapitalLetterIWithGrave, // Char 222 'Ì' = LATIN CAPITAL LETTER I WITH GRAVE
UpperHalfBlock, // Char 223 '▀' = UPPER HALF BLOCK
LatinCapitalLetterOWithAcute, // Char 224 'Ó' = LATIN CAPITAL LETTER O WITH ACUTE
LatinSmallLetterSharpS, // Char 225 'ß' = LATIN SMALL LETTER SHARP S
LatinCapitalLetterOWithCircumflex, // Char 226 'Ô' = LATIN CAPITAL LETTER O WITH CIRCUMFLEX
LatinCapitalLetterOWithGrave, // Char 227 'Ò' = LATIN CAPITAL LETTER O WITH GRAVE
LatinSmallLetterOWithTilde, // Char 228 'õ' = LATIN SMALL LETTER O WITH TILDE
LatinCapitalLetterOWithTilde, // Char 229 'Õ' = LATIN CAPITAL LETTER O WITH TILDE
MicroSign, // Char 230 'µ' = MICRO SIGN
LatinSmallLetterThorn, // Char 231 'þ' = LATIN SMALL LETTER THORN
LatinCapitalLetterThorn, // Char 232 'Þ' = LATIN CAPITAL LETTER THORN
LatinCapitalLetterUWithAcute, // Char 233 'Ú' = LATIN CAPITAL LETTER U WITH ACUTE
LatinCapitalLetterUWithCircumflex, // Char 234 'Û' = LATIN CAPITAL LETTER U WITH CIRCUMFLEX
LatinCapitalLetterUWithGrave, // Char 235 'Ù' = LATIN CAPITAL LETTER U WITH GRAVE
LatinSmallLetterYWithAcute, // Char 236 'ý' = LATIN SMALL LETTER Y WITH ACUTE
LatinCapitalLetterYWithAcute, // Char 237 'Ý' = LATIN CAPITAL LETTER Y WITH ACUTE
Macron, // Char 238 '¯' = MACRON
AcuteAccent, // Char 239 '´' = ACUTE ACCENT
SoftHyphen, // Char 240 '-' = SOFT HYPHEN
PlusMinusSign, // Char 241 '±' = PLUS-MINUS SIGN
DoubleLowLine, // Char 242 '‗' = DOUBLE LOW LINE
VulgarFractionThreeQuarters, // Char 243 '¾' = VULGAR FRACTION THREE QUARTERS
PilcrowSign, // Char 244 '¶' = PILCROW SIGN
SectionSign, // Char 245 '§' = SECTION SIGN
DivisionSign, // Char 246 '÷' = DIVISION SIGN
Cedilla, // Char 247 '¸' = CEDILLA
DegreeSign, // Char 248 '°' = DEGREE SIGN
Diaeresis, // Char 249 '¨' = DIAERESIS
MiddleDot, // Char 250 '·' = MIDDLE DOT
SuperscriptOne, // Char 251 '¹' = SUPERSCRIPT ONE
SuperscriptThree, // Char 252 '³' = SUPERSCRIPT THREE
SuperscriptTwo, // Char 253 '²' = SUPERSCRIPT TWO
BlackSquare, // Char 254 '■' = BLACK SQUARE
NoBreakSpace, // Char 255 '\xa0' = NO-BREAK SPACE
}
impl ::core::default::Default for Char {
fn default() -> Char {
Char::Space
}
}
impl Char {
pub fn map_char(ch: char) -> Char {
match ch {
// Add more CP850 mappings here - hearts, clubs, diamonds, etc
'\u{0000}' => Char::Null,
'\u{0001}' => Char::SOH,
'\u{0002}' => Char::STX,
'\u{0003}' => Char::ETX,
'\u{0004}' => Char::EOT,
'\u{0005}' => Char::ENQ,
'\u{0006}' => Char::ACK,
'\u{0007}' => Char::BEL,
'\u{0008}' => Char::BS,
'\t' => Char::HT,
'\n' => Char::LF,
'\u{000b}' => Char::VT,
'\u{000c}' => Char::FF,
'\r' => Char::CR,
'\u{000e}' => Char::SO,
'\u{000f}' => Char::SI,
'\u{0010}' => Char::DLE,
'\u{0011}' => Char::DC1,
'\u{0012}' => Char::DC2,
'\u{0013}' => Char::DC3,
'\u{0014}' => Char::DC4,
'\u{0015}' => Char::NAK,
'\u{0016}' => Char::SYN,
'\u{0017}' => Char::ETB,
'\u{0018}' => Char::CAN,
'\u{0019}' => Char::EM,
'\u{001a}' => Char::SUB,
'\u{001b}' => Char::Escape,
'\u{001c}' => Char::FS,
'\u{001d}' => Char::GS,
'\u{001e}' => Char::RS,
'\u{001f}' => Char::US,
' ' => Char::Space,
'!' => Char::ExclamationMark,
'"' => Char::QuotationMark,
'#' => Char::NumberSign,
'$' => Char::DollarSign,
'%' => Char::PercentSign,
'&' => Char::Ampersand,
'\'' => Char::Apostrophe,
'(' => Char::LeftParenthesis,
')' => Char::RightParenthesis,
'*' => Char::Asterisk,
'+' => Char::PlusSign,
',' => Char::Comma,
'-' => Char::HyphenMinus,
'.' => Char::FullStop,
'/' => Char::Solidus,
'0' => Char::DigitZero,
'1' => Char::DigitOne,
'2' => Char::DigitTwo,
'3' => Char::DigitThree,
'4' => Char::DigitFour,
'5' => Char::DigitFive,
'6' => Char::DigitSix,
'7' => Char::DigitSeven,
'8' => Char::DigitEight,
'9' => Char::DigitNine,
':' => Char::Colon,
';' => Char::Semicolon,
'<' => Char::LessThanSign,
'=' => Char::EqualsSign,
'>' => Char::GreaterThanSign,
'?' => Char::QuestionMark,
'@' => Char::CommercialAt,
'A' => Char::LatinCapitalLetterA,
'B' => Char::LatinCapitalLetterB,
'C' => Char::LatinCapitalLetterC,
'D' => Char::LatinCapitalLetterD,
'E' => Char::LatinCapitalLetterE,
'F' => Char::LatinCapitalLetterF,
'G' => Char::LatinCapitalLetterG,
'H' => Char::LatinCapitalLetterH,
'I' => Char::LatinCapitalLetterI,
'J' => Char::LatinCapitalLetterJ,
'K' => Char::LatinCapitalLetterK,
'L' => Char::LatinCapitalLetterL,
'M' => Char::LatinCapitalLetterM,
'N' => Char::LatinCapitalLetterN,
'O' => Char::LatinCapitalLetterO,
'P' => Char::LatinCapitalLetterP,
'Q' => Char::LatinCapitalLetterQ,
'R' => Char::LatinCapitalLetterR,
'S' => Char::LatinCapitalLetterS,
'T' => Char::LatinCapitalLetterT,
'U' => Char::LatinCapitalLetterU,
'V' => Char::LatinCapitalLetterV,
'W' => Char::LatinCapitalLetterW,
'X' => Char::LatinCapitalLetterX,
'Y' => Char::LatinCapitalLetterY,
'Z' => Char::LatinCapitalLetterZ,
'[' => Char::LeftSquareBracket,
'\\' => Char::ReverseSolidus,
']' => Char::RightSquareBracket,
'^' => Char::CircumflexAccent,
'_' => Char::LowLine,
'`' => Char::GraveAccent,
'a' => Char::LatinSmallLetterA,
'b' => Char::LatinSmallLetterB,
'c' => Char::LatinSmallLetterC,
'd' => Char::LatinSmallLetterD,
'e' => Char::LatinSmallLetterE,
'f' => Char::LatinSmallLetterF,
'g' => Char::LatinSmallLetterG,
'h' => Char::LatinSmallLetterH,
'i' => Char::LatinSmallLetterI,
'j' => Char::LatinSmallLetterJ,
'k' => Char::LatinSmallLetterK,
'l' => Char::LatinSmallLetterL,
'm' => Char::LatinSmallLetterM,
'n' => Char::LatinSmallLetterN,
'o' => Char::LatinSmallLetterO,
'p' => Char::LatinSmallLetterP,
'q' => Char::LatinSmallLetterQ,
'r' => Char::LatinSmallLetterR,
's' => Char::LatinSmallLetterS,
't' => Char::LatinSmallLetterT,
'u' => Char::LatinSmallLetterU,
'v' => Char::LatinSmallLetterV,
'w' => Char::LatinSmallLetterW,
'x' => Char::LatinSmallLetterX,
'y' => Char::LatinSmallLetterY,
'z' => Char::LatinSmallLetterZ,
'{' => Char::LeftCurlyBracket,
'|' => Char::VerticalLine,
'}' => Char::RightCurlyBracket,
'~' => Char::Tilde,
'\u{007f}' => Char::Delete,
'Ç' => Char::LatinCapitalLetterCWithCedilla,
'ü' => Char::LatinSmallLetterUWithDiaeresis,
'é' => Char::LatinSmallLetterEWithAcute,
'â' => Char::LatinSmallLetterAWithCircumflex,
'ä' => Char::LatinSmallLetterAWithDiaeresis,
'à' => Char::LatinSmallLetterAWithGrave,
'å' => Char::LatinSmallLetterAWithRingAbove,
'ç' => Char::LatinSmallLetterCWithCedilla,
'ê' => Char::LatinSmallLetterEWithCircumflex,
'ë' => Char::LatinSmallLetterEWithDiaeresis,
'è' => Char::LatinSmallLetterEWithGrave,
'ï' => Char::LatinSmallLetterIWithDiaeresis,
'î' => Char::LatinSmallLetterIWithCircumflex,
'ì' => Char::LatinSmallLetterIWithGrave,
'Ä' => Char::LatinCapitalLetterAWithDiaeresis,
'Å' => Char::LatinCapitalLetterAWithRingAbove,
'É' => Char::LatinCapitalLetterEWithAcute,
'æ' => Char::LatinSmallLetterAe,
'Æ' => Char::LatinCapitalLetterAe,
'ô' => Char::LatinSmallLetterOWithCircumflex,
'ö' => Char::LatinSmallLetterOWithDiaeresis,
'ò' => Char::LatinSmallLetterOWithGrave,
'û' => Char::LatinSmallLetterUWithCircumflex,
'ù' => Char::LatinSmallLetterUWithGrave,
'ÿ' => Char::LatinSmallLetterYWithDiaeresis,
'Ö' => Char::LatinCapitalLetterOWithDiaeresis,
'Ü' => Char::LatinCapitalLetterUWithDiaeresis,
'ø' => Char::LatinSmallLetterOWithStroke,
'£' => Char::PoundSign,
'Ø' => Char::LatinCapitalLetterOWithStroke,
'×' => Char::MultiplicationSign,
'ƒ' => Char::LatinSmallLetterFWithHook,
'á' => Char::LatinSmallLetterAWithAcute,
'í' => Char::LatinSmallLetterIWithAcute,
'ó' => Char::LatinSmallLetterOWithAcute,
'ú' => Char::LatinSmallLetterUWithAcute,
'ñ' => Char::LatinSmallLetterNWithTilde,
'Ñ' => Char::LatinCapitalLetterNWithTilde,
'ª' => Char::FeminineOrdinalIndicator,
'º' => Char::MasculineOrdinalIndicator,
'¿' => Char::InvertedQuestionMark,
'®' => Char::RegisteredSign,
'¬' => Char::NotSign,
'½' => Char::VulgarFractionOneHalf,
'¼' => Char::VulgarFractionOneQuarter,
'¡' => Char::InvertedExclamationMark,
'«' => Char::LeftPointingDoubleAngleQuotationMark,
'»' => Char::RightPointingDoubleAngleQuotationMark,
'░' => Char::LightShade,
'▒' => Char::MediumShade,
'▓' => Char::DarkShade,
'│' => Char::BoxDrawingsLightVertical,
'┤' => Char::BoxDrawingsLightVerticalAndLeft,
'Á' => Char::LatinCapitalLetterAWithAcute,
'Â' => Char::LatinCapitalLetterAWithCircumflex,
'À' => Char::LatinCapitalLetterAWithGrave,
'©' => Char::CopyrightSign,
'╣' => Char::BoxDrawingsDoubleVerticalAndLeft,
'║' => Char::BoxDrawingsDoubleVertical,
'╗' => Char::BoxDrawingsDoubleDownAndLeft,
'╝' => Char::BoxDrawingsDoubleUpAndLeft,
'¢' => Char::CentSign,
'¥' => Char::YenSign,
'┐' => Char::BoxDrawingsLightDownAndLeft,
'└' => Char::BoxDrawingsLightUpAndRight,
'┴' => Char::BoxDrawingsLightUpAndHorizontal,
'┬' => Char::BoxDrawingsLightDownAndHorizontal,
'├' => Char::BoxDrawingsLightVerticalAndRight,
'─' => Char::BoxDrawingsLightHorizontal,
'┼' => Char::BoxDrawingsLightVerticalAndHorizontal,
'ã' => Char::LatinSmallLetterAWithTilde,
'Ã' => Char::LatinCapitalLetterAWithTilde,
'╚' => Char::BoxDrawingsDoubleUpAndRight,
'╔' => Char::BoxDrawingsDoubleDownAndRight,
'╩' => Char::BoxDrawingsDoubleUpAndHorizontal,
'╦' => Char::BoxDrawingsDoubleDownAndHorizontal,
'╠' => Char::BoxDrawingsDoubleVerticalAndRight,
'═' => Char::BoxDrawingsDoubleHorizontal,
'╬' => Char::BoxDrawingsDoubleVerticalAndHorizontal,
'¤' => Char::CurrencySign,
'ð' => Char::LatinSmallLetterEth,
'Ð' => Char::LatinCapitalLetterEth,
'Ê' => Char::LatinCapitalLetterEWithCircumflex,
'Ë' => Char::LatinCapitalLetterEWithDiaeresis,
'È' => Char::LatinCapitalLetterEWithGrave,
'ı' => Char::LatinSmallLetterDotlessI,
'Í' => Char::LatinCapitalLetterIWithAcute,
'Î' => Char::LatinCapitalLetterIWithCircumflex,
'Ï' => Char::LatinCapitalLetterIWithDiaeresis,
'┘' => Char::BoxDrawingsLightUpAndLeft,
'┌' => Char::BoxDrawingsLightDownAndRight,
'█' => Char::FullBlock,
'▄' => Char::LowerHalfBlock,
'¦' => Char::BrokenBar,
'Ì' => Char::LatinCapitalLetterIWithGrave,
'▀' => Char::UpperHalfBlock,
'Ó' => Char::LatinCapitalLetterOWithAcute,
'ß' => Char::LatinSmallLetterSharpS,
'Ô' => Char::LatinCapitalLetterOWithCircumflex,
'Ò' => Char::LatinCapitalLetterOWithGrave,
'õ' => Char::LatinSmallLetterOWithTilde,
'Õ' => Char::LatinCapitalLetterOWithTilde,
'µ' => Char::MicroSign,
'þ' => Char::LatinSmallLetterThorn,
'Þ' => Char::LatinCapitalLetterThorn,
'Ú' => Char::LatinCapitalLetterUWithAcute,
'Û' => Char::LatinCapitalLetterUWithCircumflex,
'Ù' => Char::LatinCapitalLetterUWithGrave,
'ý' => Char::LatinSmallLetterYWithAcute,
'Ý' => Char::LatinCapitalLetterYWithAcute,
'¯' => Char::Macron,
'´' => Char::AcuteAccent,
'\u{00ad}' => Char::SoftHyphen,
'±' => Char::PlusMinusSign,
'‗' => Char::DoubleLowLine,
'¾' => Char::VulgarFractionThreeQuarters,
'¶' => Char::PilcrowSign,
'§' => Char::SectionSign,
'÷' => Char::DivisionSign,
'¸' => Char::Cedilla,
'°' => Char::DegreeSign,
'¨' => Char::Diaeresis,
'·' => Char::MiddleDot,
'¹' => Char::SuperscriptOne,
'³' => Char::SuperscriptThree,
'²' => Char::SuperscriptTwo,
'■' => Char::BlackSquare,
'\u{00a0}' => Char::NoBreakSpace,
'☺' => Char::SOH,
'☻' => Char::STX,
'♥' => Char::ETX,
'♦' => Char::EOT,
'♣' => Char::ENQ,
'♠' => Char::ACK,
'•' => Char::BEL,
'◘' => Char::BS,
'○' => Char::HT,
'◙' => Char::LF,
'♂' => Char::VT,
'♀' => Char::FF,
'♪' => Char::CR,
'♫' => Char::SO,
'☼' => Char::SI,
'►' => Char::DLE,
'◄' => Char::DC1,
'↕' => Char::DC2,
'‼' => Char::DC3,
'▬' => Char::SYN,
'↨' => Char::ETB,
'↑' => Char::CAN,
'↓' => Char::EM,
'→' => Char::SUB,
'←' => Char::Escape,
'∟' => Char::FS,
'↔' => Char::GS,
'▲' => Char::RS,
'▼' => Char::US,
_ => Char::QuestionMark,
}
}
/// Take a CodePage 850 byte
pub fn from_byte(byte: u8) -> Char {
unsafe { ::core::mem::transmute(byte) }
}
/// Take a CodePage 850 byte
pub fn to_byte(self) -> u8 {
unsafe { ::core::mem::transmute(self) }
}
}
// End of file