Re: Canon Pro-100
Protea Wines Japan <[email protected]>
| Newsgroups | gmane.linux.printing.gimp-print.devel |
|---|---|
| Message-ID | <CAN0dEZzDkt5wvJvQKU9VkKD3RHm2WvYMxm8rQ=s0stznwivXjQ@mail.gmail.com> |
On Tue, Dec 22, 2020 at 9:43 AM Ken Smolek <[email protected]> wrote: Hello Ken, Many thanks for your message, I am very impressed and delighted that you have managed to get one of the Pro series working. I am the current maintainer for the Canon backend, and would love to work together to incorporate the code. Then I came across a pristine Canon Pro-100 for almost nothing and > bought it, which has turned out to be a monumental rabbit hole. But I'm > retired and have nothing better to do, especially in a pandemic, so I > tackled it. > > With no Gutenprint/CUPS driver, and little or no documentation (that > mostly from Gutenprint and Ghostscript, nothing from Canon), it's been a > very tedious process of reverse engineering of the command strings. And > the Canon printer driver [print-canon.c:canon_setup_channels()] takes an > approach to subchannels which doesn't work for the Pro-100, which, as > near as I can tell, demands that channels be output in the order > CMYcmkHL. In addition, the raster output string [formerly ESC(nn nn F > data] has been expanded to take a 4-byte length, and is now ESC(N nn nn > nn nn F data. > > To make a very long, 2-month story short, I have a working Canon Pro-100 > under Gutenprint which uses all 8 inks and prints photos which are not > perfect, but are of pretty high quality. Images converted to grayscale > in Gimp print very well, but I have been unable to get straight > monochrome printing (using an inkset consisting of black, gray, and > light gray - kHL) to work. > > I've tried very hard not to break existing code, but obviously there are > no guarantees of that. Where I added significant code to handle the > Pro-100, I generally did it by creating new functions, which are called > only if the printer is PIXMA Pro100. In some cases, I simply added the > Pro-100 to an already-existing set of printers in a long if statement. > Code was added as necessary for inks, modes, media, etc. The mask > protocol in print-canon.h is still a little mysterious to me, but I'm > reluctant to mess with it more than necessary. > > [BTW, I started from a downloaded 5.3.3 tar file. I set up a local git > repository with my changes in a Pro100 branch, so all modifications from > the canonical version are visible.] > > Print quality improved dramatically when I included the standard Canon > hue, sat and luminosity curves to the Pro-100 printer definition - that > was when I realized I might have a really usable driver. But it's still > not perfect - I've done some tweaking in the Adjust Output screen, but > I'd love to be able to improve the curves and LUTs. Is there a > description anywhere of how the hue/sat/lum arrays are generated? > Where did you get the "standard Canon" curves from? I don't know how the existing ones are generated actually, there are 3 to choose from. Those for the iP4200 are apparently tuned to that printer, and may be correct for some other printer models too. Unless one actually has a printer to test, it is not really possible to design matrices. The Canon driver started out as a fork of the (now much more advanced) Epson driver. Robert, is there any background on the matrices in the Epson driver that may help? So, where do I go from here? This is very close to a driver I can use > for my own prints, but it's not production software. And I have no way > of regression testing to see what I may have broken. If you prefer, it > can just stay here as a local modification for my personal use. Or we > could attempt to integrate it in some way, possibly by creating a > print-canon-pro.c which is completely separate from the existing > print-canon.c. This would have been a reasonable way to go initially, > but hindsight is 20-20, and I didn't > really understand what I was getting myself into. > I would like to incorporate the code if possible. I have some understanding of the Canon driver code, since I have been touching it for some years, but I do not have a very clear understanding of ink handling and low-level routines even now unfortunately. Most of my work has been trying to add commands, and various options for the commands. A major work in progress is to get CD printing to work systematically, so if you have time on your hands, I would love some help with that. Another possibility is to implement an IPP driver for the printer and > try to eliminate the Pro100 ppd entirely. That's an attractive > possibility to me, but I'm still vague on the actual process, and I'll > have to take another look at the IPP sample code to see just how > complicated it will be. Your opinions are welcome. > Robert, do you have any opinions on this? Best regards, Gernot Hassenpflug _______________________________________________ Gimp-print-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gimp-print-devel