Tuesday, May 30, 2006

How does the Foomatic printing system work?

It consists of 3 parts.
1. Foomatic-db which stores the information about all the printers in XML format. The reason being that the DB size is small now as the ppd can be generated on the fly. The printer-driver-option combo is only stored in XML format and PPD file generated dynamically. Each option is stored separately in a XML file.
2. Foomatic-db engine which creates the PPD file from the XML db
3. The foomatic filter which is included in the cups-filter line of the ppd. This converts the Postscript to the printer language.

Why we need ICM profile and how they work?

Each color is defined by the there RGB component. But depending on the device calibration even if you provide the same color component, like R = 255, G = 128, B = 172, different devices will come up with a slight different color. To map the exact color, we have a color table. ICM profile is one such table. We have a standardised color table. Depending on the variation of the color from the device we add an offset its colors. If you want to print an image to paper we follow this path.
ICM profile of the monitor is added to the screen color. Then the printer driver adds the color profile to the print data to take care of the printers color offset and then it is printed. 2 color profiles need to be used for any mapping in the printer world.