I've put a new version of the print plugin on my web site -- this
version includes two new features: a saturation control, and a
"linear" scale mode.  The linear mode is a hack to try to improve
output to the Stylus Photo EX; the saturation control applies to
everything.  It's probably worth experimenting with.  It's an attempt
to get better tonality.  Getting the tonal range correct is *hard*.

It's on my web site, as usual, at
http://www.tiac.net/users/rlk/print.tar.gz.  It's still not reachable
from my home page there (I'm rather embarrassed at how cheesy that
page is, and I need to redo it from scratch one of these days).

For the Epson Stylus Photo folks, the settings I'm using now are:

 brightness 106
 gamma 0.59
 contrast/red/green/blue: 100
 saturation: 1.5-2.5

I suspect a slightly larger value for gamma (0.7) might work better,
with brightness around 110-120 and saturation in the 2-3 range.
However, I'm getting tired of running through ink cartridges, and my
wife's getting tired of me "obsessing" in the basement.  I'm also
being a rather disloyal Red Sox fan :-)

Varying the RGB balance even slightly tends to throw things off, but
it's possible that a slight decrease in cyan (increase in red) might
help a bit.  With a third party ink cartridge I used once, though, it
was necessary to reduce the green a bit.

The Stylus Photo EX is the best supported printer in the plugin right
now (no surprise, since it's what I have).  It supports full 6-color
mode (CMYKcm -- light cyan and light magenta), and it computes
everything in 16 bits rather than 8 (this avoids a lot of quantization
problems in the light tones).

There are still plenty of things left to do here:

1) Support the rest of the printers (other Epson printers, PCL, and
   PostScript) in 16-bit mode (this shouldn't be hard; the
   infrastructure is already in place).

2) The Epson driver uses MicroWeave mode in high resolution (720
   dpi).  This isn't really optimal; it's very slow and it introduces
   a lot of micro-banding.  There are supposedly other ways of doing
   it.  I've been trying to read the GhostScript code to figure out
   how to do it, but I haven't made much progress.  The non-MicroWeave
   method also allows 1440x720 printing (to the extent that the
   printer really does it, which is questionable).

3) Better separation of the rendering from the I/O.  Currently the
   individual print drivers work by asking the rendering code to
   generate a line of output for each line of input, and send that
   line to the printer.  This limits the available dithering
   algorithms, and makes it hard to implement (2).  I'm thinking of a
   dataflow architecture whereby each line of input is passed to the
   rendering engine, which in turn feeds lines of output to the
   printing engine.

4) Do something, SOMETHING, to improve the tonal range!  I can get
   good tonality in some parts of the scale, at the price of having
   problems elsewhere.  For example, some settings give me good
   highlights and dark midtones, but poor light midtones and dark
   areas.  This stuff is really dependent upon the particular
   characteristics of the inks and paper.

5) Better dithering algorithms, anyone?

-- 
Robert Krawitz <[EMAIL PROTECTED]>      http://www.tiac.net/users/rlk/

Tall Clubs International  --  http://www.tall.org/ or 1-888-IM-TALL-2
Member of the League for Programming Freedom -- mail [EMAIL PROTECTED]

"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton

Reply via email to