mirror of
https://git.code.sf.net/p/zint/code
synced 2025-05-21 18:55:11 -04:00
- AZTEC/CHANNEL/CODABLOCKF/CODE16K/CODE49/CODEONE/DATAMATRIX/
DOTCODE/GRIDMATRIX/HANXIN/MICROPDF417/MICROQR/PDF417/QRCODE/ RMQR/ULTRA: set `option_1/2/3` to values used in encodation ("Feedback options"), and add new access methods `encodedOption1()` etc. to Qt Backend, and use in GUI to provide better feedback on "Automatic" selections - AZTEC: give more precise warnings in low ECC situations, and indicate via `option_1` by setting to -1 (min 3 words), 0 (<5% + 3 words) (`ecc_ratio`) - set_height: fix non-compliance false positives by using epsilon in checks (prompted by CODABLOCKF non-compliant warning for zint-generated compliant height - floating point `rows` mult != `zero_count` div; one test regression for CODE93); better warning messages on non-compliant heights (min/max) - manual/man page: fix DATAMATRIX Sizes tables "28 12x26" -> "27 12x26" - GUI: AZTEC/CODEONE: add Zint versions to comboboxes - DOTCODE: improve error messages re size too small/large - ULTRA: better ZINT_TEST codeword dump (ZINT_DEBUG_TEST) - general: various tabs -> spaces; prettify main .rc files; trailing spaces; small amount of code fiddling (CODE16K)
This commit is contained in:
parent
d0465375bb
commit
d222add96d
68 changed files with 1929 additions and 1497 deletions
19
backend/qr.c
19
backend/qr.c
|
@ -1851,6 +1851,11 @@ INTERNAL int qrcode(struct zint_symbol *symbol, struct zint_seg segs[], const in
|
|||
|
||||
bitmask = qr_apply_bitmask(grid, size, ecc_level, user_mask, fast_encode, debug_print);
|
||||
|
||||
/* Feedback options */
|
||||
symbol->option_1 = ecc_level + 1;
|
||||
symbol->option_2 = version;
|
||||
symbol->option_3 = (symbol->option_3 & 0xFF) | ((bitmask + 1) << 8);
|
||||
|
||||
qr_add_format_info(grid, size, ecc_level, bitmask);
|
||||
|
||||
symbol->width = size;
|
||||
|
@ -2339,6 +2344,11 @@ INTERNAL int microqr(struct zint_symbol *symbol, unsigned char source[], int len
|
|||
microqr_populate_grid(grid, size, full_stream, bp);
|
||||
bitmask = microqr_apply_bitmask(grid, size, user_mask, debug_print);
|
||||
|
||||
/* Feedback options */
|
||||
symbol->option_1 = ecc_level + 1;
|
||||
symbol->option_2 = version + 1;
|
||||
symbol->option_3 = (symbol->option_3 & 0xFF) | ((bitmask + 1) << 8);
|
||||
|
||||
/* Add format data */
|
||||
format = version ? (version - 1) * 2 + ecc_level + 1 : 0;
|
||||
|
||||
|
@ -2463,6 +2473,11 @@ INTERNAL int upnqr(struct zint_symbol *symbol, unsigned char source[], int lengt
|
|||
|
||||
bitmask = qr_apply_bitmask(grid, size, ecc_level, user_mask, fast_encode, debug_print);
|
||||
|
||||
/* Feedback options */
|
||||
symbol->option_1 = ecc_level + 1;
|
||||
symbol->option_2 = version;
|
||||
symbol->option_3 = (symbol->option_3 & 0xFF) | ((bitmask + 1) << 8);
|
||||
|
||||
qr_add_format_info(grid, size, ecc_level, bitmask);
|
||||
|
||||
symbol->width = size;
|
||||
|
@ -2726,6 +2741,10 @@ INTERNAL int rmqr(struct zint_symbol *symbol, struct zint_seg segs[], const int
|
|||
(est_binlen + 7) / 8, target_codewords);
|
||||
}
|
||||
|
||||
/* Feedback options */
|
||||
symbol->option_1 = ecc_level + 1;
|
||||
symbol->option_2 = version + 1;
|
||||
|
||||
if (debug_print) {
|
||||
printf("Minimum codewords: %d\n", (est_binlen + 7) / 8);
|
||||
printf("Selected version: %d = R%dx%d-%c\n",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue