Reverse Engineering of a Graphics Format?
Jimbo God of Unix asks: "I recently purchased a color laser (Samsung CLP-500) because it claimed to have Linux compatibility. It does, mostly. However, I was irritated to find that the drivers are proprietary (splc, Samsung Printer Language - Color) and somewhat cranky to get working. I was hoping to find some good resources on reverse engineering the graphics format used to drive the printer. I've managed to mostly dissect the file format, so I think I can get the graphics data out, but I don't really know how to proceed to the next step. Are there any good resources for figuring out how to reverse engineer the graphics format? Are there any tools out there that will help me analyze the format (other than hexdump) or tell me if it's close to something else so I don't have to do as much work?"
"I have something of an advantage since I can compare the output from the Windows driver to the Linux driver, and I was able to dissect the Windows output file from the info gleaned by dissecting the Linux output file. But I'm kind of stuck at the moment and there don't seem to be too many documents or tools out there for dissecting graphics data.
I thought this might be useful for reverse engineering some of the proprietary image compression formats for web cams as well, but that's a project for another day."
I thought this might be useful for reverse engineering some of the proprietary image compression formats for web cams as well, but that's a project for another day."
.. such as a page full of checkerboard or something, and work from there.
.. and look for that pattern at each stage through the pipeline ...
if you can see the 'obvious' change in pattern in the file, you've got a lead. but the important thing is to start from the very beginning with something you know
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
I don't understand how companies can sell printers that don't support Postscript.
Easy. It costs money to develop, license and ship a postscript based printer, and your typical home user doing nothing fancy and running windows doesn't need it - but they're very sensitive to up-front price.
The real question is why do people buy non-postscript printers when they know that their operating system will work trivially with a postscript printer, but will require a lot of effort to work (often badly) with a non-postscript printer?
The same line of reasoning explains the "demo" toner cartridges shipped with low-end printers. Your typical home user is very sensitive to up-front price (and probably never looks at the per-page cost). If the population of people buying printers wanted manufacturers to behave this way they just need to, en masse, be less stupid.