From Newsgroup: comp.text.tex
Herbert Vo|f submitted an update to the
pst-barcode
package.
Version: 0.22
License: lppl
Summary description:
Announcement text: --------------------------------------------------------------------------------
0.22 2026-05-14 - fix for wrong number of lines 15->17
0.21 2026-03-30
- Alias option handling was simplified and improved.
- The text rendering system was generalised to support up to 9 independent text groups. The existing text and extratext options are retained as aliases.
- The position of the whitespace guards for EAN/UPC symbols was simplified and better aligned with the text.
- The position of the whitespace guards for standalone EAN/UPC addons was fixed.
- The text{x,y}align=justify options were fixed for the linear and matrix renderers.
- The text processing for the Code 39 Extended and Code 93 Extended encoders was fixed.
- The text renderer now centres each character using stringwidth and pathbbox for font-independent alignment in the direct text positioning path.
- Text offsets were adjusted for EAN/UPC-based symbologies and addons to account for ink-centre anchoring. Non-EAN encoders with per-character text placement were converted to use centre-aligned single string rendering.
- FMLY was added to the encoder metadata.
- The C API and SWIG bindings were expanded with support for lazy loading of resource bodies.
- Input validation was hardened across all encoders, including data length checks, empty data rejection, and implementation limit guards for large allocations.
- The renderers now validate their input structures and the text renderer handles single-character justify alignment correctly.
- All resources now clean up the dictionary stack when an error is raised, preventing dict stack leaks in caller contexts.
- Renderer error handling was improved: correct graphics state restoration, operand stack cleanup for invalid colors, and redundant gsave/grestore removal from composite rendering paths.
- Raw mode input validation was improved for Code 128, Code 16K, Data Matrix, PosiCode, Ultracode, PDF417 and Micro PDF417, including ^NNN format and codeword range checks.
- Data exceeding the maximum symbol capacity is now rejected during encoding for QR Code, Data Matrix, Code One, PDF417 and JAB Code.
- Codablock F, Code 16K and the matrix renderer now handle large symbols without overflowing the operand stack.
- GS1 input validation was improved for DataBar Expanded, DataBar Stacked Omnidirectional, GS1 Composite Component and GS1 North American Coupon.
- JAB Code now validates eclevel, mask, colors, rows and columns options. PRNG constants now avoid integer literals exceeding the signed 32-bit range.
- PDF417 and Micro PDF417: Fixed text submode optimizer crash with long all-text inputs by increasing the sentinel value used in the Viterbi cost comparison.
- JAB Code: Fixed crash in slave symbol mode where metadata encoding referenced an undefined variable.
- The AusPost encoder now supports FCC 87 (Routing) and FCC 92 (Redirection) barcodes.
- The renderers now support a `default_inkspread` global context setting.
- The GS1 AI linter was realigned with the latest release of the GS1 Syntax Dictionary.
- User option validation was improved for the Codablock F, Code 16K, Code 49, Micro PDF417 and PDF417 encoders.
- User option validation was improved for the linear, matrix and maximatrix renderers.
- The encoder for DotCode was fixed to ensure a minimum symbol dimension when the opposite dimension is large.
- The performance of the PDF417, Micro PDF417, Code One, OneCode, Data Matrix and GS1 Composite Component encoders was improved.
- The time to generate error correction polynomials was improved using a FIFO cache for the QR Code, Data Matrix, PDF47, Micro PDF417, MaxiCode, Dot Code, Han Xin and Ultracode symbologies.
- The performance of the Code 128, Codablock F, Posicode and Code 16K encoders was improved.
- Stack leaks during error handling were fixed for the Data Matrix, PDF417, Micro PDF417, ISBN, ISMN, AusPost and Telepen symbologies.
- The performance of generating the error correction codewords for AusPost symbols was improved.
- Several stack leaks were fixed for GS1 AI and DL data processing.
- The debug and dontdraw options of all encoders must now be enabled using a pair of global switches.
- The performance of generating the error correction codewords for Aztec Code, Han Xin Code, QR Code, Data Matrix, Code One, Maxicode, PDF417, Micro PDF417, Ultracode symbols was improved.
- The Ultracode encoder was fixed so that colours are correctly selected for rendering.
- The performance of the matrix renderer was further improved.
- Common colour handling code was factored out of the renderers into its own resource.
- The performance of the matrix renderer was significantly improved.
- The QR Code encoder performance was enhanced by precalculating the mask function patterns and applying them simultaneously to the data bitstream.
- A mechanism to "preload" the lazy variables via global context was added.
- Switch from loadctx/unloadctx mechanism to a more direct method of preloading static state, with lazy initialisation.
- The Two-Track Pharmacode encoder's text positioning was fixed.
- The USPS Intelligent Mail encoder's text positioning was fixed.
- Common text rendering code was factored out of the linear and matrix renderers into its own resource.
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/graphics/pstricks/contrib/pst-barcode
More information is at
https://ctan.org/pkg/pst-barcode
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see
https://ctan.org/lugs .
--- Synchronet 3.22a-Linux NewsLink 1.2