Date: Thu, 21 Sep 2000 20:45:08 +0200
From: Arahne <arahne@...>
Congratulations on the fine job you have made so far!
I am developing a textile CAD, and colorimetry is one of its
important points. We are developing our own printer drivers, since
we need to have large color gamut without any non-linearities. We
have just released our paint program (ArahPaint) including full
printer drivers for Epson, under GPL.
http://www.arahne.si/openApaint.html Our last supported printer is
Stylus Photo 750/1200, and I am now working on support for
870/1270. Having access to your code helped a lot, since we were
not getting any info from Epson for 2.5 years. We still haven't
done the software microweaving, and are reluctant to "steal" yours.
We only support 720x720 dpi, since this is quite adequate for our
application and the time vs quality tradeoff does not justify using
If your program is covered by the GPL, you are of course absolutely
welcome to use our soft weave code. I would strongly suggest not
trying to roll your own unless you think you can do a better/simpler
job than we've done so far (which is definitely possible) or you have
licensing concerns. Soft weave is surprisingly tricky to implement in
general if you want good output; there are three people on our project
who have done it, and comments have ranged along the lines of "curl up
with a full bottle of aspirin as you think about it."
Now to the problem: I am desperately trying to get variable dot
size at 720x720 dpi and hardware microweave. I have examined
Windows drivers, which of course use software microweave. Your
driver uses single dot size at 720x720 hardware microweave on
870/1270/2000P. Why? Is it not possible to have 720x702 hw
microweave and variable dot? My code prints variable dot just
nicely on 360x360 dpi, same code confuses the printer if I set the
resolution to 720x720. And yet the Epson PDF file for 1270 mentions
the 720x720 dpi mode with variable dot on page 9. Am I missing
something, or is it really impossible to print variable dot at 720
dpi without software microweaving.
Hardware (firmware) weaving, aka microweave, is pretty much a nonissue
on new printers; there's no good reason at all to use it. I have no
idea if "microweave" can be made to work with variable dot size. I
suspect that it's going to run into trouble at 720 DPI, because
variable dot size requires using a physical horizontal resolution of
360 DPI (or, in some cases, 180 DPI). At 720 DPI, that would require
two passes, which microweave generally dislikes.
Besides, printer seems to ignore ESC ( e Set dot size command on
720x720 hw microveave, and prints the same (very big dot) on
settings 0,1,2,3. Your driver does the same. Did you notice that?
I didn't look too closely at it, but it doesn't surprise me.
In the future, I'd be more than happy to trash my drivers and use
yours, but some further work would be needed. If anyone would be
interested to make gimp-print into linux-print, I can elaborate on
Well, gimp-print does work with Ghostscript; it's not just for the
Gimp. We really do need to rename the project, I guess...
I have a photospectrometer in the office, and could do some
measurements, if you would need that in Epson driver development.
That would be very helpful. Our color expert is Karl-Heinz Kremer;
perhaps you should discuss this with him.
We have also developed our own dithering with linearisation based
on photospectrometer measurements, so if someone is interesting I
am willing to explain it.
Thomas Tonino is our dither expert. I did a lot of early work on our
dithering, but he's advanced it well beyond anything I was ever able
to do and he's quite knowledgeable about it.
Robert Krawitz <rlk@...> 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 lpf@...
Project lead for The Gimp Print -- http://gimp-print.sourceforge.net
"Linux doesn't dictate how I work, I dictate how Linux works."