diff --git a/README.bsd b/README.bsd
index 385f87dc..7a922fe5 100644
--- a/README.bsd
+++ b/README.bsd
@@ -1,4 +1,4 @@
-% README.bsd 2025-09-12
+% README.bsd 2025-09-26
% Tested on FreeBSD 14.3-RELEASE (with X11 + GNOME installed), OpenBSD 7.7 (with X11) and NetBSD 10.1 (with X11)
1. Prerequisites for building zint
@@ -30,8 +30,9 @@ To install the gs1encoders library, optional but needed for GS1 Syntax Engine su
su
gmake install
exit
+ cd ../../..
-(on FreeBSD, the ldconfig not found error can be ignored)
+(on FreeBSD and NetBSD, the ldconfig not found error can be ignored)
Then clone the latest zint source
@@ -81,7 +82,7 @@ except that on OpenBSD you need to use
and on NetBSD
- cmake -DCMAKE_PREFIX_PATH=/usr/pkg/qt5 ..
+ cmake -DCMAKE_PREFIX_PATH=/usr/pkg/qt5 -DCMAKE_C_FLAGS='-I /usr/local/include' ..
instead.
@@ -102,11 +103,9 @@ Place in "~/.cshrc" to make permanent.
5. CMake options
================
-See "README.linux". Note for running the test suite on FreeBSD, if using the default csh, to set LD_LIBRARY_PATH use:
+See "README.linux".
- setenv LD_LIBRARY_PATH ${PWD}/backend
-
-Also, for Qt5 test on FreeBSD, need:
+Note if running the test suite on FreeBSD, for Qt5 test need:
su
pkg install qt5-testlib
diff --git a/backend/codabar.c b/backend/codabar.c
index 4e79b861..5eb393d6 100644
--- a/backend/codabar.c
+++ b/backend/codabar.c
@@ -135,11 +135,11 @@ INTERNAL int zint_codabar(struct zint_symbol *symbol, unsigned char source[], in
}
/* If visible check char, place before final A/B/C/D character (BS EN 798:1995 A.3) */
- z_hrt_cpy_cat_nochk(symbol, source, length - 1, symbol->option_2 == 2 ? CALCIUM[checksum] : '\xFF',
+ z_hrt_cpy_cat_nochk(symbol, source, length - 1, (char) (symbol->option_2 == 2 ? CALCIUM[checksum] : '\xFF'),
source + length - 1, 1);
if (raw_text && z_rt_cpy_cat(symbol, source, length - 1,
- add_checksum ? CALCIUM[checksum] : '\xFF', source + length - 1, 1)) {
+ (char) (add_checksum ? CALCIUM[checksum] : '\xFF'), source + length - 1, 1)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
diff --git a/backend/code.c b/backend/code.c
index 913b9b64..092b6939 100644
--- a/backend/code.c
+++ b/backend/code.c
@@ -223,12 +223,13 @@ INTERNAL int zint_code39(struct zint_symbol *symbol, unsigned char source[], int
}
z_hrt_cat_chr_nochk(symbol, '*');
} else {
- z_hrt_cpy_cat_nochk(symbol, source, length, symbol->option_2 == 1 ? check_digit : '\xFF', NULL /*cat*/, 0);
+ z_hrt_cpy_cat_nochk(symbol, source, length, (char) (symbol->option_2 == 1 ? check_digit : '\xFF'),
+ NULL /*cat*/, 0);
}
if (raw_text) {
- if (z_rt_cpy_cat(symbol, source, length, check_digit ? check_digit == '_' ? ' ' : check_digit : '\xFF',
- NULL /*cat*/, 0)) {
+ if (z_rt_cpy_cat(symbol, source, length,
+ (char) (check_digit ? check_digit == '_' ? ' ' : check_digit : '\xFF'), NULL /*cat*/, 0)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
}
@@ -297,7 +298,8 @@ INTERNAL int zint_excode39(struct zint_symbol *symbol, unsigned char source[], i
}
if (raw_text && z_rt_cpy_cat(symbol, source, length,
- check_digit ? check_digit == '_' ? ' ' : check_digit : '\xFF', NULL /*cat*/, 0)) {
+ (char) (check_digit ? check_digit == '_' ? ' ' : check_digit : '\xFF'),
+ NULL /*cat*/, 0)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
@@ -506,7 +508,8 @@ INTERNAL int zint_vin(struct zint_symbol *symbol, unsigned char source[], int le
z_hrt_cpy_nochk(symbol, source, length);
- if (raw_text && z_rt_cpy_cat(symbol, NULL /*source*/, 0, symbol->option_2 == 1 ? 'I' : '\xFF', source, length)) {
+ if (raw_text && z_rt_cpy_cat(symbol, NULL /*source*/, 0, (char) (symbol->option_2 == 1 ? 'I' : '\xFF'),
+ source, length)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
diff --git a/backend/postal.c b/backend/postal.c
index e9c534c3..2f58b514 100644
--- a/backend/postal.c
+++ b/backend/postal.c
@@ -182,7 +182,7 @@ static int postnet_enc(struct zint_symbol *symbol, const unsigned char source[],
/* Stop character */
memcpy(d, "L", 2); /* Include terminating NUL */
- if (raw_text && z_rt_cpy_cat(symbol, source, length, z_itoc(check_digit), NULL /*cat*/, 0)) {
+ if (raw_text && z_rt_cpy_cat(symbol, source, length, (char) z_itoc(check_digit), NULL /*cat*/, 0)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
@@ -255,7 +255,7 @@ static int planet_enc(struct zint_symbol *symbol, const unsigned char source[],
/* Stop character */
memcpy(d, "L", 2); /* Include terminating NUL */
- if (raw_text && z_rt_cpy_cat(symbol, source, length, z_itoc(check_digit), NULL /*cat*/, 0)) {
+ if (raw_text && z_rt_cpy_cat(symbol, source, length, (char) z_itoc(check_digit), NULL /*cat*/, 0)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
diff --git a/backend/telepen.c b/backend/telepen.c
index 66db7386..7d9a0ad5 100644
--- a/backend/telepen.c
+++ b/backend/telepen.c
@@ -140,7 +140,7 @@ INTERNAL int zint_telepen(struct zint_symbol *symbol, unsigned char source[], in
z_hrt_cpy_iso8859_1(symbol, source, length);
- if (raw_text && z_rt_cpy_cat(symbol, source, length, check_digit, NULL /*cat*/, 0)) {
+ if (raw_text && z_rt_cpy_cat(symbol, source, length, (char) check_digit, NULL /*cat*/, 0)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
@@ -220,7 +220,7 @@ INTERNAL int zint_telepen_num(struct zint_symbol *symbol, unsigned char source[]
z_hrt_cpy_nochk(symbol, local_source, length);
- if (raw_text && z_rt_cpy_cat(symbol, local_source, length, check_digit, NULL /*cat*/, 0)) {
+ if (raw_text && z_rt_cpy_cat(symbol, local_source, length, (char) check_digit, NULL /*cat*/, 0)) {
return ZINT_ERROR_MEMORY; /* `z_rt_cpy_cat()` only fails with OOM */
}
diff --git a/frontend_qt/howto_build_qzint_using_msvs2015.txt b/frontend_qt/HOWTO_BUILD_STANDALONE_MSVC2015.txt
similarity index 77%
rename from frontend_qt/howto_build_qzint_using_msvs2015.txt
rename to frontend_qt/HOWTO_BUILD_STANDALONE_MSVC2015.txt
index 92a23b68..6c271e7f 100644
--- a/frontend_qt/howto_build_qzint_using_msvs2015.txt
+++ b/frontend_qt/HOWTO_BUILD_STANDALONE_MSVC2015.txt
@@ -1,7 +1,7 @@
Harald Oehlmann
-2025-09-16
+2025-09-26
-How to build qzint.exe using:
+How to build qtZint.exe using:
- QT 5.15.16 source package
- MS Visual Studio 2015 (VC14)
@@ -20,7 +20,13 @@ Build static Qt:
- WARNING: MS Visual Studio 2015 will only work with up to Windows Kit 10.0.20348.0, which was removed in a recent update
(see https://developercommunity.visualstudio.com/t/Visual-Studio-update-171411-removed-th/10953401?sort=newest)
It can be reinstalled at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/index-legacy
- You may need to manually reset the environment variables INCLUDE, LIB, UCRTVersion, WindowsSDKLibVersion and WindowsSDKVersion.
+ You may need to manually reset the environment variables INCLUDE, LIB, UCRTVersion, WindowsSDKLibVersion and WindowsSDKVersion, e.g.
+
+ set "INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\winrt;"
+ set "LIB=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Windows Kits\10\lib\10.0.20348.0\ucrt\x86;C:\Program Files (x86)\Windows Kits\10\lib\10.0.20348.0\um\x86;"
+ set UCRTVersion=10.0.20348.0
+ set WindowsSDKLibVersion=10.0.20348.0\
+ set WindowsSDKVersion=10.0.20348.0\
- Note: if "rc.exe" not available, install a Windows Kit and update PATH (e.g.):
set "PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x86;%PATH%"
diff --git a/frontend_qt/mainwindow.cpp b/frontend_qt/mainwindow.cpp
index a59d420b..7852bd04 100644
--- a/frontend_qt/mainwindow.cpp
+++ b/frontend_qt/mainwindow.cpp
@@ -809,7 +809,7 @@ void MainWindow::about()
QMessageBox::about(this, tr("About Zint"),
/*: %1 is Zint version, %2 is Qt version, %3 is QSettings file/registry path */
tr(
-#ifdef Q_OS_MACOS
+#if defined(Q_OS_MACOS) || defined(Q_OS_NETBSD) || defined(Q_OS_OPENBSD)
""
#endif
"
Zint Barcode Studio %1
"
@@ -819,7 +819,7 @@ void MainWindow::about()
"Copyright © 2006-2025 Robin Stuart and others.
"
"Qt backend by BogDan Vatra.
"
"Released under GNU GPL 3.0 or later.
"
- "Qt version %2, settings:
%3
"
+ "Qt version %2. Qt settings:
%3
"
"\"Mailmark\" is a Registered Trademark of Royal Mail.
"
"\"QR Code\" is a Registered Trademark of Denso Corp.
"
"\"Telepen\" is a Registered Trademark of SB Electronics.
"
diff --git a/win32/README b/win32/README
index e3418b47..1f2376a0 100644
--- a/win32/README
+++ b/win32/README
@@ -1,4 +1,4 @@
-% win32/README 2025-09-16
+% win32/README 2025-09-26
Visual Studio 2022
------------------
@@ -123,7 +123,7 @@ Adjust for sub-directory when setting PATH:
set "PATH=%cd%\zint\win32\vs2015\Release;%PATH%"
For information on building a standalone version of Zint Studio using Visual
-Studio 2015, see "frontend_qt\howto_build_qzint_using_msvs2015.txt"
+Studio 2015, see "frontend_qt\HOWTO_BUILD_STANDALONE_MSVS2015.txt"
CMake and Visual Studio
@@ -175,7 +175,9 @@ Visual C++ 6
The zint library and command line tool can be built using VC6 (but not with GS1
Syntax Engine support).
-See "win32\zint_cmdline_vc6\readme.txt"
+See "win32\zint_cmdline_vc6\README.txt".
+
+To build the zint library as a DLL, see "win32\zint_dll_vc6\README.txt".
MinGW/MSYS
diff --git a/win32/zint_cmdline_vc6/readme.txt b/win32/zint_cmdline_vc6/README.txt
similarity index 100%
rename from win32/zint_cmdline_vc6/readme.txt
rename to win32/zint_cmdline_vc6/README.txt
diff --git a/win32/zint_dll_vc6/README.txt b/win32/zint_dll_vc6/README.txt
new file mode 100644
index 00000000..20732aaf
--- /dev/null
+++ b/win32/zint_dll_vc6/README.txt
@@ -0,0 +1,12 @@
+2025-09-26
+
+Build a Win32 "zint.dll" using MS Visual Studio 6.0 (VC6).
+
+$ZR is the zint root folder (this file is in $ZR\win32\zint_dll_vc6)
+
+Follow the instructions for setting up "$ZR\..\zlib" and "$ZR\..\lpng"
+as given in "$ZR\win32\zint_cmdline_vc6\README.txt".
+
+(Note that the GS1 Syntax Engine is not compilable with VC6.)
+
+Open "zint_dll_vc6.dsw" in this folder with the VC6 GUI and build.
diff --git a/win32/zint_dll_vc6/zint_dll_vc6.dsp b/win32/zint_dll_vc6/zint_dll_vc6.dsp
new file mode 100644
index 00000000..3ecb3cbb
--- /dev/null
+++ b/win32/zint_dll_vc6/zint_dll_vc6.dsp
@@ -0,0 +1,504 @@
+# Microsoft Developer Studio Project File - Name="zint_dll_vc6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=zint_dll_vc6 - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "zint_dll_vc6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "zint_dll_vc6.mak" CFG="zint_dll_vc6 - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "zint_dll_vc6 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "zint_dll_vc6 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "zint_dll_vc6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZINT_DLL_VC6_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\backend" /I "..\..\..\zlib" /I "..\..\..\lpng" /D "NDEBUG" /D ZINT_VERSION="2.15.0" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZINT_DLL_VC6_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x1809 /d "NDEBUG"
+# ADD RSC /l 0x1809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libpng.lib /nologo /dll /machine:I386 /out:"Release/zint.dll" /libpath:"..\..\..\zlib" /libpath:"..\..\..\lpng"
+
+!ELSEIF "$(CFG)" == "zint_dll_vc6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZINT_DLL_VC6_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "..\..\backend" /I "..\..\..\zlib" /I "..\..\..\lpng" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZINT_DLL_VC6_EXPORTS" /D ZINT_VERSION="2.15.0" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x1809 /d "_DEBUG"
+# ADD RSC /l 0x1809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib libpng.lib /nologo /dll /debug /machine:I386 /out:"Debug/zint.dll" /pdbtype:sept /libpath:"..\..\..\zlib" /libpath:"..\..\..\lpng"
+
+!ENDIF
+
+# Begin Target
+
+# Name "zint_dll_vc6 - Win32 Release"
+# Name "zint_dll_vc6 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\backend\2of5.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\2of5inter.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\2of5inter_based.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\auspost.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\aztec.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\bc412.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\bmp.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\channel.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\codabar.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\codablock.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code1.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code11.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code128.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code128_based.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code16k.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code49.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\common.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\composite.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\dmatrix.c
+
+!IF "$(CFG)" == "zint_dll_vc6 - Win32 Release"
+
+!ELSEIF "$(CFG)" == "zint_dll_vc6 - Win32 Debug"
+
+# ADD CPP /I "..\..\backend" /I "..\..\..\zlib" /I "..\..\..\lpng" /D ZINT_VERSION="2.15.0"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\dotcode.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\dxfilmedge.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\eci.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\emf.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\filemem.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\general_field.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gif.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gridmtx.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gs1.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\hanxin.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\imail.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\large.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\library.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\libzint.rc
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\mailmark.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\maxicode.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\medical.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\output.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\pcx.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\pdf417.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\plessey.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\png.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\postal.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\ps.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\qr.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\raster.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\reedsol.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\rss.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\svg.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\telepen.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\tif.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\ultra.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\upcean.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\vector.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\backend\aztec.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\big5.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\bmp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\channel_precalcs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code1.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code128.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\code49.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\common.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\composite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\dmatrix.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\dmatrix_trace.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\eci.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\eci_sb.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\emf.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\filemem.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gb18030.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gb2312.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gbk.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\general_field.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gridmtx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gs1.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\gs1_lint.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\hanxin.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\iso3166.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\iso4217.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\ksx1001.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\large.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\maxicode.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\output.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\pcx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\pdf417.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\pdf417_tabs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\pdf417_trace.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\qr.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\raster_font.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\reedsol.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\reedsol_logs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\rss.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\sjis.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\tif.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\tif_lzw.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\zfiletypes.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\zint.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\backend\zintconfig.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/win32/zint_dll_vc6/zint_dll_vc6.dsw b/win32/zint_dll_vc6/zint_dll_vc6.dsw
new file mode 100644
index 00000000..de3043b7
--- /dev/null
+++ b/win32/zint_dll_vc6/zint_dll_vc6.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "zint_dll_vc6"=".\zint_dll_vc6.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+