[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] Printing



Hi everybody,

EtherNat is arriving (sooner or later) and we'll get USB functionality for our Ataris. So we should start thinking of how do we want our system to handle "printing". As printing to USB is not fundamentally different to printing on a parallel port (i.e. you still just can send your data through a channel), it'll be possible to reuse some old printer drivers from NVDI. But this is no serious solution, as these drivers will only work on current printer models which have an old "compatibility mode" or whose current printer protocol is an extension of the old printer protocol. To get a real progress and removing the need for an old system extension which won't evolve any further, it's important to get printing support into fVDI. And that's where I'm starting to wonder what's the state of fVDIs printing capabilities? What was the "state of the art" of NVDI printer drivers?

Writing a printer driver for a specific printer model is not very difficult. All "big" printer manufacturers are providing help in form of documentation (Canon, Epson) or even source code (HP). "Painful" condition: you have to be registered to get the information, which implies you have to agree to some type of license. But this should not be an insurmountable problem. So we resolved the first problem: we can speak a "language" our printer understands. Let's start printing...
No, not yet!

In general the printer is not knowing anything about RGB color space (Red, Green and Blue). It handles data in CMYK (Cyan, Magenta, Yellow and blacK). So we need "something" which converts the RGB colors (provided by the application) to CMYK. The VDI needs to do this conversion as this process is common to all printer drivers. And there is the next question: what do we expect from printing with our Ataris?
Do you want to print plain text with basic colors?
Do you want to print color photos coming from your digital camera? Using the "full capabilities" of your photo printer?

In the first case a very simple color conversion algorithm can be used which maps RGB colors directly to CMYK. In the second case we're in a lot more trouble. To have an accurate color reproduction it's necessary to know the characteristics of the monitor as the primary colors of CRT and LCD monitors differ ("What's the appearance of the RGB color 255/50/142?"). Further we have to know the characteristics of all supported printers (in combination with all possible paper types) to find the ink combination which matches best. A color management system has to be implemented and integrated to the VDI.
Was NVDI capable of this? Does Linux manage colors?

Are there any developers left who want to attack this problem? Or are working on it?

Any comments are welcome. I think it's time to discuss the "printing issue".


Philipp