tzint

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

28 check-ins

2026-08-14
21:01
Add release and publish targets

- Makefile.in - new targets archive, release and publish, following what tclpdf does; clean removes the generated files in uv and leaves the template beside them
- tools/archive.sh - builds the source archive and generates the download page from the template
- uv/template-download.html - the download page, naming libpng and the enable-filecmd=no route for building without it
- Only source is published; a built library holds for one platform and one Tcl series, so there is no binary archive and no zip
- Verified by unpacking the archive elsewhere and building from it: configure, make and 125 of 125 tests leaf check-in: 1f6fba0145 user: alex tags: trunk

04:43
Version-1.3 check-in: 9944928914 user: alex tags: trunk, release, version-1.3
04:40
Raise the package version to 1.3 and fix the PNG detection

- configure.ac, doc/tzint.n - package version raised to 1.3, configure regenerated
- aclocal.m4 - pkg-config is asked before the directory list, for the header as well as the library, and aarch64-linux-gnu joins that list
- aclocal.m4 - both messages now name the directories searched, and the one for the header points at "apt install libpng-dev", which is what a Debian 13 build was missing
- aclocal.m4 - --enable-filecmd=no also defines ZINT_NO_PNG now, so a build without libpng gets through; it did not before, png.c was compiled all the same and stopped at the missing header
- png-configure - removed, nothing ever included it
- win/makefile.vc - reads configure.ac instead of a configure.in that does not exist, and no longer passes ZINT_VERSION, which tzint.c derives from zintconfig.h
- Built and tested on macOS with Tcl 8.6.18 and 9.0.4, and the suite passes on Debian 13; the pkg-config branch is untested here, this machine has none check-in: e675dca202 user: alex tags: trunk

2026-08-13
22:58
merged from toward-tclpdf check-in: 4772679817 user: alex tags: trunk
22:36
Keep the output when zint only warns, and add -eci

- generic/tzint.c - a status below ZINT_ERROR no longer discards the result; zint answers 1 to 4 when it did produce the symbol and had something to remark, and that symbol is now handed over
- generic/tzint.c - the file command keeps the more serious status of encoding and writing, where the write used to overwrite a warning from the encoder
- generic/tzint.c - new option -eci selects the Extended Channel Interpretation, 26 being UTF-8 and 3 being ISO 8859-1, which an EPC QR code needs since its data names its own encoding
- tests/encode.test - 9 tests for warnings reaching bits, svg and file output, for errors still delivering nothing, and for -eci including the codes zint excludes
- doc/tzint.n, README - describe the status values and -eci; callers that treated any non-zero result as a failure now receive a symbol in those cases as well closed check-in: 1b46a0f7b7 user: alex tags: toward-tclpdf

22:19
merged from toward-zint-2.16 check-in: be6c8383aa user: alex tags: trunk
22:16
Reject colours that are not hex digits

- generic/tzint.c - HexColorCheck now checks every digit before the length; a value such as -fg zzz no longer passes as a short form
- Colours that libzint used to turn down with a status code raise a Tcl error instead, which changes what callers see for such values
- tests/encode.test - 4 tests for upper case digits, non hex input, an empty colour and a lone hash closed check-in: f925ce14f7 user: alex tags: toward-zint-2.16

22:10
Add -dpi and -dpmm for the output resolution

- generic/tzint.c - new options -dpi and -dpmm set the resolution zint records in BMP, EMF, PCX, PNG and TIF; -dpi is converted to the dots per millimetre zint keeps, and the last of the two given applies
- generic/tzint.c - values are bounded at 25400 dpi, the limit zint itself works with, and 0 leaves the file without a resolution as before
- tests/encode.test - 10 tests reading the png pHYs chunk, covering both options, the reset to none, the five formats that carry a resolution and the three that do not
- doc/tzint.n, README - describe both options and the formats they reach check-in: f0fd1186e0 user: alex tags: toward-zint-2.16

22:03
Silence the three compiler warnings in tzint.c

- generic/tzint.c - the command index is cast to enum command rather than enum options in the two comparisons against TZINT_CMD_VERSION and TZINT_CMD_SYMBOLOGIES
- generic/tzint.c - the option loop steps by two in its header instead of incrementing a second time in the body
- No change in behaviour; builds free of warnings under Tcl 8.6.18 and 9.0.4 check-in: fe0c86208c user: alex tags: toward-zint-2.16

21:58
Merge trunk and bring the README to the 2.16.0 backend

- Merges trunk, which carries the README written for this package instead of the TEA sample text
- README - names libzint 2.16.0 and the symbologies that came with it, and lists all eight file formats the file command writes, including the txt hex dump
- README - describes -vectorscale, the RGBA colour forms, what the two test files cover, and that doc/tzint.unsupported is superseded by the manual page
- Every example was run against the library built from this check-in check-in: 7a3444a7e6 user: alex tags: toward-zint-2.16

21:45
Replace the TEA sample README with one for this package

- README - describes tzint itself instead of the sample extension: requirements, the Unix and Visual C++ builds, installing, the commands with worked examples, the test suite, the manual page, the directory layout and the licenses
- README - records the two build traps met here, that a stale in-tree build blocks an out-of-tree one through VPATH, and that the object list in win/makefile.vc is kept in step with configure.ac by hand
- Every example was run against the library built from this check-in
- The libzint version and the list of file formats reflect the backend on trunk and are the two spots to refresh when that backend is updated check-in: 1b524e2e86 user: alex tags: trunk

21:39
Support RGBA colours and rework the manual page

- generic/tzint.c - colours take 8 hex digits RRGGBBAA and the 4 digit short form, reaching the alpha channel libzint supports; the length error names both accepted lengths
- doc/tzint.n - documents the file command with its output formats, tzint::manifest and tzint::build-info, the -stat keys, -barcode, -opt1 to -opt3, the colour forms and -vectorscale
- doc/tzint.n - drops tzint::RcsId, which no command provides, corrects the version reference from 1.0 to 1.2, and fixes the composite example, which named -primacy and could never have run
- tests/encode.test - 13 more tests for the raster and vector file formats, the png header size, the txt hex dump and the colour forms including the transparency chunk check-in: 19d41e195c user: alex tags: toward-zint-2.16

21:25
Restore the vector output size of zint 2.4.4

- generic/tzint.c - eps and svg output, and file output in one of zint's vector formats, is scaled back to the size it had before the 2.16.0 backend; raster output is untouched
- generic/tzint.c - new option -vectorscale with the values compat and zint, compat being the default; zint passes -scale on unchanged and yields the same width as the raster output
- tests/encode.test - 14 more tests covering both -vectorscale values, the width across four -scale values and file output in both modes
- Widths match 2.4.4 exactly; heights still differ by up to one percent at large scales, where 2.16.0 draws the human readable text differently check-in: 32ee110531 user: alex tags: toward-zint-2.16

21:10
Add test coverage for barcode generation

- tests/encode.test - new file with 65 tests for tzint::Encode, picked up by all.tcl
- Covers every symbology in the table, the bits, xbm, eps, svg and file output, the options, the errors raised by tzint itself and the status codes coming back from zint
- Module counts checked against the specification for EAN-13, EAN-8, UPC-A, Code 39 and ITF-14; output otherwise checked structurally, not byte for byte against reference files
- Passes under Tcl 8.6.18 and 9.0.4 check-in: 57d70ffa4e user: alex tags: toward-zint-2.16

21:02
Update zint backend from 2.4.4 to 2.16.0

- generic - zint backend replaced by release 2.16.0; render.c, dllversion.c, ms_stdint.h, font.h and maxipng.h are gone, new generic/fonts holds the font headers used by svg.c
- configure.ac - source list regrouped after zint's own backend/CMakeLists.txt; the hardcoded ZINT_VERSION is gone, tzint.c derives it from zintconfig.h
- tzint.c - EPS and SVG output now goes through zint's BARCODE_MEMORY_FILE; the patched tps.c and tsvg.c are dropped
- tzint.c - symbology names and values merged into one table used with Tcl_GetIndexFromObjStruct, raising the count from 84 to 106
- tzint.c - bitmap readers take unsigned char and height is set as float, following the changed zint_symbol
- win/makefile.vc - object list brought in line with configure.ac
- EPS and SVG now come from the current zint generator and no longer match the output of the 2014 patched files
- Built and checked on macOS against Tcl 8.6.18 and 9.0.4; the test suite does not exercise barcode generation and the Windows build was not compiled check-in: db95d8bc2b user: alex tags: toward-zint-2.16

19:41
Update tclconfig to TEA 3.14 and fix build script paths

- tclconfig/tcl.m4 - synced to upstream TEA 3.14
- configure - regenerated, now with autoconf 2.73 instead of 2.72
- Makefile.in - install-doc skips the doc file list when it expands to nothing
- tools/mkversion.tcl - reads manifest, manifest.uuid and configure.ac from the source tree instead of the current directory
- Only reconfigured and checked on macOS; the Windows and Cygwin paths touched by the TEA update are untested check-in: 5c656fcefc user: alex tags: trunk

2026-01-04
23:08
Cleanup Makefile.in check-in: 3e62e38220 user: alex tags: trunk
2026-01-02
23:45
Version-1.2 now Tcl 9.x compatible check-in: f632ab026f user: alex tags: trunk, release, version-1.2
23:43
Adjustments for Tcl 9 closed check-in: 4d350b230d user: alex tags: towardsTcl9
23:21
Added Build-Info command TIP 599 check-in: 7f86ae60f9 user: alex tags: towardsTcl9
23:20
Adjustments configure.ac, aclocal.m4, Makefile.in and pkgIndex.tcl.in; Added mkversion.tcl check-in: e0d0da5383 user: alex tags: towardsTcl9
2025-12-25
10:38
first steps to Tcl9 check-in: 620b332c0f user: alex tags: towardsTcl9
08:40
Update TEA 6e82b0097c 2025-09-05 check-in: a8fe1e96ed user: alex tags: trunk
2020-05-11
08:46
mirror fossil to github check-in: 5e166aa4d7 user: alex tags: trunk
2017-04-18
18:00
configure add autoconf libpng check-in: 2858c9a0ed user: alex tags: trunk
2014-09-12
10:58
Version-1.0 check-in: 679d848180 user: alex tags: trunk, release, version-1.0
2014-09-11
21:59
inital commit check-in: 01747ab09f user: alex tags: trunk
2014-08-11
17:10
initial empty check-in check-in: 8c2f2ad6e3 user: root tags: trunk