Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.text.tex > #193273

CTAN update: pst-barcode

From CTAN Announcements <manfred@ctan.org>
Newsgroups comp.text.tex
Subject CTAN update: pst-barcode
Date 2026-05-15 12:18 +0200
Organization CTAN
Message-ID <ed103b248d9c56f6@hogwart> (permalink)

Show all headers | View raw


Herbert Voß 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 .

Back to comp.text.tex | Previous | Next | Find similar


Thread

CTAN update: pst-barcode CTAN Announcements <manfred@ctan.org> - 2026-05-15 12:18 +0200

csiph-web