mirror of
https://git.code.sf.net/p/zint/code
synced 2026-05-13 01:23:50 +00:00
AZTEC: add manual FNC1 support:
improve P/S vs P/L choice when have ECI; add ZINT_DEBUG_TEST dump AUSPOST: allow variable length data input DATAMATRIX: do `EXTRA_ESCAPE_MODE` processing up front & check have non-zero length afterwards; disallow `READER_INIT` and `EXTRA_ESCAPE_MODE`; general: add new `z_zero_fill()` func & use; add new `z_extra_escape_position_fnc1()` helper; in `z_ct_set_seg_extra_escapes_eci` check position FNC1 whether or not have ECI library: escape_char_process: note escaped backslash followed by caret by passes `EXTRA_ESCAPE_MODE` check test suite: BWIPP: update to latest; support AUSPOST variants; process `EXTRA_ESCAPE_MODE` escaping up front
This commit is contained in:
@@ -755,14 +755,16 @@ the sequence backslash caret (“\^”):
|
||||
Extra Escape Interpretation Available for Symbology
|
||||
Sequence
|
||||
-------------------- ------------------------------- -----------------------
|
||||
\^1 Insert FNC1 character Code128, Data Matrix
|
||||
\^1 Insert FNC1 character Aztec Code, Code 128,
|
||||
Data Matrix
|
||||
|
||||
\^^ Literal \^ Code128, Data Matrix
|
||||
\^^ Literal \^ Aztec Code, Code 128,
|
||||
Data Matrix
|
||||
|
||||
\^A, \^B, \^C Select Code Set A, B or C Code128 only
|
||||
\^A, \^B, \^C Select Code Set A, B or C Code 128 only
|
||||
respectively
|
||||
|
||||
\^@ Exit manual Code Set selection Code128 only
|
||||
\^@ Exit manual Code Set selection Code 128 only
|
||||
and resume automatic Code Set
|
||||
selection
|
||||
----------------------------------------------------------------------------
|
||||
@@ -2509,7 +2511,7 @@ member:
|
||||
MICROPDF417, PDF417, QRCODE and UPNQR only).
|
||||
|
||||
EXTRA_ESCAPE_MODE Process special symbology-specific escape sequences
|
||||
(CODE128 and DATAMATRIX only).
|
||||
(AZTEC, CODE128 and DATAMATRIX only).
|
||||
|
||||
GS1SYNTAXENGINE_MODE Use the GS1 Syntax Engine (if available) to strictly
|
||||
validate GS1 input.
|
||||
@@ -2909,7 +2911,8 @@ Standard Code 2 of 5.
|
||||
|
||||
6.1.2.5 Code 2 of 5 Data Logic
|
||||
|
||||
Data Logic can encode numeric input (digits 0-9) up to a maximum of 113 digits.
|
||||
Data Logic, also known as China Post or Hong Kong 2 of 5, can encode numeric
|
||||
input (digits 0-9) up to a maximum of 113 digits.
|
||||
|
||||
[zint -b C25LOGIC -d "9212320967"]
|
||||
|
||||
@@ -3874,7 +3877,7 @@ pharmaceuticals. The symbology is able to encode whole numbers between 4 and
|
||||
6.4.2 POSTNET
|
||||
|
||||
Used by the United States Postal Service until 2009, the POSTNET barcode was
|
||||
used for encoding zip-codes on mail items. POSTNET uses numerical input data and
|
||||
used for encoding ZIP codes on mail items. POSTNET uses numerical input data and
|
||||
includes a modulo-10 check digit. While Zint will encode POSTNET symbols of up
|
||||
to 38 digits in length, standard lengths as used by USPS were PostNet6 (5-digit
|
||||
ZIP input), PostNet10 (5-digit ZIP + 4-digit user data) and PostNet12 (5-digit
|
||||
@@ -3948,28 +3951,28 @@ on mail items.
|
||||
Valid data characters are 0-9, A-Z, a-z, space and hash (#). A Format Control
|
||||
Code (FCC) is added by Zint and should not be included in the input data.
|
||||
Reed-Solomon error correction data is generated by Zint. Encoding behaviour is
|
||||
determined by the length of the input data according to the formula shown in the
|
||||
following table. The first 8 digits is the DPID.
|
||||
determined by the length and type of the input data as shown in the following
|
||||
table, where C means any valid character.
|
||||
|
||||
---------------------------------------------------------------
|
||||
Input Required Input Format Symbol FCC Encoding
|
||||
Length Length Table(s)
|
||||
--------- --------------------------- -------- ----- ----------
|
||||
8 99999999 37-bar 11 N
|
||||
-----------------------------------------------------------------
|
||||
Input DPID Customer Data Symbol FCC Encoding
|
||||
Length (required) (optional) Length Table(s)
|
||||
-------- -------------- --------------- -------- ----- ----------
|
||||
1-8 1 to 8 digits None 37 bars 11 N
|
||||
|
||||
13 99999999AAAAA 52-bar 59 N and C
|
||||
9-13 8 digits 1 to 5 C 52 bars 59 N and C
|
||||
|
||||
16 9999999999999999 52-bar 59 N
|
||||
9-16 8 digits 1 to 8 digits 52 bars 59 N
|
||||
|
||||
18 99999999AAAAAAAAAA 67-bar 62 N and C
|
||||
9-18 8 digits 1 to 10 C 67 bars 62 N and C
|
||||
|
||||
23 99999999999999999999999 67-bar 62 N
|
||||
---------------------------------------------------------------
|
||||
9-23 8 digits 1 to 15 digits 67 bars 62 N
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Table 23: Australia Post Input Formats
|
||||
|
||||
The special Null FCC 00, non-machine readable and intended for customer use
|
||||
only, is used (all input lengths) if the DPID is all zeroes.
|
||||
The special Null FCC 00, intended for customer use only, is used (all input
|
||||
lengths) if the DPID is all zeroes.
|
||||
|
||||
6.5.1.2 Reply Paid Barcode
|
||||
|
||||
@@ -4062,9 +4065,9 @@ PLANET symbologies in 2009.
|
||||
|
||||
[zint -b USPS_IMAIL --compliantheight -d "01234567094987654321-01234"]
|
||||
|
||||
Intelligent Mail is a fixed length (65-bar) symbol which combines routing and
|
||||
Intelligent Mail is a fixed length 65-bar symbol which combines routing and
|
||||
customer information in a single symbol. Input data consists of a 20-digit
|
||||
tracking code, followed by a dash (-), followed by a delivery point zip-code
|
||||
tracking code, followed by a dash (-), followed by a delivery point ZIP code
|
||||
which can be 0, 5, 9 or 11 digits in length. For example all of the following
|
||||
inputs are valid data entries:
|
||||
|
||||
@@ -4663,6 +4666,11 @@ approximately 3823 numeric or 3067 alphabetic characters or 1914 bytes of data.
|
||||
A separate symbology ID (BARCODE_HIBC_AZTEC) can be used to encode Health
|
||||
Industry Barcode (HIBC) data.
|
||||
|
||||
Manual insertion of FNC1 is possible using the --extraesc option (API
|
||||
input_mode |= EXTRA_ESCAPE_MODE), which apart from processing normal escape
|
||||
sequences also processes the extra escape sequences given in Table 3: Extra
|
||||
Escape Sequences - see 6.6.1 Data Matrix (ISO 16022) for details.
|
||||
|
||||
For a faster but less optimal encodation, the --fast option (API
|
||||
input_mode |= FAST_MODE) may be used.
|
||||
|
||||
@@ -4933,8 +4941,8 @@ as shown in the table below.
|
||||
------------- ----------------------------------------------------------------
|
||||
A Used for courtesy reply mail and metered reply mail with a
|
||||
pre-printed POSTNET symbol.
|
||||
B Used for business reply mail without a pre-printed zip code.
|
||||
C Used for business reply mail with a pre-printed zip code.
|
||||
B Used for business reply mail without a pre-printed ZIP code.
|
||||
C Used for business reply mail with a pre-printed ZIP code.
|
||||
D Used for Information Based Indicia (IBI) postage.
|
||||
E Used for customized mail with a USPS Intelligent Mail barcode.
|
||||
|
||||
@@ -5459,11 +5467,11 @@ OPTIONS
|
||||
--extraesc
|
||||
|
||||
As well as processing the normal escape sequences above, process the special
|
||||
escape sequences beginning with \^. For Code 128 and Data Matrix, process
|
||||
the escape sequence \^1 that inserts an FNC1 character, and the escaping
|
||||
sequence \^^ that encodes a literal \^. For Code 128 only, process the
|
||||
escape sequences \^A, \^B, \^C and \^@ that allow manual switching of Code
|
||||
Sets. The sequence \^@ turns off manual switching.
|
||||
escape sequences beginning with \^. For Aztec Code, Code 128 and Data
|
||||
Matrix, process the escape sequence \^1 that inserts an FNC1 character, and
|
||||
the escaping sequence \^^ that encodes a literal \^. For Code 128 only,
|
||||
process the escape sequences \^A, \^B, \^C and \^@ that allow manual
|
||||
switching of Code Sets. The sequence \^@ turns off manual switching.
|
||||
|
||||
--fast
|
||||
|
||||
|
||||
Reference in New Issue
Block a user