"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "core/src/main/java/com/google/zxing/datamatrix/encoder/C40Encoder.java" between
zxing-zxing-3.4.1.tar.gz and zxing-zxing-3.5.0.tar.gz

About: ZXing ("zebra crossing") is a multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. Info: Project is in maintenance mode (no active development).

C40Encoder.java  (zxing-zxing-3.4.1):C40Encoder.java  (zxing-zxing-3.5.0)
skipping to change at line 26 skipping to change at line 26
package com.google.zxing.datamatrix.encoder; package com.google.zxing.datamatrix.encoder;
class C40Encoder implements Encoder { class C40Encoder implements Encoder {
@Override @Override
public int getEncodingMode() { public int getEncodingMode() {
return HighLevelEncoder.C40_ENCODATION; return HighLevelEncoder.C40_ENCODATION;
} }
void encodeMaximal(EncoderContext context) {
StringBuilder buffer = new StringBuilder();
int lastCharSize = 0;
int backtrackStartPosition = context.pos;
int backtrackBufferLength = 0;
while (context.hasMoreCharacters()) {
char c = context.getCurrentChar();
context.pos++;
lastCharSize = encodeChar(c, buffer);
if (buffer.length() % 3 == 0) {
backtrackStartPosition = context.pos;
backtrackBufferLength = buffer.length();
}
}
if (backtrackBufferLength != buffer.length()) {
int unwritten = (buffer.length() / 3) * 2;
int curCodewordCount = context.getCodewordCount() + unwritten + 1; // +1 f
or the latch to C40
context.updateSymbolInfo(curCodewordCount);
int available = context.getSymbolInfo().getDataCapacity() - curCodewordCou
nt;
int rest = buffer.length() % 3;
if ((rest == 2 && available != 2) ||
(rest == 1 && (lastCharSize > 3 || available != 1))) {
buffer.setLength(backtrackBufferLength);
context.pos = backtrackStartPosition;
}
}
if (buffer.length() > 0) {
context.writeCodeword(HighLevelEncoder.LATCH_TO_C40);
}
handleEOD(context, buffer);
}
@Override @Override
public void encode(EncoderContext context) { public void encode(EncoderContext context) {
//step C //step C
StringBuilder buffer = new StringBuilder(); StringBuilder buffer = new StringBuilder();
while (context.hasMoreCharacters()) { while (context.hasMoreCharacters()) {
char c = context.getCurrentChar(); char c = context.getCurrentChar();
context.pos++; context.pos++;
int lastCharSize = encodeChar(c, buffer); int lastCharSize = encodeChar(c, buffer);
 End of changes. 1 change blocks. 
0 lines changed or deleted 36 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)