2026-07-19 12:28:33 -05:00
|
|
|
|
//! Generated by `tools/gen_tables.py` — do not edit by hand.
|
2026-07-19 12:09:54 -05:00
|
|
|
|
//!
|
2026-07-19 12:28:33 -05:00
|
|
|
|
//! Source: the Unicode Consortium's Microsoft mapping tables, vendored in
|
|
|
|
|
|
//! `data/`.
|
2026-07-19 12:09:54 -05:00
|
|
|
|
|
|
|
|
|
|
/// 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
|
|
|
|
|
|
];
|