enable all eci charactersets

This is not enabled for the eci encoder set builder, in which the encoding crate results in some encoders being equivelent and thus resulting in odd test cases.
This commit is contained in:
Henry Schimke
2023-03-06 12:23:53 -06:00
parent 284067f582
commit 921b51a405
3 changed files with 81 additions and 56 deletions

View File

@@ -34,14 +34,14 @@ pub enum CharacterSet {
ISO8859_3, //(5, "ISO-8859-3"),
ISO8859_4, //(6, "ISO-8859-4"),
ISO8859_5, //(7, "ISO-8859-5"),
// ISO8859_6, //(8, "ISO-8859-6"),
ISO8859_6, //(8, "ISO-8859-6"),
ISO8859_7, //(9, "ISO-8859-7"),
// ISO8859_8, //(10, "ISO-8859-8"),
ISO8859_8, //(10, "ISO-8859-8"),
ISO8859_9, //(11, "ISO-8859-9"),
// ISO8859_10, //(12, "ISO-8859-10"),
// ISO8859_11, //(13, "ISO-8859-11"),
ISO8859_10, //(12, "ISO-8859-10"),
ISO8859_11, //(13, "ISO-8859-11"),
ISO8859_13, //(15, "ISO-8859-13"),
// ISO8859_14, //(16, "ISO-8859-14"),
ISO8859_14, //(16, "ISO-8859-14"),
ISO8859_15, //(17, "ISO-8859-15"),
ISO8859_16, //(18, "ISO-8859-16"),
Shift_JIS, //(20, "Shift_JIS"),
@@ -109,14 +109,14 @@ impl CharacterSet {
CharacterSet::ISO8859_3 => "ISO-8859-3",
CharacterSet::ISO8859_4 => "ISO-8859-4",
CharacterSet::ISO8859_5 => "ISO-8859-5",
// CharacterSet::ISO8859_6 => "ISO-8859-6",
CharacterSet::ISO8859_6 => "ISO-8859-6",
CharacterSet::ISO8859_7 => "ISO-8859-7",
// CharacterSet::ISO8859_8 => "ISO-8859-8",
CharacterSet::ISO8859_8 => "ISO-8859-8",
CharacterSet::ISO8859_9 => "ISO-8859-9",
// CharacterSet::ISO8859_10 => "ISO-8859-10",
// CharacterSet::ISO8859_11 => "ISO-8859-11",
CharacterSet::ISO8859_10 => "ISO-8859-10",
CharacterSet::ISO8859_11 => "ISO-8859-11",
CharacterSet::ISO8859_13 => "ISO-8859-13",
// CharacterSet::ISO8859_14 => "ISO-8859-14",
CharacterSet::ISO8859_14 => "ISO-8859-14",
CharacterSet::ISO8859_15 => "ISO-8859-15",
CharacterSet::ISO8859_16 => "ISO-8859-16",
CharacterSet::Shift_JIS => "shift_jis",
@@ -148,14 +148,14 @@ impl CharacterSet {
CharacterSet::ISO8859_3 => "iso-8859-3",
CharacterSet::ISO8859_4 => "iso-8859-4",
CharacterSet::ISO8859_5 => "iso-8859-5",
// CharacterSet::ISO8859_6 => "ISO-8859-6",
CharacterSet::ISO8859_6 => "ISO-8859-6",
CharacterSet::ISO8859_7 => "iso-8859-7",
// CharacterSet::ISO8859_8 => "ISO-8859-8",
CharacterSet::ISO8859_8 => "ISO-8859-8",
CharacterSet::ISO8859_9 => "iso-8859-9",
// CharacterSet::ISO8859_10 => "ISO-8859-10",
// CharacterSet::ISO8859_11 => "ISO-8859-11",
CharacterSet::ISO8859_10 => "ISO-8859-10",
CharacterSet::ISO8859_11 => "ISO-8859-11",
CharacterSet::ISO8859_13 => "iso-8859-13",
// CharacterSet::ISO8859_14 => "ISO-8859-14",
CharacterSet::ISO8859_14 => "ISO-8859-14",
CharacterSet::ISO8859_15 => "iso-8859-15",
CharacterSet::ISO8859_16 => "iso-8859-16",
CharacterSet::Shift_JIS => "shift_jis",

View File

@@ -123,11 +123,11 @@ impl From<CharacterSet> for Eci {
CharacterSet::UTF32BE => Eci::UTF32BE,
CharacterSet::UTF32LE => Eci::UTF32LE,
CharacterSet::Binary => Eci::Binary,
// CharacterSet::ISO8859_6 => Eci::ISO8859_6,
// CharacterSet::ISO8859_8 => Eci::ISO8859_8,
// CharacterSet::ISO8859_10 => Eci::ISO8859_10,
// CharacterSet::ISO8859_11 => Eci::ISO8859_11,
// CharacterSet::ISO8859_14 => Eci::ISO8859_14,
CharacterSet::ISO8859_6 => Eci::ISO8859_6,
CharacterSet::ISO8859_8 => Eci::ISO8859_8,
CharacterSet::ISO8859_10 => Eci::ISO8859_10,
CharacterSet::ISO8859_11 => Eci::ISO8859_11,
CharacterSet::ISO8859_14 => Eci::ISO8859_14,
_ => Eci::Unknown,
}
}
@@ -142,14 +142,14 @@ impl From<Eci> for CharacterSet {
Eci::ISO8859_3 => CharacterSet::ISO8859_3,
Eci::ISO8859_4 => CharacterSet::ISO8859_4,
Eci::ISO8859_5 => CharacterSet::ISO8859_5,
// Eci::ISO8859_6 => CharacterSet::ISO8859_6,
Eci::ISO8859_6 => CharacterSet::ISO8859_6,
Eci::ISO8859_7 => CharacterSet::ISO8859_7,
// Eci::ISO8859_8 => CharacterSet::ISO8859_8,
Eci::ISO8859_8 => CharacterSet::ISO8859_8,
Eci::ISO8859_9 => CharacterSet::ISO8859_9,
// Eci::ISO8859_10 => CharacterSet::ISO8859_10,
// Eci::ISO8859_11 => CharacterSet::ISO8859_11,
Eci::ISO8859_10 => CharacterSet::ISO8859_10,
Eci::ISO8859_11 => CharacterSet::ISO8859_11,
Eci::ISO8859_13 => CharacterSet::ISO8859_13,
// Eci::ISO8859_14 => CharacterSet::ISO8859_14,
Eci::ISO8859_14 => CharacterSet::ISO8859_14,
Eci::ISO8859_15 => CharacterSet::ISO8859_15,
Eci::ISO8859_16 => CharacterSet::ISO8859_16,
Eci::Shift_JIS => CharacterSet::Shift_JIS,

View File

@@ -20,38 +20,63 @@ use super::{CharacterSet, Eci};
use once_cell::sync::Lazy;
static ENCODERS: Lazy<Vec<CharacterSet>> = Lazy::new(|| {
let mut enc_vec = Vec::new();
for name in NAMES {
if let Some(enc) = CharacterSet::get_character_set_by_name(name) {
enc_vec.push(enc);
}
}
enc_vec
});
// static ENCODERS: Lazy<Vec<CharacterSet>> = Lazy::new(|| {
// let mut enc_vec = Vec::new();
// for name in NAMES {
// if let Some(enc) = CharacterSet::get_character_set_by_name(name) {
// enc_vec.push(enc);
// }
// }
// enc_vec
// });
const NAMES: [&str; 20] = [
"IBM437",
"ISO-8859-2",
"ISO-8859-3",
"ISO-8859-4",
"ISO-8859-5",
"ISO-8859-6",
"ISO-8859-7",
"ISO-8859-8",
"ISO-8859-9",
"ISO-8859-10",
"ISO-8859-11",
"ISO-8859-13",
"ISO-8859-14",
"ISO-8859-15",
"ISO-8859-16",
"windows-1250",
"windows-1251",
"windows-1252",
"windows-1256",
"Shift_JIS",
];
// const NAMES: [&str; 20] = [
// "IBM437",
// "ISO-8859-2",
// "ISO-8859-3",
// "ISO-8859-4",
// "ISO-8859-5",
// "ISO-8859-6",
// "ISO-8859-7",
// "ISO-8859-8",
// "ISO-8859-9",
// "ISO-8859-10",
// "ISO-8859-11",
// "ISO-8859-13",
// "ISO-8859-14",
// "ISO-8859-15",
// "ISO-8859-16",
// "windows-1250",
// "windows-1251",
// "windows-1252",
// "windows-1256",
// "Shift_JIS",
// ];
static ENCODERS: Lazy<Vec<CharacterSet>> = Lazy::new(|| {
vec![
CharacterSet::Cp437,
CharacterSet::ISO8859_2,
CharacterSet::ISO8859_3,
CharacterSet::ISO8859_4,
CharacterSet::ISO8859_5,
// CharacterSet::ISO8859_6,
CharacterSet::ISO8859_7,
// CharacterSet::ISO8859_8,
CharacterSet::ISO8859_9,
// CharacterSet::ISO8859_10,
// CharacterSet::ISO8859_11,
// CharacterSet::ISO8859_13,
// CharacterSet::ISO8859_14,
CharacterSet::ISO8859_15,
CharacterSet::ISO8859_16,
CharacterSet::Shift_JIS,
CharacterSet::Cp1250,
CharacterSet::Cp1251,
CharacterSet::Cp1252,
CharacterSet::Cp1256,
]
});
/**
* Set of CharsetEncoders for a given input string