TBarCode/X Version History

Version history of the barcode generator TBarCode/X V2 to V11


New Features / Bug Fixes
  • Changed the default method for encoding Data Matrix 144x144 symbols to comply with the ISO/IEC16022 standard (corresponds with option DataMatrix_ECC144Alternative=1).
  • Added a new option to enforce Code 128 subsets.
  • Changed the default size settings of the ITF14 barcode type to conform to the standard.
  • The new Korean Postal Codes with 5 digits (instead of 6) are now supported.
  • Fixed the encoding of FNC1 characters in the composite component of the GS1 128 Composite symbol.
  • Fixed a crash with Pharmacode One-Track when using custom colors.
  • Fixed the error codes for adding function characters when they are not allowed.
  • Updated the Application Identifier list to version 23.0 (2023) of the GS1 specification (see GS1 Application Identifiers).
TBarCode Library


New Features / Bug Fixes
  • Added GS1 Data Matrix and GS1 QR Code as separate bar code types.
  • Swiss QR Code: Updated the validation rules (CR/LF after EPD no longer required).
  • Fixed a memory leak ("corrupted size") occurring with --codepage=<non-default> on systems with locale != UTF-8.
TBarCode Library


  • Updated the 2D Royal Mail Mailmark® implementation to version 1.3.
  • Swiss QR code is now supported in PCL in mode without HP-GL/2 operations (PCL5noHPGL).
  • Minor fixes and enhancements.
TBarCode Library


New Features
  • Australia Post Barcodes: Added support for N Encoding Table and Zero Value 4-state barcodes.
TBarCode Library


New Features / Bug Fixes
  • Command line: Added new short parameters for specifying font name and font size (-n fontname -s fontsize)
  • Updated the QR Code mask pattern selection to the latest method defined in ISO/IEC 18004:2015
  • Updated the DotCode implementation to DotCode Revision 4 (AIM Global)
  • SVG: Fixed export of character Ø (UTF-8 encoding)
TBarCode Library


New Features / Bug Fixes TBarCode Library


TBarCode Library


New Features
  • Swiss QR Code 2.0: Implemented version 2.0 based on Swiss Payment Standards 2019
  • Data Matrix: Updated the size calculation for rectangular Data Matrix symbols (see DRME standard ISO/IEC 21471).
  • Updated the Application Identifier list to version 19 (2019) of the GS1 specification.
TBarCode Library


Bug Fixes
  • Memory Leak: Fixed a memory leak in the context of newlocale(). The problem seems to be bound to the glibc newlocale implementation.
TBarCode Library


New Features
  • The horizontal and vertical bar width reduction can be set separately (via option string).
Bug Fixes
  • Data Matrix: Fixed encoding of FNC1 character.
  • USPS Intelligent Mail Package (IMpb): Fixed incorrect data check.
TBarCode Library Known Bug
  • Memory Leak (fixed in 11.8.2).


Bug Fixes
  • USPS IM Package Barcode: Fixed encoding of FNC1 character.
  • Swiss QR Code: Fixed several bugs concerning the drawing of Swiss QR Code.
TBarCode Library Known Bug
  • Memory Leak (fixed in 11.8.2).


New Features
  • Added Barcode Types: PPN Code, NTIN Code, Swiss QR Code
Bug Fixes
  • Data Matrix Base 256 mode encodes wrong data. The problem occurs if Byte values >= 0x80 are encoded in the input data.
  • macOS build: The tbarcode executable has been linked to a hard coded installation path of libtbarcode.
TBarCode Library


New Features
  • Added ISO code pages and CPnnnn to command line options.
  • Data Matrix : Added additional Data Matrix DMRE rectangular sizes (ISO/IEC AWI 21471).
TBarCode Library Known Bug
  • Data Matrix: On some Linux builds the Data Matrix Base 256 mode (Byte values >= 0x80) encodes wrong data (TBC-8526).


New Features
  • Version 11.5 is now available for Mac OS X / macOS and Linux (other platforms will follow).
  • The TBarCode library is ready for sandboxing and is linked relative to the executable path instead of the absolute installation path.
TBarCode Library Known Bug
  • Data Matrix: On some Linux builds the Data Matrix Base 256 mode (Byte values >= 0x80) encodes wrong data (TBC-8526).


Bug Fixes
  • Filter and Command Line: The Royal Mail CMDM Mailmark™ Barcode could not be selected.


New Features
  • New Check Digit Mod-11 (W9). This is based on Modulo-11 with a maximum weighting of 9.
  • Release for Mac OS X available.
TBarCode Library


Bug Fixes
  • Wrong Default Size of RM4SCC and KIX. The height was changed from 2.5 mm to 5.1 mm.
TBarCode Library Known Problems
  • BCGetMetaDataW(..) returns NULL in case of EAN-8/13 and UPC-E/A. As a workaround please use the ANSI version BCGetMetaDataA(..).


New Features & Enhancements
  • AI and SVG Export
    Support for the AI (Adobe Illustrator 7) and SVG image format has been added.
  • Royal Mail CMDM Mailmark®
    Support for the Royal Mail CMDM Mailmark® bar code has been added.
  • Custom Installation
    Now the install script for the AIX setup allows a custom installation path.
  • Configuration Files
    Now the configuration directory (search path for license and tbarcode.conf file) is retrieved from the actual executable path. Alternatively the environment variable “TBCX_CONFDIR” can be used to override the default configuration path (in addition to –inifile parameter).
Bug Fixes
  • Wrong Default EC Level with HanXin Code.
  • Font size of HRT too small at 0.254mm module width. The default font size is now increased from 7pt to 8pt for 0.254 mm module width bar codes.
TBarCode Library


New Features
  • DotCode & Han Xin Support
    Support for the 2D bar code symbologies "DotCode" and "Han Xin" has been added. Flexible configuration possibilities (symbol version, error correction, mode/format, mask, structured append etc.) are provided.
  • EPS Overprint
    Overprint for EPS / PostScript output can be enabled.
  • Colors
    Support for specifying the bar code colors (bars, text, background) has been added. The colors can be specified in RGB, CMYK and GRAY format. Beside decimal notation, also hex format is possible.
    Examples: --color=255,255,0 --bgcolor=#FF8899
  • Unit Specifiers
    New unit specifiers for width, height and module width: mm, inch, mils, px, pixel.
    Examples: -m0.013inch --height=300px
  • Bar Width Reduction
    The bar width reduction unit can be specified also inline now.
    Examples: --reduction=11%, --reduction=0.01mm, --reduction=0.0001inch, --reduction=1.0mils
  • Minor Improvements
    Default Set 1 improved (module width, default height, escape sequences); PDF template file removed (not required in V11); Parameter renamed: bkmode ⇒ bgmode
Bug Fixes
  • PDF417 Row Height: The parameter --PDFrowheight is ignored if --defaultset=1 has been activated.
TBarCode Library


Bug Fixes
  • Deadlock on Sun Solaris (occurred in BCDeInitLibrary).
  • QR Code crash in LibTBarCode on Sun Solaris (only archive file, not in shared object).
  • Corrupt Bitmap Files (HPUX) - fixed for BMP, PNG and PCX.
TBarCode Library


Bug Fixes
  • TBarCode Filter: PCL data streams with Zero Bytes in the first 4 KB lead to interleaves (seen as hieroglyphic characters or distorted bitmaps).
TBarCode Library


TBarCode Library


TBarCode Library


TBarCode Library


TBarCode Library


  • PCL: Allow case insensitive font selection (support "Courier" and "courier"). Support specifying the PCL font typeface number and bold style directly in the font name (e.g. "4148p Bold", "4099f").
Bug Fixes
  • PCL5 (HP-GL/2): The label orientation (LO parameter) is now reset to printer default (LO1) after text output.
  • Fixed a core dump which occurred when creating TIFF images with Linux 64 Bit binaries (TBarCode/X, libtbarcode).
TBarCode Library


  • New parameters
    • --hexbinary for simplifying DP Premiumadress Data Matrix.
    • --removechars for deleting specific characters from input data.
    • --codepage for changing the encoding of barcode data.
    • --encodingmode for switching between code page conversion, raw (unconverted) and hexadecimal mode.
  • Add new script filterxprint.sh to setup
  • Supports UTF-8 from command line.
  • Improved error codes: Return now "Invalid code page or invalid characters" (0x8007203C) for encoding errors.
  • Manual: Update HPUX printing script (add script for iconv preload).
  • --filter parameter does not work with v1format in tbarcode.conf.
TBarCode Library


  • New bar code types: DP Postmatrix, QR-Code 2005, ISBN 13, ISBN 13+5, ISMN, ISSN, ISSN+2, USPS Intelligent Mail® Barcode.
  • LibTBarCode: The text callback function now supports UNICODE.
  • The module width can now be set in double precision (64 bit floating point).
  • The list of the supported application identifiers (GS1 128) was updated.
  • Check digit method Modulo 10 (Luhn Algorithm) has been added.
  • New installation path: /usr/local/share/tbarcode10.
TBarCode Library


  • TBarCode/X filter ported to SEH ISD400 (released as TBarCode/Embedded V9.1.1).
  • Improved default settings (module width, height, human readable text on/off) for specific bar codes.
  • Quiet Zone Parameter Qh + Qv (V1 Format) are not recognized.
TBarCode Library


  • Java wrapper for LibTBarCode under Linux/UNIX with full compatibility (JNI interface).
TBarCode Library


  • New parameter --bkmode=transparent | opaque.
  • Provide short form for filter control sequences "Enable Escape Sequences" + "Hide Text".
  • Data not put in quotes (in V1 format) truncates the first data character.
TBarCode Library


  • Compatibility with Solaris x86/x64 (Intel platform): Previous release(s) were only available for SUN SPARC architecture.
TBarCode Library


  • Filter: Wrong barcode data output (unwanted quotation marks) with --filter and --v1format options.
TBarCode Library
  • This release uses TBarCode Library V9.3.0 (BCS tag) - changes see TBarCode History.


  • Barcodes with rotation of 270 degrees are generated with reduced height.
TBarCode Library


  • LibTBarCodeX : New Shared Library "libtbarcodex" for i5/OS PASE (OS400).
  • CUPS filter: filterlprng.sh and filterlprng_fwd.sh don't work.
  • Command Line Tool: Support.sh script works only with Linux.
  • Filter: Missing Error Messages in Document Output.
TBarCode Library V9.2.2

(delivered with TBarCode/X 9.0.2)



  • Optional root installation path parameter for install script.
  • Extend Embedded Library Search Path with /usr/local/lib.
  • Install script improved: Create required directories if not present.
  • Unwanted Characters with Unicode To MultiByte (UTF-8) Conversion.
  • PostScript Filter Base85 decoding not working.
  • New bar codes of V9 were not listed in the man pages.
  • Can't export barcode images (and PDF files) with UNICODE/UTF-8 file names.
  • Install script failed if /usr/local/include is missing.
  • PCL sample bclabels.pcl and bclabels_v1.pcl contain wrong filter sequences.
  • BCSet_Maxi_SCM() core dumps if string parameter is alphanumeric.
TBarCode Library V9.2.1

(delivered with TBarCode/X 9.0.1)



New Barcode Types
  • Micro QR Code
    2D symbology with binary encoding support.
  • HIBC Bar Codes (Health Industry Bar Codes)
    These barcodes are provided for encoding Label Identification Codes (LIC) and Provider Applications Standards (PAS) as used in the health industry:
    • HIBC LIC/PAS 128
    • HIBC LIC/PAS 39
    • HIBC LIC/PAS DataMatrix
    • HIBC LIC/PAS QR Code
    • HIBC LIC/PAS MicroPDF417
    • HIBC LIC/PAS Codablock-F
  • Full implementation of Aztec Code
    All encoding types are supported now.
  • Improved Quiet Zone Adjustment
    The quiet zone works for all barcodes now. It can be specified in modules, mm, mils and pixels. All four sides may be adjusted separately.
  • Improved "Bar Width Reduction" Adjustment
    The bar width reduction uses decimals and lets the user choose between several units (percent, mm, mils and pixel).
  • Bitmap Size for Image Export
    New function for calculating the optimal bitmap sizes for image export.
  • Compressed Data Size
    New function for retrieving the length of compressed barcode data.
  • PDF Output
    Barcodes can be saved in PDF format now (no human readable text).
  • Data Matrix
    Added the possibility to enforce 8 bit (byte) encoding mode.
  • RSS and GS1 DataBar
    Changed the naming of 'RSS' barcodes to 'GS1 DataBar'.
Bug Fixes
  • Bitmap Export
    The resolution for barcodes with more than 300 dpi is stored correctly into barcode images (e.g. JPEG, PNG) now.
  • Pharmacode
    Fixed a problem related to the encoding of color sequences.
  • KIX Barcode
    Right aligned text is now properly aligned.
More Bug Fixes
  • HIBC Barcodes: Fix in check routine for HIBC LIC format.
  • ITF-14 was accidentally handled as AI bar code type.
  • License data is trimmed from white spaces.
  • TBarCode Library (Core): Rotated barcodes (180°) fixed.
  • Name of 2D-Code Format "EAN/UCC" was renamed "GS1".


  • TBarCode/X for Mac OS® (OS version >= Mac OS X® 10.4).
  • TBarCode/X Filter for Windows (on request).
  • Crash when using function BCSaveImageToBuffer() with multiple barcodes.
  • BarWidthReduction() affects 2D codes also vertically.
  • Korean Postal Code produced a wrong bar for character "8".
  • DLL Developer Reference: Improved Error Code Description.


New Features
  • New Barcode Types: Aztec Code, DPD Code, Italian Postal Code 2of5, DAFT Code, Telepen, KIX (Dutch Postal Barcode).
  • Add new GS1 code names (e.g. GS1-128 was formerly named EAN-128).
  • Codabar Mod-16 Check Digit.
  • Callback Drawing Functions for MaxiCode.
  • Possibility to force Binary Encoding Mode with PDF417.
Bug Fixes
  • PDF417: Corrected an encoding error when a space follows a punctuation character at the end of the data stream.
  • PDF417: TBarCode hangs when using a wrong character in the File-ID (happened only when using structured append).
  • PDF417: binary sequences are encoded in a wrong way (If the input data was encoded in Punctuation mode and TBarCode have had to shift to Byte mode, it incorrectly returned to Punctuation instead of Alpha mode).
  • PDF417/MicroPDF: Compaction now always uses binary mode for barcode creation. This avoids error messages “Barcode does not fit….”
  • Data Matrix: Bug in EDIFACT mode corrected (Umlauts in specific character sequences generated an error code).
  • Data Matrix: catastrophic failure with \F (FNC1).
  • Code128: FNC1 was not encoded in the actual sub set (only happened with user specified subsets).
  • Escape sequences are handled now before a possible data compression and before a check-digit is computed (previous versions incorrectly computed check-digits in this situation).



  • Parameter --insertpattern (filtering of special Adobe® generated PostScript files).


  • The included filter scripts used the installation path of the previous version 2. Now the correct path is used.



  • Directly embedded Bitmap generator with Victor Image Library. All commonly used Bitmap Formats are available (on Big Endian Systems like AIX, HP-UX the TIFF format is currently not supported).
  • No ImageMagick Libraries dependencies anymore.

Bug Fixes

  • Opt-Resolution: Parameter -O generates Images (Postscript, PCL, bitmap) quickly with optimal module width and without empty areas.
  • Opt-Resolution works for the matrix codes Data Matrix and QR-Code now.
  • The TBarCode Library functions BCGetBarCodeWidth(), BCGetBarcodeHeight() and BCGetBarcodeSize() deliver the correct values also when OptResolution is set.



  • Code-base is now identical with TBarCode DLL (Library for Windows and Windows CE).
  • Detailed version info (including version of TBarCode library and revision number).
  • New parameters: linebyline, onnodata, compress, bearerwidth, bearertype, reduction, defaultset, mustfit, decoder, sizemode, align, RSSseg.
  • New parameters for multiple barcodes: multiple, rows, columns, hdist, vdist, datalimit, dynamicsize, structapp.
  • Deprecated parameters: guardline, barsimmdefaults.
  • Filter scripts now run with /bin/sh instead of /bin/bash.
  • New installation path: /usr/local/share/tbarcode7.
  • TBarCode without Daemon: Memory-limitation removed. TBarCode automatically reallocates more memory if required.
  • More samples added to user documentation.

Changes in LibTBarCode 7.01 can be found in the TBarCode DLL History V7.0/7.0.1.




  • This is the first version that is released simultaneously for all UNIX OS.
  • TBarCode/X V2.1 now matches TBarCode 6.1 under Windows.
  • First official build for SCO OpenServer platforms.
  • New parameters: colormode, pclmode.
  • Pure PCL output (without HP-GL/2) possible.
  • Support for gray scale and CMYK color space.
Bug Fixes
  • Data Matrix bug fixes.
  • Backslash ('\') was not correctly substituted with '\\' in Postscript text output.

Changes in LibTBarCode 2.1 can be found in the TBarCode DLL History V6.0/V6.1.



  • Complete redesign: New parameter format, new parameters, new features (versions with and without daemon available).
  • Barcodes added: EAN UCC Composite Symbology (all variants), MicroPDF417, Telepen Alpha, RSS Family (RSS Limited, RSS Expanded, RSS14 Truncated, RSS14 Stacked, RSS14 Stacked Omni, RSS Expanded Stacked), Japanese Postal, Korean Postal Authority, Planet 12, Planet 14.
  • Enhanced API for dealing with wrong data input (BCGet_InvalidDataPos) and for generating bitmaps with optimal resolution (BCGet2D_XRows/ BCGet2D_XCols).
Bug Fixes
  • PDF417: The calculation of height was wrong; there was no possibility to deactivate the MacroPDF Mode after it has been activated.
  • BCCheck() - The number of digits in NVE-18 / SSCC-18 was wrong, changed to 18.
  • Renamed Postnet8 to PostNet9.
  • Corrected wrong quiet zones for EAN/UPC with add-on symbol.