Please check also http://bonk.ethz.ch. /* gdevcd8.c */ /* HP 850c, 855c & the like colour printer drivers */ /* These are currently not in the official distrib.*/ /* Please report all problems to uli@bonk.ethz.ch */ /* 11.11.96. Initial release of the driver */ /* 04.05.97 Version 1.1. For added feautures, */ /* resolved bugs and so forth, please see */ /* http://bonk.ethz.ch */ /* 25.08.97 Version 1.2. Resolved all but one of the known bugs, introduced a couple of perfomance improvements. Complete new color-transfer-function handling. (see gamma). Known Bugs: Dark colors are still pale. */ /* The current gs hp850 driver is meant to support all hp-color printers with C-RET and asymetrical resolution capabilities. Currently the driver supports only the the hp850, hp855, hp870 and hp890 printers with 300x300 dpi color (with and without RET) and 600x600dpi b/w. Furthermore, the hp690 is supported. However, you need to explicitly set -dRetStatus=0, otherwise you'll get garbage. The driver _must_ be invoked with the following switches: gs -r600 -dBitsPerPixel=32 (see the provided cmd-files as examples) Furthermore, the driver supports the following switches: -dPapertype= 0 plain paper [default] 1 bond paper 2 special paper 3 glossy film 4 transparency film -dQuality= -1 draft not recommended 0 normal not recommended 1 presentation [default] -dRetStatus= 0 C-RET off 1 C-RET on [default] -dMasterGamma= 3.0 [default = 1.0] __Note__: To take advantage of the calibrated color-transfer functions, be sure not to have any Gamma-Statements left! If you need to (i.e. overhead sheets), you still can use the gamma-functions, but they will override the built-in calibration. To use gamma in the traditional way, set MasterGamma to any value greater 1.0 and less 10.0. To adjust individual gamma-values, you have to additionally set MasterGamma to a value greater 1.0 and less 10.0 With the next release, gamma functions will be dropped. When using the driver, be aware that printing in 600dpi involves processing of large amounts of data (> 188MB !). Therefore, the driver is not what you would expect to be a fast driver ;-) This is no problem when printing a full sized color page (because printing itself is slow), but it's really annoying if yoy print only text pages. Maybe I can optimize the code for text-only pages in a later release. Right now, it is recommended to use the highest possible optimisation level your compiler offers.... For the time beeing, use the cdj550 device with -sBitsPerPixel=3 for fast proof-prints. If you simply want to print 600dpi b/w data, use the cdj550 device with -sBitsPerPixel=8 (or 1). Since the printer itself is slow, it may help to set the process-priority of the gs-process to regular or even less. On a 486/100MHZ this is still sufficient to maintain a continuos data-flow. Note to OS/2 users: Put the gs-window into the background, or minimize it. Also make sure, that print01.sys is invoked without the /irq switch (great speed improvement under warp4). You may use -dQuality=0 or -1, however, this setting interfers in an undocumented way with the output of the dither routine, such that the midtones of colors may look ugly (I have no idea how to overcome this). Anyhow, printing with 600dpi is somewhat senseless if you don't have a high positionig precision of the print-head ;-) Using -dQuality=-1 makes more sense since it saves a lot of ink (but looks ugly). The printer default settings compensate for dot-gain by a calibrated color-transfer function. If this appears to be to light for your business-graphs, or for overhead-sheets, feel free to set -dMasterGamma=1.7. Furthermore, you may tweak the gammavalues independently by setting -dGammaValC, -dGammaValM, -dGammaValY or -dGammaValK (if not set, the values default to MasterGamma). If you want to learn more about gamma, see: ftp://ftp.inforamp.net/pub/users/poynton/doc/colour/GammaFAQ.pdf or ftp://ftp.igd.fhg.de/pub/doc/colour/GammaFAQ.pdf Further information, bugs, tips etc, can be found at my website. Have fun! Uli uli@bonk.ethz.ch http://bonk.ethz.ch */ /* Note to *nix users. Depending on how you transfered the files, you might need to remove some CR-codes used on intel-based machines: simply type: unzip -a hp850.zip */ /* to compile with gs5.x, simply add DEVICE_DEVS4=cdj850.dev to your makefile. */ /* To compile with gs4.03, include in your makefile something like: DEVICE_DEVS4=cdj850.dev create a file cdj850.dev with the following line: -dev cdj850 -include page -obj gdevcd8.obj gdevpcl.obj locate in devs.mak the line: cdeskjet_=gdevcdj.$(OBJ) $(HPPCL) and create below the line: cdeskjet8_=gdevcd8.$(OBJ) $(HPPCL) add to the device definitions the following two lines: cdj850.dev: $(cdeskjet8_) page.dev $(SETPDEV) cdj850 $(cdeskjet8_) and recompile. For all other gs-versions, see the appropriate gs-files */