libgimpprint API Reference: src/main/escp2-inks.c Source File

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

# src/main/escp2-inks.c

Go to the documentation of this file.

    00001 /*
    00002  * "$Id: escp2-inks_8c-source.html,v 1.1.1.2 2004/12/22 23:49:00 jlovell 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 General 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 <gimp-print/gimp-print.h>
    00028 #include "gimp-print-internal.h"
    00029 #include <gimp-print/gimp-print-intl-internal.h>
    00030 #include "print-escp2.h"
    00031
    00032 /* Single drop size printers */
    00033 static const escp2_dropsize_t escp2_single_dropsizes =
    00034   { "single", 1, { 1.0 } };
    00035
    00036 /* 6 pl printers */
    00037 static const escp2_dropsize_t escp2_low_dropsizes =
    00038   { "low", 3, { 0.28, 0.58, 1.0 } };
    00039 static const escp2_dropsize_t escp2_6pl_dropsizes =
    00040   { "6pl", 3, { 0.25, 0.5, 1.0 } };
    00041 static const escp2_dropsize_t escp2_6pl_1440_dropsizes =
    00042   { "6pl_1440", 2, { 0.5, 1.0 } };
    00043 static const escp2_dropsize_t escp2_6pl_2880_dropsizes =
    00044   { "6pl_2880", 1, { 1.0 } };
    00045
    00046 /* Stylus Color 480/580/C40/C50 */
    00047 static const escp2_dropsize_t escp2_x80_low_dropsizes =
    00048   { "x80_low", 3, { 0.325, 0.5, 1.0 } };
    00049 static const escp2_dropsize_t escp2_x80_6pl_dropsizes =
    00050   { "x80_6pl", 3, { 0.325, 0.5, 1.0 } };
    00051 static const escp2_dropsize_t escp2_x80_1440_6pl_dropsizes =
    00052   { "x80_1440_6pl", 2, { 0.65, 1.0 } };
    00053 static const escp2_dropsize_t escp2_x80_2880_6pl_dropsizes =
    00054   { "x80_2880_6pl", 1, { 1.0 } };
    00055
    00056 /* 2880 DPI capable 4 picolitre printers */
    00057 static const escp2_dropsize_t escp2_new_low_dropsizes =
    00058   { "680_low", 3, { 0.375, 0.75, 1.0 } };
    00059 static const escp2_dropsize_t escp2_new_6pl_dropsizes =
    00060   { "680_6pl", 3, { 0.375, 0.50, 1.0 } };
    00061 static const escp2_dropsize_t escp2_new_4pl_dropsizes =
    00062   { "680_4pl", 3, { 0.50, 0.75, 1.0 } };
    00063 static const escp2_dropsize_t escp2_4pl_2880_dropsizes =
    00064   { "4pl_2880", 1, { 1.0 } };
    00065
    00066 /* 1440 DPI capable printers */
    00067 static const escp2_dropsize_t escp2_4pl_dropsizes =
    00068   { "4pl", 3, { 0.33, 0.50, 1.0 } };
    00069
    00070 /* Stylus Color 900/980 */
    00071 static const escp2_dropsize_t escp2_3pl_dropsizes =
    00072   { "3pl", 3, { 0.25, 0.61, 1.0 } };
    00073 static const escp2_dropsize_t escp2_3pl_1440_dropsizes =
    00074   { "3pl_1440", 3, { 0.39, 1.0 } };
    00075 static const escp2_dropsize_t escp2_3pl_2880_dropsizes =
    00076   { "3pl_2880", 3, { 1.0 } };
    00077 static const escp2_dropsize_t escp2_980_6pl_dropsizes =
    00078   { "980_6pl", 3, { 0.40, 0.675, 1.0 } };
    00079
    00080 /* Stylus Photo 960 */
    00081 static const escp2_dropsize_t escp2_2pl_360_dropsizes =
    00082   { "2pl_360", 3, { 0.25, 0.5, 1.0 } };
    00083 static const escp2_dropsize_t escp2_2pl_720_dropsizes =
    00084   { "2pl_720", 3, { 0.25, 0.5, 1.0 } };
    00085 static const escp2_dropsize_t escp2_2pl_1440_dropsizes =
    00086   { "2pl_1440", 2, { 0.5, 1.0 } };
    00087 static const escp2_dropsize_t escp2_2pl_2880_dropsizes =
    00088   { "2pl_2880", 1, { 1.0 } };
    00089
    00090 /* PM-G800 */
    00091 /* Guess */
    00092 static const escp2_dropsize_t escp2_1_5pl_360_dropsizes =
    00093   { "1_5pl_360", 3, { 0.25, 0.5, 1.0 } };
    00094 /* 7, 14, 20 pl */
    00095 static const escp2_dropsize_t escp2_1_5pl_720_dropsizes =
    00096   { "1_5pl_720", 3, { 0.35, 0.70, 1.0 } };
    00097 /*
    00098  * Note that the site
    00099  * (http://www.i-love-epson.co.jp/products/printer/inkjet/pmg800/pmg8002.htm)
    00100  * is unclear: it says 3 pl MSDT, but the diagram reads 2 pl
    00101  */
    00102 /* 3, 6, 13 pl */
    00103 static const escp2_dropsize_t escp2_1_5pl_1440_dropsizes =
    00104   { "1_5pl_1440", 3, { 0.231, 0.462, 1.0 } };
    00105 /*
    00106  * See above comment.  3 pl makes more sense than 2 pl
    00107  */
    00108 /* 1.5, 3, 6 pl */
    00109 static const escp2_dropsize_t escp2_1_5pl_2880_dropsizes =
    00110   { "1_5pl_2880", 3, { 0.25, 0.50, 1.0 } };
    00111
    00112 /* Stylus Photo R300 */
    00113 static const escp2_dropsize_t escp2_r300_360_dropsizes =
    00114   { "r300_360", 3, { 0.15, 0.3, 1.0 } };
    00115 static const escp2_dropsize_t escp2_r300_720_dropsizes =
    00116   { "r300_720", 3, { 0.15, 0.5, 1.0 } };
    00117 static const escp2_dropsize_t escp2_r300_1440_dropsizes =
    00118   { "r300_1440", 3, { 0.25, 0.5, 1.0 } };
    00119 static const escp2_dropsize_t escp2_r300_2880_dropsizes =
    00120   { "r300_2880", 2, { 0.5, 1.0 } };
    00121 static const escp2_dropsize_t escp2_r300_2880_1440_dropsizes =
    00122   { "r300_2880_1440", 1, { 1.0 } };
    00123
    00124 /* Stylus C80 */
    00125 static const escp2_dropsize_t escp2_economy_pigment_dropsizes =
    00126   { "economy_pigment", 3, { 0, 0, 1.0 } };
    00127 static const escp2_dropsize_t escp2_low_pigment_dropsizes =
    00128   { "low_pigment", 3, { 0.28, 0, 1.0 } };
    00129 static const escp2_dropsize_t escp2_6pl_pigment_dropsizes =
    00130   { "6pl_pigment", 3, { 0.28, 0, 1.0 } };
    00131 static const escp2_dropsize_t escp2_3pl_pigment_dropsizes =
    00132   { "3pl_pigment", 3, { 0.25, 0.5, 1.0 } };
    00133 static const escp2_dropsize_t escp2_3pl_pigment_2880_dropsizes =
    00134   { "3pl_pigment_2880", 2, { 0.5, 1.0 } };
    00135 static const escp2_dropsize_t escp2_3pl_pigment_5760_dropsizes =
    00136   { "3pl_pigment_5760", 1, { 1.0 } };
    00137
    00138 /* Stylus Photo 2000P */
    00139 static const escp2_dropsize_t escp2_2000p_dropsizes =
    00140   { "2000p", 2, { 0.55, 1.0 } };
    00141
    00142 /* Stylus Photo 2200, Stylus Pro 7600 */
    00143 static const escp2_dropsize_t escp2_ultrachrome_low_dropsizes =
    00144   { "ultrachrome_low", 3, { 0.16, 0.4, 1.0 } };
    00145 static const escp2_dropsize_t escp2_ultrachrome_720_dropsizes =
    00146   { "ultrachrome_720", 3, { 0.2, 0.45, 1.0 } };
    00147 static const escp2_dropsize_t escp2_ultrachrome_2880_dropsizes =
    00148   { "ultrachrome_2880", 1, { 1.0 } };
    00149
    00150 /* Stylus Pro 10000 */
    00151 static const escp2_dropsize_t escp2_spro10000_dropsizes =
    00152   { "spro10000", 2, { 0.661, 1.0 } };
    00153
    00154 const escp2_drop_list_t stpi_escp2_simple_drops =
    00155 {
    00156   &escp2_single_dropsizes,
    00157   &escp2_single_dropsizes,
    00158   &escp2_single_dropsizes,
    00159   &escp2_single_dropsizes,
    00160   &escp2_single_dropsizes,
    00161   &escp2_single_dropsizes,
    00162   &escp2_single_dropsizes,
    00163   &escp2_single_dropsizes,
    00164 };
    00165
    00166 const escp2_drop_list_t stpi_escp2_variable_6pl_drops =
    00167 {
    00168   &escp2_6pl_dropsizes,
    00169   &escp2_6pl_dropsizes,
    00170   &escp2_6pl_dropsizes,
    00171   &escp2_6pl_dropsizes,
    00172   &escp2_6pl_1440_dropsizes,
    00173   &escp2_6pl_2880_dropsizes,
    00174   &escp2_6pl_2880_dropsizes,
    00175   &escp2_6pl_2880_dropsizes
    00176 };
    00177
    00178 const escp2_drop_list_t stpi_escp2_variable_x80_6pl_drops =
    00179 {
    00180   &escp2_x80_low_dropsizes,
    00181   &escp2_x80_low_dropsizes,
    00182   &escp2_x80_low_dropsizes,
    00183   &escp2_x80_6pl_dropsizes,
    00184   &escp2_x80_1440_6pl_dropsizes,
    00185   &escp2_x80_2880_6pl_dropsizes,
    00186   &escp2_x80_2880_6pl_dropsizes,
    00187   &escp2_x80_2880_6pl_dropsizes,
    00188 };
    00189
    00190 const escp2_drop_list_t stpi_escp2_variable_1440_4pl_drops =
    00191 {
    00192   &escp2_low_dropsizes,
    00193   &escp2_low_dropsizes,
    00194   &escp2_low_dropsizes,
    00195   &escp2_6pl_dropsizes,
    00196   &escp2_4pl_dropsizes,
    00197   &escp2_4pl_2880_dropsizes,
    00198   &escp2_4pl_2880_dropsizes,
    00199   &escp2_4pl_2880_dropsizes,
    00200 };
    00201
    00202 const escp2_drop_list_t stpi_escp2_variable_2880_4pl_drops =
    00203 {
    00204   &escp2_new_low_dropsizes,
    00205   &escp2_new_low_dropsizes,
    00206   &escp2_new_low_dropsizes,
    00207   &escp2_new_6pl_dropsizes,
    00208   &escp2_new_4pl_dropsizes,
    00209   &escp2_4pl_2880_dropsizes,
    00210   &escp2_4pl_2880_dropsizes,
    00211   &escp2_4pl_2880_dropsizes,
    00212 };
    00213
    00214 const escp2_drop_list_t stpi_escp2_variable_3pl_drops =
    00215 {
    00216   &escp2_low_dropsizes,
    00217   &escp2_low_dropsizes,
    00218   &escp2_980_6pl_dropsizes,
    00219   &escp2_3pl_dropsizes,
    00220   &escp2_3pl_1440_dropsizes,
    00221   &escp2_3pl_2880_dropsizes,
    00222   &escp2_3pl_2880_dropsizes,
    00223   &escp2_3pl_2880_dropsizes,
    00224 };
    00225
    00226 const escp2_drop_list_t stpi_escp2_variable_2pl_drops =
    00227 {
    00228   &escp2_2pl_360_dropsizes,
    00229   &escp2_2pl_360_dropsizes,
    00230   &escp2_2pl_360_dropsizes,
    00231   &escp2_2pl_720_dropsizes,
    00232   &escp2_2pl_1440_dropsizes,
    00233   &escp2_2pl_2880_dropsizes,
    00234   &escp2_2pl_2880_dropsizes,
    00235   &escp2_2pl_2880_dropsizes,
    00236 };
    00237
    00238 const escp2_drop_list_t stpi_escp2_variable_3pl_pmg_drops =
    00239 {
    00240   &escp2_r300_360_dropsizes,
    00241   &escp2_r300_360_dropsizes,
    00242   &escp2_r300_360_dropsizes,
    00243   &escp2_r300_720_dropsizes,
    00244   &escp2_r300_1440_dropsizes,
    00245   &escp2_r300_2880_dropsizes,
    00246   &escp2_r300_2880_1440_dropsizes,
    00247   &escp2_r300_2880_1440_dropsizes,
    00248 };
    00249
    00250 const escp2_drop_list_t stpi_escp2_variable_1_5pl_drops =
    00251 {
    00252   &escp2_1_5pl_360_dropsizes,
    00253   &escp2_1_5pl_360_dropsizes,
    00254   &escp2_1_5pl_360_dropsizes,
    00255   &escp2_1_5pl_720_dropsizes,
    00256   &escp2_1_5pl_1440_dropsizes,
    00257   &escp2_1_5pl_2880_dropsizes,
    00258   &escp2_1_5pl_2880_dropsizes,
    00259   &escp2_1_5pl_2880_dropsizes,
    00260 };
    00261
    00262 const escp2_drop_list_t stpi_escp2_variable_2000p_drops =
    00263 {
    00264   &escp2_2000p_dropsizes,
    00265   &escp2_2000p_dropsizes,
    00266   &escp2_2000p_dropsizes,
    00267   &escp2_2000p_dropsizes,
    00268   &escp2_2000p_dropsizes,
    00269   &escp2_2000p_dropsizes,
    00270   &escp2_2000p_dropsizes,
    00271   &escp2_2000p_dropsizes
    00272 };
    00273
    00274 const escp2_drop_list_t stpi_escp2_variable_ultrachrome_drops =
    00275 {
    00276   &escp2_ultrachrome_low_dropsizes,
    00277   &escp2_ultrachrome_low_dropsizes,
    00278   &escp2_ultrachrome_low_dropsizes,
    00279   &escp2_ultrachrome_720_dropsizes,
    00280   &escp2_ultrachrome_720_dropsizes,
    00281   &escp2_ultrachrome_2880_dropsizes,
    00282   &escp2_ultrachrome_2880_dropsizes,
    00283   &escp2_ultrachrome_2880_dropsizes,
    00284 };
    00285
    00286 const escp2_drop_list_t stpi_escp2_variable_3pl_pigment_drops =
    00287 {
    00288   &escp2_economy_pigment_dropsizes,
    00289   &escp2_low_pigment_dropsizes,
    00290   &escp2_low_pigment_dropsizes,
    00291   &escp2_6pl_pigment_dropsizes,
    00292   &escp2_3pl_pigment_dropsizes,
    00293   &escp2_3pl_pigment_2880_dropsizes,
    00294   &escp2_3pl_pigment_5760_dropsizes,
    00295   &escp2_3pl_pigment_5760_dropsizes,
    00296 };
    00297
    00298 const escp2_drop_list_t stpi_escp2_spro10000_drops =
    00299 {
    00300   &escp2_spro10000_dropsizes,
    00301   &escp2_spro10000_dropsizes,
    00302   &escp2_spro10000_dropsizes,
    00303   &escp2_spro10000_dropsizes,
    00304   &escp2_spro10000_dropsizes,
    00305   &escp2_spro10000_dropsizes,
    00306   &escp2_spro10000_dropsizes,
    00307   &escp2_spro10000_dropsizes
    00308 };