diff --git a/src/common/character_set.rs b/src/common/character_set.rs index b514224..0a47d26 100644 --- a/src/common/character_set.rs +++ b/src/common/character_set.rs @@ -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", diff --git a/src/common/eci.rs b/src/common/eci.rs index e33893e..da47109 100644 --- a/src/common/eci.rs +++ b/src/common/eci.rs @@ -123,11 +123,11 @@ impl From 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 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, diff --git a/src/common/eci_encoder_set.rs b/src/common/eci_encoder_set.rs index 2ac723b..e3db100 100644 --- a/src/common/eci_encoder_set.rs +++ b/src/common/eci_encoder_set.rs @@ -20,38 +20,63 @@ use super::{CharacterSet, Eci}; use once_cell::sync::Lazy; -static ENCODERS: Lazy> = 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> = 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> = 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