jimu-decompiled/sources/com/google/zxing/oned/CodaBarWriter.java
2025-05-13 19:24:51 +02:00

100 lines
3.5 KiB
Java

package com.google.zxing.oned;
/* loaded from: classes.dex */
public final class CodaBarWriter extends OneDimensionalCodeWriter {
private static final char[] a = {'A', 'B', 'C', 'D'};
private static final char[] b = {'T', 'N', '*', 'E'};
private static final char[] c = {'/', ':', '+', '.'};
private static final char d = a[0];
@Override // com.google.zxing.oned.OneDimensionalCodeWriter
public boolean[] a(String str) {
int i;
if (str.length() < 2) {
str = d + str + d;
} else {
char upperCase = Character.toUpperCase(str.charAt(0));
char upperCase2 = Character.toUpperCase(str.charAt(str.length() - 1));
boolean a2 = CodaBarReader.a(a, upperCase);
boolean a3 = CodaBarReader.a(a, upperCase2);
boolean a4 = CodaBarReader.a(b, upperCase);
boolean a5 = CodaBarReader.a(b, upperCase2);
if (a2) {
if (!a3) {
throw new IllegalArgumentException("Invalid start/end guards: ".concat(String.valueOf(str)));
}
} else if (!a4) {
if (a3 || a5) {
throw new IllegalArgumentException("Invalid start/end guards: ".concat(String.valueOf(str)));
}
str = d + str + d;
} else if (!a5) {
throw new IllegalArgumentException("Invalid start/end guards: ".concat(String.valueOf(str)));
}
}
int i2 = 20;
for (int i3 = 1; i3 < str.length() - 1; i3++) {
if (Character.isDigit(str.charAt(i3)) || str.charAt(i3) == '-' || str.charAt(i3) == '$') {
i2 += 9;
} else {
if (!CodaBarReader.a(c, str.charAt(i3))) {
throw new IllegalArgumentException("Cannot encode : '" + str.charAt(i3) + '\'');
}
i2 += 10;
}
}
boolean[] zArr = new boolean[i2 + (str.length() - 1)];
int i4 = 0;
for (int i5 = 0; i5 < str.length(); i5++) {
char upperCase3 = Character.toUpperCase(str.charAt(i5));
if (i5 == 0 || i5 == str.length() - 1) {
if (upperCase3 == '*') {
upperCase3 = 'C';
} else if (upperCase3 == 'E') {
upperCase3 = 'D';
} else if (upperCase3 == 'N') {
upperCase3 = 'B';
} else if (upperCase3 == 'T') {
upperCase3 = 'A';
}
}
int i6 = 0;
while (true) {
char[] cArr = CodaBarReader.d;
if (i6 >= cArr.length) {
i = 0;
break;
}
if (upperCase3 == cArr[i6]) {
i = CodaBarReader.e[i6];
break;
}
i6++;
}
int i7 = i4;
int i8 = 0;
boolean z = true;
while (true) {
int i9 = 0;
while (i8 < 7) {
zArr[i7] = z;
i7++;
if (((i >> (6 - i8)) & 1) == 0 || i9 == 1) {
z = !z;
i8++;
} else {
i9++;
}
}
break;
}
if (i5 < str.length() - 1) {
zArr[i7] = false;
i7++;
}
i4 = i7;
}
return zArr;
}
}