Releases: dynarithmic/twain_library
v5.5.4
Version 5.5.4
-
Addressed issue with multiple calls to DTWAIN_SysInitialize() and DTWAIN_SysDestroy() not loading
the twaininfo.txt file. -
Fixed issue with TW_FRAME and Extended Image Information not being processed correctly for
the TWEI_FRAME setting. -
Fixed several incorrect language bindings for C#, Visual Basic, and Delphi. Also corrected
a few incorrect function pointer definitions in dtwimpl.h (used when using DTWAIN in a
C/C++ program that does not utilize import libraries). -
Added missing constants to twaininfo.txt
v5.5.3
Version 5.5.3
-
Fixed several issues with retrieving extended image information (for example, barcode text,
imprinter text, etc.) from TWAIN Sources using the DTWAIN Extended Image Information retrieval
functions (DTWAIN_InitExtImageInfo, DTWAIN_GetExtImageInfoData, etc.). -
Fixed issue with DTWAIN_ArrayGet...() functions possibly returning the incorrect status
code. -
TWAIN Select Source dialog and OCR Select Engine dialogs are now similar and have the same
functionality. This includes adding DTWAIN_SelectOCREngine2() function that is similar
to the current DTWAIN_SelectSource2() function, which allows positioning, sorting of the names
in the dialog, etc. -
More thorough checks are done to detect an invalid twaininfo.txt at startup.
-
Update C++, C#, and Visual Basic full demo programs to include on the main menu
a "Language" option. This option allows you to dynamically switch the language used
(for example, French, German, etc.) while the demo is running. The changes in the
language will be seen in the TWAIN Select Source dialog, and in the logging text if
logging is chosen.
v5.5.2-Update-2
- Fix compilation issue with Delphi language bindings.
v5.5.2-Update-1
Update twainresourcestrings_spanish.txt
v5.5.2
Version 5.5.2
-
Add support for acquiring buffered images using tiled data (DTWAIN_SetBufferedTileMode()).
The device must support the ICAP_TILES capability for tiled data to be sent. -
Fixed issue with custom resource files being loaded into memory using DTWAIN_LoadCustomStringResources()
-
Fixed issue DTWAIN_EnumCameras returning strings that were not properly encoded when using Unicode
build of DTWAIN. -
Fixed issues with DTWAIN_AcquireFile(Ex) and handling of file transfers directly from the TWAIN Source
(DTWAIN_USESOURCEMODE flag). -
Add DTWAIN_LOG_CONSOLEWITHHANDLER to list of available flags to DTWAIN_SetTwainLog(). This flag is only
applicable when logging to the console. This flag allows safe(r) shutdown of DTWAIN if the logging
console is terminated by Ctrl-C, closing the console window by clicking the 'X', etc. -
Add some missing C# and VB interface functions.
-
Ensure that when logging to the console, the console is using UTF-8 encoding.
-
More thorough test for corruption of the twaininfo.txt resource file when DTWAIN_SysInitialize()
is called. -
Update C/C++ full demo program (DTWDEMO32 and DTWDEMO64) to show the JSON description of the opened
TWAIN Source when displaying the source properties. The C# and VB version of DTWDEMOxx has also
been updated to show this information (see the FullDemo projects for C# and VB). -
Remove some resource constants from the language resource files. These constants have now been moved to
twaininfo.txt. -
Updated code to detect the running Windows OS version when starting a DTWAIN log. The new code
now detects the latest Windows 11 version(s). The new code is courtesy of PJ Naughter. -
Add various language files (Romanian, Russian, Portuguese, Simplified Chinese).
v5.5.1-Update-1
Merge pull request #120 from dynarithmic/master-staging Add resource files to additional_language_resource folder.
v5.5.1
Version 5.5.1
-
Load default English resources if twainresourcestrings_english.txt is not found, and
additional language resources are not specified. -
Optimizations to internal functions.
-
Fix DTWAIN_SetDefaultSource() for TWAIN 2.x data source managers (TWAINDSM.DLL). Note that
DTWAIN_SetDefaultSource() is not guaranteed to work for TWAIN 1.x data source managers (TWAIN_32.DLL). -
Fix issue with DTWAIN_SelectOCREngine() not working for Unicode builds of DTWAIN.
-
Adjust DTWAIN OCR error constants to match OCR error messages.
v5.5.0
Version 5.5.0
-
Add support for Big TIFF files when calling DTWAIN_AcquireFile() and DTWAIN_AcquireFileEx().
For more information, see the new file type constants (DTWAIN_BIGTIFFNONE, DTWAIN_BIGTIFFLZW, etc.)
Big TIFF files are TIFF files that are allowed to be greater than 4 Gigabytes in size. -
Update twaininfo.txt to add the new Big TIFF file type information.
-
Update the DTWDEMO.exe demo program, as well as the C# and Visual Basic full
demo programs to display the TWAIN Source's custom data when displaying the Source Properties dialog box. -
Optimize DTWAIN_AcquireFile() and DTWAIN_AcquireFileEx() when an unsupported file type is
specified. -
Optimize DTWAIN_IsTwainAvailable() when determining whether TWAIN is installed. The
optimization is for the case where DTWAIN_IsTwainAvailable() is called before
DTWAIN_SysInitialize(). -
Add function DTWAIN_IsTwainAvailableEx() to return a pipe-delimited string denoting
the full TWAIN paths of both TWAIN 1.x and TWAIN 2.x Data Source managers. -
Optimize DTWAIN_OpenSource() in these scenarios:
a) if called more than once on a TWAIN Source
b) When initially opening a TWAIN Source by not checking for the status of the feeder
c) Capability processing has been minimized when calling DTWAIN_OpenSource(). -
Optimize DTWAIN_GetCapValues() and DTWAIN_SetCapValues() if a capability is not supported
by the TWAIN Source. -
Fixed an issue with DTWAIN_GetCapValuesEx2(), where the passed-in TWAIN data type was not
being processed correctly for all scenarios. -
Fixed issue with DTWAIN_TN_UIOPENING not being sent during DTWAIN notification processing.
-
Fixed issue with DTWAIN_EnumCameras() not returning all of the camera information (only top
and bottom cameras were returned). Please note that "camera" in this context does not mean
"digital camera", but instead the mechanism that scans the image. Only TWAIN devices that
support an internal file system (DTWAIN_IsFileSystemSupported()) will have the ability to
enumerate camera types. -
Fixed minor issue with DTWAIN_EnumCameras() and logging, where unsupported TWAIN drivers that
do not have an internal file system would log an exception instead of returning an error. -
Added DTWAIN_EnumCamerasEx() that allows the application to enumerate any of the (currently)
9 specific camera types defined by TWAIN. The camera types are described by the TWAIN
constants:DTWAIN_FT_CAMERA DTWAIN_FT_CAMERATOP DTWAIN_FT_CAMERABOTTOM DTWAIN_FT_CAMERAPREVIEW DTWAIN_FT_DOMAIN DTWAIN_FT_HOST DTWAIN_FT_DIRECTORY DTWAIN_FT_IMAGE DTWAIN_FT_UNKNOWN
-
Ensure that DTWAIN_GetCapValues() and other internal functions that call DTWAIN_GetCapValues()
clears the returned user array of values if the TWAIN capability being tested is not supported
by the device. -
Adjust twaininfo.txt to properly reflect the new TWAIN 2.x capability information.
Note: This new version of twaininfo.txt must be used with the current DTWAIN 5.5.x.
The older version of twaininfo.txt can only be used with DTWAIN version 5.4.x or below. -
Updated the various language bindings (C#, Delphi, Visual Basic, etc.) to reflect the new
additions of the Big TIFF file type. -
Updated the C/C++ "No import library" method of using DTWAIN to reflect the new functions,
plus added missing DTWAIN API functions to dtwainx2.h and dtwimpl.cpp(.c). -
Added the function DTWAIN_TestGetCap() that allows testing of a TWAIN Source's capability's
MSG_GET functionality for all containers and data types. This function basically calls
DTWAIN_GetCapValues(), checking for successful retrieval of information from the TWAIN
device for each container type and data type supported by TWAIN. The DTWAIN_TestGetCap()
function can be useful to determine a custom capability's container and data type if this
information is not known by the programmer.The return value for DTWAIN_TestGetCap() is a DTWAIN_ARRAY, where the array consists of LONG (32-bit) values.
The upper 16 bits of each value in the array denotes the successful data type, and the lower 16 bits
denote the successful data type. The container type can be DTWAIN_CONTONEVALUE, DTWAIN_CONTRANGE,
DTWAIN_CONTENUMERATION, and DTWAIN_CONTRANGE, while the data type will be one of the types defined
in twain.h, i.e. TWTY_BOOL, TWTY_FRAME, TWTY_UINT16, etc.Note: Use DTWAIN_TestGetCap() with caution, as DTWAIN will attempt to test every container type and
data type combination for the passed-in capability value. -
Other minor bug fixes and enhancements.
v5.4.8
Version 5.4.8
-
Add additional TWAIN constants to twaininfo.txt
-
Output version of twaininfo.txt to logs generated by DTWAIN_SetTwainLog
-
Increase the maximum size of the DTWAIN resource and error strings to 8192 bytes.
-
Added DTWAIN_GetResourceString, DTWAIN_GetResourceStringA, and DTWAIN_GetResourceStringW
API functions to allow access to the resource and error strings loaded by DTWAIN. -
Fix issue with exception possibly occurring when closing TWAIN Source window without acquiring images.
v5.4.7
Version 5.4.7
-
Fixed issue with loading 32-bit TWAINDSM.DLL if only found on the system path.
-
Fixed issue with some DTWAIN API calls not retaining error codes when DTWAIN_GetLastError() is invoked.
-
Added additional resource strings to the twainresourcestrings_* resource files.