mirror of
https://git.code.sf.net/p/zint/code
synced 2025-05-23 03:26:56 -04:00
GUI: remove sizeConstraint so squashable again (sigh)
- make Sequence Format textbox bigger (on own line) - suppress question mark in Windows dialogs AUSPOST: more standard error messages backend: add & use z_isdigit/upper/lower() macros docs: 20-bit Unicode -> 21-bit Unicode
This commit is contained in:
parent
07772094d5
commit
0b3fe8db93
40 changed files with 200 additions and 186 deletions
|
@ -1,5 +1,4 @@
|
|||
/* general_field.c - Handles general field compaction (GS1 DataBar and composites) */
|
||||
|
||||
/*
|
||||
libzint - the open source barcode library
|
||||
Copyright (C) 2019-2022 Robin Stuart <rstuart114@gmail.com>
|
||||
|
@ -29,6 +28,7 @@
|
|||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
*/
|
||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||
|
||||
#include "common.h"
|
||||
#include "general_field.h"
|
||||
|
@ -39,10 +39,10 @@ static const char isoiec_puncs[] = "!\"%&'()*+,-./:;<=>?_ "; /* Note contains sp
|
|||
|
||||
/* Returns type of char at `i`. FNC1 counted as NUMERIC. Returns 0 if invalid char */
|
||||
static int general_field_type(const char *general_field, const int i) {
|
||||
if (general_field[i] == '[' || (general_field[i] >= '0' && general_field[i] <= '9')) {
|
||||
if (general_field[i] == '[' || z_isdigit(general_field[i])) {
|
||||
return NUMERIC;
|
||||
}
|
||||
if ((general_field[i] >= 'A' && general_field[i] <= 'Z') || posn(alphanum_puncs, general_field[i]) != -1) {
|
||||
if (z_isupper(general_field[i]) || posn(alphanum_puncs, general_field[i]) != -1) {
|
||||
return ALPHANUMERIC;
|
||||
}
|
||||
if (is_sane(IS_ISOIEC_F, (const unsigned char *) general_field + i, 1)) {
|
||||
|
@ -150,10 +150,10 @@ INTERNAL int general_field_encode(const char *general_field, const int general_f
|
|||
/* 7.2.5.5.2/5.4.2 d) */
|
||||
bp = bin_append_posn(0, 3, binary_string, bp); /* Numeric latch "000" */
|
||||
mode = NUMERIC;
|
||||
} else if ((general_field[i] >= '0') && (general_field[i] <= '9')) {
|
||||
} else if (z_isdigit(general_field[i])) {
|
||||
bp = bin_append_posn(general_field[i] - 43, 5, binary_string, bp);
|
||||
i++;
|
||||
} else if ((general_field[i] >= 'A') && (general_field[i] <= 'Z')) {
|
||||
} else if (z_isupper(general_field[i])) {
|
||||
bp = bin_append_posn(general_field[i] - 33, 6, binary_string, bp);
|
||||
i++;
|
||||
} else {
|
||||
|
@ -180,13 +180,13 @@ INTERNAL int general_field_encode(const char *general_field, const int general_f
|
|||
/* Note this rule can produce longer bitstreams if most of the alphanumerics are numeric */
|
||||
bp = bin_append_posn(4, 5, binary_string, bp); /* Alphanumeric latch "00100" */
|
||||
mode = ALPHANUMERIC;
|
||||
} else if ((general_field[i] >= '0') && (general_field[i] <= '9')) {
|
||||
} else if (z_isdigit(general_field[i])) {
|
||||
bp = bin_append_posn(general_field[i] - 43, 5, binary_string, bp);
|
||||
i++;
|
||||
} else if ((general_field[i] >= 'A') && (general_field[i] <= 'Z')) {
|
||||
} else if (z_isupper(general_field[i])) {
|
||||
bp = bin_append_posn(general_field[i] - 1, 7, binary_string, bp);
|
||||
i++;
|
||||
} else if ((general_field[i] >= 'a') && (general_field[i] <= 'z')) {
|
||||
} else if (z_islower(general_field[i])) {
|
||||
bp = bin_append_posn(general_field[i] - 7, 7, binary_string, bp);
|
||||
i++;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue