Code pages 932 (Shift-JIS), 936 (GBK), 949 (Unified Hangul), and 950 (Big5), generated from the Unicode Consortium's Microsoft WINDOWS tables. Each page carries a three-state single-byte table (map / lead / undefined) plus sorted pair arrays binary-searched in both directions. Where several codes decode to one scalar (932's NEC/IBM overlap, 950's duplicated box-drawing rows), the encoder's winner is resolved from Microsoft's own bestfit WCTABLE — used only for duplicate resolution, never to import lossy best-fit mappings. The full decode direction was cross-validated against Python's cp932/936/949/950 codecs: zero mismatches over 60k+ pairs. Decode gains TruncatedPair and UndefinedPair failure modes; decode_lossy emits one U+FFFD per failed pair. Both feature configurations are clippy-clean and tested.
4165 lines
75 KiB
XML
4165 lines
75 KiB
XML
//! Generated by `tools/gen_tables.py` — do not edit by hand.
|
||
//!
|
||
//! Source: the Unicode Consortium's Microsoft mapping tables, vendored in
|
||
//! `data/`.
|
||
|
||
/// Code page 437, byte value to Unicode scalar.
|
||
pub(crate) const CP437: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ä'),
|
||
Some('à'),
|
||
Some('å'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('ë'),
|
||
Some('è'),
|
||
Some('ï'),
|
||
Some('î'),
|
||
Some('ì'),
|
||
Some('Ä'),
|
||
Some('Å'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('æ'),
|
||
Some('Æ'),
|
||
Some('ô'),
|
||
Some('ö'),
|
||
Some('ò'),
|
||
Some('û'),
|
||
Some('ù'), // 0x90-0x97
|
||
Some('ÿ'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('¢'),
|
||
Some('£'),
|
||
Some('¥'),
|
||
Some('₧'),
|
||
Some('ƒ'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('ñ'),
|
||
Some('Ñ'),
|
||
Some('ª'),
|
||
Some('º'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('⌐'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('α'),
|
||
Some('ß'),
|
||
Some('Γ'),
|
||
Some('π'),
|
||
Some('Σ'),
|
||
Some('σ'),
|
||
Some('µ'),
|
||
Some('τ'), // 0xe0-0xe7
|
||
Some('Φ'),
|
||
Some('Θ'),
|
||
Some('Ω'),
|
||
Some('δ'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('ε'),
|
||
Some('∩'), // 0xe8-0xef
|
||
Some('≡'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('⌠'),
|
||
Some('⌡'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 737, byte value to Unicode scalar.
|
||
pub(crate) const CP737: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Α'),
|
||
Some('Β'),
|
||
Some('Γ'),
|
||
Some('Δ'),
|
||
Some('Ε'),
|
||
Some('Ζ'),
|
||
Some('Η'),
|
||
Some('Θ'), // 0x80-0x87
|
||
Some('Ι'),
|
||
Some('Κ'),
|
||
Some('Λ'),
|
||
Some('Μ'),
|
||
Some('Ν'),
|
||
Some('Ξ'),
|
||
Some('Ο'),
|
||
Some('Π'), // 0x88-0x8f
|
||
Some('Ρ'),
|
||
Some('Σ'),
|
||
Some('Τ'),
|
||
Some('Υ'),
|
||
Some('Φ'),
|
||
Some('Χ'),
|
||
Some('Ψ'),
|
||
Some('Ω'), // 0x90-0x97
|
||
Some('α'),
|
||
Some('β'),
|
||
Some('γ'),
|
||
Some('δ'),
|
||
Some('ε'),
|
||
Some('ζ'),
|
||
Some('η'),
|
||
Some('θ'), // 0x98-0x9f
|
||
Some('ι'),
|
||
Some('κ'),
|
||
Some('λ'),
|
||
Some('μ'),
|
||
Some('ν'),
|
||
Some('ξ'),
|
||
Some('ο'),
|
||
Some('π'), // 0xa0-0xa7
|
||
Some('ρ'),
|
||
Some('σ'),
|
||
Some('ς'),
|
||
Some('τ'),
|
||
Some('υ'),
|
||
Some('φ'),
|
||
Some('χ'),
|
||
Some('ψ'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('ω'),
|
||
Some('ά'),
|
||
Some('έ'),
|
||
Some('ή'),
|
||
Some('ϊ'),
|
||
Some('ί'),
|
||
Some('ό'),
|
||
Some('ύ'), // 0xe0-0xe7
|
||
Some('ϋ'),
|
||
Some('ώ'),
|
||
Some('Ά'),
|
||
Some('Έ'),
|
||
Some('Ή'),
|
||
Some('Ί'),
|
||
Some('Ό'),
|
||
Some('Ύ'), // 0xe8-0xef
|
||
Some('Ώ'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('Ϊ'),
|
||
Some('Ϋ'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 775, byte value to Unicode scalar.
|
||
pub(crate) const CP775: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ć'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('ā'),
|
||
Some('ä'),
|
||
Some('ģ'),
|
||
Some('å'),
|
||
Some('ć'), // 0x80-0x87
|
||
Some('ł'),
|
||
Some('ē'),
|
||
Some('Ŗ'),
|
||
Some('ŗ'),
|
||
Some('ī'),
|
||
Some('Ź'),
|
||
Some('Ä'),
|
||
Some('Å'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('æ'),
|
||
Some('Æ'),
|
||
Some('ō'),
|
||
Some('ö'),
|
||
Some('Ģ'),
|
||
Some('¢'),
|
||
Some('Ś'), // 0x90-0x97
|
||
Some('ś'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('ø'),
|
||
Some('£'),
|
||
Some('Ø'),
|
||
Some('×'),
|
||
Some('¤'), // 0x98-0x9f
|
||
Some('Ā'),
|
||
Some('Ī'),
|
||
Some('ó'),
|
||
Some('Ż'),
|
||
Some('ż'),
|
||
Some('ź'),
|
||
Some('”'),
|
||
Some('¦'), // 0xa0-0xa7
|
||
Some('©'),
|
||
Some('®'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('Ł'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('Ą'),
|
||
Some('Č'),
|
||
Some('Ę'), // 0xb0-0xb7
|
||
Some('Ė'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('Į'),
|
||
Some('Š'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('Ų'),
|
||
Some('Ū'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('Ž'), // 0xc8-0xcf
|
||
Some('ą'),
|
||
Some('č'),
|
||
Some('ę'),
|
||
Some('ė'),
|
||
Some('į'),
|
||
Some('š'),
|
||
Some('ų'),
|
||
Some('ū'), // 0xd0-0xd7
|
||
Some('ž'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('Ó'),
|
||
Some('ß'),
|
||
Some('Ō'),
|
||
Some('Ń'),
|
||
Some('õ'),
|
||
Some('Õ'),
|
||
Some('µ'),
|
||
Some('ń'), // 0xe0-0xe7
|
||
Some('Ķ'),
|
||
Some('ķ'),
|
||
Some('Ļ'),
|
||
Some('ļ'),
|
||
Some('ņ'),
|
||
Some('Ē'),
|
||
Some('Ņ'),
|
||
Some('’'), // 0xe8-0xef
|
||
Some('\u{00AD}'),
|
||
Some('±'),
|
||
Some('“'),
|
||
Some('¾'),
|
||
Some('¶'),
|
||
Some('§'),
|
||
Some('÷'),
|
||
Some('„'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('¹'),
|
||
Some('³'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 850, byte value to Unicode scalar.
|
||
pub(crate) const CP850: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ä'),
|
||
Some('à'),
|
||
Some('å'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('ë'),
|
||
Some('è'),
|
||
Some('ï'),
|
||
Some('î'),
|
||
Some('ì'),
|
||
Some('Ä'),
|
||
Some('Å'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('æ'),
|
||
Some('Æ'),
|
||
Some('ô'),
|
||
Some('ö'),
|
||
Some('ò'),
|
||
Some('û'),
|
||
Some('ù'), // 0x90-0x97
|
||
Some('ÿ'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('ø'),
|
||
Some('£'),
|
||
Some('Ø'),
|
||
Some('×'),
|
||
Some('ƒ'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('ñ'),
|
||
Some('Ñ'),
|
||
Some('ª'),
|
||
Some('º'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('®'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('Á'),
|
||
Some('Â'),
|
||
Some('À'), // 0xb0-0xb7
|
||
Some('©'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('¢'),
|
||
Some('¥'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('ã'),
|
||
Some('Ã'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('¤'), // 0xc8-0xcf
|
||
Some('ð'),
|
||
Some('Ð'),
|
||
Some('Ê'),
|
||
Some('Ë'),
|
||
Some('È'),
|
||
Some('ı'),
|
||
Some('Í'),
|
||
Some('Î'), // 0xd0-0xd7
|
||
Some('Ï'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('¦'),
|
||
Some('Ì'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('Ó'),
|
||
Some('ß'),
|
||
Some('Ô'),
|
||
Some('Ò'),
|
||
Some('õ'),
|
||
Some('Õ'),
|
||
Some('µ'),
|
||
Some('þ'), // 0xe0-0xe7
|
||
Some('Þ'),
|
||
Some('Ú'),
|
||
Some('Û'),
|
||
Some('Ù'),
|
||
Some('ý'),
|
||
Some('Ý'),
|
||
Some('¯'),
|
||
Some('´'), // 0xe8-0xef
|
||
Some('\u{00AD}'),
|
||
Some('±'),
|
||
Some('‗'),
|
||
Some('¾'),
|
||
Some('¶'),
|
||
Some('§'),
|
||
Some('÷'),
|
||
Some('¸'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('¨'),
|
||
Some('·'),
|
||
Some('¹'),
|
||
Some('³'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 852, byte value to Unicode scalar.
|
||
pub(crate) const CP852: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ä'),
|
||
Some('ů'),
|
||
Some('ć'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ł'),
|
||
Some('ë'),
|
||
Some('Ő'),
|
||
Some('ő'),
|
||
Some('î'),
|
||
Some('Ź'),
|
||
Some('Ä'),
|
||
Some('Ć'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('Ĺ'),
|
||
Some('ĺ'),
|
||
Some('ô'),
|
||
Some('ö'),
|
||
Some('Ľ'),
|
||
Some('ľ'),
|
||
Some('Ś'), // 0x90-0x97
|
||
Some('ś'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('Ť'),
|
||
Some('ť'),
|
||
Some('Ł'),
|
||
Some('×'),
|
||
Some('č'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('Ą'),
|
||
Some('ą'),
|
||
Some('Ž'),
|
||
Some('ž'), // 0xa0-0xa7
|
||
Some('Ę'),
|
||
Some('ę'),
|
||
Some('¬'),
|
||
Some('ź'),
|
||
Some('Č'),
|
||
Some('ş'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('Á'),
|
||
Some('Â'),
|
||
Some('Ě'), // 0xb0-0xb7
|
||
Some('Ş'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('Ż'),
|
||
Some('ż'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('Ă'),
|
||
Some('ă'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('¤'), // 0xc8-0xcf
|
||
Some('đ'),
|
||
Some('Đ'),
|
||
Some('Ď'),
|
||
Some('Ë'),
|
||
Some('ď'),
|
||
Some('Ň'),
|
||
Some('Í'),
|
||
Some('Î'), // 0xd0-0xd7
|
||
Some('ě'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('Ţ'),
|
||
Some('Ů'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('Ó'),
|
||
Some('ß'),
|
||
Some('Ô'),
|
||
Some('Ń'),
|
||
Some('ń'),
|
||
Some('ň'),
|
||
Some('Š'),
|
||
Some('š'), // 0xe0-0xe7
|
||
Some('Ŕ'),
|
||
Some('Ú'),
|
||
Some('ŕ'),
|
||
Some('Ű'),
|
||
Some('ý'),
|
||
Some('Ý'),
|
||
Some('ţ'),
|
||
Some('´'), // 0xe8-0xef
|
||
Some('\u{00AD}'),
|
||
Some('˝'),
|
||
Some('˛'),
|
||
Some('ˇ'),
|
||
Some('˘'),
|
||
Some('§'),
|
||
Some('÷'),
|
||
Some('¸'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('¨'),
|
||
Some('˙'),
|
||
Some('ű'),
|
||
Some('Ř'),
|
||
Some('ř'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 855, byte value to Unicode scalar.
|
||
pub(crate) const CP855: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('ђ'),
|
||
Some('Ђ'),
|
||
Some('ѓ'),
|
||
Some('Ѓ'),
|
||
Some('ё'),
|
||
Some('Ё'),
|
||
Some('є'),
|
||
Some('Є'), // 0x80-0x87
|
||
Some('ѕ'),
|
||
Some('Ѕ'),
|
||
Some('і'),
|
||
Some('І'),
|
||
Some('ї'),
|
||
Some('Ї'),
|
||
Some('ј'),
|
||
Some('Ј'), // 0x88-0x8f
|
||
Some('љ'),
|
||
Some('Љ'),
|
||
Some('њ'),
|
||
Some('Њ'),
|
||
Some('ћ'),
|
||
Some('Ћ'),
|
||
Some('ќ'),
|
||
Some('Ќ'), // 0x90-0x97
|
||
Some('ў'),
|
||
Some('Ў'),
|
||
Some('џ'),
|
||
Some('Џ'),
|
||
Some('ю'),
|
||
Some('Ю'),
|
||
Some('ъ'),
|
||
Some('Ъ'), // 0x98-0x9f
|
||
Some('а'),
|
||
Some('А'),
|
||
Some('б'),
|
||
Some('Б'),
|
||
Some('ц'),
|
||
Some('Ц'),
|
||
Some('д'),
|
||
Some('Д'), // 0xa0-0xa7
|
||
Some('е'),
|
||
Some('Е'),
|
||
Some('ф'),
|
||
Some('Ф'),
|
||
Some('г'),
|
||
Some('Г'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('х'),
|
||
Some('Х'),
|
||
Some('и'), // 0xb0-0xb7
|
||
Some('И'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('й'),
|
||
Some('Й'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('к'),
|
||
Some('К'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('¤'), // 0xc8-0xcf
|
||
Some('л'),
|
||
Some('Л'),
|
||
Some('м'),
|
||
Some('М'),
|
||
Some('н'),
|
||
Some('Н'),
|
||
Some('о'),
|
||
Some('О'), // 0xd0-0xd7
|
||
Some('п'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('П'),
|
||
Some('я'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('Я'),
|
||
Some('р'),
|
||
Some('Р'),
|
||
Some('с'),
|
||
Some('С'),
|
||
Some('т'),
|
||
Some('Т'),
|
||
Some('у'), // 0xe0-0xe7
|
||
Some('У'),
|
||
Some('ж'),
|
||
Some('Ж'),
|
||
Some('в'),
|
||
Some('В'),
|
||
Some('ь'),
|
||
Some('Ь'),
|
||
Some('№'), // 0xe8-0xef
|
||
Some('\u{00AD}'),
|
||
Some('ы'),
|
||
Some('Ы'),
|
||
Some('з'),
|
||
Some('З'),
|
||
Some('ш'),
|
||
Some('Ш'),
|
||
Some('э'), // 0xf0-0xf7
|
||
Some('Э'),
|
||
Some('щ'),
|
||
Some('Щ'),
|
||
Some('ч'),
|
||
Some('Ч'),
|
||
Some('§'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 857, byte value to Unicode scalar.
|
||
pub(crate) const CP857: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ä'),
|
||
Some('à'),
|
||
Some('å'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('ë'),
|
||
Some('è'),
|
||
Some('ï'),
|
||
Some('î'),
|
||
Some('ı'),
|
||
Some('Ä'),
|
||
Some('Å'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('æ'),
|
||
Some('Æ'),
|
||
Some('ô'),
|
||
Some('ö'),
|
||
Some('ò'),
|
||
Some('û'),
|
||
Some('ù'), // 0x90-0x97
|
||
Some('İ'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('ø'),
|
||
Some('£'),
|
||
Some('Ø'),
|
||
Some('Ş'),
|
||
Some('ş'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('ñ'),
|
||
Some('Ñ'),
|
||
Some('Ğ'),
|
||
Some('ğ'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('®'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('Á'),
|
||
Some('Â'),
|
||
Some('À'), // 0xb0-0xb7
|
||
Some('©'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('¢'),
|
||
Some('¥'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('ã'),
|
||
Some('Ã'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('¤'), // 0xc8-0xcf
|
||
Some('º'),
|
||
Some('ª'),
|
||
Some('Ê'),
|
||
Some('Ë'),
|
||
Some('È'),
|
||
None,
|
||
Some('Í'),
|
||
Some('Î'), // 0xd0-0xd7
|
||
Some('Ï'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('¦'),
|
||
Some('Ì'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('Ó'),
|
||
Some('ß'),
|
||
Some('Ô'),
|
||
Some('Ò'),
|
||
Some('õ'),
|
||
Some('Õ'),
|
||
Some('µ'),
|
||
None, // 0xe0-0xe7
|
||
Some('×'),
|
||
Some('Ú'),
|
||
Some('Û'),
|
||
Some('Ù'),
|
||
Some('ì'),
|
||
Some('ÿ'),
|
||
Some('¯'),
|
||
Some('´'), // 0xe8-0xef
|
||
Some('\u{00AD}'),
|
||
Some('±'),
|
||
None,
|
||
Some('¾'),
|
||
Some('¶'),
|
||
Some('§'),
|
||
Some('÷'),
|
||
Some('¸'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('¨'),
|
||
Some('·'),
|
||
Some('¹'),
|
||
Some('³'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 860, byte value to Unicode scalar.
|
||
pub(crate) const CP860: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ã'),
|
||
Some('à'),
|
||
Some('Á'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('Ê'),
|
||
Some('è'),
|
||
Some('Í'),
|
||
Some('Ô'),
|
||
Some('ì'),
|
||
Some('Ã'),
|
||
Some('Â'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('À'),
|
||
Some('È'),
|
||
Some('ô'),
|
||
Some('õ'),
|
||
Some('ò'),
|
||
Some('Ú'),
|
||
Some('ù'), // 0x90-0x97
|
||
Some('Ì'),
|
||
Some('Õ'),
|
||
Some('Ü'),
|
||
Some('¢'),
|
||
Some('£'),
|
||
Some('Ù'),
|
||
Some('₧'),
|
||
Some('Ó'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('ñ'),
|
||
Some('Ñ'),
|
||
Some('ª'),
|
||
Some('º'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('Ò'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('α'),
|
||
Some('ß'),
|
||
Some('Γ'),
|
||
Some('π'),
|
||
Some('Σ'),
|
||
Some('σ'),
|
||
Some('µ'),
|
||
Some('τ'), // 0xe0-0xe7
|
||
Some('Φ'),
|
||
Some('Θ'),
|
||
Some('Ω'),
|
||
Some('δ'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('ε'),
|
||
Some('∩'), // 0xe8-0xef
|
||
Some('≡'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('⌠'),
|
||
Some('⌡'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 861, byte value to Unicode scalar.
|
||
pub(crate) const CP861: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ä'),
|
||
Some('à'),
|
||
Some('å'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('ë'),
|
||
Some('è'),
|
||
Some('Ð'),
|
||
Some('ð'),
|
||
Some('Þ'),
|
||
Some('Ä'),
|
||
Some('Å'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('æ'),
|
||
Some('Æ'),
|
||
Some('ô'),
|
||
Some('ö'),
|
||
Some('þ'),
|
||
Some('û'),
|
||
Some('Ý'), // 0x90-0x97
|
||
Some('ý'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('ø'),
|
||
Some('£'),
|
||
Some('Ø'),
|
||
Some('₧'),
|
||
Some('ƒ'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('Á'),
|
||
Some('Í'),
|
||
Some('Ó'),
|
||
Some('Ú'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('⌐'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('α'),
|
||
Some('ß'),
|
||
Some('Γ'),
|
||
Some('π'),
|
||
Some('Σ'),
|
||
Some('σ'),
|
||
Some('µ'),
|
||
Some('τ'), // 0xe0-0xe7
|
||
Some('Φ'),
|
||
Some('Θ'),
|
||
Some('Ω'),
|
||
Some('δ'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('ε'),
|
||
Some('∩'), // 0xe8-0xef
|
||
Some('≡'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('⌠'),
|
||
Some('⌡'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 862, byte value to Unicode scalar.
|
||
pub(crate) const CP862: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('א'),
|
||
Some('ב'),
|
||
Some('ג'),
|
||
Some('ד'),
|
||
Some('ה'),
|
||
Some('ו'),
|
||
Some('ז'),
|
||
Some('ח'), // 0x80-0x87
|
||
Some('ט'),
|
||
Some('י'),
|
||
Some('ך'),
|
||
Some('כ'),
|
||
Some('ל'),
|
||
Some('ם'),
|
||
Some('מ'),
|
||
Some('ן'), // 0x88-0x8f
|
||
Some('נ'),
|
||
Some('ס'),
|
||
Some('ע'),
|
||
Some('ף'),
|
||
Some('פ'),
|
||
Some('ץ'),
|
||
Some('צ'),
|
||
Some('ק'), // 0x90-0x97
|
||
Some('ר'),
|
||
Some('ש'),
|
||
Some('ת'),
|
||
Some('¢'),
|
||
Some('£'),
|
||
Some('¥'),
|
||
Some('₧'),
|
||
Some('ƒ'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('ñ'),
|
||
Some('Ñ'),
|
||
Some('ª'),
|
||
Some('º'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('⌐'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('α'),
|
||
Some('ß'),
|
||
Some('Γ'),
|
||
Some('π'),
|
||
Some('Σ'),
|
||
Some('σ'),
|
||
Some('µ'),
|
||
Some('τ'), // 0xe0-0xe7
|
||
Some('Φ'),
|
||
Some('Θ'),
|
||
Some('Ω'),
|
||
Some('δ'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('ε'),
|
||
Some('∩'), // 0xe8-0xef
|
||
Some('≡'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('⌠'),
|
||
Some('⌡'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 863, byte value to Unicode scalar.
|
||
pub(crate) const CP863: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('Â'),
|
||
Some('à'),
|
||
Some('¶'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('ë'),
|
||
Some('è'),
|
||
Some('ï'),
|
||
Some('î'),
|
||
Some('‗'),
|
||
Some('À'),
|
||
Some('§'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('È'),
|
||
Some('Ê'),
|
||
Some('ô'),
|
||
Some('Ë'),
|
||
Some('Ï'),
|
||
Some('û'),
|
||
Some('ù'), // 0x90-0x97
|
||
Some('¤'),
|
||
Some('Ô'),
|
||
Some('Ü'),
|
||
Some('¢'),
|
||
Some('£'),
|
||
Some('Ù'),
|
||
Some('Û'),
|
||
Some('ƒ'), // 0x98-0x9f
|
||
Some('¦'),
|
||
Some('´'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('¨'),
|
||
Some('¸'),
|
||
Some('³'),
|
||
Some('¯'), // 0xa0-0xa7
|
||
Some('Î'),
|
||
Some('⌐'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¾'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('α'),
|
||
Some('ß'),
|
||
Some('Γ'),
|
||
Some('π'),
|
||
Some('Σ'),
|
||
Some('σ'),
|
||
Some('µ'),
|
||
Some('τ'), // 0xe0-0xe7
|
||
Some('Φ'),
|
||
Some('Θ'),
|
||
Some('Ω'),
|
||
Some('δ'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('ε'),
|
||
Some('∩'), // 0xe8-0xef
|
||
Some('≡'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('⌠'),
|
||
Some('⌡'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 864, byte value to Unicode scalar.
|
||
pub(crate) const CP864: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('٪'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('°'),
|
||
Some('·'),
|
||
Some('∙'),
|
||
Some('√'),
|
||
Some('▒'),
|
||
Some('─'),
|
||
Some('│'),
|
||
Some('┼'), // 0x80-0x87
|
||
Some('┤'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('┴'),
|
||
Some('┐'),
|
||
Some('┌'),
|
||
Some('└'),
|
||
Some('┘'), // 0x88-0x8f
|
||
Some('β'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('±'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('≈'),
|
||
Some('«'), // 0x90-0x97
|
||
Some('»'),
|
||
Some('ﻷ'),
|
||
Some('ﻸ'),
|
||
None,
|
||
None,
|
||
Some('ﻻ'),
|
||
Some('ﻼ'),
|
||
None, // 0x98-0x9f
|
||
Some('\u{00A0}'),
|
||
Some('\u{00AD}'),
|
||
Some('ﺂ'),
|
||
Some('£'),
|
||
Some('¤'),
|
||
Some('ﺄ'),
|
||
None,
|
||
None, // 0xa0-0xa7
|
||
Some('ﺎ'),
|
||
Some('ﺏ'),
|
||
Some('ﺕ'),
|
||
Some('ﺙ'),
|
||
Some('،'),
|
||
Some('ﺝ'),
|
||
Some('ﺡ'),
|
||
Some('ﺥ'), // 0xa8-0xaf
|
||
Some('٠'),
|
||
Some('١'),
|
||
Some('٢'),
|
||
Some('٣'),
|
||
Some('٤'),
|
||
Some('٥'),
|
||
Some('٦'),
|
||
Some('٧'), // 0xb0-0xb7
|
||
Some('٨'),
|
||
Some('٩'),
|
||
Some('ﻑ'),
|
||
Some('؛'),
|
||
Some('ﺱ'),
|
||
Some('ﺵ'),
|
||
Some('ﺹ'),
|
||
Some('؟'), // 0xb8-0xbf
|
||
Some('¢'),
|
||
Some('ﺀ'),
|
||
Some('ﺁ'),
|
||
Some('ﺃ'),
|
||
Some('ﺅ'),
|
||
Some('ﻊ'),
|
||
Some('ﺋ'),
|
||
Some('ﺍ'), // 0xc0-0xc7
|
||
Some('ﺑ'),
|
||
Some('ﺓ'),
|
||
Some('ﺗ'),
|
||
Some('ﺛ'),
|
||
Some('ﺟ'),
|
||
Some('ﺣ'),
|
||
Some('ﺧ'),
|
||
Some('ﺩ'), // 0xc8-0xcf
|
||
Some('ﺫ'),
|
||
Some('ﺭ'),
|
||
Some('ﺯ'),
|
||
Some('ﺳ'),
|
||
Some('ﺷ'),
|
||
Some('ﺻ'),
|
||
Some('ﺿ'),
|
||
Some('ﻁ'), // 0xd0-0xd7
|
||
Some('ﻅ'),
|
||
Some('ﻋ'),
|
||
Some('ﻏ'),
|
||
Some('¦'),
|
||
Some('¬'),
|
||
Some('÷'),
|
||
Some('×'),
|
||
Some('ﻉ'), // 0xd8-0xdf
|
||
Some('ـ'),
|
||
Some('ﻓ'),
|
||
Some('ﻗ'),
|
||
Some('ﻛ'),
|
||
Some('ﻟ'),
|
||
Some('ﻣ'),
|
||
Some('ﻧ'),
|
||
Some('ﻫ'), // 0xe0-0xe7
|
||
Some('ﻭ'),
|
||
Some('ﻯ'),
|
||
Some('ﻳ'),
|
||
Some('ﺽ'),
|
||
Some('ﻌ'),
|
||
Some('ﻎ'),
|
||
Some('ﻍ'),
|
||
Some('ﻡ'), // 0xe8-0xef
|
||
Some('ﹽ'),
|
||
Some('ّ'),
|
||
Some('ﻥ'),
|
||
Some('ﻩ'),
|
||
Some('ﻬ'),
|
||
Some('ﻰ'),
|
||
Some('ﻲ'),
|
||
Some('ﻐ'), // 0xf0-0xf7
|
||
Some('ﻕ'),
|
||
Some('ﻵ'),
|
||
Some('ﻶ'),
|
||
Some('ﻝ'),
|
||
Some('ﻙ'),
|
||
Some('ﻱ'),
|
||
Some('■'),
|
||
None, // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 865, byte value to Unicode scalar.
|
||
pub(crate) const CP865: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('Ç'),
|
||
Some('ü'),
|
||
Some('é'),
|
||
Some('â'),
|
||
Some('ä'),
|
||
Some('à'),
|
||
Some('å'),
|
||
Some('ç'), // 0x80-0x87
|
||
Some('ê'),
|
||
Some('ë'),
|
||
Some('è'),
|
||
Some('ï'),
|
||
Some('î'),
|
||
Some('ì'),
|
||
Some('Ä'),
|
||
Some('Å'), // 0x88-0x8f
|
||
Some('É'),
|
||
Some('æ'),
|
||
Some('Æ'),
|
||
Some('ô'),
|
||
Some('ö'),
|
||
Some('ò'),
|
||
Some('û'),
|
||
Some('ù'), // 0x90-0x97
|
||
Some('ÿ'),
|
||
Some('Ö'),
|
||
Some('Ü'),
|
||
Some('ø'),
|
||
Some('£'),
|
||
Some('Ø'),
|
||
Some('₧'),
|
||
Some('ƒ'), // 0x98-0x9f
|
||
Some('á'),
|
||
Some('í'),
|
||
Some('ó'),
|
||
Some('ú'),
|
||
Some('ñ'),
|
||
Some('Ñ'),
|
||
Some('ª'),
|
||
Some('º'), // 0xa0-0xa7
|
||
Some('¿'),
|
||
Some('⌐'),
|
||
Some('¬'),
|
||
Some('½'),
|
||
Some('¼'),
|
||
Some('¡'),
|
||
Some('«'),
|
||
Some('¤'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('α'),
|
||
Some('ß'),
|
||
Some('Γ'),
|
||
Some('π'),
|
||
Some('Σ'),
|
||
Some('σ'),
|
||
Some('µ'),
|
||
Some('τ'), // 0xe0-0xe7
|
||
Some('Φ'),
|
||
Some('Θ'),
|
||
Some('Ω'),
|
||
Some('δ'),
|
||
Some('∞'),
|
||
Some('φ'),
|
||
Some('ε'),
|
||
Some('∩'), // 0xe8-0xef
|
||
Some('≡'),
|
||
Some('±'),
|
||
Some('≥'),
|
||
Some('≤'),
|
||
Some('⌠'),
|
||
Some('⌡'),
|
||
Some('÷'),
|
||
Some('≈'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('ⁿ'),
|
||
Some('²'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 866, byte value to Unicode scalar.
|
||
pub(crate) const CP866: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('А'),
|
||
Some('Б'),
|
||
Some('В'),
|
||
Some('Г'),
|
||
Some('Д'),
|
||
Some('Е'),
|
||
Some('Ж'),
|
||
Some('З'), // 0x80-0x87
|
||
Some('И'),
|
||
Some('Й'),
|
||
Some('К'),
|
||
Some('Л'),
|
||
Some('М'),
|
||
Some('Н'),
|
||
Some('О'),
|
||
Some('П'), // 0x88-0x8f
|
||
Some('Р'),
|
||
Some('С'),
|
||
Some('Т'),
|
||
Some('У'),
|
||
Some('Ф'),
|
||
Some('Х'),
|
||
Some('Ц'),
|
||
Some('Ч'), // 0x90-0x97
|
||
Some('Ш'),
|
||
Some('Щ'),
|
||
Some('Ъ'),
|
||
Some('Ы'),
|
||
Some('Ь'),
|
||
Some('Э'),
|
||
Some('Ю'),
|
||
Some('Я'), // 0x98-0x9f
|
||
Some('а'),
|
||
Some('б'),
|
||
Some('в'),
|
||
Some('г'),
|
||
Some('д'),
|
||
Some('е'),
|
||
Some('ж'),
|
||
Some('з'), // 0xa0-0xa7
|
||
Some('и'),
|
||
Some('й'),
|
||
Some('к'),
|
||
Some('л'),
|
||
Some('м'),
|
||
Some('н'),
|
||
Some('о'),
|
||
Some('п'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('╡'),
|
||
Some('╢'),
|
||
Some('╖'), // 0xb0-0xb7
|
||
Some('╕'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('╜'),
|
||
Some('╛'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('╞'),
|
||
Some('╟'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('╧'), // 0xc8-0xcf
|
||
Some('╨'),
|
||
Some('╤'),
|
||
Some('╥'),
|
||
Some('╙'),
|
||
Some('╘'),
|
||
Some('╒'),
|
||
Some('╓'),
|
||
Some('╫'), // 0xd0-0xd7
|
||
Some('╪'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('▌'),
|
||
Some('▐'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('р'),
|
||
Some('с'),
|
||
Some('т'),
|
||
Some('у'),
|
||
Some('ф'),
|
||
Some('х'),
|
||
Some('ц'),
|
||
Some('ч'), // 0xe0-0xe7
|
||
Some('ш'),
|
||
Some('щ'),
|
||
Some('ъ'),
|
||
Some('ы'),
|
||
Some('ь'),
|
||
Some('э'),
|
||
Some('ю'),
|
||
Some('я'), // 0xe8-0xef
|
||
Some('Ё'),
|
||
Some('ё'),
|
||
Some('Є'),
|
||
Some('є'),
|
||
Some('Ї'),
|
||
Some('ї'),
|
||
Some('Ў'),
|
||
Some('ў'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('∙'),
|
||
Some('·'),
|
||
Some('√'),
|
||
Some('№'),
|
||
Some('¤'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 869, byte value to Unicode scalar.
|
||
pub(crate) const CP869: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
Some('Ά'),
|
||
None, // 0x80-0x87
|
||
Some('·'),
|
||
Some('¬'),
|
||
Some('¦'),
|
||
Some('‘'),
|
||
Some('’'),
|
||
Some('Έ'),
|
||
Some('―'),
|
||
Some('Ή'), // 0x88-0x8f
|
||
Some('Ί'),
|
||
Some('Ϊ'),
|
||
Some('Ό'),
|
||
None,
|
||
None,
|
||
Some('Ύ'),
|
||
Some('Ϋ'),
|
||
Some('©'), // 0x90-0x97
|
||
Some('Ώ'),
|
||
Some('²'),
|
||
Some('³'),
|
||
Some('ά'),
|
||
Some('£'),
|
||
Some('έ'),
|
||
Some('ή'),
|
||
Some('ί'), // 0x98-0x9f
|
||
Some('ϊ'),
|
||
Some('ΐ'),
|
||
Some('ό'),
|
||
Some('ύ'),
|
||
Some('Α'),
|
||
Some('Β'),
|
||
Some('Γ'),
|
||
Some('Δ'), // 0xa0-0xa7
|
||
Some('Ε'),
|
||
Some('Ζ'),
|
||
Some('Η'),
|
||
Some('½'),
|
||
Some('Θ'),
|
||
Some('Ι'),
|
||
Some('«'),
|
||
Some('»'), // 0xa8-0xaf
|
||
Some('░'),
|
||
Some('▒'),
|
||
Some('▓'),
|
||
Some('│'),
|
||
Some('┤'),
|
||
Some('Κ'),
|
||
Some('Λ'),
|
||
Some('Μ'), // 0xb0-0xb7
|
||
Some('Ν'),
|
||
Some('╣'),
|
||
Some('║'),
|
||
Some('╗'),
|
||
Some('╝'),
|
||
Some('Ξ'),
|
||
Some('Ο'),
|
||
Some('┐'), // 0xb8-0xbf
|
||
Some('└'),
|
||
Some('┴'),
|
||
Some('┬'),
|
||
Some('├'),
|
||
Some('─'),
|
||
Some('┼'),
|
||
Some('Π'),
|
||
Some('Ρ'), // 0xc0-0xc7
|
||
Some('╚'),
|
||
Some('╔'),
|
||
Some('╩'),
|
||
Some('╦'),
|
||
Some('╠'),
|
||
Some('═'),
|
||
Some('╬'),
|
||
Some('Σ'), // 0xc8-0xcf
|
||
Some('Τ'),
|
||
Some('Υ'),
|
||
Some('Φ'),
|
||
Some('Χ'),
|
||
Some('Ψ'),
|
||
Some('Ω'),
|
||
Some('α'),
|
||
Some('β'), // 0xd0-0xd7
|
||
Some('γ'),
|
||
Some('┘'),
|
||
Some('┌'),
|
||
Some('█'),
|
||
Some('▄'),
|
||
Some('δ'),
|
||
Some('ε'),
|
||
Some('▀'), // 0xd8-0xdf
|
||
Some('ζ'),
|
||
Some('η'),
|
||
Some('θ'),
|
||
Some('ι'),
|
||
Some('κ'),
|
||
Some('λ'),
|
||
Some('μ'),
|
||
Some('ν'), // 0xe0-0xe7
|
||
Some('ξ'),
|
||
Some('ο'),
|
||
Some('π'),
|
||
Some('ρ'),
|
||
Some('σ'),
|
||
Some('ς'),
|
||
Some('τ'),
|
||
Some('΄'), // 0xe8-0xef
|
||
Some('\u{00AD}'),
|
||
Some('±'),
|
||
Some('υ'),
|
||
Some('φ'),
|
||
Some('χ'),
|
||
Some('§'),
|
||
Some('ψ'),
|
||
Some('΅'), // 0xf0-0xf7
|
||
Some('°'),
|
||
Some('¨'),
|
||
Some('ω'),
|
||
Some('ϋ'),
|
||
Some('ΰ'),
|
||
Some('ώ'),
|
||
Some('■'),
|
||
Some('\u{00A0}'), // 0xf8-0xff
|
||
];
|
||
|
||
/// Code page 874, byte value to Unicode scalar.
|
||
pub(crate) const CP874: [Option<char>; 256] = [
|
||
Some('\u{0000}'),
|
||
Some('\u{0001}'),
|
||
Some('\u{0002}'),
|
||
Some('\u{0003}'),
|
||
Some('\u{0004}'),
|
||
Some('\u{0005}'),
|
||
Some('\u{0006}'),
|
||
Some('\u{0007}'), // 0x00-0x07
|
||
Some('\u{0008}'),
|
||
Some('\u{0009}'),
|
||
Some('\u{000A}'),
|
||
Some('\u{000B}'),
|
||
Some('\u{000C}'),
|
||
Some('\u{000D}'),
|
||
Some('\u{000E}'),
|
||
Some('\u{000F}'), // 0x08-0x0f
|
||
Some('\u{0010}'),
|
||
Some('\u{0011}'),
|
||
Some('\u{0012}'),
|
||
Some('\u{0013}'),
|
||
Some('\u{0014}'),
|
||
Some('\u{0015}'),
|
||
Some('\u{0016}'),
|
||
Some('\u{0017}'), // 0x10-0x17
|
||
Some('\u{0018}'),
|
||
Some('\u{0019}'),
|
||
Some('\u{001A}'),
|
||
Some('\u{001B}'),
|
||
Some('\u{001C}'),
|
||
Some('\u{001D}'),
|
||
Some('\u{001E}'),
|
||
Some('\u{001F}'), // 0x18-0x1f
|
||
Some(' '),
|
||
Some('!'),
|
||
Some('"'),
|
||
Some('#'),
|
||
Some('$'),
|
||
Some('%'),
|
||
Some('&'),
|
||
Some('\u{0027}'), // 0x20-0x27
|
||
Some('('),
|
||
Some(')'),
|
||
Some('*'),
|
||
Some('+'),
|
||
Some(','),
|
||
Some('-'),
|
||
Some('.'),
|
||
Some('/'), // 0x28-0x2f
|
||
Some('0'),
|
||
Some('1'),
|
||
Some('2'),
|
||
Some('3'),
|
||
Some('4'),
|
||
Some('5'),
|
||
Some('6'),
|
||
Some('7'), // 0x30-0x37
|
||
Some('8'),
|
||
Some('9'),
|
||
Some(':'),
|
||
Some(';'),
|
||
Some('<'),
|
||
Some('='),
|
||
Some('>'),
|
||
Some('?'), // 0x38-0x3f
|
||
Some('@'),
|
||
Some('A'),
|
||
Some('B'),
|
||
Some('C'),
|
||
Some('D'),
|
||
Some('E'),
|
||
Some('F'),
|
||
Some('G'), // 0x40-0x47
|
||
Some('H'),
|
||
Some('I'),
|
||
Some('J'),
|
||
Some('K'),
|
||
Some('L'),
|
||
Some('M'),
|
||
Some('N'),
|
||
Some('O'), // 0x48-0x4f
|
||
Some('P'),
|
||
Some('Q'),
|
||
Some('R'),
|
||
Some('S'),
|
||
Some('T'),
|
||
Some('U'),
|
||
Some('V'),
|
||
Some('W'), // 0x50-0x57
|
||
Some('X'),
|
||
Some('Y'),
|
||
Some('Z'),
|
||
Some('['),
|
||
Some('\u{005C}'),
|
||
Some(']'),
|
||
Some('^'),
|
||
Some('_'), // 0x58-0x5f
|
||
Some('`'),
|
||
Some('a'),
|
||
Some('b'),
|
||
Some('c'),
|
||
Some('d'),
|
||
Some('e'),
|
||
Some('f'),
|
||
Some('g'), // 0x60-0x67
|
||
Some('h'),
|
||
Some('i'),
|
||
Some('j'),
|
||
Some('k'),
|
||
Some('l'),
|
||
Some('m'),
|
||
Some('n'),
|
||
Some('o'), // 0x68-0x6f
|
||
Some('p'),
|
||
Some('q'),
|
||
Some('r'),
|
||
Some('s'),
|
||
Some('t'),
|
||
Some('u'),
|
||
Some('v'),
|
||
Some('w'), // 0x70-0x77
|
||
Some('x'),
|
||
Some('y'),
|
||
Some('z'),
|
||
Some('{'),
|
||
Some('|'),
|
||
Some('}'),
|
||
Some('~'),
|
||
Some('\u{007F}'), // 0x78-0x7f
|
||
Some('€'),
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
Some('…'),
|
||
None,
|
||
None, // 0x80-0x87
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None, // 0x88-0x8f
|
||
None,
|
||
Some('‘'),
|
||
Some('’'),
|
||
Some('“'),
|
||
Some('”'),
|
||
Some('•'),
|
||
Some('–'),
|
||
Some('—'), // 0x90-0x97
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
None, // 0x98-0x9f
|
||
Some('\u{00A0}'),
|
||
Some('ก'),
|
||
Some('ข'),
|
||
Some('ฃ'),
|
||
Some('ค'),
|
||
Some('ฅ'),
|
||
Some('ฆ'),
|
||
Some('ง'), // 0xa0-0xa7
|
||
Some('จ'),
|
||
Some('ฉ'),
|
||
Some('ช'),
|
||
Some('ซ'),
|
||
Some('ฌ'),
|
||
Some('ญ'),
|
||
Some('ฎ'),
|
||
Some('ฏ'), // 0xa8-0xaf
|
||
Some('ฐ'),
|
||
Some('ฑ'),
|
||
Some('ฒ'),
|
||
Some('ณ'),
|
||
Some('ด'),
|
||
Some('ต'),
|
||
Some('ถ'),
|
||
Some('ท'), // 0xb0-0xb7
|
||
Some('ธ'),
|
||
Some('น'),
|
||
Some('บ'),
|
||
Some('ป'),
|
||
Some('ผ'),
|
||
Some('ฝ'),
|
||
Some('พ'),
|
||
Some('ฟ'), // 0xb8-0xbf
|
||
Some('ภ'),
|
||
Some('ม'),
|
||
Some('ย'),
|
||
Some('ร'),
|
||
Some('ฤ'),
|
||
Some('ล'),
|
||
Some('ฦ'),
|
||
Some('ว'), // 0xc0-0xc7
|
||
Some('ศ'),
|
||
Some('ษ'),
|
||
Some('ส'),
|
||
Some('ห'),
|
||
Some('ฬ'),
|
||
Some('อ'),
|
||
Some('ฮ'),
|
||
Some('ฯ'), // 0xc8-0xcf
|
||
Some('ะ'),
|
||
Some('ั'),
|
||
Some('า'),
|
||
Some('ำ'),
|
||
Some('ิ'),
|
||
Some('ี'),
|
||
Some('ึ'),
|
||
Some('ื'), // 0xd0-0xd7
|
||
Some('ุ'),
|
||
Some('ู'),
|
||
Some('ฺ'),
|
||
None,
|
||
None,
|
||
None,
|
||
None,
|
||
Some('฿'), // 0xd8-0xdf
|
||
Some('เ'),
|
||
Some('แ'),
|
||
Some('โ'),
|
||
Some('ใ'),
|
||
Some('ไ'),
|
||
Some('ๅ'),
|
||
Some('ๆ'),
|
||
Some('็'), // 0xe0-0xe7
|
||
Some('่'),
|
||
Some('้'),
|
||
Some('๊'),
|
||
Some('๋'),
|
||
Some('์'),
|
||
Some('ํ'),
|
||
Some('๎'),
|
||
Some('๏'), // 0xe8-0xef
|
||
Some('๐'),
|
||
Some('๑'),
|
||
Some('๒'),
|
||
Some('๓'),
|
||
Some('๔'),
|
||
Some('๕'),
|
||
Some('๖'),
|
||
Some('๗'), // 0xf0-0xf7
|
||
Some('๘'),
|
||
Some('๙'),
|
||
Some('๚'),
|
||
Some('๛'),
|
||
None,
|
||
None,
|
||
None,
|
||
None, // 0xf8-0xff
|
||
];
|