Files
msdos-encodings/src/tables.rs

4168 lines
75 KiB
Rust
Raw Normal View History

//! Generated code page tables — do not edit by hand.
//!
//! Source: the Unicode Consortium's Microsoft mapping tables
//! (`VENDORS/MICSFT/PC/CP*.TXT`), vendored in `data/` and regenerated with
//! `tools/gen_tables.py`. Each table maps every byte value `0x00..=0xFF` to
//! its Unicode scalar, or `None` where the code page leaves the byte
//! undefined.
/// 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
];