Add Data Matrix ECC 000-140 and MicroQR

This commit is contained in:
hooper114 2008-11-05 08:43:13 +00:00
parent cc62769d2c
commit d2ac6e7cb6
12 changed files with 3070 additions and 31 deletions

View file

@ -109,6 +109,7 @@ extern int codablock(struct zint_symbol *symbol, unsigned char source[]); /* Cod
extern int daft_code(struct zint_symbol *symbol, unsigned char source[]); /* DAFT Code */
extern int ean_14(struct zint_symbol *symbol, unsigned char source[]); /* EAN-14 */
extern int nve_18(struct zint_symbol *symbol, unsigned char source[]); /* NVE-18 */
extern int microqr(struct zint_symbol *symbol, unsigned char source[]); /* Micro QR Code */
#ifndef NO_PNG
int png_handle(struct zint_symbol *symbol, int rotate_angle);
@ -171,12 +172,11 @@ int ZBarcode_Encode(struct zint_symbol *symbol, unsigned char *input)
if(symbol->symbology == 77) { strcpy(symbol->errtxt, "Korean Postal Code not supported [Z08]"); error_number = ERROR_INVALID_OPTION; }
if(symbol->symbology == 78) { symbol->symbology = BARCODE_RSS14; }
if(symbol->symbology == 83) { symbol->symbology = BARCODE_PLANET; }
/* NOTE: Tbarcode v8 needs sorting out */
if(symbol->symbology == 88) { symbol->symbology = BARCODE_EAN128; }
if(symbol->symbology == 91) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128 [Z09]"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }
/* leave a gap for future expansion of tbarcode */
if((symbol->symbology >= 94) && (symbol->symbology <= 128)) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128 [Z10]"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }
/* Everything from 100 up is Zint-specific */
if((symbol->symbology >= 94) && (symbol->symbology <= 96)) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128 [Z10]"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }
if((symbol->symbology >= 98) && (symbol->symbology <= 128)) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128 [Z10]"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }
/* Everything from 128 up is Zint-specific */
if(symbol->symbology >= 140) { strcpy(symbol->errtxt, "Symbology out of range, using Code 128 [Z11]"); symbol->symbology = BARCODE_CODE128; error_number = WARN_INVALID_OPTION; }
if(error_number > 4) {
@ -267,6 +267,7 @@ int ZBarcode_Encode(struct zint_symbol *symbol, unsigned char *input)
case BARCODE_CODABLOCKF: error_number = codablock(symbol, input); break;
case BARCODE_DAFT: error_number = daft_code(symbol, input); break;
case BARCODE_EAN14: error_number = ean_14(symbol, input); break;
case BARCODE_MICROQR: error_number = microqr(symbol, input); break;
}
if(error_number == 0) {
error_number = error_buffer;