#ifndef GUTENPRINT_INTERNAL_CANON_PRINTERS_H
#define GUTENPRINT_INTERNAL_CANON_PRINTERS_H
typedef struct canon_caps {
int model;
int model_id;
int max_width;
int max_height;
int border_left;
int border_right;
int border_top;
int border_bottom;
const canon_slotlist_t* slotlist;
unsigned long features;
unsigned char ESC_r_arg;
const char** control_cmdlist;
const canon_modelist_t* modelist;
const canon_paperlist_t* paperlist;
const char *lum_adjustment;
const char *hue_adjustment;
const char *sat_adjustment;
} canon_cap_t;
static const char standard_sat_adjustment[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<gutenprint>\n"
"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
"1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "
"1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "
"1.00 0.95 0.90 0.90 0.90 0.90 0.90 0.90 "
"0.90 0.95 0.95 1.00 1.00 1.00 1.00 1.00 "
"1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "
"1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 "
"</sequence>\n"
"</curve>\n"
"</gutenprint>\n";
static const char standard_lum_adjustment[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<gutenprint>\n"
"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n"
"0.65 0.67 0.70 0.72 0.77 0.80 0.82 0.85 "
"0.87 0.86 0.82 0.79 0.79 0.82 0.85 0.88 "
"0.92 0.95 0.96 0.97 0.97 0.97 0.96 0.96 "
"0.96 0.97 0.97 0.98 0.99 1.00 1.00 1.00 "
"1.00 0.97 0.95 0.94 0.93 0.92 0.90 0.86 "
"0.79 0.76 0.71 0.68 0.68 0.68 0.68 0.66 "
"</sequence>\n"
"</curve>\n"
"</gutenprint>\n";
static const char standard_hue_adjustment[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<gutenprint>\n"
"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n"
"<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n"
"0.00 0.06 0.10 0.10 0.06 -.01 -.09 -.17 "
"-.25 -.33 -.38 -.38 -.36 -.34 -.34 -.34 "
"-.34 -.34 -.36 -.40 -.50 -.40 -.30 -.20 "
"-.12 -.07 -.04 -.02 0.00 0.00 0.00 0.00 "
"0.00 0.00 0.00 -.05 -.10 -.15 -.22 -.24 "
"-.26 -.30 -.33 -.28 -.25 -.20 -.13 -.06 "
"</sequence>\n"
"</curve>\n"
"</gutenprint>\n";
static const char* control_cmd_ackshort[] = {
"AckTime=Short",
NULL
};
static const char* control_cmd_PIXMA_iP4000[] = {
"SetSilent=OFF",
"PEdgeDetection=ON",
"SelectParallel=ECP",
NULL
};
static const char* control_cmd_MULTIPASS_MP150[] = {
"AckTime=Short",
"MediaDetection=ON",
NULL
};
static const canon_cap_t canon_model_capabilities[] =
{
{
4202, 3,
618, 936,
10, 10, 9, 20,
&canon_default_slotlist,
CANON_CAP_STD1 | CANON_CAP_rr,0x61,NULL,
&canon_S200_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
8201, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1 | CANON_CAP_r,0x61,control_cmd_ackshort,
&canon_BJC_8500_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
30, 1,
9.5*72, 14*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_30_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
85, 1,
9.5*72, 14*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_85_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
4300, 1,
618, 936,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_4300_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
4400, 1,
9.5*72, 14*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_4400_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
6000, 3,
618, 936,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1,0,control_cmd_ackshort,
&canon_BJC_6000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
6200, 3,
618, 936,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1,0,control_cmd_ackshort,
&canon_BJC_6000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
6500, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1,0,NULL,
&canon_BJC_6000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
8200, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1 | CANON_CAP_r,0x61,control_cmd_ackshort,
&canon_BJC_8200_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
210, 1,
618, 936,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_210_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
240, 1,
618, 936,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_240_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
250, 1,
618, 936,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_240_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
1000, 1,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_240_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
2000, 1,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_2000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
3000, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_3000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
6100, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1 | CANON_CAP_a | CANON_CAP_r,0x61,NULL,
&canon_BJC_3000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
7000, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1,0,NULL,
&canon_BJC_7000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
7100, 3,
842, 17*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_7100_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
5100, 1,
17*72, 22*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_3000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
5500, 1,
22*72, 34*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0 | CANON_CAP_a,0,NULL,
&canon_BJC_5500_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
6500, 3,
17*72, 22*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD1 | CANON_CAP_a,0,NULL,
&canon_BJC_3000_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
8500, 3,
17*72, 22*72,
11, 9, 10, 18,
&canon_default_slotlist,
CANON_CAP_STD0,0,NULL,
&canon_BJC_8500_modelist,
&canon_default_paperlist,
NULL,
NULL,
NULL
},
{
9001, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000,
&canon_PIXMA_iP2000_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
{
3999, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000,
&canon_PIXMA_iP3000_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
{
4000, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px ,0x64,control_cmd_PIXMA_iP4000,
&canon_PIXMA_iP4000_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
{
4200, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000,
&canon_PIXMA_iP4200_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
{
4203, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000,
&canon_PIXMA_iP6700_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
{
4201, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150,
&canon_MULTIPASS_MP150_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
{
9000, 3,
842, 17*72,
10, 10, 15, 15,
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150,
&canon_MULTIPASS_MP830_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL
},
};
#endif