[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gimp-print-devel
Subject:    [Gimp-print-devel] [PATCH] 4.2.5, Epson 1280 and Mediastreet Enhanced Generations ink
From:       "Joseph H. Buehler" <aspam () cox ! net>
Date:       2003-05-17 18:32:45
[Download RAW message or body]

Below are the patches I made to gimp-print 4.2.5 to get my Epson 1280
to profile correctly when using Mediastreet's Enhanced Generations
pigment-based ink.

I am not suggesting that they be applied to gimp-print; I am just
providing the information to the developers for their info...

The changes I made are as follows:

- minor fix to contrast correction for apparent bug (didn't
affect anything, but code looked incorrect to me)

- force screen_gamma to 1.0 so I could just deal with a single
gamma setting when trying to understand what the code was doing.

- increase maximum allowed gamma

- tweak epson 1280 default gamma so output is in the right
neighborhood with a default foomatic-RIP gamma of 1.0.

The main problem I had was that the default gamma was too small
for Epson heavyweight matte paper and the ink I am using, and
the driver was limiting how high I could set it.

I would suggest a higher upper limit on gamma.  I am currently
using gamma == 5 with good results.

Joe Buehler

--- src/main/print-color.c	Sat Nov 23 20:48:57 2002
+++ src/main/print-color.c	Fri May 16 21:46:54 2003
@@ -1926,17 +1926,17 @@
        /*
         * First, correct contrast
         */
-      if (pixel >= .5)
-	temp_pixel = 1.0 - pixel;
-      else
-	temp_pixel = pixel;
        if (contrast > 3.99999)
  	{
-	  if (temp_pixel < .5)
+	  if (pixel < .5)
  	    temp_pixel = 0;
  	  else
  	    temp_pixel = 1;
  	}
+      else if (pixel >= .5)
+	temp_pixel = 1.0 - pixel;
+      else
+	temp_pixel = pixel;
        if (temp_pixel <= .000001 && contrast <= .0001)
  	temp_pixel = .5;
        else if (temp_pixel > 1)
@@ -1965,9 +1965,13 @@
         * Third, correct for the screen gamma
         */

+#if 0
        pixel = 1.0 -
  	(1.0 / (1.0 - pow(pivot, screen_gamma))) *
  	(pow(pivot + ipivot * pixel, screen_gamma) - pow(pivot, screen_gamma));
+#else
+      pixel = 1.0 - pixel;
+#endif

        /*
         * Third, fix up cyan, magenta, yellow values
--- src/main/print-util.c	Thu Jan 23 21:52:18 2003
+++ src/main/print-util.c	Sat May 17 08:31:41 2003
@@ -211,7 +211,7 @@
  	-1,			/* Orientation (-1 = automatic) */
  	-1,			/* X offset (-1 = center) */
  	-1,			/* Y offset (-1 = center) */
-	4.0,			/* Screen gamma */
+	6.0,			/* Screen gamma */
  	4.0,			/* Contrast */
  	4.0,			/* Cyan */
  	4.0,			/* Magenta */
--- src/main/printers.xml	Sat Nov 23 20:48:58 2002
+++ src/main/printers.xml	Sat May 17 08:40:19 2003
@@ -765,7 +765,7 @@
  <printer name="EPSON Stylus Photo 1280" driver="escp2-1280">
  <color>
  <model value=37>
-<gamma value=0.585>
+<gamma value=0.200>
  <density value=1.0>
  <language value=escp2>
  </printer>
-------------------------------------- the end -------------------------------



-------------------------------------------------------
This SF.net email is sponsored by: If flattening out C++ or Java
code to make your application fit in a relational database is painful, 
don't do it! Check out ObjectStore. Now part of Progress Software.
http://www.objectstore.net/sourceforge
_______________________________________________
Gimp-print-devel mailing list
Gimp-print-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic