Fixes/Updates ============= Version Date 0.7.2 - 12-13-2002 - New Ghostscript patches! Use old style C comments instead of C99 comments. Improved error reporting on failed library loading. - Autotools build fixes. - Security fix: s/-dSAFER/-dPARANOIDSAFER/ for the GhostScript command lines of Foomatic (OmniFoomaticGenerator). - Fixed media insertion in HP LaserJet PCL Instance.cpp file. - Added support for 10 new IBM laser printers: IBM Network Printer 12 IBM Network Printer 17 IBM Network Printer 24 IBM Infoprint 20 IBM Infoprint 32 IBM Infoprint 40 IBM Infoprint 21 IBM Infoprint 70 IBM Infoprint 2085 IBM Infoprint 2105 - Fixed entity in Foomatic printer XML files. - Fixed OmniFoomaticGenerator not making output directories. - Fixed XMLDevice/Makefile.am install bug. - Fixed everything linking with CUPS. - Updated the Epson Blitter code to increase performance. - Fixed the naming of libjobdialog to libomnijobdialog. - Some backwards compatibility with ghostscript is supported. 0.7.1 - 08-30-2002 - New ghostscript patch! - Improved Foomatic printer entry generation for linuxprinting.org web site: Mechanism type of printer cannot be determined, therefore nothing instead of "inkjet" displayed, determined whether a printer is color or monochrome instead of always displaying color, improved comment text, added recommended driver field pointing to "omni" (till.kamppeter@gmx.net). - Removed trailing underscores from Foomatic IDs/filenames (till.kamppeter@gmx.net). - Writing printer names onto the screen durin the "Initializing devices..." of the Foomatic generator, to have a progress display (till.kamppeter@gmx.net). - Removed inner classes because we cannot rely on gcc working. - Resolved problems with ejecting a second page on a single page print - Corrected the margin information in HP LaserJet 2100 Forms.xml for the HP LaserJet 4050. - Corrected PageSize issues with gomni.c (Ghostscript driver) with non- default size forms. - Updated CUPSToOmni support for tray, media, and dither parameters. - Starting to add new job properties: Copy Collation Destination Stapling Jogging Duplex Booklet NUp Scaling - UPDF Fixes - orientation: Listened to PageRotation & DeviceFeature - duplex: Started it - Fixed dither enumeration bug - Memory leak cleanups in GplDither and GplCompression - Fixed Ghostscript trap (seen in espgs-7.05.3) - Added Epson PDC Blitter support for the following devices: Stylus Color 980 Stylus Color 880 Stylus Color 777 Stylus Color 680 Stylus C70 Stylus C60 Stylus C40 Stylus C20 # Stylus Photo 810 Note: there is a bug in epson's code that prevents # Stylus Photo 820 these devices from loading. # Stylus Color 580 # Stylus Color 480 - Changed Foomatic to OmniFoomaticGenerator. This is now installed in the /opt/Omni/bin directory. Changed the RPM builds to run this program when installing and removed the prebuilt OmniXXXFoomaticXXX.rpm files. Added a new /opt/Omni/data directory and installed foo2omni (was Foomatic/bin/newDB) there. - Added initial XMLDevice support (use XML files directly). It is not in the main build yet. Read XMLDevice/Readme for more information. - Updated Foomatic/bib/foo2omni file. 0.7.0 - 05-29-2002 - Fixed the Ghostscript interface gomni.c. There are new patches for Ghostscript! - We have switched to autotools as our build environment. - Reported bug in gcc compiler (6316). The latest CVS release of gcc should build omni (thanks to RichardZidlicky@stud.informatik.uni-erlangen.de) - Fixed gcc 3.1 build issues for streambuf assignments, CUPSToOmni.cpp, setit, and Omni.cpp (thanks to till.kamppeter@gmx.net and gbeauchesne@mandrakesoft.com) - Fixed Foomatic handling of + in device names. Fixed small gcc 3.1 bug (thanks to till.kamppeter@gmx.net) - Fixed the handling of command line arguments in ghostscript. - Fixed the handling of -sPAPERSIZE= in ghostscript and foomatic (thanks to till.kamppeter@gmx.net) 0.6.1 - 04-19-2002 - Added new DeviceString class to handle translateable strings. - Added getDeviceID () function to Orientation, Resolution, Form, Tray, Media, and PrintMode Device classes. Added the optional deviceID XML tag to those XML files. - Trying to work on documention issues. - Fixed the Ghostscript interface gomni.c. There are new patches for Ghostscript! - Added install target to Makefile. - Added RedHat directory which contains spec files for RPMs. - rewrote UPDF to use XML file dynamically instead of converting to cpp files and compiling into a library. - Added beta-level CUPS support! - Added support for libxml2 (thanks to prowler@ig.com.br for spotting that) - Added two new tools for omni: OmniDevices & OmniDeviceOptions. See docs/Usage for a description on how to use them. 0.6.0 - 02-19-2002 - Fixed HP LaserJet 5L form size (thanks to jason@alteredminds.com) - added new commands and cleaned up existing ones to Omni's implementation of PDC for proposal to the freestandards.org group. - fixed PluggableInstance and PluggableBlitter - added 6 new medias - Fixed gcc 3.0 build problems (thanks to twaugh@redhat.com) To try to build with gcc 3.0 or later use this command: make CFLAGS="-march=i386 -mcpu=i686 -Wall -DGCC_VER_3" NOTE: At one point in time it was building, but now it is broken again. We are waiting for gcc fixes. - JobDialog now part of the main build - JobDialog fixes/improvements. - improved string translation (MRI) handling - refined/improved PDC support to version 5 of the document - New Ghostscript patches (5.0, 6.51, 6.53, & 7.04). You must use the latest version which is 021802 or above. 0.5.1 - 11-19-2001 - Changed the default build to retail. - Added initial support for a pluggable blitter class. - Added 28 new HP LaserJet class devices. - Added 21 new Brother LaserJet class devices. - Added 12 new Epson LaserJet class devices. - Added 45 new Kyocera LaserJet class devices. - Fix capabilities bug in HP LaserJet devices (thanks to terry@beam.demon.co.uk) - Merged Red Hat's patches back into Omni. 0.5.0 - 10-05-2001 - Added listJobPropertyKeys() and getJobPropertyType(pszKey) to Device.hpp. This allows an application to query all of the job property keys from the omni driver. With those keys, one can query the type of the value, its default value, and optionally, its minimum and maximum values. You receive a string that has spaces seperating the values. The first value is the type. There are 4 types right now: boolean, integer, float, and string. The second value is the default value. There are two optional values for the minimum and maximum. For example, getJobPropertyType ("bidirectional") "boolean true" getJobPropertyType ("copies") "integer 1 1 999" getJobPropertyType ("gamma") "float 1.2 0.0 20.0" getJobPropertyType ("hardcoded") "string set" See DeviceTester2.cpp for a real example. - Added roll and user-defined media. Now, to select a roll form in the job properties with an instance of a length, use form=FORM_ROLL_76_2MM,25400. This will instantiate the roll media to 1 inch (in thousands of a millimeter). To select a user-defined form with an instance of 4"x3", use form=FORM_USER_DEFINED,101600,76200. - Added 10 new OkiData devices: OkiPos 425S, OkiPos 425D, OkiPage 6e_6ex, Okidata OL1200, Okidata OL400e, Okidata OL400ex, Okidata OL410e, Okidata OL410ex, Okidata OL810e, and the Okidata OL810ex. - Added preliminary support for the following additional Epson printers: Epson Stylus Photo 790, 890, 1290, 785EPX, 810, and 895. Currently the resolution support is limited to 1440 x 720. - Also made some additional changes to the core Foomatic code so that Omni can better be supported by printconf. 0.4.3 - 09-05-2001 - Corrected issue with zip package. The updated DeviceMedia.cpp and DeviceMedia.hpp for Foomatic support have been updated to match the CVS Repository. Also corrected the latest Ghostscript 6.51 patches. 0.4.2 - 09-01-2001 - Added support for foomatic under printconf. The files are under the Omni/Foomatic directory that allows the use of the Omni driver under the latest versions of printconf. - Changed parsing of Foomatic device names (thanks to till.kamppeter@gmx.net) 0.4.1 - 08-29-2001 - Resolved several issues with the starting page position on Epson Stylus Photo printers. - Updated the Ghostscript 6.51 patches - Moved the default path for the Omni drivers to the /opt/Omni/bin directory This makes setting the LD_LIBRARY_PATH optional 0.4.0 - 08-17-2001 - Added 21 new Hewlett Packard LaserJets to the omni driver! - Added an internal resolution to the DeviceResolution class so that a printer that can support hardware scaling could be implemented. - Added compressing RGB data to GplCompression. - Moved the GplpGenerateGammaCurve function in GplDitherInstance to public. - Converted the Steinburg algorithm from integer math to floating point math. Added 6 color support and multi-bit support to the Steinburg algorithm. - Added %f to PrintDevice::sendPrintfToDevice. - Fixed bug in DeviceDither::getDitherCatagory. - Updated Epson Stylus Photo 870, 875DC, & 1270 for 4 color support. Resolved problems printed at 360 dpi in 4 colors on the 870 & 875DC. - A lot more work was done for UPDF support. - Added Device::getShortName () which returns the name of the file (minus the lib and .so parts). - Added DeviceXXX::getName (id) which returns the NLV translated name for a form (without creating a new form object and querying that object). For the following classes: Form, Tray, Media, PrintMode, Resolution, and Orientation. - Added DeviceXXX::isXXXSupported (id) that will query if an id is supported for that device without having to create a new object of that id. For the following classes: Form, Tray, Media, PrintMode, Resolution, and Orientation. - Added prototype Foomatic support. 0.3.1 - 06-19-2001 - Fixed build break in Canon BJC-8500 Blitter.cpp. - Fixed build break in tools directory. 0.3.0 - 06-13-2001 - Changed the way to create a new dither instance to allow for future growth/other dither packages. - Fixed FORM_LEDGER's size to be 17x11 to conform with Ghostscript. Thanks to phallobst@web.de for spotting that. - Added 10 new Medias to encompass the PWG's UPDF format. - Added initial code to handle a UPDF device XML. Look at tools/UPDF. - Switched from dlopen to glib's version. 0.2.0 - 05-09-2001 - make clean before building! - Added first implementation of the proposed inkjet architecture (IJS). Added a new parameter to Ghostscript to switch into this mode. Add -sserver=<output_file> to the command line. Remove the -sOutputFile=<output_file> if there is one. This command line option (-sOutputFile) is not used in conjunction with IJS. NOTE: The root directory (where the omni executable is) must be in the PATH! - Added the ability to call beginJob () with new job properties. This allows for the creation of a device, displaying job properties dialog, and setting the new job properties for the print job. - Included 25 more Epson devices that were not being compiled. Thanks to phallobst@web.de for spotting that one. - Added DeviceOrientation class to the omni driver. - Fixed form margin information which were not rescaled to thousands of a mm. 0.1.2 - 04-27-2001 - Fixed a bug in omni's newFrame logic for each device class. 0.1.1 - 04-26-2001 - Fixed Ghostscript not finding required entry points in libomni.so. - Added new feature to Ghostscript that allows the user to choose between Ghostscript's dithering from color to monochrome and our dithering. The default is to use our dithering. To use Ghostscript's add the following to the command line: -smonodither=GSMONO Currently, Ghostscript's dither routines are faster but less smoothing than Omni. 0.1.0 - 04-24-2001 - Fixed some Ghostscript issues with returning failures when devices are not initialized properly with invalid command line options. 0.0.9 - 04-17-2001 - Renamed OmniInterface.* to GhostscriptInterface.* (more descriptive). - Made changes to DeviceForm.* and HardCopyCap.cpp to standardize forms. - filled in missing sizes - slightly changed some sizes to match with the standard - removed FORM_11_X_17 (duplicate of FORM_LEDGER) - removed FORM_INDEX_CARD (not used and confusing) - removed FORM_B5_ENVELOPE (not used and nonexistant) - removed FORM_A6_INDEX (not used and nonexistant) - removed FORM_LEGAL_WIDE (not used and nonexistant) - removed FORM_TABLOID_WIDE (not used and nonexistant) - removed FORM_A5_WIDE (not used and nonexistant) - removed FORM_B4_WIDE (not used and nonexistant) - removed FORM_B5_WIDE (not used and nonexistant) - removed FORM_QUARTO_WIDE (not used and nonexistant) - added 75 new forms to begin to merge with PWG's Media Standard Names - moved form sizes from HardCopyCap.cpp to DeviceForm.cpp - Increased HardCopyCap's units to thousands of a millimeter (1/1000 mm) to avoid conversion problems to thousands of an inch (1/1000 inch). Ex: 4.125 * 2540 = 10477.5 - Fixed Ghostscript code to call Omni with beginJob/newFrame/endJob instead of beginJob/endJob/beginJob/endJob for multiple page jobs. - Introduced test subdirectory. 0.0.8.2 - 04-10-2001 - Fixed build break in MonoDither.hpp - Fixed "DeviceTester::createDevice: dlerror returns Epson/libEpson_Stylus_Photo_870.so: undefined symbol: getJobProperty__29Epson_High_Res_ESCP2_InstancePc" when run against Epson devices with high resolutions (Ex: Epson Photo 870). - Fixed several Ghostscript reported problems. 0.0.8.1 - 04-06-2001 - Forgot to move the 24-1 monochrome dithering routine into core omni code. 0.0.8 - 04-05-2001 - added a new device job property for Epson class devices (and their compatible printers as well). It controls the bidirectional movement of the print head. To turn it off add bidirectional=0 to the job properties and to turn it on add bidirectional=1. - Fixed trap in Epson Stylus Color 740. Fixed incorrect output in Epson Stylus Color 740. - Changed the ghostscript interface to use synchronous instead of asynchronous mode. - Added error output if file did not exist for XMLParser. 0.0.7.5 - 03-23-2001 - added a new option to Ghostscript. It is -dPelSizeCorrection=xxx where xxx is a number. If you are printing black & white line art images then use 0 for no pel removal. Otherwise, leave it alone. It is for advanced usage. - added listDeviceJobPropertyKeys () to the Device class. This will return an enumeration that lists all of the device dependent job properties that are supported. - Fixed binary data error handling in OmniDomParser.cpp. 0.0.7.4 - 03-15-2001 - Fixed page sizes longer than Letter in Epson class devices. - Fixed memory leak in libxml version of OmniDomParser.cpp. 0.0.7.3 - 03-09-2001 - Changed form sizes for the Okidata ML-320 Turbo. - Added error condition in XMLParser. - Added new resolutions. 0.0.7.2 - 03-05-2001 - Fixed a trap where no dither job property was specified. - Changed naming convention from patch.xxx to Omni.patch.xxx.yyy. 0.0.7.1 - 03-02-2001 - Changed the input parameters for the driver's job properties. Previously you would type in each of the driver parameters as a separate parameter. The current code now requires you to input just one properties string. Example: Previously - -smedia=MEDIA_SPECIAL_720 -sresolution=RESOLUTION_720_X_720 this would have been two strings using the -s Now - -sproperties="media=MEDIA_SPECIAL_720 resolution=RESOLUTION_720_X_720" this will use one key parameter, properties, and the parameters following it will be enclosed in quotes. - Resolved some problems with printing green colors and gradients to lighter colors would come out incorrect. - Resolved some problems with the patching of the core Ghostscript files - Fixed DeviceDither bug thanks to manolo@NCC-1701.B.shuttle.de 0.0.7.0 - 02-23-2001 - Created interface for Ghostscript to do dynamic loading for devices - Resolved several problems with Canon support - Provided initial release of an interface for GNOME - Initial "prototype" for CUPS support (not completed) - DeviceTester has the ability to draw a box that can help fine tune the printable area on a printer. The box can be adjusted so that the overall printable area can be evaluated and put back in the proper devices xxx_Forms.xml file. Please provide us updated info. if our values are incorrect. - DeviceTester has the ability to draw colors. This will allow you to fine tune your gammas based on the paper type and inks you are using. - Added the ability to pass in a job property to enable debugging on: DeviceBlitter DeviceDither DeviceInstance DevicePrintMode DeviceTester DeviceTester6 GplCompression GplDitherInstance Omni OmniInterface OmniProxy PrintDevice Blitter Instance All This will allow applications, such as DeviceTester, to pass in a new parameter i.e. debugoutput=DeviceBlitter (one of the above) when invoking the driver. IMPORTANT NOTE: Please refer to the section on applying patches to Ghostscript. We have updated our patching scheme and we include both full and partial patch updates for Ghostscript. 0.0.6.2 - 02-07-2001 - Provided additional support Epson Photo printers - Some additional fixes to the color support - Resolved problems with six color plane management and compile time problems. 0.0.6.1 - 01-30-2001 - Provided support for six color Epson Photo printers - Additional changes for dithering implementation - Some additional fixes 0.0.5.1 - 01-09-2001 - Allow the use of different XML parsers. We provide the ability to use either the xerces, libxml, and xml4c3 parsing libraries. - Give the ability to load different dithering routines. We provide an example file - DitherLibraryExample.cpp in the Omni directory. This file shows what code needs to be changed to implement the new dither and what files will need to be added. Please refer to this file. 0.0.5.0 - 12-15-2000 - Added support for over 100 additional devices. These devices are from Canon, Okidata, Panasonic, and Star. - Altered some of the defined values to allow the tagging for XML to be more appropriate. - Additional changes to the RGB->CMYK conversion. 0.0.4.3 - 12-01-2000 - Made some additional changes to the Stucki dithering code increase performance some for Epson High Resolution Devices. - Updated startpage information for Epson High Resolution Devices. 0.0.4.2 - 11-30-2000 - Resolved some issues with the patch data - Made some additional changesto the Stucki dithering code to smooth transitions between lighter and darker colors for better skin tones. 0.0.4.1 - 11-15-2000 - Adjusted the start page procedures on Epson High Res devices - Resolved some issues with printing 1440x720 using monochrome - Made some minor changes to the Stucki dithering code to allow for better detail 0.0.4.0 - 11-02-2000 - Implemented higher quality Epson print modes - Modified CMYK conversion to yield brighter output - Additional changes and updates to the core code 0.0.3.1 & 0.0.3.2 - 10-17-2000 - Changed the management of bitmap ordering and positioning - Resolved problem in XML parser 0.0.3 - 10-06-2000 - Removed dependency on Java in favor of XML 0.0.2 - 8-21-2000 - Resolved problem with printing monochrome postscript files. - Changed naming convention from patch.xxx to Omni.patch.xxx.