Repository navigation
2026-10-21
·
70 commits
to master
since this release
- The QR Code encoder was fixed to choose the mask by evaluating the complete symbol, including its format and version information, as the specification requires, which changes the mask of some symbols.
- The Code 128 encoder was fixed to encode the extended ASCII digits (byte values 176 to 185), which it could encode in code set C, losing their extended value.
- The Code 128 encoder was enhanced to always choose a shortest encodation, resolving ties in a fixed order of preference, which changes some symbols, including GS1-128 and other symbols based on Code 128.
- The suppressc and unlatchextbeforec options of the Code 128 encoder were made to apply without the newencoder option, which was removed.
- The GS1 Composite encoders were fixed to encode an X that follows the leading digits of AI (90), which readers decoded as a W.
- The GS1 Composite encoders were enhanced to encode a W that follows the leading digits of AI (90) in the shorter form, which can make symbols smaller.
- The GS1 DataBar Limited Composite encoder was fixed to make the four leftmost modules of the separator pattern light, rather than three.
- The GS1 DataBar Expanded Stacked Composite encoder was fixed to align the 2D component with the first symbol character of the linear component when it has other than four segments.
- The GS1-128 Composite encoder was fixed to give CC-C components with just over 40, 160 or 320 data codewords the recommended minimum error correction level.
- The GS1-128 Composite encoder was fixed to make CC-C components of automatic width narrower than four times their height, counting the start, stop and row indicator columns.
- The GS1 DataBar Limited Composite encoder was fixed to leave a quiet zone to the left of a CC-B component.
- The composite encoders other than GS1-128 Composite were fixed to refuse ccversion=c, which built a CC-C component that the specification does not permit.
- The GS1 DataBar Expanded Composite encoder was fixed to raise an error for ccversion=c, which caused a PostScript error.
- The GS1 DataBar Omnidirectional, Truncated and Limited Composite and GS1-128 Composite encoders were fixed to centre the human readable text on the linear component, from which it could be offset.
- The GS1 DataBar and GS1-128 Composite encoders were fixed to make the linear component no shorter than the linear symbol, which a specification height could lose up to a module from.
- The Rectangular Micro QR Code encoder was enhanced to select the smallest symbol that holds the data when no version is given, and the narrowest symbol of a given height with version=R7 to version=R17.
- The Code One encoder was enhanced to select the smallest S-type or T-type symbol that holds the data with version=S or version=T.
- The Code One encoder was enhanced to encode a final character in ASCII in the last codeword after Decimal data, which can make symbols smaller.
- The DotCode encoder was fixed to evaluate the masks of large symbols without exceeding the operand stack limit of some interpreters.
- The DotCode and GS1 DotCode encoders were fixed to accept input up to the capacity of the largest symbol, which they refused beyond 2000 characters.
- The Telepen and Telepen Numeric encoders were enhanced with an aimstartstop option for the AIM start and stop characters that mark compressed numeric data, with which DLE in Telepen data switches to compressed numeric.
- The PDF417 and MicroPDF417 encoders were enhanced to encode a short run of text in Text Compaction where that needs no further latch, which can make symbols smaller.
- The Australia Post encoder was enhanced to encode the Null Customer Barcode, FCC 00, at the shortest length that holds the customer information.
- The Code 11 encoder was amended to use two check digits for data of any length with includecheck or validatecheck, as the symbology is designed to use, which changes symbols of fewer than 10 characters that previously had one.
- The Code 11 encoder was enhanced with a numcheckdigits option, which selects one check digit for data of up to 10 characters.