From fe7b71ae3129e0639ea4e97116e94051f13af767 Mon Sep 17 00:00:00 2001 From: Benjamin Kunz Date: Fri, 17 May 2013 10:07:49 +0200 Subject: [PATCH] removed unlatch before trailing single-symbol ASCII characters in accordance with specification. this fixes a problem with the symbol size growing larger than required --- backend/dmatrix.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/dmatrix.c b/backend/dmatrix.c index e7995d9b..80c79992 100644 --- a/backend/dmatrix.c +++ b/backend/dmatrix.c @@ -671,7 +671,7 @@ int dm200encode(struct zint_symbol *symbol, unsigned char source[], unsigned cha current_mode = DM_ASCII; } if(c40_p == 1) { - target[tp] = 254; tp++; /* unlatch */ + // don't unlatch before sending a single remaining ASCII character. target[tp] = source[inputlen - 1] + 1; tp++; concat(binary, " "); if(debug) printf("ASC A%02X ", target[tp - 1] - 1); @@ -687,7 +687,7 @@ int dm200encode(struct zint_symbol *symbol, unsigned char source[], unsigned cha current_mode = DM_ASCII; } if(text_p == 1) { - target[tp] = 254; tp++; /* unlatch */ + // don't unlatch before sending a single remaining ASCII character. target[tp] = source[inputlen - 1] + 1; tp++; concat(binary, " "); if(debug) printf("ASC A%02X ", target[tp - 1] - 1); @@ -703,7 +703,7 @@ int dm200encode(struct zint_symbol *symbol, unsigned char source[], unsigned cha current_mode = DM_ASCII; } if(x12_p == 1) { - target[tp] = 254; tp++; /* unlatch */ + // don't unlatch before sending a single remaining ASCII character. target[tp] = source[inputlen - 1] + 1; tp++; concat(binary, " "); if(debug) printf("ASC A%02X ", target[tp - 1] - 1);