/*/////////////////////////////////////////////////////////////////////// // History // Fix = a correction to a bug or deficiency // New = a new feature or expanded ability // Imp = an improvement (tweak?) // Int = an internal reorganization // Dep = deprecated - may be dropped in next major rev. 3.43.03 2010.05.04 Int Resolved a problem in PDF stress-test (test bug, not a PDF bug!) Imp Setup: Twerp32.exe and EZTCheck.exe now install to Program Files\EZTwain Imp Setup: Eztwain3.lib now installs to Program Files\EZTwain\VC 3.43.02 2010.04.29 Int Product files build x86 AND x64! (The last 50% takes the other 90% of the time...) Imp In multi-file scanning functions, count files created, not finished. 3.43.01 2010.04.28 New First 64-bit build of EZTwain, passes EZTCheck basic & PDF-stress tests. Imp PDF writer does better job of creating balanced page-tree, several asserts fixed. 3.42.02 2010.04.09 New PDF_DocumentProperty, PDF_GetDocumentProperty Fix AcquireImagesToFiles and AcquirePagesToFiles had bad bugs! (Writing wrong number of images or pages, complaining about 'not enough pages') 3.42.01 2010.04.02 New Support for LeadTools V16.5 linear barcode engine Imp More precise error messages when BARCODE_RecognizeDib fails. Int VB.NET Sample integrated back into project tree Int Improved barcode UI in Twerp 3.41.20 2010.04.01 Fix Eztwain3.dll was not initialized when loaded. (VS 2005 upgrade bug!!) That messed up many things, but the main symptom was failure to find the helper DLLs. Imp Some tweaks to Twister suggested by Doug P. Imp 'DosadiLog' button on EZTCheck - I needed that! Imp A few slightly improved error messages. Imp Error box if statically linked EZTwain isn't initialized with EZTWAIN_Attach call. Imp EZTwain now complains if EZPdf.dll is not the matching, expected version. Int More work to support LeadTools V16 barcode. Int Placed all the barcode sample images under SCC 3.41.19 2010.03.10 Fix Handle wacky (clever?) multi-frame transfer from Epson flatbed. Fix 'DAT_' values were mangled in log output. New Experimental support for LeadTools V16 linear (1D) barcode engine New TWAIN_GetIndicators (just a missing function) Imp Display helpful msgbox if EZTwain statically linked and EZTWAIN_Attach not called. Imp In Code Wizard, for C# & VB.NET, mention that app must be marked 32-bit (platform = x86) Imp Redesigned Twerp UI: Acquire is now thru modeless dialog with controls galore. Int Moved TWAIN_AcquireFile to the 'exotic' functions area, and tried to make it even clearer why one should not use this function. 3.41.18 2010.03.09 New AUTOCROP_CHECK_BACK option for autocropping... Int Fancy new modeless interactive AutoCrop tool window 3.41.17 2010.03.02 Imp CSharp Sample added to EZTwain solution & reinstated in toolkit setup. New TWAIN_SetAutoCropSize and TWAIN_ClearAutoCropSize Fix TWAIN_AcquireMultipage returns 0 for success. 3.41.16 2010.03.01 New TWAIN_MultipageAcquire - scan with a call-back. New TWAIN_RecordError - so application code can set EZTwain error state. Int All supporting tools ported to VS 2005, all dependencies inside \EZTwain 3.41.15 2010.02.24 New Callback functions are supported for Delphi 3.41.14 2010.02.19 Int Changes to build under VS2005 Fix Delphi declaration file (eztwain.pas) changed to use PAnsiChar & co. This is necessary for compatibility with Delphi 2009/2010. 3.41.13 2010.02.16 Imp More improvements to AutoCrop for checks. New SOBEL_* constants for different Sobel edge-filter modes. Int Helpful error recorded when DIB_View fails in static-linked app Int Twerp: Changed the Image Info dialog to be modeless, improved it, Int and split out the palette display to a separate modeless window. 3.41.12 2010.02.11 New AutoCrop option: AUTOCROP_CHECK New TWAIN_SetAutoCropOptions, TWAIN_GetAutoCropOptions Imp Better check-autocropping! 3.41.10 2010.02.04 Fix Inadequate clipping of values in DIB_AdjustBC New Document functions (preliminary, experimental) New DIB_FromImage for VB.NET in eztwain.vb (Thanks Scot) New TWAIN_PromptToContinue New DIB_IsValid New DIB_FreeArray New DIB_ApplyToneMap8 New DIB_Sobel Imp Improved AutoCrop algorithm (?) handles checks better... Imp Read yet another variant of ImageGear OJPEG Dep TWAIN_AcquireNative deprecated. Imp Improved documentation for SourceName/GetSourceName Imp Improved documentation for pixeltype mask parameters (deprecated anyway) 3.41.09 2009.12.07 Fix DIB_DrawText was wrapping text to 1/2 the correct width! (Graças a Valéria) Fix When using OCR to auto-rotate pages to PDF, hidden/searchable text was not rotated. New OCR_SetAutoRotatePagesToPDF (replaces OCR_SetAutoRotateToText) New DIB_InPlaceRotate90 - rotate a DIB in place! New DIB_Resize - resize a DIB in place. New TWAIN_SetStopOnEmpty/TWAIN_GetStopOnEmpty - stop multipage scan when ADF goes empty New DIB_TextColor, DIB_GetTextColor Imp minor Code Wizard improvements Imp Better error reporting of low-level i/o errors during PDF writing. Imp More efficient tree-structured page tables in large PDFs Int Number of small improvements to Twerp sample app. Dep TWAIN_WaitForImage - dropped, experiment that didn't work out! 3.41.08 2009.11.20 Imp Work-around for Lexmark 8300 Series CLOSEDSREQ bug. 3.41.07 2009.11.20 Fix for: A truly embarassing bug involving a few IHAL license keys. Fix for read errors caused by post-write validation of PDFs. New OCR_SetAutoRotateToText/OCR_GetAutoRotateToText 3.41.06 2009.10.22 Int Make EZTwainX build with new EZTwain project layout. (needed the .vcproj file in StaticLibrary) (tweaks to a few includes of version.h) Imp Add some calls to TWAIN_ReportLastError in Twerp 3.41.05 2009.10.21 Int Make everything build inside new integrated project tree 3.41.04 2009.10.21 Int same, but for EZPng. 3.41.03 2009.10.21 Int moved zlib, EZDcx, EZGif, EZJpeg, EZPdf, EZSymbol, EZTiff into EZTwain\ 3.41.02 2009.09.30 ----------------------- Imp Removed TWAIN_xx pixel-mask constants, obsolete & confusing. 3.41.01 2009.09.16 ----------------------- New DIB_GetBrightRects New TWAIN_AcquireToArray exported. Int Revised license to allow certain 3rd parties under IHAL. Int Renamed License.txt to EZT3_License.txt in setup package. Imp Faster display of images when viewing part, zoomed in. 3.40.08 2009.09.11 ----------------------- Fix Added a couple of missing VB-special string functions... Imp Added one small alloc-failure check to Dosadi barcode engine. Imp Don't set TOCR error mode - let TOCR determine it. Imp Correctly handle more scanning errors during multipage scanning New TWAIN_ResetAll Imp Extended Image Info and File System checks added to Twister Imp Automated code signing and setup-creation for Twister Imp Code Wizard uses TWAIN_IsDone to control explicit scan loops. Int Export all the VB-special string functions to C so EZTCheck can test them. 3.40.07 2009.07.04 ----------------------- New TWAIN_IsPaperDetectable New C#: EZTwain.DIB_FromStream, DIB_FromImage Imp in eztwain.cs, byte* parameters now map to byte[] Int Improved a number of unusual errors 3.40.06 2009.07.30 ----------------------- Int Much improved handling of bad DIBs from scanner or other sources. Imp Numerous small improvements to Twister, after a lull of 4 years! Imp When prompting for an output file, don't confirm overwrite if append flag is set. 3.40b05 2009.07.22 ----------------------- Fix Appending to an existing PDF works with encryption. Imp Better message for EZTEC_DLL_VERSION 3.40b04 2009.07.02 ----------------------- Fix UPLOAD_AddCookie crashed if handed a NULL string. ditto for a number of other UPLOAD functions, BARCODE_GetRect, etc. Fix 2 parameters named 'left' renamed, LotusScript does *not* like those. New TWAIN_SetAcquireImageCallback New save.visible view option! Adds a [Save As...] button in DIB_View and ViewFile windows. Int write the 'log header' when starting log to DosadiLog Imp EZTCheck remembers where it last was on screen. Int removed the GetModuleHandle hack to get logging from dib & bmi modules Imp Improved messages & prompts for all the trial license pop-ups. 3.40b03 2009.06.10 ----------------------- Fix PDF writing would fail if an INFO dictionary string was null. 3.40b02 2009.06.08 ----------------------- Imp Scanner error codes for Double-Feed and Paper Jam were not specifically reported back to application. New JPEG-compressed images in memory are written to .JPG file directly. New AcquireImagesToFiles to JPEG files will use JPEG-compressed transfer. Fix TWAIN_SetMultipageFormat would error on TWFF_PDF 3.40b01 2009.06.02 ----------------------- Fix: Conversion of B&W image to RGB could produce all-white image sometimes. 3.30b32 2009.05.27 ----------------------- Int small logging tweaks. Int Recognize Windows Server 2008 and Windows 7. (only affects logging.) Imp Integrated DosadiLog into EZTwain code tree, cleaned it up a little. 3.30b31 2009.05.07 ----------------------- New Automated trial license renewal through dosadi.com New TWAIN 2.0 file formats (TWFF_DEVICE_PDF, TWFF_PDFA) Fix DIB_Thumbnail was swapping R and B in some images. 3.30b30 2009.05.06 ----------------------- Imp Drawing functions like DIB_DrawToDC have better rendering below 1:1 Imp Improved Twerp menu structure, add View File... command. New AutoDeskew(1) delegates to ICAP_AUTOMATICDESKEW=TRUE if possible. I.e. when asked to deskew, try to turn it over to the scanner. Fix Some PDF files that used RunLengthDecode as image compression were loaded upside-down. Fix Correctly load grayscale TIFF with non-standard color table Fix Correctly save 4-bit grayscale image to all file formats. Fix Various image processing functions crashed with 4-bit grayscale images. Imp Image scaling functions now accept any pixel type & depth. 3.30b29 2009.03.27 ----------------------- Int Include History.txt and User Guide.pdf in release build fileset. 3.30b28 2009.03.21 ----------------------- Fix Writing merged-multipage JPEG/JFIF could return a bogus error. Fix Avoid doing DAT_IMAGEINFO/MSG_GET to handle ambiguous 8-bit DIBs New DIB_InUseCount 3.30b27 2009.03.18 ----------------------- Fix During image downloads, suppress 'peer verification' in HTTPS if no CA info. Fix (EZOcr 1.05) Certain Transym keys were mangled by OCR_SetEngineKey. New UPLOAD_SetProgressCallback. 3.30b26 2009.03.17 ----------------------- New Python binding using ctypes. Fix Allow AppTitle to be set to "X", then "", then "X", etc. (EZTwainX does this.) 3.30b25 2009.03.15 ----------------------- New Multipage output to BMP, JPG, PNG and GIF. Images are stacked vertically. Imp TWAIN_SetLogName now accepts full or relative path, and logfile extension defaults to '.log' Imp TWAIN_PromptForOpenFilename replaces TWAIN_PromptForOpenName 3.30b24 2009.03.05 ----------------------- Fix Filename was corrupted in TWAIN_AcquireMultipageFile (unconfirmed) New TWAIN_PromptForOpenName New TWAIN_SetLogName (old function, now publicly declared.) 3.30b23 2009.03.05 ----------------------- New DIB_PrintArray - multipage printing New In all print functions, print dialog now handles page ranges. New DIB_SetNextPrintJobPageCount (!) needed to support multipage printing. New DIB_LoadPagesFromFilename Imp (XDefs) small improvements(?) to Progress4GL declaration file. (Changing some parameters to MEMPTR instead of CHARACTER.) 3.30b22 2009.02.27 ----------------------- Int Log version of EZCurl when it loads. Imp explain nBytes parameter on various DIB_Load...FromBuffer functions. New Can load single or multipage files from http, https and ftp URLs. New DIB_MeanFilter Int DIB_Average (never implemented!) superceded by DIB_MeanFilter 3.30b21 2009.02.12 ----------------------- New CONTAINER_GetItemFrame New TWAIN_ProbablyHasFlatbed New TWAIN_AcquirePagesToFiles Imp ?All the multipage functions now defer their first file actions until after the first actionable page is received. =>If you cancel a multipage scan before page 1, the file is not opened or created. 3.30b20 2009.02.09 ----------------------- Imp PDF errors return one of 5 new EZTEC_ error codes. 3.30b19 2009.02.08 ----------------------- Fix !Spurious error when writing PDF in Append mode with no existing file (fixed) Fix PDF+OCR bug, caused words to be about 5% too wide. Fix numerous other minor PDF+OCR text sizing/placement tweaks. 3.30b18 2009.02.08 ----------------------- Fix License error now handled correctly by AcquireMultipageFile. Fix Appending to a PDF with OCR'd text now works on pages 2+. [PeterB] Imp Black Ice license failure only displayed once. Imp CAP_ and ICAP_ definitions in eztwain.h available in C/C++! Int Log calls to PDF_SelectPageSize Fix Fixed text-offset bug in PDF+OCR, plus many small improvements. 3.30b17 2009.01.15 ----------------------- New Error-diffusion option when converting images to B&W. Fix (again!) Invalid multipage PDFs generated in 'decimal comma' locales. 3.30b16 2009.01.14 ----------------------- Fix Invalid multipage PDFs could be created in 'decimal comma' locales. 3.30b15 2009.01.12 ----------------------- Fix TWAIN_SetViewOption("size", "640,480") ignored the 2nd (height) value. Fix TWAIN_SetViewOption("topleft", ...) was not implemented! Imp Documented options supported by TWAIN_SetViewOption. New CONTAINER_MinValueInt, CONTAINER_MaxValueInt, CONTAINER_StepSizeInt New CONTAINER_CurrentValueInt, CONTAINER_DefaultValueInt, CONTAINER_ContainsValueInt New CONTAINER_FindValueInt, CONTAINER_SetItemInt New DIB_XResolutionInt, DIB_YResolutionInt Imp Tweaked XDefs & eztwain.cs to get rid of 'using System.Drawing'. Imp Improved interop with Black Ice 1D barcode engine, EZSymbol 1.32b1. Fix Avoid spurious error TWAIN_AbortAllPendingXfers in certain cases. Fix Handle HP N8400 driver, which gives its name as a *33* character string ending in a space. 3.30b14 2008.09.05 ----------------------- New New functions allowed in eztwain3.ini: PDF_SelectPageSize, SetLazyWriting, PDF_SetPDFACompliance, SetXferMech, SetBlankPageMode, SetJpegQuality, DefaultScanAnotherPagePrompt. Fix Declaration file for VFP was handling array parameters incorrectly. You can't pass Foxpro arrays for those, they have to be handled as strings. Fix Default value for DIB_SetPrintToFit is now TRUE, and setting it to FALSE disables print scaling completely. Fix (EZTIFF 1.59) handle strange RGB TIFF. Fix (EZPDF 1.50) Acrobat 9 disliked our PDF/A metadata. Fix (XDefs 1.34b3) Handle string valued functions in C# (finally) Fix (XDefs 1.34b3) Handle int[] params in C#. Int (EZSymbol 1.31b1) After recent LT problem, log LT DLL paths & versions. New PDF_WriteOcrText 3.30b13 2008.09.03 ----------------------- New OCR_SetLineBreak Fix (EZPDF 1.49) correct encryption of strings when writing PDF. 3.30b12 2008.08.22 ----------------------- New CONTAINER_MinValue and CONTAINER_MaxValue return the min(max) value of any container, not just RANGE containers. Much more useful. Fix Log output was never sent to DosadiLog, pipe was never detected. Fix Correctly report Windows Server 2008 (vs Vista.) 3.30b11 2008.08.19 ----------------------- New File-loading functions can handle URLs: ftp:... and http:... libcURL is used to download the file. Note: Not efficient for multipage files yet! New DIB_LoadArrayFromBuffer New DIB_LoadArrayFromFilename New DIB_BufferPageCount/DIB_PageCountOfBuffer Int DIB_LoadFromBuffer and similar: More efficient for PDF. Fix Logging bug, some prefixes (TWAIN_, DIB_) weren't being logged. 3.30b10 2008.08.05 ----------------------- Fix Add escapes to metadata strings, format metadata dates per XML. 3.30b09 2008.08.02 ----------------------- New (EZPDF 1.47) Able to write files that comply with PDF/A-1(b). 3.30b08 2008.07.31 ----------------------- Fix (EZPdf 1.45) add binary 'garbage' bytes to header New (EZPDF 1.46) first PDF/A writing - Acrobat doesn't accept. 3.30b07 2008.07.31 ----------------------- Int (EZPdf 1.45) faster PDF writing & appending New (EZPdf 1.45) PDF output files are marked version 1.4 Int (EZTCheck) report average PPM for PDF stress tests 3.30b06 2008.07.28 ----------------------- Fix Bug when writing palette-color images to encrypted PDF. New PDF_SetOpenPassword Int File>>New command in Twerp Int Added encrypted-PDF validation to EZTCheck. 3.30b05 2008.07.24 ----------------------- Fix eztwain.vb compiles clean under Option Strict. Fix (Code Wizard) Some generated VB.NET code did not compile clean. Fix (Setup) updated big graphic to say "3.30" New (Setup) Re-include VB.NET sample in toolkit New Open and read encrypted PDFs, using both User and Owner password. New Write encrypted PDFs (user-password, 40-bit RC4) 3.30b04 2008.07.15 ----------------------- New PDF_SetPermissions, PDF_GetPermissions Fix OCR_WritePage and OCR_WriteTextToPDF would abort or fail if the OCR text was null (empty string). Changed to make null text OK. Fix We had a memory leak in our LeadTools barcode recognizer. Fix Twerp command OCR>>Write to PDF... handles multipage files. 3.30b03 2008.06.27 ----------------------- New PDF_SetUserPassword, PDF_SetOwnerPassword. 3.30b02 2008.06.27 ----------------------- Int Moved EZPdf code into StaticPDF project. 3.30b01 2008.06.24 ----------------------- New Reading encrypted (password-protected) PDFs Int EZPdf separated into EZPdf project (DLL) and StaticPDF (lib) 3.20b71 2008.06.18 ----------------------- New (optional) Print button in the DIB/File preview dialog. New Options > Orientation submenu in Twerp, for programming ICAP_ORIENTATION. 3.20b70 2008.06.12 ----------------------- Fix Documentation called PDF_DrawInvisibleText "PDF_DrawHiddenText". Fix Documentation was missing several of the New functions since 3.20b65 Fix Allow TWAIN_SetPaperSize(-1) to basically 'clear' the paper size setting. Fix TWAIN_EndMultipageFile sets TWAIN_LastOutputFile's value. New Twister icon added to Start Programs EZTwain group. 3.20b69 2008.06.02 ----------------------- New DIB_PrintFile/TWAIN_PrintFile Int Print File command added to Twerp. New DIB_FindAdaptiveGlobalThreshold (code was there, just wasn't exported.) Int New in Twerp: OCR - Recognize Selection (uses OCR_RecognizeDibZone) Fix Use actual functions from ctype.h, not macros. This (should) make static linking from other VC versions work better. Fix Removed static dependence on vfw32, dynamically load when needed. Fix Improved documentation of Extended Info functions. Fix Improved support for PDF 1.5 and later files. Fix Handling of ORIENTATION values {5,6,7,8} in TIFF files was wrong. 3.20b68 2008.05.31 ----------------------- New OCR_RecognizeDibZone, BARCODE_SetZone, BARCODE_NoZone Fix Relax TIFF reader to allow even sloppier fax streams. 3.20b67 2008.05.19 ----------------------- Fix Handle multistage decode filters in PDF files Such as those produced by the "Canon ScanFront 220". 3.20b66 2008.05.12 ----------------------- New TWAIN_TiffTagAscii - string-valued form of GetTiffTagAscii New TWAIN_AcquireImagesToFiles (long overdue) Fix Bug when reading TIFFTAG_WHITEPOINT (and similar tags.) 3.20b65 2008.05.07 ----------------------- Int During native xfer, avoid IMAGEINFO/GET unless needed. Fix DIB_View window crashed (divide by 0) if minimized. 3.20b64 2008.05.04 ----------------------- New TWAIN_AcquireCompressed New DIB_IsCompressed, DIB_Compression New TWAIN_SetLogName Fix Removed a bad LOGFLUSH on every TWAIN_DS call. Fix Renamed EZTEC_TIFF_WRITE_ERR to EZTEC_TIFF_ERR, this code now used for all TIFF I/O errors except failure to load EZTiff.dll. Fix This history did not mention 3.20b37 fix to GetTiffTagAscii. 3.20b63 2008.04.24 ----------------------- Int Moved Twister project inside EZTwain workspace. 3.20b62 2008.04.22 ----------------------- New Beta version of header file for LabVIEW: LabVIEW\Eztwain.h Fix Eliminate unnecessary TWAIN driver calls in PostProcessDib. Fix With LeadTools barcode engine, barcode type was always 'Code39'. 3.20b61 2008.04.10 ----------------------- Int Better logging (including time) for PostProcessDib 3.20b60 2008.04.07 ----------------------- Int Reduce the Curl (UPLOAD_) connect time-out from 5 minutes to 20 seconds. Fix Minor logging bug: Turning off logging sometimes left stuff in log buffer. Fix Serialized the LogSetLevel function for thread safety. Int Removed JpegLibrary.* from EZTwain\Common, Twirl no longer needs it. 3.20b59 2008.04.03 ----------------------- Int Minor code tweaks so EZTwainX will build under VS 2005. (EZTwainX incorporates EZTwain as a static library.) 3.20b58 2008.03.31 ----------------------- Int Tested PDF module for memory leaks with AQTime (none found.) Int Added EZTCheck test of TIFF DATETIME tag read/write. 3.20b57 2008.03.26 ----------------------- Fix DIB_ScaledCopy now accepts B&W images (returning a grayscale result.) Fix DIB_DrawToDC now does a better job scaling down B&W images. (Especially anisotropic fax images.) [A.Mariottini] Fix Read yet another flavor of Old JPEG TIFF [J.Thierbach] Fix TWAIN_LogFile(1) would truncate & restart the log? Fix Log flushing (log level 7) was not actually flushing. Int EZTCheck PDF Length test, fully automated (no input file needed.) Int Added some checks of logging functions to EZTCheck core library test. Int Continuing project to separate DIB_* functions from underlying Dib* fns. 3.20b56 2008.03.21 ----------------------- Fix TWAIN_GetSourceList now returns TRUE if it successfully finds an empty list of TWAIN devices i.e. this is no longer an error. 3.20b55 2008.03.18 ----------------------- Fix SmartThreshold giving wrong result with large white image. Int Rewrote a lot of the 'row-reading' code, can now eliminate a lot of per-row dispatching. Int Improved & expanded the OCR tests in AutoTest. Fix Enabled the Auto-Smart Threshold command in Twerp for all image types != BW. 3.20b54 2008.03.16 ----------------------- Fix Try to handle poor behavior by Lexmark 1200 Fix Recovered and added fonts.h/fonts.c in EZPdf project. Int Added a 'Testing123' case to Repro. Int Log time taken by DibFromBuffer, DibFromFilename, FilePageCount. New TWAIN_AcquireCount, TWAIN_BlankDiscardCount New TWAIN_SetTiffTagUndefined 3.20b53 2008.01.21 ----------------------- New PDF_SetTextSize New PDF_SetTextHorizontalScaling New OCR_GetResolution Fix Much improved text size in searchable PDFs New Twerp - menu command to write an OCR'd image to searchable PDF. New UPLOAD_AddCookie 3.20b52 2008.01.16 ----------------------- Fix User Guide button in Code Wizard was failing on some platforms: Vista, XPSP2 3.20b51 2008.01.14 ----------------------- Int Add 'Ducker' project. Int Expanded and improved OCR tests in EZTCheck. Next: test other fonts & sizes. Int Moved EZTCheck and Twerp32 projects up 1 level in source tree. 3.20b50 2008.01.11 ----------------------- Int Expanded and improved DIB scaling tests in EZTCheck. New DIB_ReadPixelRGB, DIB_ReadPixelGray, DIB_ReadPixelChannel 3.20b49 2007.12.15 ----------------------- Fix On full memory or other error condition, foreground & background PDF code could malcooperate. Fix Lazy file-writing could overload memory and stall. Fix File validation at end of multipage PDF > 500MB or so could cause spurious failure. Fix 'stream' keyword in PDFs was not followed by CRLF as required by PDF 1.4. Fix COMPRESSION_NONE was not working for B&W images in PDF. Int Restored all the 'Basic' tests in EZTCheck. Int Tune-up for DIB scaling, particularly downsampling. 3.20b48 2007.12.14 ----------------------- Fix Problem of missing space/merged words in OCR'd PDFs. 3.20b47 2007.12.14 ----------------------- Fix Debugging code left in DIB_DrawText! 3.20b46 2007.12.10 ----------------------- New OCR_SetEngineKey - function to pass license key to OCR engine. Fix DIB_View generated spurious error msg when given NULL window handle. Int AutoTest tries OCR_SetEngineKey, generates synthetic pages for OCR. Int Entire build process now automated to produce signed setup.exe! 3.20b45 2007.11.16 ----------------------- Fix PowerScript 10 declarations of FUNCTIONs omitted ;ansi qualifier. New PDF_SetCompression, PDF_GetCompression. Allows Flate for Gray and RGB images. New TWAIN_SetTiffCompression(-1, cc) sets compression for 'all applicable pixeltypes'. Fix PDF_SetTitle, PDF_SetSubject, etc. were not exported! Fix Licensing Wizard was mangling "&" when displaying organization name. Fix In File view dialog, widened page number field to handle > 99 page files. Fix PDF files opened for reading were opened shared-write, but not shared-read. New Uncompressed images in PDF files (Bug: it sometimes fails with 1-bit images!) Exp When read-only open of PDF fails, sleep for 1 s and try again. (might help with the AV's) Fix Tweaks to Code Wizard's Progress 4GL output. Fix Combining OCR with lazy writing of PDFs could put wrong text on a page. Fix Improved placement and searchability of OCR'd text in PDF files. 3.20b44 2007.11.09 ----------------------- Fix Re-enable lazy writing of multipage files. 3.20b43 2007.11.05 ----------------------- Fix Allow opening of certain slightly invalid PDFs. Fix TIFFs with TTN2 JPEG compression are smaller by > 50%. Int Modifed the PDF reader so PDF Insight can ride past errors, but EZTwain still bails out. 3.20b42 2007.10.31 (:|)------------------- New Code Wizard supports Progress 4GL (now called OpenEdge ABL) Int More diagnostic logging in the Viewer window (DIB_View) Int Slightly improved logging of multipage file critical section. 3.20b41 2007.10.15 ----------------------- Int Improved logging of all license errors Int Make sure only development & licensing errors force a messagebox. Int Revised all DLLs - version info file comments, description. Fix Removed TLS stuff from EZJpeg, which fixed several crashes in EZTwainX in IE6. New TWAIN_IsMultipageFileOpen 3.20b40 2007.10.12 ----------------------- Fix The scan-hang bug in EZTwainX! Fix An unchecked malloc in BmiReadRow.c - BmiComponentCopy New TWAIN_LoadPage same as DIB_LoadPage Int EZSymbol 1.30, turned off detailed logging. 3.20b39 2007.10.10 ----------------------- Fix Small but significant bug in logging. Fix All file-loading functions, when prompting, would reject read-only files. Fix File-Open and File-Save dialogs weren't disabling parent/active window. 3.20b38 2007.10.09 ----------------------- Fix Added argument range check to TWAIN_SetJpegQuality. New TWAIN_GetLastViewPosition Fix ?TWAIN_ViewFile uses ActiveWindow, if any, as parent to Viewer dialog. 3.20b37 2007.09.27 ----------------------- Fix SetAppTitle would error if app title was changed from empty to 'something' But EZTwainX does this sometimes. Fix Enclose multipage file output in a critical section - only one multipage output file can be open at a time. Fix Make GetTiffTagAscii work for TIFFTAG_COMPRESSION(259) Int All 'Basic' tests migrated from EZTCheck to AutoTest, plus some new. 3.20b36 2007.09.25 ----------------------- New UPLOAD_FilesToURL, UPLOAD_MaxFiles Int Broke functions out of EZTCheck to create AutoTest internal validation tool. Fix During upload, allow server to redirect (HTTP 'Location' header-response field) 3.20b35 2007.09.13 ----------------------- Fix PDF I/O is per-thread. Int added a try block inside WriteToFilename, we have a PDF crash Int Homogenized most exception-handlers. 3.20b34 2007.09.06 ----------------------- Fix When prompting for name of multipage output file, display all supported formats, and select the current/default format. New UPLOAD_AddHeader New UPLOAD_EnableProgressBar, UPLOAD_IsEnabledProgressBar 3.20b33 2007.09.04 ----------------------- Int Move fax codec into EZTwain Fix Twirl gets the 'flavor' right on fax-compressed mem xfers from fi-5110 Bug Group3-1D xfers still don't work (give garbage.) 3.20b32 2007.08.32 ----------------------- New Twirl 1.67 can accept JPEG and Fax-compressed memory transfers. Fix Added a Copy to Clipboard command to the Twirl image menu, and fixed the other image-menu commands so they work... 3.20b31 2007.08.31 ----------------------- Int Resolving problems with Perforced versions of some modules. Int Licensing Wizard: replaced RegSoft order links with Plimus. 3.20b30 2007.08.29 ----------------------- Fix to fileio.c, would crash if writing a file to the current directory! (due to bug in new CreathPathToFile...) 3.20b29 2007.07.31 ----------------------- Fix Make sure TIFF log-handler and err-handler aren't left dangling. Fix Stop Twirl from doing a lot of auto stuff on Source Enable. Fix In EZTCheck scan speed test, have to count 'enable' time. 3.20b28 2007.07.24 ----------------------- Fix Make XRefTable size dynamic in PDF files. New Add a new PDF stress test: Page-at-a-time file append. 3.20b27 2007.07.23 ----------------------- New Inno Setup installer! Fix Work-arounds for HP Scanjet N6010 driver bugs. Int Tweaks to CodeWizard intro text. Fix EZTCheck wasn't reporting paper-size failures quite right. 3.20b26 2007.07.19 ----------------------- Int Have EZOcr monitor progress of OCR process, for a future progress-indicator. Fix Replace DPI in DIBs returned by Sharp AR/DM TWAIN driver. New Saving to file automatically creates any needed folders on the path. 3.20b25 2007.07.14 ----------------------- New PDF 1.33 logs more about xref tables. Fix SelectImageSource was sometimes not very modal - main window remained active. Fix In file-append mode, DCX files were not correctly appended. Int EZTCheck now tests writing many pages to a file by appending. 3.20b24 2007.06.27 ----------------------- Fix Saturation component - was giving high values for very dark pixels, switched to faster New DIB_Avg Fix Synchronize PDF_SelectPageSize to background file writer Int Improved logging in LoadDSM() Int Leave DSM loaded: Don't implicitly unload DSM until Detach. Fix DIB_ConvertToFormat didn't convert to palettized 4-bit (16-color). 3.20b23 2007.06.27 ----------------------- Fix Better logging in Code Wizard New PDF_SelectPageSize (major re-org in EZPdf to enable this) New Support for the entire TWAIN 1.8 set of TWSS_ codes. New TWAIN_SingleMachineLicense Int Major shuffling of code in EZTwain project - new fileio.c, pdf.c Int Moving stuff out of common.h, it was just too much of a car pocket. 3.20b22 2007.06.11 ----------------------- New TWAIN_GetPaperDimensions 3.20b21 2007.06.01 ----------------------- Fix Report error if app title is set twice by app. This was the cause of a license key mismatch error experienced by a customer. New In the image/file viewer, allow a [Cancel] button to be shown. 3.20b20 2007.05.29 ----------------------- Fix renamed some parameters in Eztwain.h to avoid conflicts with PowerScript. Int Improve logging of loaded helper DLLs - always report the loaded version. Int Disabled 'Axtel' barcodes in Twerp32 demo program New BARCODE_TypeName Fix Removed barcode symbology 'Code 35' - no such code. Fix Barcodes not found on right side of images wider than 2048 pixels. New OCR_TextOrientation Fix Real-time logging seems to be working correctly in all scenarios. 3.20b19 2007.05.25 ----------------------- New Prototype support for Dosadi real-time log tool. New EZTCheck shows EZTwain version at all times, lower-left. Int Added szProductVersion, so EZTwain-based products can include their version info in the log header. Fix Some keys were *still* being logged in clear! Or did we somehow lose that edit the last time? Int removed ezcore.h and ezcore.c from project (unused). Fix KeyGen UI tweaks. 3.20b18 2007.05.18 ----------------------- Int Back in Perforce. Fix Serialize logging functions 3.20b17 2007.05.10 ----------------------- Fix Added 'As' clauses to all Const declarations in eztwain.vb 3.20b16 2007.05.08 ----------------------- Int Widened Code Wizard window, so code blocks are not so cramped. Int EZTCheck - in C6, added a Sleep(300) call between IsFeederLoaded calls. 3.20b15 2007.05.03 ----------------------- EZCurl 50.1.1 - statically linked ssleay32 and libeay32. 3.20b14 2007.04.20 ----------------------- New Functions to access 'Extended Image Info': TWAIN_IsExtendedInfoSupported TWAIN_EnableExtendedInfo TWAIN_IsExtendedInfoEnabled TWAIN_DisableExtendedInfo TWAIN_ExtendedInfoItemCount TWAIN_ExtendedInfoItemType TWAIN_ExtendedInfoInt TWAIN_ExtendedInfoFloat TWAIN_GetExtendedInfoString TWAIN_ExtendedInfoString TWAIN_GetExtendedInfoFrame 3.20b13 2007.04.18 ----------------------- New DIB_PhysicalWidth, DIB_PhysicalHeight. 3.20b12 2007.04.11 ----------------------- Int More experiments with scanning under Citrix. 3.20b11 2007.04.03 ----------------------- Fix Appending to certain PDF file caused internal PDF error. Ref. EZPdf 1.29 New TWAIN_FormatVersion - get version of file-format module. 3.20b10 2007.04.02 ----------------------- Int Remove machine name, owner, and organization from log. We never use it and it is a security/privacy issue for some customers. Fix Multipage scan+WIA scanner+Using ADF+NoUI: don't prompt after CLOSEDSREQ Fix In Citrix hack mode, ignore DAT_IMAGEINFO when it returns garbage. 3.20b09 2007.03.22 ----------------------- Fix Make sure default OCR engine is selected when EZOCR.dll is first loaded. New Auto-OCR mode: TWAIN_SetAutoOCR/TWAIN_GetAutoOCR New OCR_SelectDefaultEngine, OCR_TextLength, OCR_ClearText New TWAIN_SaveToFilename as alias for TWAIN_WriteToFilename. New PDF_GetTextVisible 3.20b08 2007.03.16 ----------------------- New UPLOAD_ClearResponse, UPLOAD_ResponseLength Fix UPLOAD_Response can now return up to 8192 characters. Int Renamed Length macro to LENGTH Fix Disable the "ignore xferready" hack for Visioneer scanners 3.20b07 2007.03.10 ----------------------- Fix More tuning to scanning under Citrix. 3.20b06 2007.03.08 ----------------------- Fix Hack to make more scanners work in Citrix client session. ** We'd sure like to see Citrix fix the TWAIN Redirector in Presentation Server ** 3.20b05 2007.03.06 ----------------------- Fix Modified EZTiff to read odd Group4(2d) fax tiffs from Kodak xCVS. Fix Corrected coordinates of characters found by TOCR. New PDF_DrawInvisibleText New OCR_WritePage 3.20b04 2007.03.03 ----------------------- New First draft of interface to Transym's TOCR engine. New OCR_IsAvailable, OCR_Version New OCR_IsEngineAvailable, OCR_SelectEngine, OCR_SelectedEngine New OCR_EngineName New OCR_RecognizeDib, OCR_Text, OCR_GetText, New OCR_GetCharPositions, OCR_GetCharSizes Fix PDF_DrawText x,y treated as image coordinates, in pixels from TL. 3.20b03 2007.02.28 ----------------------- Fix Embarrassing! Keys were *still* being logged in clear. The Scramble function was implemented, but not applied everywhere needed. 3.20b02 2007.02.22 ----------------------- New Detect and report OS=Vista 3.20b01 2007.02.19 ----------------------- New functions to write text into PDF output: PDF_DrawText, PDF_SetTextVisible New aliases for existing fns: PDF_SetTitle, PDF_SetAuthor, PDF_SetSubject New aliases for existing fns: PDF_SetKeywords, PDF_SetCreator, PDF_SetProducer, 3.10b32 2007.02.08 ----------------------- Fix License keys were written to log file in clear sometimes! Replaced with scrambled keys. 3.10b31 2007.02.07 ----------------------- Fix Bug that caused an Organization/IHAL licenses to produce a spurious error. Fix Dosadi barcode engine was pumping out tons of overdetailed logging. 3.10b30 2007.01.31 ----------------------- Int Log time spent in BARCODE_Recognize. 3.10b29 2007.01.12 ----------------------- New BARCODE_SetLicenseKey Int Automatically rebase all DLLs in release product build. 3.10b28 2007.01.08 ----------------------- New BARCODE_ReadableCodes Fix Fully filled out LeadTools barcode support - all direction flags are supported, all LeadTools-supported symbologies are available. Fix Black Ice support filled in for Code39, CodeI25 and Code 128. Int Logging now routed from EZSymbol DLL into EZTwain log. Int Better logging of root errors and internal activity wrt Leadtools barcode. 3.10b27 2006.12.30 ----------------------- New Support for LEADTOOLS barcode engine (native API not Axtel) Fix In log, break line before TWAIN_ and DIB_ 3.10b26 2006.12.18 ----------------------- New DIB_SkewByDegrees Fix DIB_DrawText now adjusts for images with different x- and y-dpi. Text is anisotropically scaled to appear correctly proportioned when printed, and the DIB_SetTextHeight value, if specified, is interpreted as the height relative to the highest DPI of the image. 3.10b25 2006.12.12 ----------------------- New Support for Black Ice barcode engine. 3.10b24 2006.11.27 ----------------------- Int Converted User Guide master file to OpenOffice, minor improvements to layout. 3.10b23 2006.11.22 ----------------------- New Writing PDFs directly to a buffer New DIB_WriteArrayToBuffer 3.10b22 2006.10.30 ----------------------- New TWAIN_FileCopy (beta) 3.10b21 2006.10.28 ----------------------- Int More explicit logging of each app key tried Int Raised limit on number of extra upload fields, from 32 to 128. New TWAIN_RenewTrialLicense 3.10b20 2006.10.25 ----------------------- New SSL/HTTPS actually works, build 18 didn't do the job. Uses ssleay32.dll and libeay32.dll. We recommend 0.9.8d or later. Required some fairly nasty tweaks to EZCurl, q.v. Int All EZTwain DLLs 'rebased' to reduce load-time relocation. 3.10b19 2006.10.23 ----------------------- Fix COMPONENT_SAT was not working correctly anywhere. New COMPONENT_HUE added in parallel to COMPONENT_SAT 3.10b18 2006.10.17 ----------------------- Fix In the image/file viewer dialog, certain messages were being missed or double-processed. Fix DIB_BitsPerPixel (3.10b12) was never exported as an entry point! New Enabled SSL (HTTPS) support for uploads in EZCurl. Int Log elapsed time in EndMultipageFile. 3.10b17 2006.09.20 ----------------------- Fix Changed some parameter names to avoid keywords in other languages. Int Cleaned up the many 'psz' parameters in declarations and comments. Fix PDF bug - certain PDF files could be miswritten or misread, triggered by rare combinations of image data. Int Extensive internal improvements to PDF writer - better error detection, no temp files for JPEG compression, low-level IO instead of streams. Int DIB_WriteToBuffer now writes JPEGs in-memory, with no temp file. Fix TWAIN_GetTiffTagAscii - handle case of missing standard tag, better logging. Added support for this feature in Twerp32. 3.10b16 2006.09.18 ----------------------- Fix DIB_ToClipboard wasn't decrementing the DibsInUse count. Int Better logging of DibsInUse count. 3.10b15 2006.09.13 ----------------------- New DIB_DeskewAngle New TWAIN_SetOutputPageCount New When writing B&W CCITTFAX3 files, automatically enable PageNumber tag. Fix When writing B&W and gray TIFFs, omit PlanarConfig tag. Fix TWAIN_ViewFile was ignoring 'position' option, plus *all* numeric view options were being treated as percentages. 3.10b14 2006.09.06 ----------------------- Int When printing, log device name and driver name. Int Remove ALL OutputDebugString calls in release build. New TWAIN_GetTiffTagAscii. New UPLOAD_AddFormField 3.10b13 2006.08.24 ----------------------- Fix Dib tracking was not counting DIBs arriving via native xfer. 3.10b12 2006.08.12 ----------------------- New WinDev support in the Code Wizard New TWAIN_SetViewOption, DIB_SetViewOption, TWAIN_ViewClose New TWAIN_IsViewOpen, DIB_IsViewOpen, DIB_SetViewImage New DIB_BitsPerPixel (more descriptive name than DIB_Depth) 3.10b11 2006.07.14 ----------------------- Fix ReportLastError could in some cases suppress an error dialog just because a recent TWAIN operation failed or was cancelled. Fix Backed off threshold for automatic scaling during printing: Image is scaled-to-fit if it exceeds printable area by 18%. 3.10b10 2006.06.26 ----------------------- Fix Improved PrintToFit scaling - some printers have an asymmetrical unprintable area. Also lowered the threshold for automatic scaling to: 10% over printable area. Int When scanning multipage from HP scanners, close the source before attempting to scan next page. Some HP's such as the 8200, will return the first scan repeatedly if they are only disabled and re-enabled. We test for Manufacturer="Hewlett-Packard", so this does not apply to HP drivers written by Pixel Translations. 3.10b9 2006.06.24 ----------------------- Int Additional log details on incoming images. 3.10b8 2006.06.23 ----------------------- Fix Loading a GIF with a transparency color now forces the transparent pixels to white. (Had image with 'black') Fix Crash at end of upload, if server response was around 2000 bytes or longer. Fix 4-bit image would not convert correctly to 8-bit grayscale if 4-bit image palette was not a uniform gray ramp. New TWAIN_Shutdown - Shut down and clean up EZTwain. New TWAIN_GetExtensionFromFormat New TWAIN_SetAutoCrop, TWAIN_GetAutoCrop - auto-crop mode New TWAIN_SetAutoContrast, TWAIN_GetAutoContrast - autocontrast mode Int Extensive rework of DllMain (function that runs when DLL is loaded or unloaded). We were doing several risky things including several that could potentially cause a crash on application exit. Int Native (alias) entry points for all string-valued functions, just for VB(A). No more glue-functions in the eztwain.bas file. 3.10b7 2006.06.14 ----------------------- New Twirl 1.61 can display a bit of DAT_FILESYSTEM information! Int Better diagnostic report when trial license renewal fails. 3.10b6 2006.06.12 ----------------------- New UPLOAD_DibsSeparatelyToURL (!Who picks these names??) Uploads a set of images all at once, one file per image. New TWAIN_ReportLeaks - check for and report if any unfreed DIBs. This function is now called *automatically* on EZTwain shutdown, in trial mode. Int Better logging during printing - lots of details. Fix When printing an image that exceeds the page size by 20% of more, we automatically scale to fit. This should only happen when an image is printed on the wrong printer or paper, or more commonly when the resolution of the image is incorrect e.g. a 300dpi scan with resolution set to 96 dpi. 3.10b5 2006.06.05 ----------------------- Int Workaround for certain WIA scanners (e.g. Brother) that throw a spurious error after the last page when scanning from ADF. Int Basic counting & reporting of DIB handle leaks. Int Much improved EZCurl logging. Headers! Fix We can now load, display, and convert 16-bit BMP files - these are unusual BMP files with each pixel encoded in 16 bits, using a 5-6-5 bit packing. We don't generate them! 3.10b4 2006.06.02 ----------------------- Int More DIB_ functions handle CMY and CMYK images. 3.10b3 2006.05.30 ----------------------- Int Improved diagnosis of licensing problems. New TWAIN_LogFileName - path & name of logfile. 3.10b2 2006.05.26 ----------------------- Int Log application calls to TWAIN_ClearError New UPLOAD_IsAvailable, UPLOAD_Version Int EZCurl now uses libcurl version numbers. 3.10b1 2006.05.25 ----------------------- Int The Upload feature seems like a good reason to step to 3.10. 3.09b38 2006.05.24 ----------------------- Fix DIB_PostToURL renamed to UPLOAD_DibToURL New UPLOAD_DibsToURL, UPLOAD_Response, UPLOAD_GetResponse. New DIB_WriteArrayToFilename - first multi-dib function! Int EZCurl now explicitly loaded, not dynlinked. Int Much improved error reporting from uploads. Int Uploading now displays a (very basic) progress indicator. 3.09b37 2006.05.22 ----------------------- New DIB_ReadRowChannel Fix DIB_WriteRowChannel - changed channel codes, hope nobody was using! New In Twirl, new Add Cap... button for accessing arbitrary capabilities, and Twirl now logs any message received from TWAIN. New In Twerp, a 3-D plot window New Dosadi barcode engine can search for vertical barcodes. 3.09b36 2006.05.04 ----------------------- New DIB_Resample Fix TWAIN_SetBlankPageMode, TWAIN_GetBlankPageMode added to eztwain.h Fix TWAIN_SetBlankPageThreshold, TWAIN_GetBlankPageThreshold ditto. New Registry resource for COM interface Fix DIB_PostToURL parameters changed, libcurl.dll+zlwapi.dll => EZCurl.dll Fix DIB_FromBitmap didn't get pixels from some monochrome bitmaps (HBITMAP) Fix DIB_FromBitmap converted 32-bit HBITMAP to 32-bit DIB, which was silly. 3.09b35 2006.04.19 ----------------------- New TWAIN_DefineCustomTiffTag, plus support for writing private tags. New TWAIN_SetTiffTagRational New TWAIN_SetTiffTagRationalArray New TWAIN_SetTiffTagShort New TWAIN_SetTiffTagBytes 3.09b34 2006.04.07 ----------------------- New DIB_PostToURL Fix Added ;ansi tags in PowerBuilder declaration file. --- PB 10 passes Unicode by default! 3.09b33 2006.04.06 ----------------------- Int Replaced all wsprintf and sprintf calls with safe _snprintf. Int Rebuilt Eztwain3.dll - was reporting itself as build 31. Int Improved DIB_AutoContrast. 3.09b32 2006.04.04 ----------------------- Fix Conversion from CMY and CMYK to RGB was reversing red & blue. (Which caused CMYK TIFF images to load & display wrong.) Fix DIB_ToDibSection did not handle all DIB formats, incl. CMYK. 3.09b31 2006.03.30 ----------------------- New TWAIN_SetLazyWriting/TWAIN_GetLazyWriting 3.09b30 2006.03.29 ----------------------- Fix Incorrect RecordError when validating a Universal License key. Int Many improvements to logging - the idea is to have all application calls log in the left column, and only internal non-prefixed calls appearing indented. Int Writing a multipage file is now deferred into a background thread, started up by BeginMultipageFile, and cleaned up by EndMultipageFile. 3.09b29 2006.03.23 ----------------------- New TWAIN_IsCapAvailable Int Faster JPEG compression Fix Bug in DIB_Blt and DIB_RegionCopy, if source rect top or left < 0. Fix CONTAINER_Free correctly handles a NULL container handle. Fix DIB_WriteToBuffer could create temp files and not delete them. 3.09b28 2006.03.01 ----------------------- Fix Under certain circumstances, the Select Source dialog was a peer of the app window, and could be pushed behind it. Fix Trial License renewal codes now work for 96 hours (4 days) instead of 48 hours. Fix Image viewer - fix off-by-one error causing debris on picture edge. New EZTEC_INVALID_PARAM - invalid parameter value to EZTwain function New TWAIN_Set/GetBlankPageMode, TWAIN_Set/GetBlankPageThreshold. Int Log EOJ field after each transfer. Int Log time in PostProcessDib, log TWAIN_RegisterApp. 3.09b27 2006.02.15 ----------------------- Fix DIB_CreatePalette has been returning NULL (always) since version 2.x Fix DIB_ColorCount was returning a value of 3, for 16-bit grayscale images. 3.09b26 2006.02.07 ----------------------- New DIB_Size, DIB_ReadData, DIB_WriteToBuffer, TWAIN_LoadFromFilename Int TWAIN_WriteNativeToFilename and TWAIN_LoadNativeFromFilename downgraded to 'obsolete - do not use in new code.' New Buttons in EZTCheck - Speed/Stress, to benchmark simplex or duplex PPM. 3.09b25 2006.02.01 ----------------------- Fix Licensing Wizard misdisplayed Trial License status in mid-trial. 3.09b24 2006.01.06 ----------------------- Int Trial period increased to 30 days, in synch with EZTwainX. Fix Omit MinSampleValue and MaxSampleValue from generated TIFF files Int Write rational tags in TIFF with minimum denominator. (Obscure!) Fix Force xfermech from native to memory, if product name contains "Documate " (Otherwise 2nd and later pages may be garbage.) New PDF reader can handle 'CCITTFaxDecode' compressed images. (Generated by Photoshop and other programs.) Fix Limit message pump to 20 messages after transfer. 3.09b23 2005.12.30 ----------------------- Fix Epson 1660 failed test C8 when Epson TWAIN 5 driver is configured to 'Full Automatic' mode - Test code was incorrect! Fix EZTCheck 'C' panel: Remember selected device when re-launched. Fix Cosmetic improvements to Code Wizard Fix Code Wizard adjusted to use new 'boolean' types in EZTwain headers. Fix In Code Wizard, for LotusScript, instead of Dim fileName As String * 260 just generate Dim fileName As String. Fix In Code Wizard, don't Dim a variable if fileName is a constant string. Fix Safely work with sources with overlength names 3.09b22 2005.12.28 ----------------------- Fix DR-2080C: if scanner is not disabled after returning pendingXfers=0, it sends bogus XFERREADYs. 3.09b21 2005.12.23 ----------------------- Fix Various errors in DIB_Blt for 1-bit images Fix Several off-by-one errors in the DIB_AvgXXX functions Fix DIB_Allocate(16, w, h) created an RGB image, instead of 16-bit gray. 3.09b20 2005.12.21 ----------------------- Fix Memory leaks and runtime errors in PDF error handling class Fix Inappropriate error box when appending to or opening non-existent PDF Int Improved interface to EZPdf 1.18 3.09b19 2005.12.20 ----------------------- Fix TWAIN_PagesInFile was in header files but not exported by EZTwain3.dll. Fix b18 had a fatal license logic error - could not scan. 3.09b18 2005.12.19 ----------------------- Fix DIB_Thumbnail adjusts for xdpi != ydpi. Fix PDF writing allows > 1000 pages, detects when internal object table is full, flushes images to disk promptly. 3.09b17 2005.12.09 ----------------------- Int 'Debug' mode Int extracted multipage.c, barcode.c Fix 'Scan another page?' prompt was omitted with TravelScan 660. Fix User cancel from TravelScan dialog, to terminate an AcquireMultipage, was returning -1/EZTEC_USER_CANCEL. But this is the only way to terminate a multipage acquire from the TS family - so is not an error. 3.09b16 2005.11.10 ----------------------- Int Log the handle value of each DIB allocated by DIB_Allocate New DIB_SetPrintToFit / DIB_GetPrintToFit 3.09b15 2005.11.07 ----------------------- New BARCODE_Version New When logging starts, all loaded DLLs are described. Int When loading a 'sibling' DLL, try default search path if DLL not found in main folder. 3.09b14 2005.10.27 ----------------------- New TWAIN_WriteToFilename New String-returning functions in VB declaration file Fix BARCODE_Text not declared correctly in eztwain.vb Fix DIB_SpecifyPrinter did not work. New DIB_BitsPerSample, DIB_SamplesPerPixel Int separated logging code into logging.c 3.09b12 2005.10.15 ----------------------- New DIB_SpecifyPrinter, DIB_EnumeratePrinters, DIB_GetPrinterName New Ability to printer to a printer specified by name. New DIB_LoadPageFromBuffer 3.09b11 2005.10.13 ----------------------- Fix Mishandled TWRC_CANCEL from Enable in AcquireMultipageFile New Improved autocrop edge-finder. Fix Several PDF fixes: EZPdf 1.13 New Append to PDF! 3.09b10 2005.10.06 ----------------------- New Static link versions of EZTwain: \Static\EZT3MT.lib 3.09b09 2005.09.26 ----------------------- New DIB_GetCropRect. Fix Code Wizard now reports EZTwain version in its About box. Fix Soft-crop tolerance changed to 0 (instead of 8) and works for both over and under-cropping. New DIB_IsVanilla, DIB_IsChocolate 3.09b08 2005.09.21 ----------------------- New Dosadi barcode engine, various new BARCODE_ functions Code39, prototype I25. New DIB_Smooth Fix DIB_ProjectColumns added parameters to specify region (x,y,w,h) 3.09b07 2005.09.14 ----------------------- Fix Deskew crashes with large images, extreme slowness with large images. Fix EZPDF 1.12 - on read, ignored color table of indexed color images. New DIB_SetResolutionInt, TWAIN_SetResolutionInt 3.09b06 2005.09.12 ----------------------- Fix DIB_AutoDeskew signature changed to return the deskewed image. New TWAIN_SetAutoDeskew, TWAIN_GetAutoDeskew Fix Me.hWnd reference in LotusScript code - replaced with GetActiveWindow() Fix Re-engineered DIB_AvgRegion, DIB_AvgRow, DIB_AvgColumn to be much simpler. 3.09b05 2005.09.06 ----------------------- Fix Return custom condition codes from TWAIN_GetConditionCode (They were being remapped to TWCC_CHECKDEVICEONLINE+1. Fix Mistake in skew-estimator was diluting the skew-peak. Int Improved speed of grayscale deskew by several sec/page. 3.09b04 2005.09.01 ----------------------- New Log the elapsed time in (nearly) every TWAIN triplet. New TWAIN_LastOutputFile DIB_AutoDeskew handles all pixeltypes, and is acceptably fast. 3.09b03 2005.09.01 ----------------------- New First cut implementation of DIB_AutoDeskew. 3.09b02 2005.08.31 ----------------------- Int Commenting the rest of the EZTEC_ error strings. We need a way to localize these... Fix TIFF bug introduced in EZTiff 1.37, missing SAMPLESPERPIXEL tag not correctly defaulted to 1. 3.09b01 2005.08.29 ----------------------- New DIB_Create - allows easy creation of palette, CMY(K), etc. DIBs. New EZPDF can now count pages and read images back (if we wrote them.) Int Changed BmiConvertPixels to take output pixeltype from dest DIB. Fix DIB_Blt automatically converts the source to match the destination. Fix DIB_Thumbnail tweak. Added test to 'Repro' for thumbnail. 3.08b18 2005.08.25 ----------------------- New DIB_LoadFromBuffer and DIB_FormatOfBuffer 3.08b17 2005.08.19 ----------------------- Fix OpenDefaultSource failed completely silently if another device was already open - no error code was logged. Fix On TWRC_CANCEL return from DAT_IMAGEMEMXFER/MSG_GET, we were moving to State 6, for no apparent reason. Spec calls for State 7. Fix When MSG_ENABLEDS fails, take a peek at the CC and provide more details to RecordError. 3.08b16 2005.08.13 ----------------------- New validation test for DIB_LoadFromFilename/TWAIN_LoadNativeFromFilename and several related functions, in case of nonexistent file. Fix LoadSiblingLibrary was incorrect for case where EZTwain3.dll is not in the search path i.e. when used by a control. Fix Better logging of custom condition codes (per CFM Ricoh 7.05...) 3.08b15 2005.08.09 ----------------------- Fix Improved Clarion 'getting started' text in CW. Fix Included Eztwain3.lib in Clarion subfolder. Fix Added some new cap-names for logging Fix Tested and improved the 'mixed size multipage' test in Repro 3.08b14 2005.08.07 ----------------------- New In PDF files, can set Title, Author, Subject, Keywords, Creator, Producer. 3.08b13 2005.08.06 ----------------------- Fix EZTiff now handles two new TIFF variations: YCbCr/JPEG and a Photoshop-CS grayscale that includes a mask channel. New "Enable UI Only" button in Twirl for exercising that feature. New "Monitor" mode in Twirl for monitoring for changing cap values. Fix CONTAINER_Equal was wrong for several cases. Fix EZPng could not read an image with height > 4096. Who coded that?? 3.08b12 2005.08.04 ----------------------- Fix Indented logging, almost all calls are now set up to distinguish an application-call from an internal-call. 3.08b11 2005.08.02 ----------------------- Fix Was losing transfer mode after 1st page, reverting to native. 3.08b10 2005.07.23 ----------------------- New Temporary keys, ability to restart trial license in Lic Wiz New Clarion support in the Code Wizard 3.08b9 2005.07.19 ----------------------- Fix New function AcquireMultipage, for use by EZTwainX New TWAIN_SetAutoNegate/TWAIN_GetAutoNegate. New Optional Eztwain3.ini file 3.08b8 2005.07.09 ----------------------- New DIB_ComponentCopy - extract one channel from an image. New DIB_AdjustBC - adjust brightness & contrast of an image. New TWAIN_GetCapUint32 - conveniences for capabilities Fix ProcessPendingMessages and EmptyMessageQueue stop when any TWAIN message is rcvd. Primarily effects Canon DR-series. Fix TravelScan 464 stops after first page of multipage scan, put in special-case code: Keep scanning until DS closed after returning null scan. 3.08b7 2005.07.07 ----------------------- Fix (for EZTwainX) - use LoadLibraryEx to load sibling libs, so they are found when they are not in search path. Improved diagnostic logging when loading sib libs. 3.08b6 2005.07.06 ----------------------- Fix Twirl statically uses EZTwain, no longer needs Eztwain3.dll Fix EZTiff - better error reporting when starting a multipage file. 3.08b5 2005.06.28 ----------------------- New TWAIN_SetCapString for setting e.g. imprinter strings. 3.08b4 2005.06.27 ----------------------- Fix Improved logging and param checking in TWAIN_SetTiff* functions Fix EZTiff 1.35 - Bugfix, could be confused by certain B&W DIBs 3.08b3 2005.06.23 ----------------------- Fix TWAIN_ViewFile - if given NULL or null filename, prompt for file. Fix In EZTCheck, turn on logging before checking EZTwain version. Fix Replaced the 'trial license expires in 0 days' message. Fix In EZTCheck, added test of TWAIN_ViewFile and DIB_View. 3.08b2 2005.06.20 ----------------------- New Licensing Wizard can now expunge all local licenses: Trial, Machine, and Organization. Fix Licensing code modified to not launch LicWiz when used in EztwainX. Fix Wait cursor during long operations in the ViewFile window. New (beta) TWAIN_SetCapability New (beta) TWAIN_SetTiffTagLong/String/Double and TWAIN_ResetTiffTags 3.08b1 2005.06.09 ----------------------- Fix Replaced trial license logic, now uses folder for .lic file. EZT should init a TL on any 'virgin' machine. 3.07b18 2005.05.25 ----------------------- New DIB_FromClipboard (alias for DIB_GetFromClipboard) New DIB_CanGetFromClipboard (= is DIB is available on clipboard) New DIB_ConvertToFormat, including conversions to/from 4-bit grayscale 3.07b17 2005.05.13 ----------------------- New Demo version of Axtel's AXBAR32.DLL included in toolkit Fix multipage scan from WIA device: prompt for more after CLOSEDSREQ Fix Code Wizard, MSVC set-up needs paths in quotes Fix Code Wizard, C#: Don't use 'out' with StringBuilder parameters Fix GIF output: images with < 256 colors were written incorrectly. Fix DIB_Equal - certain palette-color images were incorrectly unequal Fix certain B&W images were inverted when converted to grayscale 3.07b16 2005.05.06 ----------------------- Fix Display error msg when setting capabilities in State > 4. Fix Licensing error msg box not using szAppTitle. Fix In GetDefaultSourceName and DefaultSourceName, allow for 32-char names... 3.07b14 2005.04.20 ----------------------- New Added 'Highlight Region' feature to Twerp demo. Fix PumpMessagesUntilStateChange - timeout was way too fast. Fix TWAIN_SetImageReadyTimeout - default timeout is now -1, which disables the timeout dialog, for backward compat. New DIB_Darkness 3.07b13 2005.04.18 ----------------------- New CONTAINER_GetStringValue 3.07b12 2005.04.12 ----------------------- New logging of MSG_PROCESSEVENT if log level >= 3. Fix TWAIN_SourceName, TWAIN_GetSourceName, TWAIN_NextSourceName, and TWAIN_GetNextSourceName: All were potentially returning non-NUL terminated strings if the source name were 32 chars long. 3.07b11 2005.04.12 ----------------------- Fix Case 199: No scan if licensed only by TWAIN_OrganizationLicense. 3.07b10 2005.04.04 ----------------------- Fix IHAL should never do the "licensed to" splash screen Fix Hang when scanning multipage from Canon DR2080 New DIB_View to display a single image from memory. New DIB_PrintJobBegin, DIB_PrintJobEnd, DIB_PrintPage 3.07b9 2005.04.01 ----------------------- New DIB_WriteToFilename - inexplicably missing function. Fix PumpMessagesUntilStateChange - do NOT exit automatically, post cancel dialog after timeout. Default timeout now = 5 sec. 3.07b8 2005.03.31 ----------------------- Fix FogBugz #186 - TWAIN_SetIndicators(0) did not work when called before opening source. The 'deferral' did not work correctly. 3.07b7 2005.03.29 ----------------------- New expanded barcode functions 3.07b6 2005.03.23 ----------------------- New Experimental support for barcode recognition using Axtel library. 3.07b5 2005.03.17 ----------------------- New DIB_SetConversionThreshold, DIB_ConversionThreshold functions, control threshold when DIB_ConvertToPixelType converts to B&W. 3.07b4 2005.03.15 ----------------------- New Code in twerp demonstrating multi-document scan using blank pages as separators. Uses new TWAIN_WaitForImage and DIB_IsBlank. 3.07b3 2005.03.14 ----------------------- Fix Crash on [Copy] button in Code Wizard Fix Browse-to buttons in Licensing Wizard failed on Win2K 3.07b2 2005.03.13 ----------------------- Fix 'DCX File' entry was mangled in Open File dialog Fix .jpeg file extension provided/recognized by EZTwain. Fix DIB_IsBlank added to other-language declaration files 3.07b1 2005.03.12 ----------------------- Fix FogBugz #173 - CodeWizard failed to open browser. 3.06b44 2005.03.08 ----------------------- Fix Tiff bugs with various ORIENTATION values. 3.06b43 2005.03.07 ----------------------- Fix registry error on install after uninstall. New 'create install log' enabled. New DCX file support in EZT, tests in EZTCheck. 3.06b42 2005.03.02 ----------------------- Fix When waiting for transfer-ready transition, if UI is hidden, after a few seconds display a 'Waiting for ' dialog so user can cancel if scanner never responds. After a very long time (90 sec default) just fail the operation. Fix FogBugz #160, TIFF file with 180-degree rotation crashed on open. Fix FogBugz #153, XP 450 returns blank/junk pages in native xfer. Fix FogBugz #159, CPU usage sometimes goes to 100% waiting for scan New Symbolic logging of CAP_PRINTERxxx caps. 3.06b41 2005.02.28 ----------------------- Fix EZTCheck was failing tests that are actually DS bugs. New DIB_SimpleThreshold, DIB_SmartThreshold, DIB_ReadRowGray Fix LicWiz layout issues 3.06b40 2005.02.23 ----------------------- New DIB_AvgRow, DIB_AvgColumn, DIB_AvgRegion 3.06b39 2005.02.21 ----------------------- New better GlobalFree(hdib) logging Fix TWAIN_ViewFile - show total page count Fix Improvements to EZTCheck skip/fail reporting 3.06b38 2005.02.20 ----------------------- Fix DIB_AutoCrop did not handle palette-color images. Fix DIB_RegionCopy did not copy color-table in palette-color images. 3.06b37 2005.02.17 ----------------------- New CONTAINER_StringValue for reading strings out of containers. Added EZTCheck tests for string-containers. New TWAIN_ViewFile function. Experimental! 3.06b36 2005.02.10 ----------------------- Fix Slightly better & faster GrayValue macro 3.06b35 2005.02.03 ----------------------- Fix TWAIN_GetSourceList + TWAIN_(Get)NextSourceName tries to leave the same TWAIN_State unchanged at the end. So if the DSM was not loaded before, it will not be loaded afterwards. Fix TWAIN_FormatFromExtension: make the leading '.' optional. 3.06b34 2005.02.01 ----------------------- New Twerp - multiple zoom levels, and scrolling. New LicWiz - added In-House Application License, deprecated Org License. 3.06b33 2005.01.30 ----------------------- Fix Do not reset CAP_XFERCOUNT on device open, if UI is visible. New TWAIN_OrganizationLicense for new In-House Application License (IHAL) New TWAIN_ApplicationLicense - one-stop shopping for App Redist. license 3.06b30 2005.01.19 ----------------------- Fix Indexed-color PDFs! 3.06b29 2005.01.12 ----------------------- Added licensing support for EZTwainX. 3.06b28 2005.01.10 ----------------------- Moved DllMain functions into a separate module, so they don't get included in statically-linked EZTwain clients e.g. EZTwainX. Moved various 'advanced' DIB functions (like neighborhood filters) into dibFilt.c. 3.06b26 2005.01.04 ----------------------- Fix: Thorough checking in LicWiz, to make sure that org license actually gets stored correctly in registry. 3.06b25 2005.01.04 ----------------------- Update copyrights to go to 2005. 3.06b24 2004.12.17 ----------------------- Fix: Nasty! TWAIN_GetConditionCode was returning incorrect values in *many* cases. Found through Twirl. 3.06b23 2004.12.13 ----------------------- New: TWAIN_DoSettingsDialog, TWAIN_EnableSourceUiOnly (Support for ENABLEDSUIONLY feature.) New: TWAIN_GetCustomDataToFile, TWAIN_SetCustomDataFromFile (Support for CUSTOMDSDATA feature.) New: TWAIN_BeginAcquireMemory, TWAIN_AcquireMemoryBlock, and TWAIN_EndAcquireMemory: Buffer-level memory transfer. 3.06b22 2004.12.02 ----------------------- Fix: Improved error reporting after file load and save calls. Fix: Fixed recently introduced bug in BmiNegate - runaway pointer++ 3.06b21 2004.11.22 ----------------------- New: TWAIN_SetGrayResponse, TWAIN_SetColorResponse, New: TWAIN_ResetGrayResponse, TWAIN_ResetColorResponse Fix: GetDefaultSourceName - return NULL string on failure. New: Post ErrorBox if a function is called with a null pointer for a 'var string' parameter - e.g. GetDefaultSourceName New: Added some timing info to log in EZTCheck 3.06b20 2004.11.18 ----------------------- New: DIB_ScaleToGray 3.06b19 2004.11.17 ----------------------- Fix: When Log is turned on, report current state and open source if any. 3.06b18 2004.11.15 ----------------------- Fix: Improved the French prompt for 'process another page?' Fix: Hang with DR-2080C, caused by recursive CLOSEDSREQ processing... Fix: Recognize ".jpeg" as an extension equivalent to ".jpg" 3.06b17 2004.11.12 ----------------------- Fix: When DisableParent was set FALSE, if the parent window was a dialog or 'form' window, dialog-mode keystrokes like [tab] and [enter] were not processed correctly. In this build, in this case, we call IsDialogMessage on the parent window, which fixes the problem. Caller must pass the actual dialog/form HWND to relevent EZTwain funcs. 3.06b16 2004.11.03 ----------------------- Fix: Prompt to 'process another page' was not finding other language strings. Needed much more complex code to work properly... 3.06b15 2004.10.28 ----------------------- Fix: *Several* ugly errors in the DIB_ScaledCopy function. Incorrect interpolation when scaling up, effects on the trailing edges, etc. 3.06b14 2004.10.25 ----------------------- Fix: Errors from license-initialization function fixed or suppressed. Fix: EZTCheck now stores settings in registry. 3.06b13 2004.10.11 ----------------------- New: All tests in EZTCheck have label, so we can just ask the customer to run test 'C8'. 3.06b12 2004.10.02 ----------------------- New: DIB_Correlate - correlation filter. Fix: BmiApplyNeighborhoodFilter would corrupt heap in certain cases. 3.06b11 2004.09.24 ----------------------- Fix: DIB_ConvertToPixelType & BmiConvertPixels, to handle RGB-32 data. New: (Fix?) Handle conversion of 16-bit grayscale to X, ditto 48-bit RGB to X. Fix: Display (very inefficiently) *all* image types, by conversion if needed. New: TWAIN_SetImageReadyTimeout(int nSec) to control ready-wait timeout. 3.06b10 2004.09.18 ----------------------- New: TWAIN_SetLogFolder 3.06b9 2004.09.17 ----------------------- Bugfix: When transferring grayscale, force a linear chocolate grayramp into the color table. Updated EZJpeg. 3.06b8 2004.09.15 ----------------------- Bugfix to DrawLine for horizontal lines. Split bmiFilt.c out from bmi.c Revised filter code 3.06b7 2004.09.09 ----------------------- Added DIB_DrawLine Added DIB_Convolve Added DIB_MedianFilter Fixed bug in BmiDrawLine... Added a few FlushLog calls to make sure XFERREADY's show up in log. Corrected bug in VB.NET header file eztwain.vb 3.06b6 2004.08.28 ----------------------- Added TWAIN_ProcessEvent, to make Twirl work again! 3.06b5 2004.08.23 ----------------------- Added a logging handler to EZTiff, connect it to EZTwain log. 3.06b4 2004.08.09 ----------------------- Changed error msg when setting capability outside state 4: Include cap code in error message! Added TWAIN_SetTiffImageDescription and TWAIN_SetTiffDocumentName. 3.06b3 2004.08.05 ----------------------- Numerous Code Wizard bug fixes... SetBrightness & SetContrast: if they fail, force a MSG_GET for logging. 3.06b2 2004.08.02 ----------------------- Bugfix: AcquireToFilename and Acquire were ignoring SetXferMech. Yet another round of tuning the RGB-to-8-bit quantizer (used by GIF saves.) Switched the EZGif module to use standard LZW encoding. 3.06b1 2004.08.01 ----------------------- Code Wizard added to package. 3.05b32 2004.07.30 ----------------------- Added TWAIN_SetRegion and TWAIN_ResetRegion. Higher-level functions for scanning a region - includes software cropping for devices that can't do ImageLayout. Handles pixel-coordinates for webcams and cameras. Bugfix: DIB_RegionCopy wasn't copying the resolution. 3.05b31 2004.07.21 ----------------------- Bugfix: Case#131 - LZW compression not enabled for contone TIFF saves. Fixed in EZTiff 1.26. "LZW" compression option added to Twerp under File - Save Options. 3.05b30 2004.07.17 ----------------------- Log returned condition code (in add. to RC) after DG_IMAGE triplets. New EZTEC_BAD_REGION error if SetImageLayout or SetFrame get bad args. TWAIN_SetImageLayout now tries SetFrame if DAT_IMAGELAYOUT, MSG_SET fails. TWAIN_SetImageLayout will now defer until State 4. 3.05b29 2004.07.12 ----------------------- Minor bugfix: tracing of TWTY_FRAME containers used wsprintf with %g which is not supported, just needed to be sprintf. 3.05b28 2004.07.05 ----------------------- Added DIB_GetHistogram, and automatic negate of 1-bit images that have 'too many' black pixels. Added code to DIB_Copy to catch & log any failures. 3.05b27 2004.06.30 ----------------------- Allow SetBitDepth to be deferred until DS is open, like many other capabilities. 3.05b26 2004.06.19 ----------------------- Added check of PixelFlavor in memory transfer handler. 3.05b25 2004.06.10 ----------------------- Added declaration files for LotusScript and PowerBASIC. 3.05b24 2004.05.26 ----------------------- New EZTiff with fix for Case #130, reading certain new Wang JPEG TIFFs. Added LZW compression support to EZTiff, and to eztwain.h 3.05b23 2004.05.19 ----------------------- Tweak to PumpMessages to handle case of device (Lexmark 3100 series) that posts XFERREADY immediately followed by CLOSEDSREQ. Tweaks to the parent-disable logic. Fix for Case 129: Nested DIB_OpenInDC doesn't work. 3.05b22 2004.05.10 ----------------------- TWAIN_AutoClickButton param type changed LPSTR -> LPCSTR i.e. string is input only. Fixed Case 127: Color distortion when converting RGB to 8-bit indexed color. 3.05b21 2004.05.05 ----------------------- Two minor bugs: In WriteToTiff and WriteToPdf, RecordError was called if the write succeeded! And, with Pdf, the wrong (TIFF) error code was recorded. 3.05b20 2004.04.30 ----------------------- Reworked the AcquireMultipage loop yet again, trying to work smoothly with ADFs, flatbeds, webcams, and breadsticks. 3.05b19 2004.04.15 ----------------------- When writing 24-bit and other deep images to GIF, quantize to 8-bit color. Log data in applicable DAT_IMAGELAYOUT triplets. Added code to log values of TWTY_FRAME containers Added papersize/imagelayout/frames test to EZTCheck. 3.05b18 2004.04.12 ----------------------- Case 106: New TWAIN_SetFileAppendFlag/TWAIN_GetFileAppendFlag functions. Fixed spurious error on last page when using AcquireMultipage on TravelScan 3.05b17 2004.04.07 ----------------------- Case 102 fixed: Access subfolder not created by EZTwain installer. Case 103 fixed: If c:\eztwain.log cannot be created, we try $wintemp$\eztwain.log as a backup i.e. we ask Windoze for the temp directory and try again there. 3.05b16 2004.04.04 ----------------------- Removed GetValidHwnd call from WaitForXfer - it's purely redundant, it is always passed an HWND that was already returned from GetValidHwnd. 3.05b15 2004.03.31 ----------------------- Added EZTEC error codes for '0 pages written to multipage file', EZTiff.dll not found, error while writing TIFF file. 3.05b14 2004.03.29 ----------------------- (potential bug) fix - disable and re-enable of parent window by EZTwain, the sequence wasn't quite right. Compatibility hack: After MSG_OPENDS, issue a reset on CAP_XFERCOUNT because the Canon 2080C forgets to do this. 3.05b13 2004.03.25 ----------------------- Adding a little more logging & log-flushing: Goal is to have an adequate log in case of a hang inside AcquireMultipageFile. [Reported with fi-4010CU] Added nearly a dozen specific error codes for JPEG file i/o. Bugfix: Case #93, inadequate details/report for JPEG -3 error. Bugfix: JPEG Quality was not being passed along when writing .jpg file. 3.05b12 2004.03.22 ----------------------- Several major bug fixes in AcquireMultipageFile: * Was leaking every scanned dib! * Would report failure at the end of any no-UI scan with Canon DR-2080C Code to prompt for feeding on Syscan scanners wasn't going to work. Another bugfix related to DR-2080C: We weren't turning off AutoScan and AutoFeed, when doing single transfers - so Canon would scan ahead every time. New feature (beta) TWAIN_AutoClickButton - from long ago. 3.05b11 2004.03.15 ----------------------- Added TWAIN_SetAutoScan. Bugfix: Calling TWAIN_SelectFeeder(0) then TWAIN_SetAutoFeed(0).. would enable the feeder! (in SetAutoFeed) I've tried to fix this case, (to *not* select the feeder) without breaking other cases. 3.05b9 2004.03.06 ------------------------ Added EZTEC_LOAD_DSM to record failure to load twain_32.dll Added EZTEC_NO_SUCH_DS EZTEC_OPEN_DS, EZTEC_ENABLE_FAILED Added TWAIN_GetLastErrorText and TWAIN_LastErrorText. Improved internal error recording and reporting. Added TWAIN_SetFrame. 3.05b8 2004.03.03 ------------------------ Added check for 'remote session' when reporting OS in log. Twain gets all tripped up when run under Windows Terminal Services. 3.05b7 ----------------------------------- Corrected CONTAINER_Equal - It was returning FALSE on equal containers, because it was checking 'garbage' (uninitialized) bytes. 3.05b6 2004.03.02 ----------------------- Increased logging in various licensing calls. Added logging when LoadSourceManager fails Changed logs of GetLastError from %08x to %d format 3.05b5 2004.02.28 ----------------------- Added internal error for fatal error in driver SetPaperSize is now clever: will try SetImageLayout too. Collected most of the 'deferred cap values' global vars together Added TWAIN_SetXferCount, deprecated TWAIN_NegotiateXferCount Allow Set(Current)Units to defer until source is opened. Allow SetContrast, SetLightPath, SetPaperSize likewise. Allow both SetPixelType and NegotiatePixelTypes to defer likewise. Re-ordered capability negotiation in PreAcquire 3.05b4 2004.02.25 ----------------------- Bugfix in TIFF writer, RowsPerStrip set to 0 when row size exceeded strip size. SetLightPath will defer until State 4 3.05b3 2004.02.19 ----------------------- Initial support for 16-bit grayscale DIBs Initial support for 48-bit RGB DIBs [Scan, flip, rotate, crop, save to TIFF, load from TIFF] Added DIB_ReadRowSafe and DIB_WriteRowSafe Slightly changed mxb.BytesWritten check in mem xfer, and added mxb.Memory.Length to DisplayTransferInfo. 3.05b2 2004.01.30 ----------------------- Added multipage TIFF reading support. 3.05b1 2004.01.14 ----------------------- Corrected ContainerSize function in contain.c which was overestimating the size for certain array and enum containers, WHICH had the effect of causing CONTAINER_IsValid to return false for certain valid containers. 3.04 2003.10.01 spike New: (Build 1) Removed EZMultipage.DLL from system - folded functions into EZTwain3.dll New: (Build 2) TWAIN_MultipageCount Fix: (Build 3) DIB_ToDibSection and DIB_ToPicture were not freeing the input DIB! Now they do. New: (Build 3) DIB_Free - try to avert crashes on invalid input. Fix: (Build 4) In PreAcquire, if State > 4, report error if device XferMech is not what we need. Fix: (Build 5) In CONTAINER_FindValue: did not return -1 if value not found. Fix: (Build 6) Case#5: TIFF files are big-endian. Fixed, EZTiff.dll 1.17 New: (Build 6) Better logging of LoadLibrary failures. b7 2003.10.18 Relaxed error check for xfermech when PreAcquire called in state > 4. Added GdiFlush to DIB_DrawText, experimental, re Case#3 b8 2003.10.23 Adding logging, new EZTEC code inside DIB_WriteToJpeg Improved logging inside PumpMessage b9 2003.10.29 Added Perl support - to XDefs, added small sample script. Removed abandoned 'GetDefaultApplicationSource' or whatever from eztwain.h b10 2003.11.04 Added anti-aliasing of text in DIB_DrawText, fixed DIB_DrawText bug - Case #3 b11 2003.11.07 Released to public today. Major rework of EZTCheck UI to fit 640x480 screen. b12 2003.11.08 EZTCheck bug: SetAppTitle was too late, unlock failed! b13 2003.12.03 Added TWAIN_WriteToLog (suggested by Robert Friele) b14 2003.12.05 Fixed bug(s) in DIB_ToPicture and DIB_FromPicture Fixed multi-transfer test bug and small UI bug in EZTCheck. b15 2003.12.11 Added some small additional checks in EZTCheck for DIB_Rotate90 b16 2003.12.21 EnableDuplex: check for duplex support before trying to enable/disable. 3.03 2003.09.10 spike New: (Build 1) JPEG compression in TIFF files (uses EZJpeg.dll) New: (Build 2) SetAppTitle => logfile New: (Build 3) Record an error when licensing fails, and set FAILURE/OPERATIONERR New: (Build 3) Log parameters of acquired DIB Fix: (Build 4) Defer passing along TIFF compression until EZTiff.dll is loaded New: (Build 4) LogFile(2) flushes logfile after every log entry. New: (Build 5) Improved Basic Caps test in EZTCheck - XRes, YRes, BitDepth, etc. Fix: (Build 5) SetTiffCompression was returning FALSE, instead of TRUE. New: (Build 6) Added DIB_ConvertToPixelType Fix: (Build 7) TWRC_CANCEL in EnableSource could generate inapp. error box. Fix: (Build 7) Save & restore Windows Current Directory across (Get)NextSourceName Fix: (Build 8) Using ImageInfo to recover DIB resolution. [HP ScanJet 5s] Fix: (Build 9) Use szAppTitle as caption for proxy window - it IS visible, in a crash! 3.02 2003.08.18 spike New: DIB_ToDibSection and DIB_FromBitmap New: TWAIN_SetTiffStripSize, TWAIN_GetTiffStripSize Fix: DIB_RegionCopy was not using source (x,y) Fix: DIB_Fill would generate divide-by-zero on 1-bit bitmaps Fix: DIB_Blt would miscopy for certain cases Fix: DIB_ScaledCopy was not clipping output samples to (0..255) Fix: DIB_DrawText did not work to 1-bit DIBs. Fix: (Build 5) EZPdf v1.06 - PDF files were not to scale. New: (Build 6) BuildName appends the version-build-number New: (Build 6) Added DIB_ToPicture, DIB_FromPicture New: (Build 7) Twerp32 scales image to fit window (used to resize wnd) Fix: (Build 8) In native xfer, if DIB dpi is 0, query DS for resolution. New: (Build 9) TWAIN_Set/GetTiffCompression added 3.01 2003.07.25 spike New: Text annotation functions: DIB_DrawText, DIB_SetTextHeight, DIB_SetTextFace DIB_SetTextFormat, DIB_SetTextColor, DIB_SetTextAngle New: DIB_Fill, DIB_PaintMask New: DIB_OpenInDC, DIB_CloseInDC New: DIB_PrintNoPrompt (Build 5) Fix: licensing code accepts n or -n for machine and org keys. Fix: In BeginMultipageFile, auto-detect of file format was not being communicated to DibWritePage. Fix: (Build 7) Missing exports in DLL: SetResolution, SetUnits, SetPixelType Fix: (Build 7) Organization key validation was absolutely broken... Fix: (Build 8) Not handled: divide by zero if a range had StepSize=0 3.00 2003.06.26 spike New: Released to public on website. Fix: Several corrections to XDefs and the output VB files. 2.99 2003.06.22 spike Fix: Changed the organization splash dialog to display 5% of the time when EZT is activated under an organization license. Uses current time->srand, so on average 1 time out of 20 EZT activations. 2.98 2003.06.21 spike Fix: Trial license code was failing on 95/98/Me systems - (a) because filetimes are not even multiples of - well, of anything - and (b) because to check licensing I was opening file handles without enough sharing. Fix tested on WinME here, and Win98 by Data. 2.97 2003.06.18 spike Misc: In DIB_Print, have jobname/docname default to AppTitle. Misc: Default AppTitle changed to "Application using EZTwain" 2.95 2003.06.15 spike Misc: Changed from 'eztw32' to 'Eztwain' for all project files. Misc: Changed output name from eztw32.dll to eztwain3.dll Misc: Install puts DLL's into {sys} Del: Removed TWAIN_GetMachineKey 2.94 2003.06.09 spike New: Tons of license-checking code. New: TWAIN_SetApplicationKey New: TWAIN_SetVendorKey New: TWAIN_GetMachineKey New: DIB_Print New: DIB_PixelType 2.93 2003.06.03 spike New: Reorganized folders, getting ready to separate regular EZTwain release from (extra-cost) Source code package. 2.92 2003.05.28 spike New: DIB_Rotate90, DIB_Blt, DIB_BltMask - Had to fix several nasty bugs in the rotate90 code. (build 5) New: DIB_Negate New: Wrapped __try blocks around calls into TWAIN, so DS crashes don't crash the application. New: TWAIN_SetPixelType, TWAIN_SetUnits, TWAIN_SetResolution add for consistency. Legacy SetCurrentXXX forms retained. New: Experimental GIF support. New: DIB_SetColorModel, for semi-support of CMY(K) DIBs New: WriteNativeToFilename - standard extension overrides file format. E.g. saving to foo.jpg ignores nSaveFormat and writes a JFIF. Fix: IsPngAvailable was always returning TRUE. Fix: Reworked CopyMemoryBufferToDib code (once again) to cope with TW_IMAGEMEMXFER oddities. UMax PowerLook III still troublesome. Fix: CreateProxyWindow was using a feature not supported in NT < 5.0! 2.91 2003.05.13 spike Fix: Trying to cope with UMax PowerLook III CMYK memory transfer. 2.90 2003.05.08 spike Misc: Tweaked logging of 'Transferring' state Added LogSFX to check memory transfer Added logging of UI structure to MSG_ENABLEDS Removed garbage at end of INFO: report in Mem Xfer. 2.89 2003.05.05 spike New: SelectFeeder can be called outside State 4, like Duplex & co. Misc: Route EZTiff errors thru TWAIN_ErrorBox Misc: Much more comprehensive capability logging New: SetCurrentPixelType in states < 4, like SelectFeeder and EnableDuplex - it's deferred until PreAcquire. 2.88 2003.05.01 spike Fix: BmiCropCopy tickled a CodeGen bug in VC 6.0: inlined memset clobbered memory. Fix: EZTWAIN_Log now logs with OutputDebugString even in Release build, if running under debugger. Tres clever, eh? Hack: When querying CAP_DUPLEX, if answer is 'no support', wait a mo' and try again. Canon DR3020 with CFM driver needs this! Misc: More logging, and more flushes of log file. 2.87 2003.04.12 spike Fix: Redesigned EnableSource and WaitForXfer to work differently. EnableSource will now process any messages generated while enabling the DS - including XFERREADY. So on return from EnableSource, the state could be either 4, 5, or 6. Note: I'm generally replacing calls to ModalEventLoop with calls that loop until a state change, but that don't internally do a transfer on XFERREADY. Fix: Disabling the parent window is now done in EnableSource and re-enabling if necessary is done in DisableSource. New: Added defines for CMY and CMYK pixel types, added logic in Twerp to allow selection of CMY and CMYK New: Added option in Twerp to specify 16-bit ICAP_BITDEPTH. Del: TWAIN_ModalEventLoop is gone - we'll see if anybody screams. Del: TWAIN_WaitForXfer and TWAIN_WaitForNativeXfer removed. New: Twerp supports 16 and 48-bit pixel depth New: Twerp can turn on the LogFile, and open it in Notepad. 2.86 2003.04.05 spike Added 'BmiNegate' to bmi.c for use in EZPdf, EZTiff. EZPdf fixed to negate 'vanilla' (0=white) 1-bit bitmaps. Put various files back to where they were in 2.70, to minimize disruption of existing customers. Rewrote NegotiatePixelTypes to use CONTAINER_ fns, removed Intersect16 and some other now-unused private fns. Replaced IsTiffMultiAvailable with IsMultipageAvailable. Extracted multipage support into EZMultipage.DLL 2.84 2003.03.04 spike Split out new file formats and multipage support into a separate file (level3.c) so I can build a feature-reduced version 2 without that code. Fix: You could have a DS open, then enable it and call AcquireNative and the xfermech would not be negotiated to Native. New: Multipage functions: AcquireMultipageFile, SetMultipageFormat. 2.83 2003.02.23 spike Fix: Replaced Intel JPEG Library (IJL) with unencumbered IJG JPEG library, repackaged as EZJpeg.DLL by me. New: TIFF support thru EZTiff, built on LibTiff. 2.82 2003.02.14 spike Fix: If twain_32.dll not found in directory, do an unqualified LoadLibrary. Fixes problem reported under Windows 2000 server with terminal services enabled at Application Server mode Fix: Nasty! Doing a MSG_GET on image info or image layout in State 6 would kick EZTwain into State 7! Fix: Doing EmptyMsgQ too much during shutdown, needs to be FlushMsgQ once DS is disabled. 2.81 2002.10.11 spike Fix: bugs in BmiFlipRow (used by DIB_FlipHorizontal) - the 1 bit/pixel case. Fix: Avoid infinite recursion during close / EmptyMsgQueue Fix: CONTAINER_DeleteItem didn't decrement the item count. New: Made PNG support standard. New: TIFF reader New: New CONTAINER_ functions: IsValid, Handle, Wrap, TypeSize, Equal Int: Shuffled a bunch of stuff around inside, so contain.c is free-standing = does not depend on rest of eztwain. 2.80 2002-03-22 spike Fix: Handle TWRC_CANCEL returned from MSG_ENABLEDS. Fix: In ReportLastError, suppress reporting a TWRC_CANCEL return. New: TIFF saving support. 2.76 2002-01-20 spike Fix: Memory transfer handles oddities of Howtek DS Fix: "Deferred negotiation" for bDuplex, bAutoFeed, dxResolution, dyResolution - these only last until next Acquire, or Close. 2.75 2001-10-19 spike New: DIB_Scale, DIB_FlipVertical, DIB_FlipHorizontal, New: DIB_Rotate180. Fix: TWAIN_IsFeederSelected is smarter [thanks 2 David Offen] 2.74 2001-06-07 spike Fix: Starting from Oliver Scherf's neat code, supports IJL15 and extracts image resolution from JPEG's. Fix: Overstrict test in LoadNativeFromFile was rejecting valid JPEG files i.e. files that IJL15 parses readily. 2.73 2001-05-14 spike New: IsPngAvailable, IsTiffAvailable, IsTiffMultiAvailable. 2.72 2001-05-03 spike Delta: More logging to pfsLog file. 2.71 2001-04-22 spike New: Conditional code to support a 'PROFESSIONAL' build which can save PNG files. 2.70 2001-03-05 spike Fix: PreAcquire was doing EnableDuplex all the time - crashed the Canon PowerShot DS. Changed logic to only negotiate if client app has explicitly requested. Ditto for AutoFeed. 2.66 00.10.24 spike Fix: Changed TWAIN_Acquire to use native transfer by default. 2.65 00.10.06 spike Fix: So many problems with memory transfer, I'm about to give up and go back to using native as the primary transfer mode! Fix: GetCurrentThreshold is more forgiving, should accept almost any plausible returned container. (per req. David Offen) 2.64 00.09.19 spike Delta: Moved container stuff into contain.c, DIB stuff into ezdib.c New: DIB_SwapRedBlue, DIB_SetColorCount, DIB_PutOnClipboard New: DIB_WriteToBmpFile, DIB_WriteRowChannel, DIB_GetFromClipboard New: DIB_Copy, DIB_ColorTableR, DIB_ColorTableG, DIB_ColorTableB Fix: (I hope) round resolution values (in DPI) to the nearest integer, if they are "really close" already e.g. 99.998 => 100.0 Fix: special hack in memory transfer code to handle HP PictureScan 3.0. 2.63 00.09.03 spike New: TWAIN_SetIndicators, TWAIN_EnableDuplex will accept settings with no source open, and try to negotiate the requested settings at the appropriate later time. 2.62 00.08.30 spike New: TWAIN_SetAppTitle (per request of Dave Offen) 2.61 00.08.26 spike New: TWAIN_LogFile to turn log file on and off at runtime. New: EZTWAIN_Attach, EZTWAIN_Detach, for directly-linked apps 2.60 00.07.17 spike Fix: Bug in memory-transfer code. (Thanks Francisco) 2.59 00.07.10 spike New: Handle tiled memory transfers. 2.58 00.06.13 spike Fix: Will use Intel's IJL11.DLL if present. New: GetImageLayout, GetDefaultImageLayout, ResetImageLayout New: SuppressErrorMessages, ClearError, LastErrorCode New: When a transfer is cancelled by the user, LastErrorCode will return EZTEC_USER_CANCEL, in all transfer modes. New: UserClosedSource 2.57 00.05.16 spike Fix: Memory transfer would complain if Source tried to transfer 1 more row than was in image - which is not an uncommon source bug. 2.56 00.04.24 spike Fix: AcquireFile would not accept TIFF as a format. [thnx2 Peter Rettig] 2.55 00.04.11 spike Fix: Improved code in GetCapBool [thanx2 Paul Roder] Fix: GetCapCurrent handles TW_RANGE container [thanx2 Dave Offen] New: Much better reporting of unexpected conditions during memory transfer. [inspired by Kjell Petersen] 2.53 00.03.07 spike Fix: In TWAIN_UnloadSourceManager, destroy the proxy window, if there is one. [per Mark Kellam] Fix: Handle odd case where WM_QUIT was seen (but ignored) inside TWAIN_EmptyMessageQueue. [Logitech QC] New: TWAIN_AcquireMemoryCallback and TWAIN_DisableParent, based on code contributed by David Offen of Arkenstone. TWAIN_GetDisableParent (to go with ..DisableParent) New: TWAIN_WaitForNativeXfer will now return a pending DIB if there is one. TWAIN_IsTransferReady - tests to see if source has an image ready to transfer OR if there is a DIB waiting from an earlier transfer. These two changes make it fairly easy to do asynch. acquires - while the application stays active - as long as you can hook TWAIN_MessageHook into your main message pump - see the latest Twerp. 2.52 00.02.09 spike Fix: TWAIN_LoadNativeFromFile had an '=' where it needed a '==' - should not have caused a problem for anybody. Thanks Hayden! Fix: Several recent functions were declared with BOOL params: The Visual Basic value 'True' = -1! So these functions now have code to convert any non-zero 'BOOL' argument to 1. 2.51 99.12.01 spike Added: TWAIN_GetSourceList, TWAIN_GetNextSourceName TWAIN_SourceName, TWAIN_GetSourceName TWAIN_GetDefaultSourceName TWAIN_OpenSource TWAIN_SupportsFileXfer, TWAIN_AcquireFile 2.50 99.11.28 spike Added: TWAIN_Acquire - uses memory transfer changed AcquireToClipboard, AcquireToFilename to use the new TWAIN_Acquire. 2.10 99.10.10 spike Added: Support for JPEG file read & write TWAIN_IsJpegAvailable TWAIN_SetSaveFormat/TWAIN_GetSaveFormat TWAIN_SetJpegQuality/TWAIN_GetJpegQuality DIB_WriteToJpeg 2.09 99.09.30 spike Fix: several functions were not exported by DLL AcquireToFilename - return code wrong in case of user cancelled save dialog. 2.08 99.09.01 spike Added: TWAIN_SetCapFix32R TWAIN_ToFix32R 2.07 99.08.28 spike Added: DIB_Free TWAIN_GetDuplexSupport TWAIN_EnableDuplex TWAIN_IsDuplexEnabled 2.06 99.06.10 spike Added: DIB_ReadRowRGB TWAIN_SetXResolution, TWAIN_SetYResolution TWAIN_SetCapFix32 Fix: TWAIN_SetCapOneValue handled FIX32 wrong setting FIX32 caps to non-integral values was busted. 2.05 06/09/99 Fix: Some wrong return codes in CONTAINER_ functions CONTAINER_SetItem didn't work on a OneValue. CONTAINER_OneValue wrong for frames & strings Added: CONTAINER_SelectDefaultValue CONTAINER_SelectCurrentValue CONTAINER_SetItemFrame CONTAINER_SetItemString 2.00 b2 01/29/99 Fix: Return codes wrong in AcquireToFilename. Added: GetCap, SetCap CONTAINER_* functions 2.00 b1 01/25/99 Requires a license for commercial use. Fix: don't rely on DS for xfermech. Added: (TWAIN_ prefix omitted for brevity) HasControllableUI, BuildName; SetMultiTransfer, GetMultiTransfer; HasFeeder, IsFeederSelected, SelectFeeder; IsAutoFeedOn, SetAutoFeed; SetImageLayout; Compression, SetCompression; Tiled, SetTiled; PlanarChunky, SetPlanarChunky; PixelFlavor, SetPixelFlavor; SetThreshold, GetCurrentThreshold; GetCapUint16, GetCapFix32; 1.20 09/15/98 Added: TWAIN_Testing123. 1.12 09/14/98 Added: Fix32ToFloat, allow MSG_OPENDS triplet. Added: SetXferMech, XferMech. 1.11 08/17/98 Added: ToFix32, SetContrast, SetBrightness. Fix: TWAIN_ToFix32 to round away-from-zero. 1.09b 07/27/98 Reverted from 1.08 to 1.06 and worked forward again. 1.06 08/21/97 correction to message hook, fixed 32-bit exports 1.05 11/06/96 32-bit conversion 1.04 05/03/95 Added: WriteNativeToFile, WriteNativeToFilename, FreeNative, SetHideUI, GetHideUI, SetCurrentUnits, GetCurrentUnits, SetCurrentResolution, SetBitDepth, SetCurrentPixelType, SetCapOneValue. 1.0a 06/23/94 first alpha version 0.0 05/11/94 created ///////////////////////////////////////////////////////////////////////*/