100 lines
3.5 KiB
Java
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;
|
|
}
|
|
}
|