package com.google.zxing.oned; import com.google.zxing.BarcodeFormat; import com.google.zxing.FormatException; import com.google.zxing.common.BitMatrix; import java.util.Map; /* loaded from: classes3.dex */ public final class EAN13Writer extends UPCEANWriter { @Override // com.google.zxing.oned.OneDimensionalCodeWriter, com.google.zxing.Writer public BitMatrix encode(String str, BarcodeFormat barcodeFormat, int i, int i2, Map map) { if (barcodeFormat != BarcodeFormat.EAN_13) { throw new IllegalArgumentException("Can only encode EAN_13, but got ".concat(String.valueOf(barcodeFormat))); } return super.encode(str, barcodeFormat, i, i2, map); } @Override // com.google.zxing.oned.OneDimensionalCodeWriter public boolean[] encode(String str) { int length = str.length(); if (length == 12) { try { str = str + UPCEANReader.getStandardUPCEANChecksum(str); } catch (FormatException e) { throw new IllegalArgumentException(e); } } else if (length == 13) { try { if (!UPCEANReader.checkStandardUPCEANChecksum(str)) { throw new IllegalArgumentException("Contents do not pass checksum"); } } catch (FormatException unused) { throw new IllegalArgumentException("Illegal contents"); } } else { throw new IllegalArgumentException("Requested contents should be 12 or 13 digits long, but got ".concat(String.valueOf(length))); } int i = EAN13Reader.FIRST_DIGIT_ENCODINGS[Character.digit(str.charAt(0), 10)]; boolean[] zArr = new boolean[95]; int appendPattern = OneDimensionalCodeWriter.appendPattern(zArr, 0, UPCEANReader.START_END_PATTERN, true); for (int i2 = 1; i2 <= 6; i2++) { int digit = Character.digit(str.charAt(i2), 10); if (((i >> (6 - i2)) & 1) == 1) { digit += 10; } appendPattern += OneDimensionalCodeWriter.appendPattern(zArr, appendPattern, UPCEANReader.L_AND_G_PATTERNS[digit], false); } int appendPattern2 = appendPattern + OneDimensionalCodeWriter.appendPattern(zArr, appendPattern, UPCEANReader.MIDDLE_PATTERN, false); for (int i3 = 7; i3 <= 12; i3++) { appendPattern2 += OneDimensionalCodeWriter.appendPattern(zArr, appendPattern2, UPCEANReader.L_PATTERNS[Character.digit(str.charAt(i3), 10)], true); } OneDimensionalCodeWriter.appendPattern(zArr, appendPattern2, UPCEANReader.START_END_PATTERN, true); return zArr; } }