Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

escp2-papers-new.c

Go to the documentation of this file.
00001 /*
00002  * "$Id: escp2-papers.c,v 1.61 2004/12/07 06:03:39 mtomlinson Exp $"
00003  *
00004  *   Print plug-in EPSON ESC/P2 driver for the GIMP.
00005  *
00006  *   Copyright 1997-2000 Michael Sweet (mike@easysw.com) and
00007  *      Robert Krawitz (rlk@alum.mit.edu)
00008  *
00009  *   This program is free software; you can redistribute it and/or modify it
00010  *   under the terms of the GNU eral Public License as published by the Free
00011  *   Software Foundation; either version 2 of the License, or (at your option)
00012  *   any later version.
00013  *
00014  *   This program is distributed in the hope that it will be useful, but
00015  *   WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00016  *   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00017  *   for more details.
00018  *
00019  *   You should have received a copy of the GNU General Public License
00020  *   along with this program; if not, write to the Free Software
00021  *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00022  */
00023 
00024 #ifdef HAVE_CONFIG_H
00025 #include <config.h>
00026 #endif
00027 #include <gutenprint/gutenprint.h>
00028 #include "gutenprint-internal.h"
00029 #include <gutenprint/gutenprint-intl-internal.h>
00030 #include "print-escp2.h"
00031 
00032 static const char standard_sat_adj[] =
00033 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00034 "<gutenprint>\n"
00035 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00036 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00037 /* C */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* B */
00038 /* B */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* M */
00039 /* M */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* R */
00040 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00041 /* Y */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* G */
00042 /* G */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* C */
00043 "</sequence>\n"
00044 "</curve>\n"
00045 "</gutenprint>\n";
00046 
00047 static const char standard_lum_adj[] =
00048 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00049 "<gutenprint>\n"
00050 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00051 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00052 /* C */  "0.39 0.42 0.47 0.54 0.61 0.67 0.73 0.77 "  /* B */
00053 /* B */  "0.77 0.74 0.67 0.67 0.68 0.71 0.74 0.77 "  /* M */
00054 /* M */  "0.81 0.86 0.92 0.97 1.00 1.00 1.00 1.00 "  /* R */
00055 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00056 /* Y */  "1.00 1.00 1.00 0.99 0.98 0.96 0.94 0.90 "  /* G */
00057 /* G */  "0.85 0.65 0.50 0.41 0.41 0.40 0.39 0.39 "  /* C */
00058 "</sequence>\n"
00059 "</curve>\n"
00060 "</gutenprint>\n";
00061 
00062 static const char standard_hue_adj[] =
00063 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00064 "<gutenprint>\n"
00065 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00066 "<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
00067 /* C */  "0.00 0.00 0.00 -.02 -.06 -.12 -.18 -.24 "  /* B */
00068 /* B */  "-.30 -.28 -.28 -.26 -.24 -.22 -.20 -.20 "  /* M */
00069 /* M */  "-.22 -.28 -.34 -.40 -.50 -.45 -.40 -.30 "  /* R */
00070 /* R */  "-.12 -.07 -.04 -.02 0.00 0.00 0.00 0.00 "  /* Y */
00071 /* Y */  "0.00 -.00 -.06 -.12 -.18 -.26 -.34 -.42 "  /* G */
00072 /* G */  "-.50 -.44 -.38 -.31 -.25 -.20 -.13 -.06 "  /* C */
00073 "</sequence>\n"
00074 "</curve>\n"
00075 "</gutenprint>\n";
00076 
00077 
00078 static const char photo2_sat_adj[] =
00079 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00080 "<gutenprint>\n"
00081 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00082 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00083 /* C */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* B */
00084 /* B */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* M */
00085 /* M */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* R */
00086 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00087 /* Y */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* G */
00088 /* G */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* C */
00089 "</sequence>\n"
00090 "</curve>\n"
00091 "</gutenprint>\n";
00092 
00093 static const char photo2_lum_adj[] =
00094 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00095 "<gutenprint>\n"
00096 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00097 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00098 /* C */  "0.39 0.42 0.47 0.54 0.61 0.67 0.73 0.77 "  /* B */
00099 /* B */  "0.77 0.74 0.67 0.67 0.68 0.71 0.74 0.77 "  /* M */
00100 /* M */  "0.81 0.86 0.92 0.97 1.00 1.00 1.00 1.00 "  /* R */
00101 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00102 /* Y */  "1.00 1.00 1.00 0.99 0.98 0.96 0.94 0.90 "  /* G */
00103 /* G */  "0.85 0.65 0.50 0.41 0.41 0.40 0.39 0.39 "  /* C */
00104 "</sequence>\n"
00105 "</curve>\n"
00106 "</gutenprint>\n";
00107 
00108 static const char photo2_hue_adj[] =
00109 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00110 "<gutenprint>\n"
00111 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00112 "<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
00113 /* C */  "0.00 0.00 0.00 -.02 -.06 -.12 -.18 -.24 "  /* B */
00114 /* B */  "-.30 -.28 -.28 -.26 -.24 -.22 -.20 -.20 "  /* M */
00115 /* M */  "-.22 -.28 -.34 -.40 -.50 -.45 -.40 -.30 "  /* R */
00116 /* R */  "-.12 -.07 -.04 -.02 0.00 0.00 0.00 0.00 "  /* Y */
00117 /* Y */  "0.00 -.00 -.06 -.12 -.18 -.26 -.34 -.42 "  /* G */
00118 /* G */  "-.50 -.44 -.38 -.31 -.25 -.20 -.13 -.06 "  /* C */
00119 "</sequence>\n"
00120 "</curve>\n"
00121 "</gutenprint>\n";
00122 
00123 
00124 static const char sp960_sat_adj[] =
00125 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00126 "<gutenprint>\n"
00127 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00128 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00129 /* C */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* B */
00130 /* B */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* M */
00131 /* M */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* R */
00132 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00133 /* Y */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* G */
00134 /* G */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* C */
00135 "</sequence>\n"
00136 "</curve>\n"
00137 "</gutenprint>\n";
00138 
00139 static const char sp960_lum_adj[] =
00140 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00141 "<gutenprint>\n"
00142 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00143 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00144 /* C */  "0.42 0.44 0.50 0.55 0.62 0.68 0.73 0.76 "  /* B */
00145 /* B */  "0.78 0.72 0.65 0.65 0.67 0.70 0.75 0.80 "  /* M */
00146 /* M */  "0.90 0.93 0.96 0.98 1.00 1.00 1.00 1.00 "  /* R */
00147 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00148 /* Y */  "1.00 0.99 0.98 0.97 0.95 0.92 0.90 0.84 "  /* G */
00149 /* G */  "0.78 0.61 0.50 0.42 0.43 0.43 0.42 0.42 "  /* C */
00150 "</sequence>\n"
00151 "</curve>\n"
00152 "</gutenprint>\n";
00153 
00154 static const char sp960_hue_adj[] =
00155 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00156 "<gutenprint>\n"
00157 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00158 "<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
00159 /* C */  "0.00 0.06 0.10 0.10 0.06 -.01 -.09 -.17 "  /* B */
00160 /* B */  "-.25 -.28 -.28 -.26 -.24 -.22 -.20 -.20 "  /* M */
00161 /* M */  "-.22 -.28 -.34 -.40 -.50 -.45 -.40 -.30 "  /* R */
00162 /* R */  "-.22 -.13 -.04 -.02 0.00 0.00 0.00 0.00 "  /* Y */
00163 /* Y */  "0.00 -.00 -.06 -.14 -.22 -.30 -.38 -.44 "  /* G */
00164 /* G */  "-.50 -.44 -.38 -.31 -.25 -.20 -.13 -.06 "  /* C */
00165 "</sequence>\n"
00166 "</curve>\n"
00167 "</gutenprint>\n";
00168 
00169 static const char sp960_matte_sat_adj[] =
00170 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00171 "<gutenprint>\n"
00172 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00173 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00174 /* C */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* B */
00175 /* B */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* M */
00176 /* M */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* R */
00177 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00178 /* Y */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* G */
00179 /* G */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* C */
00180 "</sequence>\n"
00181 "</curve>\n"
00182 "</gutenprint>\n";
00183 
00184 static const char sp960_matte_lum_adj[] =
00185 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00186 "<gutenprint>\n"
00187 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00188 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00189 /* C */  "0.42 0.48 0.56 0.63 0.71 0.78 0.83 0.86 "  /* B */
00190 /* B */  "0.86 0.75 0.67 0.67 0.67 0.70 0.75 0.80 "  /* M */
00191 /* M */  "0.90 0.93 0.96 0.98 1.00 1.00 1.00 1.00 "  /* R */
00192 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00193 /* Y */  "1.00 0.99 0.98 0.97 0.95 0.92 0.90 0.84 "  /* G */
00194 /* G */  "0.78 0.61 0.50 0.42 0.43 0.43 0.42 0.42 "  /* C */
00195 "</sequence>\n"
00196 "</curve>\n"
00197 "</gutenprint>\n";
00198 
00199 static const char sp960_matte_hue_adj[] =
00200 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00201 "<gutenprint>\n"
00202 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00203 "<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
00204 /* C */  "0.00 -.02 -.04 -.06 -.12 -.18 -.25 -.30 "  /* B */
00205 /* B */  "-.30 -.28 -.28 -.26 -.24 -.22 -.20 -.20 "  /* M */
00206 /* M */  "-.22 -.28 -.34 -.40 -.50 -.45 -.40 -.30 "  /* R */
00207 /* R */  "-.22 -.13 -.04 -.02 0.00 0.00 0.00 0.00 "  /* Y */
00208 /* Y */  "0.00 -.00 -.06 -.14 -.22 -.30 -.38 -.44 "  /* G */
00209 /* G */  "-.50 -.44 -.38 -.31 -.25 -.20 -.13 -.06 "  /* C */
00210 "</sequence>\n"
00211 "</curve>\n"
00212 "</gutenprint>\n";
00213 
00214 
00215 static const char ultra_matte_sat_adj[] =
00216 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00217 "<gutenprint>\n"
00218 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00219 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00220 /* C */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* B */
00221 /* B */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* M */
00222 /* M */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* R */
00223 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00224 /* Y */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* G */
00225 /* G */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* C */
00226 "</sequence>\n"
00227 "</curve>\n"
00228 "</gutenprint>\n";
00229 
00230 static const char ultra_matte_lum_adj[] =
00231 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00232 "<gutenprint>\n"
00233 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00234 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00235 /* C */  "0.37 0.40 0.44 0.52 0.60 0.67 0.71 0.75 "  /* B */
00236 /* B */  "0.77 0.76 0.72 0.71 0.71 0.74 0.80 0.83 "  /* M */
00237 /* M */  "0.89 0.92 0.94 0.95 0.96 0.96 0.95 0.95 "  /* R */
00238 /* R */  "0.95 0.96 0.97 0.98 0.99 1.00 1.00 1.00 "  /* Y */
00239 /* Y */  "1.00 0.98 0.96 0.94 0.92 0.89 0.85 0.80 "  /* G */
00240 /* G */  "0.76 0.70 0.61 0.54 0.49 0.45 0.41 0.37 "  /* C */
00241 "</sequence>\n"
00242 "</curve>\n"
00243 "</gutenprint>\n";
00244 
00245 static const char ultra_matte_hue_adj[] =
00246 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00247 "<gutenprint>\n"
00248 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00249 "<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
00250 /* C */  "-.32 -.26 -.21 -.18 -.20 -.21 -.24 -.26 "  /* B */
00251 /* B */  "-.27 -.34 -.36 -.34 -.32 -.27 -.23 -.21 "  /* M */
00252 /* M */  "-.23 -.27 -.32 -.35 -.32 -.26 -.22 -.19 "  /* R */
00253 /* R */  "-.18 -.17 -.15 -.12 -.09 -.05 -.02 -.00 "  /* Y */
00254 /* Y */  "0.00 0.01 0.04 0.03 -.01 -.06 -.14 -.19 "  /* G */
00255 /* G */  "-.22 -.27 -.34 -.43 -.50 -.45 -.37 -.33 "  /* C */
00256 #if 0
00257 /* C */  "0.00 0.06 0.10 0.10 0.06 -.01 -.09 -.17 "  /* B */
00258 /* B */  "-.25 -.28 -.28 -.26 -.24 -.22 -.20 -.20 "  /* M */
00259 /* M */  "-.22 -.28 -.34 -.40 -.50 -.40 -.30 -.20 "  /* R */
00260 /* R */  "-.12 -.07 -.04 -.02 0.00 0.00 0.00 0.00 "  /* Y */
00261 /* Y */  "0.00 -.00 -.06 -.14 -.22 -.30 -.38 -.44 "  /* G */
00262 /* G */  "-.50 -.44 -.38 -.31 -.25 -.20 -.13 -.06 "  /* C */
00263 #endif
00264 "</sequence>\n"
00265 "</curve>\n"
00266 "</gutenprint>\n";
00267 
00268 static const char ultra_glossy_sat_adj[] =
00269 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00270 "<gutenprint>\n"
00271 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00272 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00273 /* C */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* B */
00274 /* B */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* M */
00275 /* M */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* R */
00276 /* R */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* Y */
00277 /* Y */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* G */
00278 /* G */  "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "  /* C */
00279 "</sequence>\n"
00280 "</curve>\n"
00281 "</gutenprint>\n";
00282 
00283 static const char ultra_glossy_lum_adj[] =
00284 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00285 "<gutenprint>\n"
00286 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00287 "<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
00288 /* C */  "0.31 0.35 0.43 0.48 0.55 0.60 0.65 0.70 "  /* B */
00289 /* B */  "0.75 0.71 0.65 0.65 0.67 0.70 0.75 0.80 "  /* M */
00290 /* M */  "0.90 0.93 0.96 0.97 0.97 0.96 0.95 0.95 "  /* R */
00291 /* R */  "0.95 0.96 0.97 0.98 0.99 1.00 1.00 1.00 "  /* Y */
00292 /* Y */  "1.00 0.98 0.96 0.94 0.92 0.89 0.85 0.80 "  /* G */
00293 /* G */  "0.74 0.55 0.44 0.37 0.35 0.34 0.32 0.31 "  /* C */
00294 "</sequence>\n"
00295 "</curve>\n"
00296 "</gutenprint>\n";
00297 
00298 static const char ultra_glossy_hue_adj[] =
00299 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
00300 "<gutenprint>\n"
00301 "<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
00302 "<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
00303 /* C */  "0.00 0.06 0.10 0.10 0.06 -.01 -.09 -.17 "  /* B */
00304 /* B */  "-.25 -.28 -.28 -.26 -.24 -.22 -.20 -.20 "  /* M */
00305 /* M */  "-.22 -.28 -.34 -.40 -.50 -.40 -.30 -.20 "  /* R */
00306 /* R */  "-.12 -.07 -.04 -.02 0.00 0.00 0.00 0.00 "  /* Y */
00307 /* Y */  "0.00 -.00 -.06 -.14 -.22 -.30 -.38 -.44 "  /* G */
00308 /* G */  "-.50 -.44 -.38 -.31 -.25 -.20 -.13 -.06 "  /* C */
00309 "</sequence>\n"
00310 "</curve>\n"
00311 "</gutenprint>\n";
00312 
00313 #define DECLARE_PAPERS(name)                            \
00314 const paperlist_t stpi_escp2_##name##_paper_list =      \
00315 {                                                       \
00316   #name,                                                \
00317   sizeof(name##_papers) / sizeof(paper_t),              \
00318   name##_papers                                         \
00319 }
00320 
00321 #define DECLARE_PAPER_ADJUSTMENTS(name)                                   \
00322 const paper_adjustment_list_t stpi_escp2_##name##_paper_adjustment_list = \
00323 {                                                                         \
00324   #name,                                                                  \
00325   sizeof(name##_adjustments) / sizeof(paper_adjustment_t),                \
00326   name##_adjustments                                                      \
00327 }
00328 
00329 static const paper_adjustment_t standard_adjustments[] =
00330 {
00331   { "Plain", 0.615, .5, 1, .075, .9, 1, 1, 1, 1, 1, 1,
00332     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00333   { "PlainFast", 0.615, .5, 1, .075, .9, 1, 1, 1, 1, 1, 1,
00334     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00335   { "Postcard", 0.83, .5, 1, .075, .9, 1, 1, 1, 1, 1, 1,
00336     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00337   { "GlossyFilm", 1.00, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00338     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00339   { "Transparency", 1.00, .75, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00340     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00341   { "Envelope", 0.615, .5, 1, .075, .9, 1, 1, 1, 1, 1, 1,
00342     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00343   { "BackFilm", 1.00, .75, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00344     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00345   { "Matte", 0.85, .8, 1.0, .15, .999, 1, 1, 1, 1, 1, 1,
00346     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00347   { "MatteHeavy", 1.0, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00348     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00349   { "Inkjet", 0.85, .5, 1, .10, .9, 1, 1, 1, 1, 1, 1,
00350     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00351   { "Coated", 1.10, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00352     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00353   { "Photo", 1.00, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00354     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00355   { "GlossyPhoto", 1.10, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00356     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00357   { "Semigloss", 1.00, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00358     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00359   { "Luster", 1.00, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00360     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00361   { "GlossyPaper", 1.00, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1,
00362     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00363   { "Ilford", 1.0, 1.0, 1, .15, 1.35, 1, 1, 1, 1, 1, 1,
00364     standard_hue_adj, standard_lum_adj, standard_sat_adj  },
00365   { "ColorLife", 1.00, 1.0, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00366     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00367   { "Other", 0.615, .5, 1, .075, .9, 1, 1, 1, 1, 1, 1,
00368     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00369 };
00370 
00371 DECLARE_PAPER_ADJUSTMENTS(standard);
00372 
00373 static const paper_adjustment_t photo_adjustments[] =
00374 {
00375   { "Plain", 0.615, .25, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00376     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00377   { "PlainFast", 0.615, .25, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00378     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00379   { "Postcard", 0.83, .25, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00380     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00381   { "GlossyFilm", 1.00, 1.0, 1, .2, .999, 1, 1, 1, 1, 1, 1,
00382     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00383   { "Transparency", 1.00, .75, 1, .2, .999, 1, 1, 1, 1, 1, 1,
00384     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00385   { "Envelope", 0.615, .25, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00386     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00387   { "BackFilm", 1.00, .75, 1, .2, .999, 1, 1, 1, 1, 1, 1,
00388     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00389   { "Matte", 0.85, .8, 1.0, .2, .999, 1, 1, 1, 1, 1, 1,
00390     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00391   { "MatteHeavy", 1.0, 1.0, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00392     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00393   { "Inkjet", 0.85, .375, 1, .2, .9, 1, 1, 1, 1, 1, 1,
00394     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00395   { "Coated", 1.10, 1.0, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00396     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00397   { "Photo", 1.00, 1.00, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00398     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00399   { "GlossyPhoto", 1.10, 1.0, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00400     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00401   { "Semigloss", 1.00, 1.0, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00402     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00403   { "Luster", 1.00, 1.0, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00404     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00405   { "GlossyPaper", 1.00, 1.0, 1, .35, .999, 1, 1, 1, 1, 1, 1,
00406     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00407   { "Ilford", 1.0, 1.0, 1, .35, 1.35, 1, 1, 1, 1, 1, 1,
00408     standard_hue_adj, standard_lum_adj, standard_sat_adj  },
00409   { "ColorLife", 1.00, 1.0, 1, .35, .9, 1, 1, 1, 1, 1, 1,
00410     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00411   { "Other", 0.615, .25, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00412     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00413 };
00414 
00415 DECLARE_PAPER_ADJUSTMENTS(photo);
00416 
00417 static const paper_adjustment_t photo2_adjustments[] =
00418 {
00419   { "Plain", 0.738, .5, 0.5, .1, .9, 1, 1, 1, 1, 1, 1.2,
00420     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00421   { "PlainFast", 0.738, .5, 0.5, .1, .9, 1, 1, 1, 1, 1, 1.2,
00422     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00423   { "Postcard", 0.83, .5, 0.5, .1, .9, 1, 1, 1, 1, 1, 1.2,
00424     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00425   { "GlossyFilm", 1.00, .5, 0.5, .2, .999, 1, 1, 1, 1, 1, 1,
00426     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00427   { "Transparency", 1.00, .5, 0.25, .2, .999, 1, 1, 1, 1, 1, 1,
00428     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00429   { "Envelope", 0.738, .5, 0.5, .1, .9, 1, 1, 1, 1, 1, 1.2,
00430     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00431   { "BackFilm", 1.00, .5, 0.25, .2, .999, 1, 1, 1, 1, 1, 1,
00432     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00433   { "Matte", 0.85, .5, 0.4, .3, .999, 1, 1, 1, 1, 1, 1.1,
00434     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00435   { "MatteHeavy", 0.85, .5, .3, .2, .999, 1, 1, 1, 1, 1, 1.1,
00436     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00437   { "Inkjet", 0.85, .5, 0.5, .15, .9, 1, 1, 1, 1, 1, 1.1,
00438     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00439   { "Coated", 1.2, .5, .25, .15, .999, .89, 1, 1, .9, 1, 1.2,
00440     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00441   { "Photo", 1.00, .5, 0.25, .2, .999, 1, 1, 1, 1, 1, 1.1,
00442     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00443   { "GlossyPhoto", 1.0, .5, 0.5, .3, .999, .9, .98, 1, .9, 1, 1.0,
00444     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00445   { "Semigloss", 1.0, .5, 0.5, .3, .999, .9, .98, 1, .9, 1, 1.0,
00446     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00447   { "Luster", 1.0, .5, 0.5, .3, .999, .9, .98, 1, .9, 1, 1.0,
00448     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00449   { "GlossyPaper", 1.00, .5, 0.25, .2, .999, 1, 1, 1, 1, 1, 1,
00450     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00451   { "Ilford", .85, .5, 0.25, .2, .999, 1, 1, 1, 1, 1, 1,
00452     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj  },
00453   { "ColorLife", 1.00, .5, 0.25, .2, .9, 1, 1, 1, 1, 1, 1.1,
00454     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00455   { "Other", 0.738, .5, 0.5, .1, .9, 1, 1, 1, 1, 1, 1.2,
00456     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00457 };
00458 
00459 DECLARE_PAPER_ADJUSTMENTS(photo2);
00460 
00461 static const paper_adjustment_t photo3_adjustments[] =
00462 {
00463   { "Plain", 0.738, .5, 0.75, .1, .9, 1, 1, 1, 1, 1, 1.2,
00464     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00465   { "PlainFast", 0.738, .5, 0.75, .1, .9, 1, 1, 1, 1, 1, 1.2,
00466     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00467   { "Postcard", 0.83, .5, 0.75, .1, .9, 1, 1, 1, 1, 1, 1.2,
00468     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00469   { "GlossyFilm", 1.00, .5, 0.75, .2, .999, 1, 1, 1, 1, 1, 1,
00470     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00471   { "Transparency", 1.00, .5, 0.75, .2, .999, 1, 1, 1, 1, 1, 1,
00472     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00473   { "Envelope", 0.738, .5, 0.75, .1, .9, 1, 1, 1, 1, 1, 1.2,
00474     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00475   { "BackFilm", 1.00, .5, 0.75, .2, .999, 1, 1, 1, 1, 1, 1,
00476     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00477   { "Matte", 0.85, .75, 0.75, .3, .999, 1, 1, 1, 1, 1, 1.1,
00478     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00479   { "MatteHeavy", 0.85, .75, .3, .2, .999, 1, 1, 1, 1, 1, 1.1,
00480     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00481   { "Inkjet", 0.85, .5, 0.75, .15, .9, 1, 1, 1, 1, 1, 1.1,
00482     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00483   { "Coated", 1.2, .5, .75, .15, .999, 1, 1, 1, 1, 1, 1.2,
00484     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00485   { "Photo", 1.00, .5, 0.75, .2, .999, 1, 1, 1, 1, 1, 1.1,
00486     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00487   { "GlossyPhoto", 1.0, .25, 0.5, .3, .999, 1, 1, 1, .9, 1, 1.0,
00488     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00489   { "Semigloss", 1.0, .25, 0.5, .3, .999, 1, 1, 1, .9, 1, 1.0,
00490     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00491   { "Luster", 1.0, .25, 0.5, .3, .999, 1, 1, 1, .9, 1, 1.0,
00492     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00493   { "GlossyPaper", 1.00, .5, 0.75, .2, .999, 1, 1, 1, 1, 1, 1,
00494     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00495   { "Ilford", .85, .5, 0.75, .2, .999, 1, 1, 1, 1, 1, 1,
00496     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj  },
00497   { "ColorLife", 1.00, .5, 0.75, .2, .9, 1, 1, 1, 1, 1, 1.1,
00498     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00499   { "Other", 0.738, .5, 0.75, .1, .9, 1, 1, 1, 1, 1, 1.2,
00500     photo2_hue_adj, photo2_lum_adj, photo2_sat_adj },
00501 };
00502 
00503 DECLARE_PAPER_ADJUSTMENTS(photo3);
00504 
00505 static const paper_adjustment_t sp960_adjustments[] =
00506 {
00507   { "Plain",        0.86, .2,  0.4, .1,   .9,   .9, 1, 1, 1, 1, 1,
00508     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00509   { "PlainFast",    0.86, .2,  0.4, .1,   .9,   1, 1, 1, 1, 1, 1,
00510     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00511   { "Postcard",     0.90, .2,  0.4, .1,   .9,   .9, 1, 1, 1, 1, 1,
00512     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00513   { "GlossyFilm",   0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00514     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00515   { "Transparency", 0.9,  .2,  0.4, .1,   .9,   1, 1, 1, 1, 1, 1,
00516     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00517   { "Envelope",     0.86, .2,  0.4, .1,   .9,   1, 1, 1, 1, 1, 1,
00518     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00519   { "BackFilm",     0.9,  .2,  0.4, .1,   .9,   1, 1, 1, 1, 1, 1,
00520     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00521   { "Matte",        0.9,  .25, 0.4, .2,   .9,   1, 1, 1, 1, 1, 1,
00522     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00523   { "MatteHeavy",   0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00524     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00525   { "Inkjet",       0.9,  .2,  0.4, .15,  .9,   1, 1, 1, 1, 1, 1,
00526     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00527   { "Coated",       0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00528     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00529   { "Photo",        0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00530     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00531   { "GlossyPhoto",  0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00532     sp960_hue_adj, sp960_lum_adj, sp960_sat_adj },
00533   { "Semigloss",    0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00534     sp960_hue_adj, sp960_lum_adj, sp960_sat_adj },
00535   { "Luster",       0.9,  .3,  0.4, .2,   .999, 1, 1, 1, 1, 1, 1,
00536     sp960_hue_adj, sp960_lum_adj, sp960_sat_adj },
00537   { "GlossyPaper",  0.9,  .3,  0.4, .15,  .9,   1, 1, 1, 1, 1, 1,
00538     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00539   { "Ilford",       0.85, .3,  0.4, .15, 1.35,  1, 1, 1, 1, 1, 1,
00540     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj  },
00541   { "ColorLife",    0.9,  .3,  0.4, .15,  .9,   1, 1, 1, 1, 1, 1,
00542     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00543   { "Other",        0.86, .2,  0.4, .1,   .9,   1, 1, 1, 1, 1, 1,
00544     sp960_matte_hue_adj, sp960_matte_lum_adj, sp960_matte_sat_adj },
00545 };
00546 
00547 DECLARE_PAPER_ADJUSTMENTS(sp960);
00548 
00549 static const paper_adjustment_t ultrachrome_photo_adjustments[] =
00550 {
00551   { "Plain", 0.72, .1, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00552     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00553   { "PlainFast", 0.72, .1, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00554     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00555   { "Postcard", 0.72, .1, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00556     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00557   { "GlossyFilm", 0.83, 1.0, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00558     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00559   { "Transparency", 0.83, .75, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00560     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00561   { "Envelope", 0.72, .1, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00562     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00563   { "BackFilm", 0.83, .75, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00564     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00565   { "Matte", 0.92, 0.4, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00566     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00567   { "MatteHeavy", 0.92, 0.4, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00568     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00569   { "Inkjet", 0.72, .5, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00570     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00571   { "Coated", 0.83, .5, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00572     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00573   { "Photo", 1.0, .75, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00574     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00575   { "GlossyPhoto", 0.72, 1, 1, .01, 1.8, 1, 1, 1, 1, 1, .9,
00576     ultra_glossy_hue_adj, ultra_glossy_lum_adj, ultra_glossy_sat_adj },
00577   { "Semigloss", 0.72, .8, 1, .01, 1.8, 1, 1, 1, 1, 1, .9,
00578     ultra_glossy_hue_adj, ultra_glossy_lum_adj, ultra_glossy_sat_adj },
00579   { "Luster", 0.72, .8, 1, .01, 1.8, 1, 1, 1, 1, 1, .9,
00580     ultra_glossy_hue_adj, ultra_glossy_lum_adj, ultra_glossy_sat_adj },
00581   { "ArchivalMatte", 0.92, .4, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00582     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00583   { "WaterColorRadiant", 0.92, .4, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00584     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00585   { "GlossyPaper", 0.83, 1.0, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00586     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00587   { "Ilford", 0.83, 1.0, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00588     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj  },
00589   { "ColorLife", 0.83, 1.0, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00590     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00591   { "Other", 0.72, .1, 1, .01, 1.5, 1, 1, 1, 1, 1, 1.2,
00592     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00593 };
00594 
00595 DECLARE_PAPER_ADJUSTMENTS(ultrachrome_photo);
00596 
00597 static const paper_adjustment_t ultrachrome_matte_adjustments[] =
00598 {
00599   { "Plain", 0.72, .1, 1, 0, .999, 1, 1, 1, 1, 1, 1.2,
00600     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00601   { "PlainFast", 0.72, .1, 1, 0, .999, 1, 1, 1, 1, 1, 1.2,
00602     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00603   { "Postcard", 0.72, .1, 1, 0, .999, 1, 1, 1, 1, 1, 1.2,
00604     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00605   { "GlossyFilm", 0.83, .5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1.2,
00606     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00607   { "Transparency", 0.83, .5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1,
00608     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00609   { "Envelope", 0.72, .1, 1, 0, .999, 1, 1, 1, 1, 1, 1.2,
00610     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00611   { "BackFilm", 0.83, .5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1.2,
00612     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00613   { "Matte", 0.92, 0.4, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1.2,
00614     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00615   { "MatteHeavy", 0.92, 0.4, .4, .01, 0.999, 1, 1, 1, 1.75, 1, 1.2,
00616     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00617   { "Inkjet", 0.72, .3, 1, .01, .999, 1, 1, 1, 1, 1, 1.2,
00618     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00619   { "Coated", 0.83, .4, 1, .01, 1.25, 1, 1, 1, 1, 1, 1.2,
00620     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00621   { "Photo", 1.0, 0.5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1.2,
00622     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00623   { "GlossyPhoto", 0.72, 1, 1, .01, 1.25, 1, 1, 1, 1, 1, .9,
00624     ultra_glossy_hue_adj, ultra_glossy_lum_adj, ultra_glossy_sat_adj },
00625   { "Semigloss", 0.72, .8, 1, .01, 1.25, 1, 1, 1, 1, 1, .9,
00626     ultra_glossy_hue_adj, ultra_glossy_lum_adj, ultra_glossy_sat_adj },
00627   { "Luster", 0.72, .8, 1, .01, 1.25, 1, 1, 1, 1, 1, .9,
00628     ultra_glossy_hue_adj, ultra_glossy_lum_adj, ultra_glossy_sat_adj },
00629   { "WaterColorRadiant", 0.92, 0.4, 1, .01, 1.25, 1, 1, 1, 1, 1, 1.2,
00630     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00631   { "GlossyPaper", 0.83, 0.5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1,
00632     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00633   { "Ilford", 0.83, 0.5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1,
00634     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj  },
00635   { "ColorLife", 0.83, 0.5, 1, 0.01, 1.25, 1, 1, 1, 1, 1, 1,
00636     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00637   { "Other", 0.72, .1, .4, 0, .999, 1, 1, 1, 1.75, 1, 1.2,
00638     ultra_matte_hue_adj, ultra_matte_lum_adj, ultra_matte_sat_adj },
00639 };
00640 
00641 DECLARE_PAPER_ADJUSTMENTS(ultrachrome_matte);
00642 
00643 static const paper_adjustment_t durabrite_adjustments[] =
00644 {
00645   { "Plain", 1.0, .5, .5, .05, .9, 1, 1, 1, 1, 1, 1.2,
00646     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00647   { "PlainFast", 1.0, .5, .5, .05, .9, 1, 1, 1, 1, 1, 1.2,
00648     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00649   { "Postcard", 1.0, .5, 1, .05, .9, 1, 1, 1, 1, 1, 1.2,
00650     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00651   { "GlossyFilm", 0.8, 1.0, 1, .05, .999, 1, 1, 1, 1, 1, 1,
00652     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00653   { "Transparency", 0.8, .75, 1, .05, .999, 1, 1, 1, 1, 1, 1,
00654     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00655   { "Envelope", 1.0, .5, 1, .05, .9, 1, 1, 1, 1, 1, 1.2,
00656     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00657   { "BackFilm", 0.8, .75, 1, .05, .999, 1, 1, 1, 1, 1, 1,
00658     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00659   { "Matte", 0.9, .5, .5, .075, .999, 1, .975, .975, 1, 1, 1.1,
00660     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00661   { "MatteHeavy", 0.9, .5, .5, .075, .999, 1, .975, .975, 1, 1, 1.1,
00662     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00663   { "Inkjet", 1.0, .5, .5, .05, .9, 1, 1, 1, 1, 1, 1.2,
00664     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00665   { "Coated", 1.0, .5, .5, .075, .999, 1, 1, 1, 1, 1, 1.1,
00666     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00667   { "Photo", .833, .5, .5, .075, .999, 1, 1, 1, 1, 1, 1,
00668     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00669   { "GlossyPhoto", .833, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, .9,
00670     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00671   { "Semigloss", .833, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, .9,
00672     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00673   { "Luster", .833, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, .9,
00674     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00675   { "GlossyPaper", .833, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, .9,
00676     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00677   { "Ilford", .833, 1.0, 1, .15, 1.35, 1, 1, 1, 1, 1, 1,
00678     standard_hue_adj, standard_lum_adj, standard_sat_adj  },
00679   { "ColorLife", .833, 1.0, 1, .15, .9, 1, 1, 1, 1, 1, 1,
00680     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00681   { "Other", 1.0, .5, 1, .05, .9, 1, 1, 1, 1, 1, 1,
00682     standard_hue_adj, standard_lum_adj, standard_sat_adj },
00683 };
00684 
00685 DECLARE_PAPER_ADJUSTMENTS(durabrite);
00686 
00687 static const paper_t standard_papers[] =
00688 {
00689   { "Plain", N_("Plain Paper"), PAPER_PLAIN,
00690     1, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00691   { "PlainFast", N_("Plain Paper Fast Load"), PAPER_PLAIN,
00692     5, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00693   { "Postcard", N_("Postcard"), PAPER_PLAIN,
00694     2, 0, 0x00, 0x00, 0x02, NULL, NULL },
00695   { "GlossyFilm", N_("Glossy Film"), PAPER_PHOTO,
00696     3, 0, 0x6d, 0x00, 0x01, NULL, NULL },
00697   { "Transparency", N_("Transparencies"), PAPER_TRANSPARENCY,
00698     3, 0, 0x6d, 0x00, 0x02, NULL, NULL },
00699   { "Envelope", N_("Envelopes"), PAPER_PLAIN,
00700     4, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00701   { "BackFilm", N_("Back Light Film"), PAPER_TRANSPARENCY,
00702     6, 0, 0x6d, 0x00, 0x01, NULL, NULL },
00703   { "Matte", N_("Matte Paper"), PAPER_GOOD,
00704     7, 0, 0x00, 0x00, 0x02, NULL, NULL },
00705   { "MatteHeavy", N_("Matte Paper Heavyweight"), PAPER_GOOD,
00706     7, 0, 0x00, 0x00, 0x02, NULL, NULL },
00707   { "Inkjet", N_("Inkjet Paper"), PAPER_GOOD,
00708     7, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00709   { "Coated", N_("Photo Quality Inkjet Paper"), PAPER_GOOD,
00710     7, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00711   { "Photo", N_("Photo Paper"), PAPER_PHOTO,
00712     8, 0, 0x67, 0x00, 0x02, NULL, NULL },
00713   { "GlossyPhoto", N_("Premium Glossy Photo Paper"), PAPER_PREMIUM_PHOTO,
00714     8, 0, 0x80, 0x00, 0x02, NULL, NULL },
00715   { "Semigloss", N_("Premium Semigloss Photo Paper"), PAPER_PREMIUM_PHOTO,
00716     8, 0, 0x80, 0x00, 0x02, NULL, NULL },
00717   { "Luster", N_("Premium Luster Photo Paper"), PAPER_PREMIUM_PHOTO,
00718     8, 0, 0x80, 0x00, 0x02, NULL, NULL },
00719   { "GlossyPaper", N_("Photo Quality Glossy Paper"), PAPER_PREMIUM_PHOTO,
00720     6, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00721   { "Ilford", N_("Ilford Heavy Paper"), PAPER_PREMIUM_PHOTO,
00722     8, 0, 0x80, 0x00, 0x02, NULL, NULL },
00723   { "ColorLife", N_("ColorLife Paper"), PAPER_PREMIUM_PHOTO,
00724     8, 0, 0x67, 0x00, 0x02, NULL, NULL },
00725   { "Other", N_("Other"), PAPER_PLAIN,
00726     0, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00727 };
00728 
00729 DECLARE_PAPERS(standard);
00730 
00731 static const paper_t durabrite_papers[] =
00732 {
00733   { "Plain", N_("Plain Paper"), PAPER_PLAIN,
00734     1, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00735   { "PlainFast", N_("Plain Paper Fast Load"), PAPER_PLAIN,
00736     5, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00737   { "Postcard", N_("Postcard"), PAPER_PLAIN,
00738     2, 0, 0x00, 0x00, 0x02, NULL, NULL },
00739   { "GlossyFilm", N_("Glossy Film"), PAPER_PHOTO,
00740     3, 0, 0x6d, 0x00, 0x01, NULL, NULL },
00741   { "Transparency", N_("Transparencies"), PAPER_TRANSPARENCY,
00742     3, 0, 0x6d, 0x00, 0x02, NULL, NULL },
00743   { "Envelope", N_("Envelopes"), PAPER_PLAIN,
00744     4, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00745   { "BackFilm", N_("Back Light Film"), PAPER_TRANSPARENCY,
00746     6, 0, 0x6d, 0x00, 0x01, NULL, NULL },
00747   { "Matte", N_("Matte Paper"), PAPER_GOOD,
00748     7, 0, 0x00, 0x00, 0x02, NULL, NULL },
00749   { "MatteHeavy", N_("Matte Paper Heavyweight"), PAPER_GOOD,
00750     7, 0, 0x00, 0x00, 0x02, NULL, NULL },
00751   { "Inkjet", N_("Inkjet Paper"), PAPER_GOOD,
00752     7, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00753   { "Coated", N_("Photo Quality Inkjet Paper"), PAPER_GOOD,
00754     7, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00755   { "Photo", N_("Photo Paper"), PAPER_PHOTO,
00756     8, 0, 0x67, 0x00, 0x02, "RGB", NULL },
00757   { "GlossyPhoto", N_("Premium Glossy Photo Paper"), PAPER_PREMIUM_PHOTO,
00758     8, 0, 0x80, 0x00, 0x02, "RGB", NULL },
00759   { "Semigloss", N_("Premium Semigloss Photo Paper"), PAPER_PREMIUM_PHOTO,
00760     8, 0, 0x80, 0x00, 0x02, "RGB", NULL },
00761   { "Luster", N_("Premium Luster Photo Paper"), PAPER_PREMIUM_PHOTO,
00762     8, 0, 0x80, 0x00, 0x02, "RGB", NULL },
00763   { "GlossyPaper", N_("Photo Quality Glossy Paper"), PAPER_PHOTO,
00764     6, 0, 0x6b, 0x1a, 0x01, "RGB", NULL },
00765   { "Ilford", N_("Ilford Heavy Paper"), PAPER_PREMIUM_PHOTO,
00766     8, 0, 0x80, 0x00, 0x02, NULL, NULL },
00767   { "ColorLife", N_("ColorLife Paper"), PAPER_PREMIUM_PHOTO,
00768     8, 0, 0x67, 0x00, 0x02, NULL, NULL },
00769   { "Other", N_("Other"), PAPER_PLAIN,
00770     0, 0, 0x6b, 0x1a, 0x01, NULL, NULL },
00771 };
00772 
00773 DECLARE_PAPERS(durabrite);
00774 
00775 static const paper_t ultrachrome_papers[] =
00776 {
00777   { "Plain", N_("Plain Paper"), PAPER_PLAIN,
00778     1, 0, 0x6b, 0x1a, 0x01, NULL, "UltraMatte" },
00779   { "PlainFast", N_("Plain Paper Fast Load"), PAPER_PLAIN,
00780     5, 0, 0x6b, 0x1a, 0x01, NULL, "UltraMatte" },
00781   { "Postcard", N_("Postcard"), PAPER_PLAIN,
00782     2, 0, 0x00, 0x00, 0x02, NULL, "UltraMatte" },
00783   { "GlossyFilm", N_("Glossy Film"), PAPER_PHOTO,
00784     3, 0, 0x6d, 0x00, 0x01, NULL, "UltraPhoto" },
00785   { "Transparency", N_("Transparencies"), PAPER_TRANSPARENCY,
00786     3, 0, 0x6d, 0x00, 0x02, NULL, "UltraPhoto" },
00787   { "Envelope", N_("Envelopes"), PAPER_PLAIN,
00788     4, 0, 0x6b, 0x1a, 0x01, NULL, "UltraMatte" },
00789   { "BackFilm", N_("Back Light Film"), PAPER_TRANSPARENCY,
00790     6, 0, 0x6d, 0x00, 0x01, NULL, "UltraPhoto" },
00791   { "Matte", N_("Matte Paper"), PAPER_GOOD,
00792     7, 0, 0x00, 0x00, 0x02, NULL, "UltraMatte" },
00793   { "MatteHeavy", N_("Matte Paper Heavyweight"), PAPER_GOOD,
00794     7, 0, 0x00, 0x00, 0x02, NULL, "UltraMatte" },
00795   { "Inkjet", N_("Inkjet Paper"), PAPER_GOOD,
00796     7, 0, 0x6b, 0x1a, 0x01, NULL, "UltraMatte" },
00797   { "Coated", N_("Photo Quality Inkjet Paper"), PAPER_GOOD,
00798     7, 0, 0x6b, 0x1a, 0x01, NULL, "UltraPhoto" },
00799   { "Photo", N_("Photo Paper"), PAPER_PHOTO,
00800     8, 0, 0x67, 0x00, 0x02, NULL, "UltraPhoto" },
00801   { "GlossyPhoto", N_("Premium Glossy Photo Paper"), PAPER_PREMIUM_PHOTO,
00802     8, 0, 0x80, 0x00, 0x02, NULL, "UltraPhoto" },
00803   { "Semigloss", N_("Premium Semigloss Photo Paper"), PAPER_PREMIUM_PHOTO,
00804     8, 0, 0x80, 0x00, 0x02, NULL, "UltraPhoto" },
00805   { "Luster", N_("Premium Luster Photo Paper"), PAPER_PREMIUM_PHOTO,
00806     8, 0, 0x80, 0x00, 0x02, NULL, "UltraPhoto" },
00807   { "ArchivalMatte", N_("Archival Matte Paper"), PAPER_PREMIUM_PHOTO,
00808     7, 0, 0x00, 0x00, 0x02, NULL, "UltraMatte" },
00809   { "WaterColorRadiant", N_("Watercolor Paper - Radiant White"), PAPER_PREMIUM_PHOTO,
00810     7, 0, 0x00, 0x00, 0x02, NULL, "UltraMatte" },
00811   { "GlossyPaper", N_("Photo Quality Glossy Paper"), PAPER_PHOTO,
00812     6, 0, 0x6b, 0x1a, 0x01, NULL, "UltraPhoto" },
00813   { "Ilford", N_("Ilford Heavy Paper"), PAPER_PREMIUM_PHOTO,
00814     8, 0, 0x80, 0x00, 0x02, NULL, "UltraMatte" },
00815   { "ColorLife", N_("ColorLife Paper"), PAPER_PREMIUM_PHOTO,
00816     8, 0, 0x67, 0x00, 0x02, NULL, "UltraPhoto" },
00817   { "Other", N_("Other"), PAPER_PLAIN,
00818     0, 0, 0x6b, 0x1a, 0x01, NULL, "UltraMatte" },
00819 };
00820 
00821 DECLARE_PAPERS(ultrachrome);

Generated on Thu Feb 10 19:29:30 2005 for libgutenprint API Reference by  doxygen 1.4.1