Update to HIBC allows Aztec Code encoding

This commit is contained in:
hooper114 2009-11-03 10:54:21 +00:00
parent d5e61c1c44
commit 13a8a80136
3 changed files with 23 additions and 19 deletions

View File

@ -229,6 +229,9 @@ int hibc(struct zint_symbol *symbol, unsigned char source[], int length)
case BARCODE_HIBC_BLOCKF: case BARCODE_HIBC_BLOCKF:
error_number = codablock(symbol, (unsigned char *)to_process, length); error_number = codablock(symbol, (unsigned char *)to_process, length);
break; break;
case BARCODE_HIBC_AZTEC:
error_number = aztec(symbol, (unsigned char *)to_process, length);
break;
} }
return error_number; return error_number;
@ -343,6 +346,7 @@ int ZBarcode_ValidID(int symbol_id)
case BARCODE_HIBC_PDF: case BARCODE_HIBC_PDF:
case BARCODE_HIBC_MICPDF: case BARCODE_HIBC_MICPDF:
case BARCODE_HIBC_BLOCKF: case BARCODE_HIBC_BLOCKF:
case BARCODE_HIBC_AZTEC:
case BARCODE_AZRUNE: case BARCODE_AZRUNE:
case BARCODE_CODE32: case BARCODE_CODE32:
case BARCODE_EANX_CC: case BARCODE_EANX_CC:
@ -485,6 +489,7 @@ int reduced_charset(struct zint_symbol *symbol, unsigned char *source, int lengt
case BARCODE_HIBC_PDF: error_number = hibc(symbol, preprocessed, length); break; case BARCODE_HIBC_PDF: error_number = hibc(symbol, preprocessed, length); break;
case BARCODE_HIBC_MICPDF: error_number = hibc(symbol, preprocessed, length); break; case BARCODE_HIBC_MICPDF: error_number = hibc(symbol, preprocessed, length); break;
case BARCODE_HIBC_BLOCKF: error_number = hibc(symbol, preprocessed, length); break; case BARCODE_HIBC_BLOCKF: error_number = hibc(symbol, preprocessed, length); break;
case BARCODE_HIBC_AZTEC: error_number = hibc(symbol, preprocessed, length); break;
case BARCODE_JAPANPOST: error_number = japan_post(symbol, preprocessed, length); break; case BARCODE_JAPANPOST: error_number = japan_post(symbol, preprocessed, length); break;
case BARCODE_CODE49: error_number = code_49(symbol, preprocessed, length); break; case BARCODE_CODE49: error_number = code_49(symbol, preprocessed, length); break;
case BARCODE_CHANNEL: error_number = channel_code(symbol, preprocessed, length); break; case BARCODE_CHANNEL: error_number = channel_code(symbol, preprocessed, length); break;
@ -555,7 +560,7 @@ int ZBarcode_Encode(struct zint_symbol *symbol, unsigned char *source, int lengt
if(symbol->symbology == 107) { symbol->symbology = BARCODE_HIBC_PDF; } if(symbol->symbology == 107) { symbol->symbology = BARCODE_HIBC_PDF; }
if(symbol->symbology == 109) { symbol->symbology = BARCODE_HIBC_MICPDF; } if(symbol->symbology == 109) { symbol->symbology = BARCODE_HIBC_MICPDF; }
if(symbol->symbology == 111) { symbol->symbology = BARCODE_HIBC_BLOCKF; } if(symbol->symbology == 111) { symbol->symbology = BARCODE_HIBC_BLOCKF; }
if((symbol->symbology >= 112) && (symbol->symbology <= 127)) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; } if((symbol->symbology >= 113) && (symbol->symbology <= 127)) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }
/* Everything from 128 up is Zint-specific */ /* Everything from 128 up is Zint-specific */
if(symbol->symbology >= 143) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; } if(symbol->symbology >= 143) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }

View File

@ -121,6 +121,7 @@ struct zint_symbol {
#define BARCODE_HIBC_PDF 106 #define BARCODE_HIBC_PDF 106
#define BARCODE_HIBC_MICPDF 108 #define BARCODE_HIBC_MICPDF 108
#define BARCODE_HIBC_BLOCKF 110 #define BARCODE_HIBC_BLOCKF 110
#define BARCODE_HIBC_AZTEC 112
/* Zint specific */ /* Zint specific */
#define BARCODE_AZRUNE 128 #define BARCODE_AZRUNE 128

View File

@ -44,22 +44,22 @@ void types(void) {
"16: GS1-128 66: AP Reply Paid 106: HIBC PDF417\n" "16: GS1-128 66: AP Reply Paid 106: HIBC PDF417\n"
"18: Codabar 67: AP Routing 108: HIBC MicroPDF417\n" "18: Codabar 67: AP Routing 108: HIBC MicroPDF417\n"
"20: Code 128 68: AP Redirection 110: HIBC Codablock-F\n" "20: Code 128 68: AP Redirection 110: HIBC Codablock-F\n"
"21: Leitcode 69: ISBN 128: Aztec Runes\n" "21: Leitcode 69: ISBN 112: HIBC Aztec Code\n"
"22: Identcode 70: RM4SCC 129: Code 23\n" "22: Identcode 70: RM4SCC 128: Aztec Runes\n"
"23: Code 16k 71: Data Matrix 130: Comp EAN\n" "23: Code 16k 71: Data Matrix 129: Code 23\n"
"24: Code 49 72: EAN-14 131: Comp GS1-128\n" "24: Code 49 72: EAN-14 130: Comp EAN\n"
"25: Code 93 74: Codablock-F 132: Comp Databar-14\n" "25: Code 93 74: Codablock-F 131: Comp GS1-128\n"
"28: Flattermarken 75: NVE-18 133: Comp Databar Ltd\n" "28: Flattermarken 75: NVE-18 132: Comp Databar-14\n"
"29: Databar-14 76: Japanese Post 134: Comp Databar Ext\n" "29: Databar-14 76: Japanese Post 133: Comp Databar Ltd\n"
"30: Databar Limited 77: Korea Post 135: Comp UPC-A\n" "30: Databar Limited 77: Korea Post 134: Comp Databar Ext\n"
"31: Databar Extended 79: Databar-14 Stack 136: Comp UPC-E\n" "31: Databar Extended 79: Databar-14 Stack 135: Comp UPC-A\n"
"32: Telepen Alpha 80: Databar-14 Stack Omni 137: Comp Databar-14 Stack\n" "32: Telepen Alpha 80: Databar-14 Stack Omni 136: Comp UPC-E\n"
"34: UPC-A 81: Databar Extended Stack 138: Comp Databar Stack Omni\n" "34: UPC-A 81: Databar Extended Stack 137: Comp Databar-14 Stack\n"
"37: UPC-E 82: Planet 139: Comp Databar Ext Stack\n" "37: UPC-E 82: Planet 138: Comp Databar Stack Omni\n"
"40: Postnet 84: MicroPDF 140: Channel Code\n" "40: Postnet 84: MicroPDF 139: Comp Databar Ext Stack\n"
"47: MSI Plessey 85: USPS OneCode 141: Code One\n" "47: MSI Plessey 85: USPS OneCode 140: Channel Code\n"
"49: FIM 86: UK Plessey\n" "49: FIM 86: UK Plessey 141: Code One\n"
"50: Logmars 87: Telepen Numeric\n" "50: Logmars 87: Telepen Numeric 142: Grid Matrix\n"
); );
} }
@ -93,8 +93,6 @@ void usage(void)
" --primary=STRING (Maxicode and Composite) Structured primary message.\n" " --primary=STRING (Maxicode and Composite) Structured primary message.\n"
" --mode=NUMBER (Maxicode and Composite) Set encoding mode.\n" " --mode=NUMBER (Maxicode and Composite) Set encoding mode.\n"
" --gs1 Treat input as GS1 data\n" " --gs1 Treat input as GS1 data\n"
" --kanji Treat input as Kanji characters in Unicode\n"
" --sjis Treat input as Shift-JIS\n"
" --binary Treat input as Binary data\n" " --binary Treat input as Binary data\n"
, ZINT_VERSION); , ZINT_VERSION);
} }