OMNI Changelog
Version 0.9.2
- Fix from Tim Waugh on the Foomatic data generation of the PageSize (Form) option.
- Fixes from Oswald Buddenhagen for autoconf support.
- Added sendBinaryDataToDevice and sendPrintfToDevice to DeviceBlitter and DeviceInstance in order to remove all occurences of pDevice_d in every device's blitter and instance code.
- More validation of omni XML files. Fixed OmniDevice.xsd.
- Fixed simulationRequired in Copies, NUps, Orientations, and Sides.
- Made a new library to hide which internal XML handling library that we use.
- Brought UPDF a little closer to working.
- Created Python version of the tool used to edit XML files. Switched to that version to use for Omni. Now installing that version.
- Fixed CUPSToOmni not using different job properties on the command line.
- Added missing string translation for "PanelSelect".
- Fixed bug in PrinterCommand::appendCommand ().
- Fixed bug in OmniEpsonBlitter::translateKeyValue ().
- Foomatic fixes. Apparently for foomatic PPDs, the option name cannot be longer than 24 characters and the choice name no longer than 32 characters.
- MEDIA_BRIGHT_WHITE_INK_JET_PAPER -> MEDIA_BRIGHT_WHITE_INKJET_PAPER
- MEDIA_PHOTOGRAPHIC_INK_JET_PAPER -> MEDIA_PHOTOGRAPHIC_INKJET_PAPER
- MEDIA_PREMIUM_SEMIGLOSS_PHOTO_PAPER -> MEDIA_PREM_SEMIGLOSS_PHOTO_PAPER
- NumberUpPresentationDirection -> NumberUpDirection
- Added new IBM devices "IBM Infoprint 1356J", "IBM Infoprint 1356J PAGES"
- Took in RedHat fixes for XMLParser, DeviceScaling, OmniPDCProxy
- Fixed na_govt-legal_8.00x10.00in misspelling in "IBM Infoprint 2085 Forms", "Epson EPL-5700 Connections", "Epson EPL-N2000 Connections", and "Epson EPL-N1600 Connections"
- Fixed buffer overflows in all bitmap dumping routines. Fixed other Beam reported bugs.
- Fixed bug in "IBM 5577 Instance"
Version 0.9.1
- We now install in:
- /usr/bin
- /usr/lib/Omni
- /usr/share/Omni
- Fixed OmniFoomaticGenerator bug where extra libraries were thought
to be devices and they caused traps.
- Fixed OmniFoomaticGenerator bug where omni-XMLMasterDevice.xml was
being generated incorrectly.
- Rearchitected the omni driver. Instead of using integer constants
that are defined in .cpp files to create new Device objects, we use
strings. The strings come from the job properties. We are also using
a standard called the Common Job Properties (www.openprinting.org).
- Added an initial set of BVT (Build Verification Testcases).
Version 0.9.0
- Omni has switched from compiled device support to XML device support! (Although it still supports compiled devices)
- Omni is also in shutdown mode for a 1.0 release!
- Switched from DTD to XSD.
- Removed using namespace std and switched to adding std:: prefixes.
- Switched from char *'s to const char *'s.
- Fixed/rearchitected the DeviceOption in devices.
- Fixed trap in OmniFoomaticGenerator.
- Added FORM_GERMAN_12_X_250_FANFOLD.
- Brought test/ subdirectory up to date.
Version 0.7.3
- Provided better CUPS integration.
- More XMLDevice fixes.
- Unified jop properties specification on the command line. Now, all programs specify job properties as -sproperties="..." on the command line.
- Moved foo2omni and foomaticDB in Foomatic/bin to Foomatic/share .
- Moved /opt/Omni/data to /opt/Omni/share .
- Initial debian package building support (thanks to rafael . espindola @ ic . unicamp . br).
- Added support for 10 new devices:
- IBM 5577-H02
- IBM 5584-G02
- IBM 5584-H02
- IBM 5584-K02
- IBM 5584-K14
- IBM 5585-H01
- IBM 5586-H02
- IBM 5587-H01_G01 Enh
- IBM 5587-K02
- IBM 5587-L02
- IBM 5588-H02
- IBM 5589-H01
- IBM 5589-K20
- IBM 5589-L36
Version 0.7.2
- 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.
Version 0.7.1
Version 0.7.0
- 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)
- [Till] Fixed Foomatic handling of + in device names. Fixed small gcc 3.1 bug.
- Fixed the handling of command line arguments in ghostscript.
- Fixed the handling of -sPAPERSIZE= in ghostscript and foomatic (thanks to till . kamppeter @ gmx . net)
Version 0.6.1
- 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.
Version 0.6.0
- Fixed HP LaserJet 5L form size (thanks to jason at alteredminds dot 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 at redhat dot com)
- To build with gcc 3.0 or later use this command:
make CFLAGS="-march=i386 -mcpu=i686 -Wall -DGCC_VER_3"
- 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.
Version 0.5.1
- 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.
Version 0.5.0
- 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.
Version 0.4.3
- This update includes the latest Foomatic enablement code to allow for use with the latest levels of printconf.
- We have also included a new set of patches for ghostscript 6.51 and 5.50.
Version 0.4.2
- This release was created due to an update to allow Omni to be used with the latest levels of Foomatic and printconf. The associated files and scripts are in the /Omni/Foomatic directory.
Version 0.4.1
- We have found some problems with the starting of the page for Epson Stylus Photo printers and resolved their start position.
- Added the ability to use the /opt/Omni/bin path to hold the libraries for Ghostscript 6.51.
Version 0.4.0
- 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.
Version 0.3.2
- Fixed broken patch file for the 5.50 release of Ghostscript.
Version 0.3.1
- Fixed build break in Canon BJC-8500 Blitter.cpp
- Fixed build break in tools directory.
Version 0.3.0
- 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 at web dot 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
Version 0.2.0
- 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= to the command line.
- Remove the -sOutputFile= if there is one. This command line option (-sOutputFile) is not used in conjunction with IJS.
- 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.
Version 0.1.2
- Fixed a bug in omni's newFrame logic for each device class.
Version 0.1.1
- 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=GSMONOMONO
Version 0.1.0
- Fixed some Ghostscript issues with returning failures when devices are not initialized properly with invalid command line options.
Version 0.0.9
- 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.
- Introduced test subdirectory.
Version 0.0.8.2
- 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)
Version 0.0.8.1
- Forgot to move the 24-1 monochrome dithering routine into core omni code.
Version 0.0.8
- Added a new device job property for Epson class devices (and their c 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
Version 0.0.7.5
- 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.
Version 0.0.7.4
- Fixed page sizes longer than Letter in Epson class devices
- Fixed memory leak in libxml version of OmniDomParser.cpp
Version 0.0.7.3
- Changed form sizes for the Okidata ML-320 Turbo.
- Added error condition in XMLParser.
- Added new resolutions.
Version 0.0.7.2
- Changed naming convention from patch.xxx to Omni.patch.xxx.yyy
Version 0.0.7.1
- A single string properties input vs. multiple parameter properties input.
- Resolved some color issues with gradients of green turning brown.
- Resolved some problems with our previous update patch for ghostscript.
Version 0.0.7
- Full dynamic loading through Ghostscript
- Initial release for integration into GNOME
- New debugging capabilities
- Ability to test the printers printable area and adjust paper margins
- Ability to test color support and change gammas appropriately
Version 0.0.6.2
- Provided additional support Epson Photo printers
- Some additional fixes to the color support
- Resolved problems with six color plane management
- Fixes various build problems
Version 0.0.6.1
- Some files were missing from tarball
Version 0.0.6
- Added 6 color support for the following new Epson devices: Epson Stylus Photo 2000P, Epson Stylus Photo 870, Epson Stylus Photo 875DC
Version 0.0.5.1
- New function to support multiple XML parsers including libxml "gnome-xml" at www.xmlsoft.org and xerces at xml.apache.org.
- Omni driver can now support multiple dither objects allowing for the easy replacement of the Omni drivers dither functions.
- Support for 30 additional devices bringing the total number of devices supported to 266.
Version 0.0.5
- Added support for over 130 additional printers including Canon, Okidata, Star, and Panasonic
- Improved Epson color support
Version 0.0.4.3
- Increase performance creating output files
- Adjusts some of the page startup information for Epson High Resolution devices
Version 0.0.4.2
- Changed the ghostscript patch because of a problem with the ghostscript makefile
- Changed the color dithering code to allow for better light to dark color transitions such as for skin tones
Version 0.0.4.1
- Improved page startup code for the high resolution modes on newer Epson devices
- Corrections for some problems with high resolution using monochrome
- Altered dithering code to allow for better detail
Version 0.0.4
- Dramatic improvements in output quality on the Epson Stylus 660, 760, 860, & 1160 including 1440 dpi support
- Modified CMYK conversion to yield brighter output
- Additional changes and updates to the core code
Version 0.0.3.2
- Resolves a problem with the XML Parsing for DeviceData classes (new function in this revision) and some possible issues with devices not correctly calculating their Y axis positioning.
Version 0.0.3.1
- Fixes the problem of removing spaces from important device commands.
Version 0.0.3
- Removes the dependency on a JDK for the build process and includes an XML device description.
Version 0.0.2
- Resolves a problem where the Omni driver would not produce output when using monochrome input files.