mirror of
https://github.com/starovoid/rxing.git
synced 2026-07-26 12:22:34 +00:00
fix eci w/o priority charset setting
This commit is contained in:
@@ -42,14 +42,14 @@ pub enum CharacterSetECI {
|
||||
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"),
|
||||
SJIS, //(20, "Shift_JIS"),
|
||||
@@ -108,14 +108,14 @@ impl CharacterSetECI {
|
||||
CharacterSetECI::ISO8859_3 => 5,
|
||||
CharacterSetECI::ISO8859_4 => 6,
|
||||
CharacterSetECI::ISO8859_5 => 7,
|
||||
CharacterSetECI::ISO8859_6 => 8,
|
||||
// CharacterSetECI::ISO8859_6 => 8,
|
||||
CharacterSetECI::ISO8859_7 => 9,
|
||||
CharacterSetECI::ISO8859_8 => 10,
|
||||
// CharacterSetECI::ISO8859_8 => 10,
|
||||
CharacterSetECI::ISO8859_9 => 11,
|
||||
CharacterSetECI::ISO8859_10 => 12,
|
||||
CharacterSetECI::ISO8859_11 => 13,
|
||||
// CharacterSetECI::ISO8859_10 => 12,
|
||||
// CharacterSetECI::ISO8859_11 => 13,
|
||||
CharacterSetECI::ISO8859_13 => 15,
|
||||
CharacterSetECI::ISO8859_14 => 16,
|
||||
// CharacterSetECI::ISO8859_14 => 16,
|
||||
CharacterSetECI::ISO8859_15 => 17,
|
||||
CharacterSetECI::ISO8859_16 => 18,
|
||||
CharacterSetECI::SJIS => 20,
|
||||
@@ -141,14 +141,14 @@ impl CharacterSetECI {
|
||||
CharacterSetECI::ISO8859_3 => "ISO-8859-3",
|
||||
CharacterSetECI::ISO8859_4 => "ISO-8859-4",
|
||||
CharacterSetECI::ISO8859_5 => "ISO-8859-5",
|
||||
CharacterSetECI::ISO8859_6 => "ISO-8859-6",
|
||||
// CharacterSetECI::ISO8859_6 => "ISO-8859-6",
|
||||
CharacterSetECI::ISO8859_7 => "ISO-8859-7",
|
||||
CharacterSetECI::ISO8859_8 => "ISO-8859-8",
|
||||
// CharacterSetECI::ISO8859_8 => "ISO-8859-8",
|
||||
CharacterSetECI::ISO8859_9 => "ISO-8859-9",
|
||||
CharacterSetECI::ISO8859_10 => "ISO-8859-10",
|
||||
CharacterSetECI::ISO8859_11 => "ISO-8859-11",
|
||||
// CharacterSetECI::ISO8859_10 => "ISO-8859-10",
|
||||
// CharacterSetECI::ISO8859_11 => "ISO-8859-11",
|
||||
CharacterSetECI::ISO8859_13 => "ISO-8859-13",
|
||||
CharacterSetECI::ISO8859_14 => "ISO-8859-14",
|
||||
// CharacterSetECI::ISO8859_14 => "ISO-8859-14",
|
||||
CharacterSetECI::ISO8859_15 => "ISO-8859-15",
|
||||
CharacterSetECI::ISO8859_16 => "ISO-8859-16",
|
||||
CharacterSetECI::SJIS => "Shift_JIS",
|
||||
@@ -184,14 +184,14 @@ impl CharacterSetECI {
|
||||
"iso-8859-3" => Some(CharacterSetECI::ISO8859_3),
|
||||
"iso-8859-4" => Some(CharacterSetECI::ISO8859_4),
|
||||
"iso-8859-5" => Some(CharacterSetECI::ISO8859_5),
|
||||
"iso-8859-6" => Some(CharacterSetECI::ISO8859_6),
|
||||
// "iso-8859-6" => Some(CharacterSetECI::ISO8859_6),
|
||||
"iso-8859-7" => Some(CharacterSetECI::ISO8859_7),
|
||||
"iso-8859-8" => Some(CharacterSetECI::ISO8859_8),
|
||||
// "iso-8859-8" => Some(CharacterSetECI::ISO8859_8),
|
||||
"iso-8859-9" => Some(CharacterSetECI::ISO8859_9),
|
||||
"iso-8859-10" => Some(CharacterSetECI::ISO8859_10),
|
||||
"iso-8859-11" => Some(CharacterSetECI::ISO8859_11),
|
||||
// "iso-8859-10" => Some(CharacterSetECI::ISO8859_10),
|
||||
// "iso-8859-11" => Some(CharacterSetECI::ISO8859_11),
|
||||
"iso-8859-13" => Some(CharacterSetECI::ISO8859_13),
|
||||
"iso-8859-14" => Some(CharacterSetECI::ISO8859_14),
|
||||
// "iso-8859-14" => Some(CharacterSetECI::ISO8859_14),
|
||||
"iso-8859-15" => Some(CharacterSetECI::ISO8859_15),
|
||||
"iso-8859-16" => Some(CharacterSetECI::ISO8859_16),
|
||||
"shift_jis" => Some(CharacterSetECI::SJIS),
|
||||
@@ -223,14 +223,14 @@ impl CharacterSetECI {
|
||||
5 => Ok(CharacterSetECI::ISO8859_3),
|
||||
6 => Ok(CharacterSetECI::ISO8859_4),
|
||||
7 => Ok(CharacterSetECI::ISO8859_5),
|
||||
8 => Ok(CharacterSetECI::ISO8859_6),
|
||||
// 8 => Ok(CharacterSetECI::ISO8859_6),
|
||||
9 => Ok(CharacterSetECI::ISO8859_7),
|
||||
10 => Ok(CharacterSetECI::ISO8859_8),
|
||||
// 10 => Ok(CharacterSetECI::ISO8859_8),
|
||||
11 => Ok(CharacterSetECI::ISO8859_9),
|
||||
12 => Ok(CharacterSetECI::ISO8859_10),
|
||||
13 => Ok(CharacterSetECI::ISO8859_11),
|
||||
// 12 => Ok(CharacterSetECI::ISO8859_10),
|
||||
// 13 => Ok(CharacterSetECI::ISO8859_11),
|
||||
15 => Ok(CharacterSetECI::ISO8859_13),
|
||||
16 => Ok(CharacterSetECI::ISO8859_14),
|
||||
// 16 => Ok(CharacterSetECI::ISO8859_14),
|
||||
17 => Ok(CharacterSetECI::ISO8859_15),
|
||||
18 => Ok(CharacterSetECI::ISO8859_16),
|
||||
20 => Ok(CharacterSetECI::SJIS),
|
||||
@@ -261,14 +261,14 @@ impl CharacterSetECI {
|
||||
"ISO-8859-3" => Some(CharacterSetECI::ISO8859_3),
|
||||
"ISO-8859-4" => Some(CharacterSetECI::ISO8859_4),
|
||||
"ISO-8859-5" => Some(CharacterSetECI::ISO8859_5),
|
||||
"ISO-8859-6" => Some(CharacterSetECI::ISO8859_6),
|
||||
// "ISO-8859-6" => Some(CharacterSetECI::ISO8859_6),
|
||||
"ISO-8859-7" => Some(CharacterSetECI::ISO8859_7),
|
||||
"ISO-8859-8" => Some(CharacterSetECI::ISO8859_8),
|
||||
// "ISO-8859-8" => Some(CharacterSetECI::ISO8859_8),
|
||||
"ISO-8859-9" => Some(CharacterSetECI::ISO8859_9),
|
||||
"ISO-8859-10" => Some(CharacterSetECI::ISO8859_10),
|
||||
"ISO-8859-11" => Some(CharacterSetECI::ISO8859_11),
|
||||
// "ISO-8859-10" => Some(CharacterSetECI::ISO8859_10),
|
||||
// "ISO-8859-11" => Some(CharacterSetECI::ISO8859_11),
|
||||
"ISO-8859-13" => Some(CharacterSetECI::ISO8859_13),
|
||||
"ISO-8859-14" => Some(CharacterSetECI::ISO8859_14),
|
||||
// "ISO-8859-14" => Some(CharacterSetECI::ISO8859_14),
|
||||
"ISO-8859-15" => Some(CharacterSetECI::ISO8859_15),
|
||||
"ISO-8859-16" => Some(CharacterSetECI::ISO8859_16),
|
||||
"Shift_JIS" => Some(CharacterSetECI::SJIS),
|
||||
|
||||
@@ -114,7 +114,7 @@ impl ECIEncoderSet {
|
||||
//we always need the ISO-8859-1 encoder. It is the default encoding
|
||||
neededEncoders.push(encoding::all::ISO_8859_1);
|
||||
let mut needUnicodeEncoder = if let Some(pc) = priorityCharset {
|
||||
pc.name().starts_with("UTF")
|
||||
pc.name().starts_with("UTF") || pc.name().starts_with("utf")
|
||||
} else {
|
||||
false
|
||||
};
|
||||
|
||||
@@ -351,8 +351,8 @@ impl MinimalECIInput {
|
||||
}
|
||||
let mut intsAL: Vec<u16> = Vec::new();
|
||||
let mut current = edges[inputLength][minimalJ as usize].clone();
|
||||
while current.is_some() {
|
||||
let c = current.unwrap().clone();
|
||||
while let Some(c) = current {
|
||||
//let c = current.unwrap().clone();
|
||||
if c.isFNC1() {
|
||||
intsAL.splice(0..0, [1000]);
|
||||
} else {
|
||||
@@ -361,11 +361,12 @@ impl MinimalECIInput {
|
||||
.iter()
|
||||
.map(|x| *x as u16)
|
||||
.collect();
|
||||
let mut i = bytes.len() as i32 - 1;
|
||||
let mut i = bytes.len() as isize - 1;
|
||||
while i >= 0 {
|
||||
// for (int i = bytes.length - 1; i >= 0; i--) {
|
||||
intsAL.splice(0..0, [bytes[i as usize]]);
|
||||
i = -1;
|
||||
// intsAL.splice(0..0, [bytes[i as usize]]);
|
||||
intsAL.insert(0, bytes[i as usize]);
|
||||
i -= 1;
|
||||
}
|
||||
}
|
||||
let previousEncoderIndex = if c.previous.is_none() {
|
||||
@@ -374,10 +375,11 @@ impl MinimalECIInput {
|
||||
c.previous.clone().unwrap().encoderIndex
|
||||
};
|
||||
if previousEncoderIndex != c.encoderIndex {
|
||||
intsAL.splice(
|
||||
0..0,
|
||||
[256 as u16 + encoderSet.getECIValue(c.encoderIndex) as u16],
|
||||
);
|
||||
// intsAL.splice(
|
||||
// 0..0,
|
||||
// [256 as u16 + encoderSet.getECIValue(c.encoderIndex) as u16],
|
||||
// );
|
||||
intsAL.insert(0, 256 as u16 + encoderSet.getECIValue(c.encoderIndex) as u16);
|
||||
}
|
||||
current = c.previous.clone();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user