Accurate Image Manipulation for Desktop Publishing 
Calibration

Calibrating Lexmark PostScript Printers

    This information was kindly provided by Mr. Howard C. Cochran from Lexmark/USA and is published with his permission.

General

    The Lexmark Optra R+ and most of the newer Lexmark PostScript printers can be calibrated simply by sending a command file to the printer. The calibration will be persistent until the power is switched off. 

    If the printer has a flash memory card or a hard disk then the calibration can be written into such and it will stay in effect until it is changed. 

    It is possible that this method can be used also for other PS2 printer than the Lexmarks but I do not have any experience on this with other printers.

The Command File

    The calibration table in the settable.ps must be replaced with measured data. The table contains 256 values. In other words every gray-level in the 8-bit, 256 gray system can be calibrated. 
    Note that the settable.ps initially contains a dummy calibration table that does not change the transfer curve of the printer. The dummy table must be replaced with real measured values (and some interpolated values if you do not want to measure all the 256 of them).

Creating the Calibration Data

    You will need to measure the transfer curve of your printer. For this you can buy a densitometer. Or use my calibration method, it is free. 

    It is not necessary to measure each 256 gray-levels. If you only measure a few points (the eleven points that my calibration method provides is well enough) then you need to interpolate the missing values. 

    After interpolation you may want to smooth out the data so that it looks more like a curve than line-segments with hard knee-points. Then just replace the dummy table with your data in the settable.ps 

    Interpolation and smoothing is easy using a spread-sheet program like Excel. Here is a beta version Excel 5.0 sheet for easy generation of the calibration data from the measured points. You need to input the 11 measured points and you can choose to approximate the curve or just to copy the interpolated values. 

    Approximation is currently done by two parameters: gamma and dotgain percentage. Now, what has the gamma to do with printer calibration? Technically nothing, but it is very common that printer manufacturers try to match the intensity levels of the printer with an un-calibrated monitor.  Approximation is by trial and error, try different values for the parameters until good match (start with gamma = 0.5 and dotgain % = 0) is achieved. If there is no good match then you can always copy the interpolated data. Best match is achieved when all the knee points of the measured curve touch the approximated curve and every where else the approximated curve is a bit over the line segments of the measured curve.

Sending the Calibration to the Printer

    This is easy. You can use a Windows program like Ghostview to print the settable.ps or simply enter the following command in the same directory where the settable.ps is located using the dos-promt: 
      copy /b settable.ps printer_port
    Where the printer_port is the port that your Lexmark is connected to. If you have a parallel connection to the printer it is usually "lpt1:". Network printer ques are in the form of "\\servername\printername". Both without the quotations. 

    Note that the above calibration is in effect until the printer is turned off. Then you need to send the calibration again to the printer. I have a bat file in my Startup folder that send the file each time I boot up the pc. 

Make the Calibration Even More Persistent

    If you printer has a flash memory card or a hard disk then you can make the calibration persistent forever, until it is changed. 

    Download the envelope file (mksysstart.ps) about 1kb that writes the calibration into the flash memory or hard-disk of the printer. Note that this file is ment for Lexmark printers. Sending it to a non-Lexmark printer may have serious adverse effects. 

    Note also that you need to edit the mksysstart.ps. You need to insert the whole content of the settable.ps file (less the Control-D from the settable.ps) into the mksysstart.ps into the place where it says: "%INSERT HERE.  But do not copy any Control-D in the file". The mksysstart.ps however must end with the Control-D, do not delete it.

Other issues

    It may be possible that some high end applications use such PostScript code that somehow bypasses the settings that settable.ps does. I will list such applications here as I learn more. Currently I have tested the settable.ps with Word97 and Photoshop 4.0.1, and the settable.ps works like charm. 

    The transfer curve of the printer depends on the DPI, LPI and the Screen Angle settings. This means that if you use different settings you also need to make calibration and a command file for each DPI/LPI/ScreenAngle settings you are using. 

Disclaimer
    I do not have any commercial relations what so ever with Lexmark and I gain nothing from publishing this information. The corporation I work for has Lexmark printers and I am a user of one of them. As such I am a customer to Lexmark.

Accurate Image Manipulation for Desktop Publishing 
Copyright Timo Autiokari, 1997-2007. Contact info