[sigh... I wish I wasn't such a busy camper these days!] Robert L Krawitz wrote: > ... > 1) print.c is a real mess right now. All the settings-handling > code is ad hoc and very ugly, and there's a lot of knowledge > scattered about the code. > > Not directly necessary to fix for release (unless someone wants to > :-)). However, cleaning this up may make fixing the save/load code > easier to fix. Actually, I've completely rewritten the GUI code so it can use the PPD stuff from CUPS. My efforts are not yet quite finished, but I'll let everyone know once I have something to play with. > 2) As noted, the settings save/load code isn't perfect. It's OK > for beta (or development), but not really for a release. > > Should be fixed for release. Doesn't look like it'll be too hard to fix. > 3) Printing at 360 dpi (on the Stylus Photo) yields slightly > reddish grays. I'm not quite sure what to make of it. 360 > ... > > I don't have a strong opinion on this. I consider 360 dpi mode to > be purely for proofing and I'm not overly concerned with details, > but on the other hand if people find the color cast too > objectionable it should be fixed. I have some new color correction code that'll be going into the "real" 3.0 release :) that should take care of that. > 4) The K->CMY code is distinctly tuned for the Stylus Photo EX > right now. Sorry, I don't have another color printer to play > with. > > This should be addressed, but it won't be unless we get testers. GCR and UCR can be a pain to get right. Here's a possible solution based on the CMYK generation code we're currently using in CUPS: c = 1 - r m = 1 - g y = 1 - b k = min(c,m,y) w = max(c,m,y) k = GCR(k * k / w) if (k < 1) { c = (c - k) / (1 - k) m = (m - k) / (1 - k) y = (y - k) / (1 - k) } else c = m = y = 0 This reduces the amount of black based on the saturation of the color (more saturated means less black), and uses a GCR function/lut to control the final amount of black. A simple implementation might just use a cutoff level and ramp the values starting at the cut-off point, e.g.: int GCR[256]; int GCRlevel; for (i = 0; i < GCRlevel; i ++) GCR[i] = 0; for (; i < 256; i ++) GCR[i] = 1 + (i - GCRlevel) * 254 / (255 - GCRlevel); We're looking into doing something similar for CUPS 1.1 that will also provide a gamma (power) value for the GCR LUT. > 5) The Stylus Photo printing has become very slow for some reason > (at least at 720 dpi). On the other hand, the > microweave-induced banding has entirely vanished, yielding > much (arguably spectacularly) better quality. I'm not > positive exactly what did this, but it's not at the top of my > list of priorities to "fix". If it takes 30 minutes to print a > really high quality full-page print that doesn't seem so bad. > > Not to be fixed, since this "problem" improves output quality > substantially in the highest quality output mode. 30 minutes is way too long. I'm still wrangling with EPSON over the softweave algorithm; hopefully we'll be able to include the code in a future print plug-in/CUPS driver, which lowers print times significantly. -- ______________________________________________________________________ Michael Sweet, Easy Software Products mike@xxxxxxxxxx Printing Software for UNIX http://www.easysw.com