diff options
author | Didier Raboud <odyx@debian.org> | 2015-08-09 14:40:26 +0200 |
---|---|---|
committer | Didier Raboud <odyx@debian.org> | 2015-08-09 14:40:26 +0200 |
commit | 92976f71a4aa7f84cd8aadf013d2b03873dead7c (patch) | |
tree | cf693495783f07f67a0a2c8c12437fd6ed220593 /src/main | |
parent | 58b4abe145a14a936e420a3ba5b7d0c6c56fa839 (diff) |
Imported Upstream version 5.2.11~pre1
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/Makefile.am | 2 | ||||
-rw-r--r-- | src/main/canon-inks.h | 134 | ||||
-rw-r--r-- | src/main/canon-media-mode.h | 2149 | ||||
-rw-r--r-- | src/main/canon-media.h | 267 | ||||
-rw-r--r-- | src/main/canon-modes.h | 844 | ||||
-rw-r--r-- | src/main/canon-printers.h | 570 | ||||
-rw-r--r-- | src/main/print-canon.c | 98 | ||||
-rw-r--r-- | src/main/print-olympus.c | 1528 | ||||
-rw-r--r-- | src/main/print-pcl.c | 284 | ||||
-rw-r--r-- | src/main/print-util.c | 6 | ||||
-rw-r--r-- | src/main/printers.c | 48 |
11 files changed, 4784 insertions, 1146 deletions
diff --git a/src/main/Makefile.am b/src/main/Makefile.am index daedcf2..23f3d26 100644 --- a/src/main/Makefile.am +++ b/src/main/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.105 2012/03/18 16:43:34 gernot2270 Exp $ +## $Id: Makefile.am,v 1.107 2015/06/24 23:15:13 speachy Exp $ ## Copyright (C) 2000 Roger Leigh ## ## This program is free software; you can redistribute it and/or modify diff --git a/src/main/canon-inks.h b/src/main/canon-inks.h index 5c0f2e5..741f80f 100644 --- a/src/main/canon-inks.h +++ b/src/main/canon-inks.h @@ -265,6 +265,13 @@ static const canon_inkset_t canon_3_C4M4Y4_inkset[] = { {'Y',1.0,&canon_2b_4l_ink} }; +static const canon_inkset_t canon_4_K2_inkset[] = { + {0,0.0,NULL}, + {0,0.0,NULL}, + {0,0.0,NULL}, + {'K',1.0,&canon_1b_2l_ink}, +}; + /* Inkset for printing in CMYK and 1bit/pixel */ static const canon_inkset_t canon_4_C2M2Y2K2_inkset[] = { {'C',1.0,&canon_1b_2l_ink}, @@ -273,6 +280,13 @@ static const canon_inkset_t canon_4_C2M2Y2K2_inkset[] = { {'K',1.0,&canon_1b_2l_ink} }; +static const canon_inkset_t canon_4_C3M3Y3K3_c_inkset[] = { + {'C',1.0,&canon_2b_3l_c_ink}, + {'M',1.0,&canon_2b_3l_c_ink}, + {'Y',1.0,&canon_2b_3l_c_ink}, + {'K',1.0,&canon_2b_3l_c_ink}, +}; + /* Inkset for printing in CMYK and 2bit/pixel */ static const canon_inkset_t canon_4_C4M4Y4K4_inkset[] = { {'C',1.0,&canon_2b_4l_ink}, @@ -334,6 +348,46 @@ static const canon_inkset_t canon_6_C7M7Y7K7c7m7_inkset[] = { {'m',1.0,&canon_3b_7l_ink} }; +static const canon_inkset_t canon_7_K2C2M2Y2_inkset[] = { + {'K',1.0,&canon_1b_2l_ink}, + {'C',1.0,&canon_1b_2l_ink}, + {'M',1.0,&canon_1b_2l_ink}, + {'Y',1.0,&canon_1b_2l_ink}, + {0,0.0,0}, + {0,0.0,0}, + {0,0.0,0}, +}; + +static const canon_inkset_t canon_7_K2C3M3Y2_inkset[] = { + {'K',1.0,&canon_1b_2l_ink}, + {'C',1.0,&canon_2b_3l_ink}, + {'M',1.0,&canon_2b_3l_ink}, + {'Y',1.0,&canon_1b_2l_ink}, + {0,0.0,0}, + {0,0.0,0}, + {0,0.0,0}, +}; + +static const canon_inkset_t canon_7_K3C4M4Y3_inkset[] = { + {'K',1.0,&canon_2b_3l_ink}, + {'C',1.0,&canon_2b_4l_ink}, + {'M',1.0,&canon_2b_4l_ink}, + {'Y',1.0,&canon_2b_3l_ink}, + {0,0.0,0}, + {0,0.0,0}, + {0,0.0,0}, +}; + +static const canon_inkset_t canon_7_C4M4Y4_inkset[] = { + {0,0.0,0}, + {'C',1.0,&canon_2b_4l_ink}, + {'M',1.0,&canon_2b_4l_ink}, + {'Y',1.0,&canon_2b_4l_ink}, + {0,0.0,0}, + {0,0.0,0}, + {0,0.0,0}, +}; + static const canon_inkset_t canon_7_C4M4Y4c4m4k4K4_inkset[] = { {'C',1.0,&canon_2b_4l_ink}, {'M',1.0,&canon_2b_4l_ink}, @@ -344,6 +398,16 @@ static const canon_inkset_t canon_7_C4M4Y4c4m4k4K4_inkset[] = { {'K',1.0,&canon_2b_4l_ink}, }; +static const canon_inkset_t canon_7_C14M14Y14c14m14y14_inkset[] = { + {0,0.0,0}, + {'C',1.0,&canon_4b_14l_ink}, + {'M',1.0,&canon_4b_14l_ink}, + {'Y',1.0,&canon_4b_14l_ink}, + {'c',1.0,&canon_4b_14l_ink}, + {'m',1.0,&canon_4b_14l_ink}, + {'k',1.0,&canon_4b_14l_ink}, +}; + static const canon_inkset_t canon_9_K2_inkset[] = { {0,0.0,NULL}, {0,0.0,NULL}, @@ -681,30 +745,6 @@ static const canon_inkset_t canon_9_C4M4Y4K2c4m4y4photo_inkset[] = { {0,0.0,NULL} }; -static const canon_inkset_t canon_9_C4M4Y4K2c4m4y4plain2_inkset[] = { - {'C',1.0,&canon_2b_4l_ink}, - {'M',1.0,&canon_2b_4l_ink}, - {'Y',1.0,&canon_2b_4l_ink}, - {'K',1.0,&canon_1b_2l_ink}, - {'c',1.0,&canon_2b_4l_ink}, - {'m',1.0,&canon_2b_4l_ink}, - {'m',1.0,&canon_2b_4l_ink}, - {0,0.0,NULL}, - {0,0.0,NULL} -}; - -static const canon_inkset_t canon_9_C4M4Y4K2c4m4y4photo2_inkset[] = { - {'C',1.0,&canon_2b_4l_ink}, - {'M',1.0,&canon_2b_4l_ink}, - {'Y',1.0,&canon_2b_4l_ink}, - {'K',0.0,&canon_1b_2l_ink}, - {'c',1.0,&canon_2b_4l_ink}, - {'m',1.0,&canon_2b_4l_ink}, - {'m',1.0,&canon_2b_4l_ink}, - {0,0.0,NULL}, - {0,0.0,NULL} -}; - static const canon_inkset_t canon_9_C5M5Y5_inkset[] = { {'C',1.0,&canon_4b_5l_ink}, {'M',1.0,&canon_4b_5l_ink}, @@ -1837,22 +1877,6 @@ static const canon_inkset_t canon_13_C6M6Y4K3k4_c_inkset[] = { {0,0.0,NULL}, }; -static const canon_inkset_t canon_13_C6M6Y4k4yask_inkset[] = { - {'C',1.0,&canon_4b_6l_ink}, - {'M',1.0,&canon_4b_6l_ink}, - {'Y',1.0,&canon_2b_4l_ink}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {'k',1.0,&canon_2b_4l_ink}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, -}; - static const canon_inkset_t canon_13_C8M8Y4k4_inkset[] = { {'C',1.0,&canon_4b_8l_ink}, {'M',1.0,&canon_4b_8l_ink}, @@ -1885,22 +1909,6 @@ static const canon_inkset_t canon_13_C8M8Y4K4k4_inkset[] = { {0,0.0,NULL}, }; -static const canon_inkset_t canon_13_C8M8Y4k4yask_inkset[] = { - {'C',1.0,&canon_4b_8l_ink}, - {'M',1.0,&canon_4b_8l_ink}, - {'Y',1.0,&canon_2b_4l_ink}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {'k',1.0,&canon_2b_4l_ink}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, - {0,0.0,NULL}, -}; - static const canon_inkset_t canon_13_c9m9y9_inkset[] = { {0,0.0,&canon_8b_9l_ink}, {0,0.0,&canon_8b_9l_ink}, @@ -2936,7 +2944,7 @@ static const canon_inkset_t canon_30_K2C2M2Y2_inkset[] = { }; /* standard */ -/* MP990, MG6100, MG6200, MG800 */ +/* MP990, MG6100, MG6200, MG8100, MG8200 */ /* reorder: KCcMmYyk*H* not sure what the 2 missing ones are but they are only needed for ud1 anyway */ static const canon_inkset_t canon_30_K2C3M3Y2k3_c_inkset[] = { {'K',1.0,&canon_1b_2l_ink}, @@ -3006,7 +3014,7 @@ static const canon_inkset_t canon_30_K2C3M3Y2k3on_c_inkset[] = { }; /* high */ -/* MP990, MG6100, MG6200, MG800 */ +/* MP990, MG6100, MG6200, MG8100, MG8200 */ /* reorder: KCcMmYyk*H* not sure what the 2 missing ones are but they are only needed for ud1 anyway */ /*static const canon_inkset_t canon_30_C2M6K6m4k4_inkset[] = {*/ static const canon_inkset_t canon_30_K2C6M6Y4k4_inkset[] = { @@ -3043,7 +3051,7 @@ static const canon_inkset_t canon_30_K2C6M6Y4k4_inkset[] = { }; /* standard */ -/* MG6500, MG7100 */ +/* MG6300, MG6500, MG7100, iP8700 */ static const canon_inkset_t canon_30_K3C3M3Y2k3off_c_inkset[] = { {'K',1.0,&canon_2b_3l_c_ink}, {'C',1.0,&canon_2b_3l_c_ink}, @@ -3078,7 +3086,7 @@ static const canon_inkset_t canon_30_K3C3M3Y2k3off_c_inkset[] = { }; /* standard for Duplex */ -/* MG6500, MG7100 */ +/* MG6300, MG6500, MG7100, iP8700 */ static const canon_inkset_t canon_30_K3C3M3Y2k3_c_inkset[] = { {'K',1.0,&canon_2b_3l_c_ink}, {'C',1.0,&canon_2b_3l_c_ink}, @@ -3148,7 +3156,7 @@ static const canon_inkset_t canon_30_K3C3M3Y2k3photo_c_inkset[] = { }; /* high */ -/* MG6500, MG7100 */ +/* MG6300, MG6500, MG7100, iP8700 */ static const canon_inkset_t canon_30_K3C6M6Y4k4off_c_inkset[] = { {'K',1.0,&canon_2b_3l_c_ink}, {'C',1.0,&canon_4b_6l_ink}, @@ -3252,7 +3260,7 @@ static const canon_inkset_t canon_30_M6K6m4k4_inkset[] = { }; /* photo standard */ -/* MG6500, MG7100 */ +/* MG6300, MG6500, MG7100 */ static const canon_inkset_t canon_30_M6K6m4k4H6off_inkset[] = { {0,0.0,NULL}, {'C',1.0,&canon_4b_6l_ink}, @@ -3320,7 +3328,7 @@ static const canon_inkset_t canon_30_M8K8m4k4_inkset[] = { }; /* photo high */ -/* MG6500, MG7100 */ +/* MG6300, MG6500, MG7100 */ static const canon_inkset_t canon_30_M8K8m4k4H8off_inkset[] = { {0,0.0,NULL}, {'C',1.0,&canon_4b_8l_ink}, diff --git a/src/main/canon-media-mode.h b/src/main/canon-media-mode.h index 95d6768..f569d66 100644 --- a/src/main/canon-media-mode.h +++ b/src/main/canon-media-mode.h @@ -1072,6 +1072,9 @@ DECLARE_MODEUSES(canon_BJC_S520); /* ----------------------------------- Canon BJC S600 ----------------------------------- */ static const char* canon_BJC_S600_modeuses_plain[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_high", "600x600dpi", "600x600dpi_draft",/*untested*/ @@ -1081,12 +1084,18 @@ static const char* canon_BJC_S600_modeuses_plain[] = { }; static const char* canon_BJC_S600_modeuses_PPpro[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh2", "600x600dpi_photo2", NULL }; static const char* canon_BJC_S600_modeuses_coated[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh3", "600x600dpi_photohigh", "600x600dpi_photo", @@ -1095,6 +1104,9 @@ static const char* canon_BJC_S600_modeuses_coated[] = { }; static const char* canon_BJC_S600_modeuses_PPgloss[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh3", "600x600dpi_photohigh", "600x600dpi_photo", @@ -1102,23 +1114,35 @@ static const char* canon_BJC_S600_modeuses_PPgloss[] = { }; static const char* canon_BJC_S600_modeuses_inkjetHagaki[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photo3", "600x600dpi_photodraft3", NULL }; static const char* canon_BJC_S600_modeuses_Envelope[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_high3", "600x600dpi_std3", NULL }; static const char* canon_BJC_S600_modeuses_TShirt[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_tshirt", NULL }; static const char* canon_BJC_S600_modeuses_Transparency[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh5", "600x600dpi_photohigh4", "600x600dpi_photo4", @@ -1219,64 +1243,88 @@ DECLARE_MODEUSES(canon_BJC_S750); /* ----------------------------------- Canon BJC S800 ----------------------------------- */ static const char* canon_BJC_S800_modeuses_plain[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_high2", - "600x600dpi_high", - "600x600dpi", +/* "600x600dpi_high",*/ +/* "600x600dpi",*/ "600x600dpi_draft", /* Mono */ "600x600dpi_highmono2", - "600x600dpi_highmono", - "600x600dpi_mono", +/* "600x600dpi_highmono",*/ +/* "600x600dpi_mono",*/ "600x600dpi_draftmono", NULL - }; +}; static const char* canon_BJC_S800_modeuses_PPpro[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh4", - "600x600dpi_photohigh", +/* "600x600dpi_photohigh",*/ NULL }; static const char* canon_BJC_S800_modeuses_PPplus[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh2", - "600x600dpi_photo",/*untested*/ +/* "600x600dpi_photo",*/ /*untested*/ NULL }; static const char* canon_BJC_S800_modeuses_PPgloss[] = { - "600x600dpi_photohigh3", - "600x600dpi_photohigh", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh3",*/ +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_S800_modeuses_glossFilm[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh2", - "600x600dpi_photo",/*untested*/ +/* "600x600dpi_photo",*/ /*untested*/ NULL }; static const char* canon_BJC_S800_modeuses_PPother[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh4", - "600x600dpi_photohigh", - "600x600dpi_photo", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo",*/ "600x600dpi_photodraft", /* Mono */ "600x600dpi_photomonohigh2", - "600x600dpi_photomonohigh", - "600x600dpi_photomono", +/* "600x600dpi_photomonohigh",*/ +/* "600x600dpi_photomono",*/ "600x600dpi_photomonodraft", NULL }; static const char* canon_BJC_S800_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_S800_modeuses_Transparency[] = { - "600x600dpi_std2", - "600x600dpi_draft2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std2",*/ +/* "600x600dpi_draft2",*/ NULL }; @@ -1302,51 +1350,72 @@ DECLARE_MODEUSES(canon_BJC_S800); /* ----------------------------------- Canon BJC S820 ----------------------------------- */ static const char* canon_BJC_S820_modeuses_plain[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_high2", - "600x600dpi_high",/*untested*/ - "600x600dpi", +/* "600x600dpi_high",*/ /*untested*/ +/* "600x600dpi",*/ "600x600dpi_draft", /* Mono */ "600x600dpi_highmono2",/*untested*/ - "600x600dpi_highmono",/*untested*/ - "600x600dpi_mono",/*untested*/ +/* "600x600dpi_highmono",*/ /*untested*/ +/* "600x600dpi_mono",*/ /*untested*/ "600x600dpi_draftmono", NULL - }; +}; static const char* canon_BJC_S820_modeuses_PPpro[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh4", - "600x600dpi_photohigh", +/* "600x600dpi_photohigh",*/ NULL }; static const char* canon_BJC_S820_modeuses_PPplus[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh2", - "600x600dpi_photo",/*untested*/ +/* "600x600dpi_photo",*/ /*untested*/ NULL }; static const char* canon_BJC_S820_modeuses_PPgloss[] = { - "600x600dpi_photohigh3", - "600x600dpi_photohigh", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh3",*/ +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_S820_modeuses_glossFilm[] = { + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", "600x600dpi_photohigh2", - "600x600dpi_photo",/*untested*/ +/* "600x600dpi_photo",*/ /*untested*/ NULL }; static const char* canon_BJC_S820_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_S820_modeuses_Transparency[] = { - "600x600dpi_std2", - "600x600dpi_draft2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std2",*/ +/* "600x600dpi_draft2",*/ NULL }; @@ -1372,56 +1441,80 @@ DECLARE_MODEUSES(canon_BJC_S820); /* ----------------------------------- Canon BJC S900 ----------------------------------- */ static const char* canon_BJC_S900_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high",*/ +/* "600x600dpi",*/ "600x600dpi_draft", /* Mono */ "600x600dpi_highmono2",/*untested*/ - "600x600dpi_highmono",/*untested*/ - "600x600dpi_mono",/*untested*/ +/* "600x600dpi_highmono",*/ /*untested*/ +/* "600x600dpi_mono",*/ /*untested*/ "600x600dpi_draftmono", NULL - }; +}; static const char* canon_BJC_S900_modeuses_PPpro[] = { - "600x600dpi_photohigh5", - "600x600dpi_photohigh", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh5",*/ +/* "600x600dpi_photohigh",*/ NULL }; static const char* canon_BJC_S900_modeuses_PPplus[] = { - "600x600dpi_photohigh3", - "600x600dpi_photo2",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh3",*/ +/* "600x600dpi_photo2",*/ /*untested*/ NULL }; static const char* canon_BJC_S900_modeuses_PPgloss[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_S900_modeuses_coated[] = { - "600x600dpi_photohigh4", - "600x600dpi_photohigh", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh4",*/ +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_S900_modeuses_glossFilm[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo",*/ /*untested*/ NULL }; static const char* canon_BJC_S900_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_S900_modeuses_Transparency[] = { - "600x600dpi_std2", - "600x600dpi_draft2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std2",*/ +/* "600x600dpi_draft2",*/ NULL }; @@ -2227,68 +2320,98 @@ DECLARE_MODEUSES(canon_BJC_i900); /* ----------------------------------- Canon i950 ----------------------------------- */ static const char* canon_BJC_i950_modeuses_plain[] = { - "600x600dpi_high2", - "600x600dpi_high"/*untested*/, - "600x600dpi", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high2",*/ +/* "600x600dpi_high",*/ /*untested*/ +/* "600x600dpi",*/ "600x600dpi_draft",/*untested*/ "600x600dpi_draft2", "600x600dpi_draftmono",/* mono --- untested*/ "600x600dpi_draftmono2",/* mono */ NULL - }; +}; static const char* canon_BJC_i950_modeuses_PPpro[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo3",*/ NULL }; static const char* canon_BJC_i950_modeuses_PPplus[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ /*untested*/ NULL }; static const char* canon_BJC_i950_modeuses_PPgloss[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i950_modeuses_PPmatte[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i950_modeuses_coated[] = { - "600x600dpi_photohigh", - "600x600dpi_photo3", - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo3",*/ +/* "600x600dpi_photo",*/ NULL }; static const char* canon_BJC_i950_modeuses_GlossyFilm[] = { - "600x600dpi_photohigh", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ NULL }; static const char* canon_BJC_i950_modeuses_inkjetHagaki[] = { - "600x600dpi_photohigh4", - "600x600dpi_photo4", - "600x600dpi_photodraft4", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh4",*/ +/* "600x600dpi_photo4",*/ +/* "600x600dpi_photodraft4",*/ NULL }; static const char* canon_BJC_i950_modeuses_disc[] = { - "600x600dpi_photo5", - "600x600dpi_photodraft5", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo5",*/ +/* "600x600dpi_photodraft5",*/ NULL }; static const char* canon_BJC_i950_modeuses_Hagaki[] = { - "600x600dpi_high4", - "600x600dpi_high5",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high4",*/ +/* "600x600dpi_high5",*/ /*untested*/ "600x600dpi_std4",/*untested*/ "600x600dpi_std5", "600x600dpi_draftmono4",/* mono---untested*/ @@ -2297,19 +2420,28 @@ static const char* canon_BJC_i950_modeuses_Hagaki[] = { }; static const char* canon_BJC_i950_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_i950_modeuses_Transparency[] = { - "600x600dpi_std3", - "600x600dpi_draft3", - "600x600dpi_draft4", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std3",*/ +/* "600x600dpi_draft3",*/ +/* "600x600dpi_draft4",*/ NULL }; static const char* canon_BJC_i950_modeuses_PPother[] = { - "600x600dpi_photo2",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo2",*/ /*untested*/ NULL }; @@ -2336,65 +2468,91 @@ DECLARE_MODEUSES(canon_BJC_i950); /* ----------------------------------- Canon i960 ----------------------------------- */ static const char* canon_BJC_i960_modeuses_plain[] = { - "600x600dpi_high2", - "600x600dpi_high3",/* duplex */ - "600x600dpi_high", - "600x600dpi",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high2",*/ +/* "600x600dpi_high3",*/ /* duplex */ +/* "600x600dpi_high",*/ +/* "600x600dpi",*/ /*untested*/ "600x600dpi_draft", "600x600dpi_draft2", "600x600dpi_draftmono",/* mono */ "600x600dpi_draftmono2",/* mono */ NULL - }; +}; static const char* canon_BJC_i960_modeuses_PPpro[] = { - "600x600dpi_photohigh", - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo",*/ NULL }; static const char* canon_BJC_i960_modeuses_PPplus[] = { - "600x600dpi_photohigh", - "600x600dpi_photo5",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo5",*/ /*untested*/ NULL }; - static const char* canon_BJC_i960_modeuses_PPgloss[] = { - "600x600dpi_photohigh", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i960_modeuses_PPmatte[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i960_modeuses_coated[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo", - "600x600dpi_photo5", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo",*/ +/* "600x600dpi_photo5",*/ NULL }; static const char* canon_BJC_i960_modeuses_inkjetHagaki[] = { - "600x600dpi_photohigh3", - "600x600dpi_photo3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh3",*/ +/* "600x600dpi_photo3",*/ NULL }; static const char* canon_BJC_i960_modeuses_disc[] = { - "600x600dpi_photo4", - "600x600dpi_photodraft4", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo4",*/ +/* "600x600dpi_photodraft4",*/ NULL }; static const char* canon_BJC_i960_modeuses_Hagaki[] = { - "600x600dpi_high4", - "600x600dpi_high5", - "600x600dpi_std4",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high4",*/ +/* "600x600dpi_high5",*/ +/* "600x600dpi_std4",*/ /*untested*/ "600x600dpi_std5", "600x600dpi_draft5", "600x600dpi_draftmono4", @@ -2403,19 +2561,28 @@ static const char* canon_BJC_i960_modeuses_Hagaki[] = { }; static const char* canon_BJC_i960_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_i960_modeuses_Transparency[] = { - "600x600dpi_std3", - "600x600dpi_draft3", - "600x600dpi_draft4",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std3",*/ +/* "600x600dpi_draft3",*/ +/* "600x600dpi_draft4",*/ /*untested*/ NULL }; static const char* canon_BJC_i960_modeuses_PPother[] = { - "600x600dpi_photo2",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo2",*/ /*untested*/ NULL }; @@ -2441,65 +2608,92 @@ DECLARE_MODEUSES(canon_BJC_i960); /* ----------------------------------- Canon i990 ----------------------------------- */ static const char* canon_BJC_i990_modeuses_plain[] = { - "600x600dpi_high2", - "600x600dpi_high3", /*duplex*/ - "600x600dpi", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high2",*/ +/* "600x600dpi_high3",*/ /*duplex*/ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", "600x600dpi_draftmono",/*mono*/ "600x600dpi_draftmono2",/*mono*/ NULL - }; +}; /* most photo modes use R ink and therefore unsupported */ /* unsupported */ static const char* canon_BJC_i990_modeuses_PPpro[] = { - "600x600dpi_photohigh",/*stand-in*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ NULL }; /* highest mode not yet supported */ static const char* canon_BJC_i990_modeuses_PPplus[] = { - "600x600dpi_photohigh",/*stand-in*/ - "600x600dpi_photodraft", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ +/* "600x600dpi_photodraft",*/ NULL }; /* unsupported */ static const char* canon_BJC_i990_modeuses_PPmatte[] = { - "600x600dpi_photohigh",/*stand-in*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ NULL }; /* highest mode not yet supported */ static const char* canon_BJC_i990_modeuses_PPgloss[] = { - "600x600dpi_photohigh",/*stand-in*/ - "600x600dpi_photodraft2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ +/* "600x600dpi_photodraft2",*/ NULL }; static const char* canon_BJC_i990_modeuses_coated[] = { - "600x600dpi_photohigh", - "600x600dpi_photomed", - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photomed",*/ +/* "600x600dpi_photo",*/ NULL }; /* high mode not yet supported */ static const char* canon_BJC_i990_modeuses_inkjetHagaki[] = { - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i990_modeuses_disc[] = { - "600x600dpi_photo3", - "600x600dpi_photodraft3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo3",*/ +/* "600x600dpi_photodraft3",*/ NULL }; static const char* canon_BJC_i990_modeuses_Hagaki[] = { - "600x600dpi_high4", - "600x600dpi_std4", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high4",*/ +/* "600x600dpi_std4",*/ "600x600dpi_draft5", "600x600dpi_draft4", "600x600dpi_draftmono4",/*mono*/ @@ -2508,19 +2702,28 @@ static const char* canon_BJC_i990_modeuses_Hagaki[] = { }; static const char* canon_BJC_i990_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_i990_modeuses_Transparency[] = { - "600x600dpi_std3", - "600x600dpi_draft3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std3",*/ +/* "600x600dpi_draft3",*/ NULL }; /* untested */ static const char* canon_BJC_i990_modeuses_PPother[] = { - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo",*/ NULL }; @@ -2629,72 +2832,102 @@ DECLARE_MODEUSES(canon_BJC_i6100); /* ----------------------------------- Canon i9100 ----------------------------------- */ static const char* canon_BJC_i9100_modeuses_plain[] = { - "600x600dpi_high2", - "600x600dpi_high", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high2",*/ +/* "600x600dpi_high",*/ "600x600dpi", "600x600dpi_draft",/*untested*/ "600x600dpi_mono",/*untested*/ "600x600dpi_draftmono", NULL - }; +}; static const char* canon_BJC_i9100_modeuses_PPpro[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i9100_modeuses_PPplus[] = { - "600x600dpi_photohigh2", - "600x600dpi_photo2",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photo2",*/ /*untested*/ NULL }; static const char* canon_BJC_i9100_modeuses_PPmatte[] = { - "600x600dpi_photohigh", - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo",*/ NULL }; static const char* canon_BJC_i9100_modeuses_coated[] = { - "600x600dpi_photohigh", - "600x600dpi_photo2", - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo2",*/ +/* "600x600dpi_photo",*/ NULL }; static const char* canon_BJC_i9100_modeuses_inkjetHagaki[] = { - "600x600dpi_photohigh4", - "600x600dpi_photo4", - "600x600dpi_photodraft4", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh4",*/ +/* "600x600dpi_photo4",*/ +/* "600x600dpi_photodraft4",*/ NULL }; static const char* canon_BJC_i9100_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ "600x600dpi_draft3", "600x600dpi_draftmono2", NULL }; static const char* canon_BJC_i9100_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_i9100_modeuses_Transparency[] = { - "600x600dpi_photohigh3", - "600x600dpi_photo3",/*untested*/ - "600x600dpi_photodraft3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh3",*/ +/* "600x600dpi_photo3",*/ /*untested*/ +/* "600x600dpi_photodraft3",*/ NULL }; static const char* canon_BJC_i9100_modeuses_PPother[] = { - "600x600dpi_photo2",/*untested*/ - "600x600dpi_photo",/*untested*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo2",*/ /*untested*/ +/* "600x600dpi_photo",*/ /*untested*/ NULL - }; +}; static const canon_modeuse_t canon_BJC_i9100_modeuses[] = { { "Plain", canon_BJC_i9100_modeuses_plain, 0 }, @@ -2716,64 +2949,91 @@ DECLARE_MODEUSES(canon_BJC_i9100); /* ----------------------------------- Canon i9900 ----------------------------------- */ static const char* canon_BJC_i9900_modeuses_plain[] = { - "600x600dpi_high2", - "600x600dpi", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high2",*/ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", "600x600dpi_draftmono",/*mono*/ "600x600dpi_draftmono2",/*mono*/ NULL - }; +}; /* most photo modes use R,G inks and therefore unsupported */ /* unsupported */ static const char* canon_BJC_i9900_modeuses_PPpro[] = { - "600x600dpi_photohigh",/*stand-in*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ NULL }; /* highest mode not yet supported */ static const char* canon_BJC_i9900_modeuses_PPplus[] = { - "600x600dpi_photohigh",/*stand-in*/ - "600x600dpi_photodraft", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ +/* "600x600dpi_photodraft",*/ NULL }; /* unsupported */ static const char* canon_BJC_i9900_modeuses_PPmatte[] = { - "600x600dpi_photohigh",/*stand-in*/ + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ NULL }; /* highest mode not yet supported */ static const char* canon_BJC_i9900_modeuses_PPgloss[] = { - "600x600dpi_photohigh",/*stand-in*/ - "600x600dpi_photodraft", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ /*stand-in*/ +/* "600x600dpi_photodraft",*/ NULL }; static const char* canon_BJC_i9900_modeuses_coated[] = { - "600x600dpi_photohigh", - "600x600dpi_photomed", - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photomed",*/ +/* "600x600dpi_photo",*/ NULL }; /* high mode not yet supported */ static const char* canon_BJC_i9900_modeuses_inkjetHagaki[] = { - "600x600dpi_photo2", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo2",*/ NULL }; static const char* canon_BJC_i9900_modeuses_disc[] = { - "600x600dpi_photo3", - "600x600dpi_photodraft3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo3",*/ +/* "600x600dpi_photodraft3",*/ NULL }; static const char* canon_BJC_i9900_modeuses_Hagaki[] = { - "600x600dpi_high4", - "600x600dpi_std4", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_high4",*/ +/* "600x600dpi_std4",*/ "600x600dpi_draft5", "600x600dpi_draft4", "600x600dpi_draftmono4",/*mono*/ @@ -2782,20 +3042,29 @@ static const char* canon_BJC_i9900_modeuses_Hagaki[] = { }; static const char* canon_BJC_i9900_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_tshirt",*/ NULL }; static const char* canon_BJC_i9900_modeuses_Transparency[] = { - "600x600dpi_std3", - "600x600dpi_draft3", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_std3",*/ +/* "600x600dpi_draft3",*/ NULL }; static const char* canon_BJC_i9900_modeuses_PPother[] = { - "600x600dpi_photo", + "1200x1200dpi_legacy", + "600x600dpi_legacy", + "300x300dpi_legacy", +/* "600x600dpi_photo",*/ NULL - }; +}; static const canon_modeuse_t canon_BJC_i9900_modeuses[] = { { "Plain", canon_BJC_i9900_modeuses_plain, 0 }, @@ -2949,6 +3218,73 @@ static const canon_modeuse_t canon_PIXMA_iP100_modeuses[] = { DECLARE_MODEUSES(canon_PIXMA_iP100); +/* ----------------------------------- Canon iP110 ----------------------------------- */ +static const char* canon_PIXMA_iP110_modeuses_plain[] = { + "600x600dpi_high2", + "600x600dpi_high", /* mono */ + "600x600dpi", + "600x600dpi_draft", + "300x300dpi", + "300x300dpi_draft", + NULL +}; + +static const char* canon_PIXMA_iP110_modeuses_PPpro[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_iP110_modeuses_PPplus[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_iP110_modeuses_PPmatte[] = { + "600x600dpi_photohigh", + "600x600dpi_photo2", + NULL +}; + +static const char* canon_PIXMA_iP110_modeuses_Hagaki[] = { + "600x600dpi_high4", + "600x600dpi_high3", /* mono */ + "600x600dpi_std2", + NULL +}; + +static const char* canon_PIXMA_iP110_modeuses_TShirt[] = { + "600x600dpi_tshirt", + NULL +}; + +static const char* canon_PIXMA_iP110_modeuses_PPother[] = { + "600x600dpi_photohigh", + NULL + }; + +static const canon_modeuse_t canon_PIXMA_iP110_modeuses[] = { + { "Plain", canon_PIXMA_iP110_modeuses_plain, 0 },/*INKSET_COLOR_SUPPORT | INKSET_COLOR_MODEREPL*/ + { "PhotoPlusGloss2", canon_PIXMA_iP110_modeuses_PPpro, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_PIXMA_iP110_modeuses_PPplus, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_PIXMA_iP110_modeuses_PPplus, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss", canon_PIXMA_iP110_modeuses_PPplus, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard",canon_PIXMA_iP110_modeuses_PPplus, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_PIXMA_iP110_modeuses_PPmatte, INKSET_COLOR_SUPPORT }, + { "Coated", canon_PIXMA_iP110_modeuses_PPmatte, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_PIXMA_iP110_modeuses_Hagaki, 0 },/*INKSET_COLOR_SUPPORT*/ + { "InkJetHagaki", canon_PIXMA_iP110_modeuses_PPplus, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK", canon_PIXMA_iP110_modeuses_PPplus, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_PIXMA_iP110_modeuses_Hagaki, 0 },/*INKSET_COLOR_SUPPORT*/ + { "TShirt", canon_PIXMA_iP110_modeuses_TShirt, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_PIXMA_iP110_modeuses_Hagaki, 0 },/*INKSET_COLOR_SUPPORT*/ + { "PhotopaperOther", canon_PIXMA_iP110_modeuses_PPother, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_PIXMA_iP110); + /* ----------------------------------- Canon iP2000 ----------------------------------- */ static const char* canon_PIXMA_iP2000_modeuses_plain[] = { "600x600dpi_high2", @@ -4635,9 +4971,9 @@ DECLARE_MODEUSES(canon_PIXMA_iP6700); /* ----------------------------------- Canon iP7100 ----------------------------------- */ static const char* canon_PIXMA_iP7100_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi_high2",/* duplex */ - "600x600dpi", +/* "600x600dpi_high",*/ +/* "600x600dpi_high2",*/ /* duplex */ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ @@ -4646,87 +4982,86 @@ static const char* canon_PIXMA_iP7100_modeuses_plain[] = { NULL }; -static const char* canon_PIXMA_iP7100_modeuses_PPpro[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_PPpro[] = { "600x600dpi_photohigh", "600x600dpi_photo", NULL -}; - +};*/ -static const char* canon_PIXMA_iP7100_modeuses_PPplus[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_PPplus[] = { "600x600dpi_photohigh", "600x600dpi_photo", NULL -}; +};*/ -static const char* canon_PIXMA_iP7100_modeuses_PPplusDS[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_PPplusDS[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_PIXMA_iP7100_modeuses_PPmatte[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_PPmatte[] = { "600x600dpi_photohigh2", "600x600dpi_photo", NULL -}; +};*/ static const char* canon_PIXMA_iP7100_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3", +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ "600x600dpi_draft3", /* Mono */ "600x600dpi_mono", NULL }; -static const char* canon_PIXMA_iP7100_modeuses_FA[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_FA[] = { "600x600dpi_photohigh3", NULL -}; +};*/ -static const char* canon_PIXMA_iP7100_modeuses_disc[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_disc[] = { "600x600dpi_photo", "600x600dpi_photodraft", NULL -}; +};*/ -static const char* canon_PIXMA_iP7100_modeuses_TShirt[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_TShirt[] = { "600x600dpi", NULL -}; +};*/ -static const char* canon_PIXMA_iP7100_modeuses_Transparency[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_Transparency[] = { "600x600dpi_std4", "600x600dpi_draft4", NULL -}; +};*/ /*untested*/ -static const char* canon_PIXMA_iP7100_modeuses_PPother[] = { +/*static const char* canon_PIXMA_iP7100_modeuses_PPother[] = { "600x600dpi_photo", "600x600dpi_photodraft", NULL - }; + };*/ static const canon_modeuse_t canon_PIXMA_iP7100_modeuses[] = { { "Plain", canon_PIXMA_iP7100_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, - { "GlossyPro", canon_PIXMA_iP7100_modeuses_PPpro, 0 }, - { "PhotopaperPlus", canon_PIXMA_iP7100_modeuses_PPplus, 0 }, - { "PhotopaperPlusDouble", canon_PIXMA_iP7100_modeuses_PPplusDS, 0 }, - { "PhotopaperMatte", canon_PIXMA_iP7100_modeuses_PPmatte, 0 }, - { "GlossyPaper", canon_PIXMA_iP7100_modeuses_PPplusDS, 0 }, - { "Coated", canon_PIXMA_iP7100_modeuses_PPmatte, 0 }, - { "InkJetHagaki", canon_PIXMA_iP7100_modeuses_PPplus, 0 }, +/* { "GlossyPro", canon_PIXMA_iP7100_modeuses_PPpro, 0 },*/ +/* { "PhotopaperPlus", canon_PIXMA_iP7100_modeuses_PPplus, 0 },*/ +/* { "PhotopaperPlusDouble", canon_PIXMA_iP7100_modeuses_PPplusDS, 0 },*/ +/* { "PhotopaperMatte", canon_PIXMA_iP7100_modeuses_PPmatte, 0 },*/ +/* { "GlossyPaper", canon_PIXMA_iP7100_modeuses_PPplusDS, 0 },*/ +/* { "Coated", canon_PIXMA_iP7100_modeuses_PPmatte, 0 },*/ +/* { "InkJetHagaki", canon_PIXMA_iP7100_modeuses_PPplus, 0 },*/ { "Hagaki", canon_PIXMA_iP7100_modeuses_Hagaki, DUPLEX_SUPPORT }, - { "FineArtPhotoRag", canon_PIXMA_iP7100_modeuses_FA, 0 }, - { "FineArtOther", canon_PIXMA_iP7100_modeuses_FA, 0 }, - { "DiscCompat", canon_PIXMA_iP7100_modeuses_disc, 0 }, - { "DiscOthers", canon_PIXMA_iP7100_modeuses_disc, 0 }, - { "TShirt", canon_PIXMA_iP7100_modeuses_TShirt, 0 }, +/* { "FineArtPhotoRag", canon_PIXMA_iP7100_modeuses_FA, 0 },*/ +/* { "FineArtOther", canon_PIXMA_iP7100_modeuses_FA, 0 },*/ +/* { "DiscCompat", canon_PIXMA_iP7100_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_PIXMA_iP7100_modeuses_disc, 0 },*/ +/* { "TShirt", canon_PIXMA_iP7100_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_iP7100_modeuses_Hagaki, 0 }, - { "Transparency", canon_PIXMA_iP7100_modeuses_Transparency, 0 }, - { "PhotopaperOther", canon_PIXMA_iP7100_modeuses_PPother, 0 },/*untested*/ +/* { "Transparency", canon_PIXMA_iP7100_modeuses_Transparency, 0 },*/ +/* { "PhotopaperOther", canon_PIXMA_iP7100_modeuses_PPother, 0 },*/ /*untested*/ }; DECLARE_MODEUSES(canon_PIXMA_iP7100); @@ -4899,9 +5234,9 @@ DECLARE_MODEUSES(canon_PIXMA_iP7500); /* ----------------------------------- Canon iP8100 ----------------------------------- */ static const char* canon_PIXMA_iP8100_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi_high2",/* duplex */ - "600x600dpi", +/* "600x600dpi_high",*/ +/* "600x600dpi_high2",*/ /* duplex */ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ @@ -4911,199 +5246,204 @@ static const char* canon_PIXMA_iP8100_modeuses_plain[] = { }; /* no support for modes using R yet */ -static const char* canon_PIXMA_iP8100_modeuses_PPpro[] = { - "600x600dpi_photohigh",/*untested*/ - "600x600dpi_photo", +/*static const char* canon_PIXMA_iP8100_modeuses_PPpro[] = { + "600x600dpi_photohigh",*/ /*untested*/ +/* "600x600dpi_photo", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_PPplus[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_PPplus[] = { "600x600dpi_photohigh", "600x600dpi_photo", "600x600dpi_photodraft2", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_PPplusDS[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_PPplusDS[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_PPmatte[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_PPmatte[] = { "600x600dpi_photohigh2", "600x600dpi_photo", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_PPgloss[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_PPgloss[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_inkjetHagaki[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_inkjetHagaki[] = { "600x600dpi_photohigh", "600x600dpi_photo", NULL -}; +};*/ static const char* canon_PIXMA_iP8100_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3", +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ "600x600dpi_draft3", /* Mono */ "600x600dpi_mono", NULL }; -static const char* canon_PIXMA_iP8100_modeuses_FA[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_FA[] = { "600x600dpi_photohigh3", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_disc[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_disc[] = { "600x600dpi_photo", "600x600dpi_photodraft", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_TShirt[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_TShirt[] = { "600x600dpi", NULL -}; +};*/ -static const char* canon_PIXMA_iP8100_modeuses_Transparency[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_Transparency[] = { "600x600dpi_std4", "600x600dpi_draft4", NULL -}; +};*/ /*untested*/ -static const char* canon_PIXMA_iP8100_modeuses_PPother[] = { +/*static const char* canon_PIXMA_iP8100_modeuses_PPother[] = { "600x600dpi_photo", "600x600dpi_photodraft2", NULL - }; + };*/ static const canon_modeuse_t canon_PIXMA_iP8100_modeuses[] = { { "Plain", canon_PIXMA_iP8100_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, - { "GlossyPro", canon_PIXMA_iP8100_modeuses_PPpro, 0 }, - { "PhotopaperPlus", canon_PIXMA_iP8100_modeuses_PPplus, 0 }, - { "PhotopaperPlusDouble", canon_PIXMA_iP8100_modeuses_PPplusDS, 0 }, - { "PhotopaperMatte", canon_PIXMA_iP8100_modeuses_PPmatte, 0 }, - { "GlossyPaper", canon_PIXMA_iP8100_modeuses_PPgloss, 0 }, - { "Coated", canon_PIXMA_iP8100_modeuses_PPmatte, 0 }, - { "InkJetHagaki", canon_PIXMA_iP8100_modeuses_inkjetHagaki, 0 }, +/* { "GlossyPro", canon_PIXMA_iP8100_modeuses_PPpro, 0 },*/ +/* { "PhotopaperPlus", canon_PIXMA_iP8100_modeuses_PPplus, 0 },*/ +/* { "PhotopaperPlusDouble", canon_PIXMA_iP8100_modeuses_PPplusDS, 0 },*/ +/* { "PhotopaperMatte", canon_PIXMA_iP8100_modeuses_PPmatte, 0 },*/ +/* { "GlossyPaper", canon_PIXMA_iP8100_modeuses_PPgloss, 0 },*/ +/* { "Coated", canon_PIXMA_iP8100_modeuses_PPmatte, 0 },*/ +/* { "InkJetHagaki", canon_PIXMA_iP8100_modeuses_inkjetHagaki, 0 },*/ { "Hagaki", canon_PIXMA_iP8100_modeuses_Hagaki, DUPLEX_SUPPORT }, - { "FineArtPhotoRag", canon_PIXMA_iP8100_modeuses_FA, 0 }, - { "FineArtOther", canon_PIXMA_iP8100_modeuses_FA, 0 }, - { "DiscCompat", canon_PIXMA_iP8100_modeuses_disc, 0 }, - { "DiscOthers", canon_PIXMA_iP8100_modeuses_disc, 0 }, - { "TShirt", canon_PIXMA_iP8100_modeuses_TShirt, 0 }, +/* { "FineArtPhotoRag", canon_PIXMA_iP8100_modeuses_FA, 0 },*/ +/* { "FineArtOther", canon_PIXMA_iP8100_modeuses_FA, 0 },*/ +/* { "DiscCompat", canon_PIXMA_iP8100_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_PIXMA_iP8100_modeuses_disc, 0 },*/ +/* { "TShirt", canon_PIXMA_iP8100_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_iP8100_modeuses_Hagaki, 0 }, - { "Transparency", canon_PIXMA_iP8100_modeuses_Transparency, 0 }, - { "PhotopaperOther", canon_PIXMA_iP8100_modeuses_PPother, 0 },/*untested*/ +/* { "Transparency", canon_PIXMA_iP8100_modeuses_Transparency, 0 },*/ +/* { "PhotopaperOther", canon_PIXMA_iP8100_modeuses_PPother, 0 },*/ /*untested*/ }; DECLARE_MODEUSES(canon_PIXMA_iP8100); /* ----------------------------------- Canon iP8500 ----------------------------------- */ static const char* canon_PIXMA_iP8500_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi", - "300x300dpi", - "300x300dpi_draft", +/* "600x600dpi_high",*/ +/* "600x600dpi_high2",*/ +/* "600x600dpi",*/ + "600x600dpi_draft", + "600x600dpi_draft2", + "600x600dpi_mono", + "600x600dpi_draftmono", NULL }; /* modes not yet supported */ -static const char* canon_PIXMA_iP8500_modeuses_PPpro[] = { - "600x600dpi_photodraft",/*temporary stand-in: untested*/ - NULL -}; +/*static const char* canon_PIXMA_iP8500_modeuses_PPpro[] = { + "600x600dpi_photodraft", */ /*temporary stand-in: untested*/ +/* NULL +};*/ /* most modes unsupported */ -static const char* canon_PIXMA_iP8500_modeuses_PPplus[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_PPplus[] = { "600x600dpi_photodraft", NULL -}; +};*/ /* most modes unsupported */ -static const char* canon_PIXMA_iP8500_modeuses_PPplusDS[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_PPplusDS[] = { "600x600dpi_photodraft2", NULL -}; +};*/ -static const char* canon_PIXMA_iP8500_modeuses_PPhires[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_PPhires[] = { "600x600dpi_photohigh", "600x600dpi_photo", NULL -}; +};*/ /* US driver does not support this media: untested */ -static const char* canon_PIXMA_iP8500_modeuses_inkjetHagaki[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_inkjetHagaki[] = { "600x600dpi_photohigh", "600x600dpi_photo", NULL -}; +};*/ /* US driver does not support this media */ static const char* canon_PIXMA_iP8500_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3", +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ "600x600dpi_draft3", + "600x600dpi_mono", + "600x600dpi_draftmono", NULL }; -static const char* canon_PIXMA_iP8500_modeuses_disc[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_disc[] = { "600x600dpi_photo3", "600x600dpi_photodraft3", NULL -}; +};*/ -static const char* canon_PIXMA_iP8500_modeuses_TShirt[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_TShirt[] = { "600x600dpi_tshirt", NULL -}; +};*/ -static const char* canon_PIXMA_iP8500_modeuses_Transparency[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_Transparency[] = { "600x600dpi_photo4", "600x600dpi_photodraft4", NULL -}; +};*/ -static const char* canon_PIXMA_iP8500_modeuses_PPother[] = { +/*static const char* canon_PIXMA_iP8500_modeuses_PPother[] = { "600x600dpi_photo3", NULL -}; +};*/ static const canon_modeuse_t canon_PIXMA_iP8500_modeuses[] = { { "Plain", canon_PIXMA_iP8500_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, - { "GlossyPro", canon_PIXMA_iP8500_modeuses_PPpro, 0 },/*unsupported*/ - { "PhotopaperPlus", canon_PIXMA_iP8500_modeuses_PPplus, 0 }, - { "PhotopaperPlusDouble", canon_PIXMA_iP8500_modeuses_PPplusDS, 0 }, - { "PhotopaperMatte", canon_PIXMA_iP8500_modeuses_PPpro, 0 },/*unsupported*/ - { "GlossyPaper", canon_PIXMA_iP8500_modeuses_PPplusDS, 0 }, - { "Coated", canon_PIXMA_iP8500_modeuses_PPhires, 0 }, - { "InkJetHagaki", canon_PIXMA_iP8500_modeuses_inkjetHagaki, 0 },/*untested*/ +/* { "GlossyPro", canon_PIXMA_iP8500_modeuses_PPpro, 0 },*/ /*unsupported*/ +/* { "PhotopaperPlus", canon_PIXMA_iP8500_modeuses_PPplus, 0 },*/ +/* { "PhotopaperPlusDouble", canon_PIXMA_iP8500_modeuses_PPplusDS, 0 },*/ +/* { "PhotopaperMatte", canon_PIXMA_iP8500_modeuses_PPpro, 0 },*/ /*unsupported*/ +/* { "GlossyPaper", canon_PIXMA_iP8500_modeuses_PPplusDS, 0 },*/ +/* { "Coated", canon_PIXMA_iP8500_modeuses_PPhires, 0 },*/ +/* { "InkJetHagaki", canon_PIXMA_iP8500_modeuses_inkjetHagaki, 0 },*/ /*untested*/ { "Hagaki", canon_PIXMA_iP8500_modeuses_Hagaki, DUPLEX_SUPPORT },/*untested*/ - { "DiscCompat", canon_PIXMA_iP8500_modeuses_disc, 0 }, - { "DiscOthers", canon_PIXMA_iP8500_modeuses_disc, 0 }, - { "TShirt", canon_PIXMA_iP8500_modeuses_TShirt, 0 }, +/* { "DiscCompat", canon_PIXMA_iP8500_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_PIXMA_iP8500_modeuses_disc, 0 },*/ +/* { "TShirt", canon_PIXMA_iP8500_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_iP8500_modeuses_Hagaki, 0 }, - { "Transparency", canon_PIXMA_iP8500_modeuses_Transparency, 0 }, - { "PhotopaperOther", canon_PIXMA_iP8500_modeuses_PPother, 0 }, +/* { "Transparency", canon_PIXMA_iP8500_modeuses_Transparency, 0 },*/ +/* { "PhotopaperOther", canon_PIXMA_iP8500_modeuses_PPother, 0 },*/ }; DECLARE_MODEUSES(canon_PIXMA_iP8500); /* ----------------------------------- Canon iP8600 ----------------------------------- */ static const char* canon_PIXMA_iP8600_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi_high2",/* duplex */ - "600x600dpi", +/* "600x600dpi_high",*/ +/* "600x600dpi_high2",*/ /* duplex */ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ @@ -5113,103 +5453,196 @@ static const char* canon_PIXMA_iP8600_modeuses_plain[] = { }; /* modes using R not yet supported */ -static const char* canon_PIXMA_iP8600_modeuses_PPpro[] = { - "600x600dpi_photohigh2",/*untested*/ - "600x600dpi_photo", +/*static const char* canon_PIXMA_iP8600_modeuses_PPpro[] = { + "600x600dpi_photohigh2",*/ /*untested*/ +/* "600x600dpi_photo", NULL -}; +};*/ /* highest mode using R not supported yet */ -static const char* canon_PIXMA_iP8600_modeuses_PPplus[] = { - "600x600dpi_photohigh2",/*untested*/ - "600x600dpi_photo", +/*static const char* canon_PIXMA_iP8600_modeuses_PPplus[] = { + "600x600dpi_photohigh2",*/ /*untested*/ +/* "600x600dpi_photo", "600x600dpi_photodraft2", NULL -}; +};*/ -static const char* canon_PIXMA_iP8600_modeuses_PPplusDS[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_PPplusDS[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_PIXMA_iP8600_modeuses_PPmatte[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_PPmatte[] = { "600x600dpi_photohigh2", "600x600dpi_photo", NULL -}; +};*/ -static const char* canon_PIXMA_iP8600_modeuses_inkjetHagaki[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_inkjetHagaki[] = { "600x600dpi_photohigh3", "600x600dpi_photo3", NULL -}; +};*/ static const char* canon_PIXMA_iP8600_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3", +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ "600x600dpi_draft3", /* Mono */ "600x600dpi_mono", NULL }; -static const char* canon_PIXMA_iP8600_modeuses_FA[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_FA[] = { "600x600dpi_photohigh4", NULL -}; +};*/ -static const char* canon_PIXMA_iP8600_modeuses_disc[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_disc[] = { "600x600dpi_photo", "600x600dpi_photodraft", NULL -}; +};*/ -static const char* canon_PIXMA_iP8600_modeuses_TShirt[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_TShirt[] = { "600x600dpi", NULL -}; +};*/ -static const char* canon_PIXMA_iP8600_modeuses_Transparency[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_Transparency[] = { "600x600dpi_std4", "600x600dpi_draft4", NULL -}; +};*/ /*untested*/ -static const char* canon_PIXMA_iP8600_modeuses_PPother[] = { +/*static const char* canon_PIXMA_iP8600_modeuses_PPother[] = { "600x600dpi_photo", "600x600dpi_photodraft", NULL - }; +};*/ static const canon_modeuse_t canon_PIXMA_iP8600_modeuses[] = { { "Plain", canon_PIXMA_iP8600_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, - { "GlossyPro", canon_PIXMA_iP8600_modeuses_PPpro, 0 }, - { "PhotopaperPlus", canon_PIXMA_iP8600_modeuses_PPplus, 0 }, - { "PhotopaperPlusDouble", canon_PIXMA_iP8600_modeuses_PPplusDS, 0 }, - { "PhotopaperMatte", canon_PIXMA_iP8600_modeuses_PPmatte, 0 }, - { "GlossyPaper", canon_PIXMA_iP8600_modeuses_PPplusDS, 0 }, - { "Coated", canon_PIXMA_iP8600_modeuses_PPmatte, 0 }, - { "InkJetHagaki", canon_PIXMA_iP8600_modeuses_inkjetHagaki, 0 }, +/* { "GlossyPro", canon_PIXMA_iP8600_modeuses_PPpro, 0 },*/ +/* { "PhotopaperPlus", canon_PIXMA_iP8600_modeuses_PPplus, 0 },*/ +/* { "PhotopaperPlusDouble", canon_PIXMA_iP8600_modeuses_PPplusDS, 0 },*/ +/* { "PhotopaperMatte", canon_PIXMA_iP8600_modeuses_PPmatte, 0 },*/ +/* { "GlossyPaper", canon_PIXMA_iP8600_modeuses_PPplusDS, 0 },*/ +/* { "Coated", canon_PIXMA_iP8600_modeuses_PPmatte, 0 },*/ +/* { "InkJetHagaki", canon_PIXMA_iP8600_modeuses_inkjetHagaki, 0 },*/ { "Hagaki", canon_PIXMA_iP8600_modeuses_Hagaki, DUPLEX_SUPPORT }, - { "FineArtPhotoRag", canon_PIXMA_iP8600_modeuses_FA, 0 }, - { "FineArtOther", canon_PIXMA_iP8600_modeuses_FA, 0 }, - { "DiscCompat", canon_PIXMA_iP8600_modeuses_disc, 0 }, - { "DiscOthers", canon_PIXMA_iP8600_modeuses_disc, 0 }, - { "TShirt", canon_PIXMA_iP8600_modeuses_TShirt, 0 }, +/* { "FineArtPhotoRag", canon_PIXMA_iP8600_modeuses_FA, 0 },*/ +/* { "FineArtOther", canon_PIXMA_iP8600_modeuses_FA, 0 },*/ +/* { "DiscCompat", canon_PIXMA_iP8600_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_PIXMA_iP8600_modeuses_disc, 0 },*/ +/* { "TShirt", canon_PIXMA_iP8600_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_iP8600_modeuses_Hagaki, 0 }, - { "Transparency", canon_PIXMA_iP8600_modeuses_Transparency, 0 }, - { "PhotopaperOther", canon_PIXMA_iP8600_modeuses_PPother, 0 },/*untested*/ +/* { "Transparency", canon_PIXMA_iP8600_modeuses_Transparency, 0 },*/ +/* { "PhotopaperOther", canon_PIXMA_iP8600_modeuses_PPother, 0 },*/ /*untested*/ }; DECLARE_MODEUSES(canon_PIXMA_iP8600); -/* ----------------------------------- Canon iP9910 ----------------------------------- */ -static const char* canon_PIXMA_iP9910_modeuses_plain[] = { +/* ----------------------------------- Canon iP8700 ----------------------------------- */ +/* most photo modes use gray ink which is unsupported */ +/* TODO: mono modes for photo media */ +static const char* canon_PIXMA_iP8700_modeuses_plain[] = { "600x600dpi_high", - "600x600dpi_high2",/* duplex */ "600x600dpi", + "300x300dpi", + NULL + }; + +/* unsupported*/ +static const char* canon_PIXMA_iP8700_modeuses_PPplusG2[] = { + "600x600dpi_photohigh",/*stand-in*/ + "600x600dpi_photo",/*stand-in*/ + "600x600dpi_photo2",/*stand-in*/ + NULL +}; + +/* unsupported*/ +static const char* canon_PIXMA_iP8700_modeuses_PPpro[] = { + "600x600dpi_photohigh",/*stand-in*/ + "600x600dpi_photo",/*stand-in*/ + "600x600dpi_photo2",/*stand-in*/ + NULL +}; + +static const char* canon_PIXMA_iP8700_modeuses_PPmatte[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_iP8700_modeuses_Hagaki[] = { + "600x600dpi_high2", + "600x600dpi_std2", + NULL +}; + +static const char* canon_PIXMA_iP8700_modeuses_inkjetHagaki[] = { + "600x600dpi_photohigh4", + "600x600dpi_photo4", + NULL +}; + +static const char* canon_PIXMA_iP8700_modeuses_disc[] = { + "600x600dpi_photohigh3", + "600x600dpi_photo3", + NULL +}; + +static const char* canon_PIXMA_iP8700_modeuses_TShirt[] = { + "600x600dpi_photohigh", + NULL +}; + +/* unsupported*/ +static const char* canon_PIXMA_iP8700_modeuses_photorag[] = { + "600x600dpi_photohigh",/*stand-in*/ + "600x600dpi_photo",/*stand-in*/ + "600x600dpi_photo2",/*stand-in*/ + NULL +}; + +static const char* canon_PIXMA_iP8700_modeuses_PPother[] = { + "600x600dpi_photo2", + NULL +}; + +static const canon_modeuse_t canon_PIXMA_iP8700_modeuses[] = { + { "Plain", canon_PIXMA_iP8700_modeuses_plain, 0}, + { "PhotoPlusGloss2", canon_PIXMA_iP8700_modeuses_PPplusG2, 0 }, + { "PhotoProPlat", canon_PIXMA_iP8700_modeuses_PPpro, 0 }, + { "PhotoProLuster", canon_PIXMA_iP8700_modeuses_PPplusG2, 0 }, + { "PhotoProSemiGloss",canon_PIXMA_iP8700_modeuses_PPplusG2, 0 }, + { "GlossyPaperStandard",canon_PIXMA_iP8700_modeuses_PPplusG2, 0 }, + { "PhotopaperMatte", canon_PIXMA_iP8700_modeuses_PPmatte, 0 }, + { "GlossyPaper", canon_PIXMA_iP8700_modeuses_PPplusG2, 0 }, + { "Coated", canon_PIXMA_iP8700_modeuses_PPmatte, 0 }, + { "HagakiA", canon_PIXMA_iP8700_modeuses_Hagaki, 0 }, + { "InkJetHagaki", canon_PIXMA_iP8700_modeuses_inkjetHagaki, 0 }, + { "InkjetPhotoHagakiK",canon_PIXMA_iP8700_modeuses_PPplusG2, 0 }, + { "Hagaki", canon_PIXMA_iP8700_modeuses_Hagaki, 0 }, + { "DiscCompat", canon_PIXMA_iP8700_modeuses_disc, 0 }, + { "DiscOthers", canon_PIXMA_iP8700_modeuses_disc, 0 }, + { "TShirt", canon_PIXMA_iP8700_modeuses_TShirt, 0 }, + { "Envelope", canon_PIXMA_iP8700_modeuses_Hagaki, 0 }, + { "FineArtPhotoRag", canon_PIXMA_iP8700_modeuses_photorag, 0 },/*untested*/ + { "FineArtOther", canon_PIXMA_iP8700_modeuses_photorag, 0 }, + { "PhotopaperOther", canon_PIXMA_iP8700_modeuses_PPother, 0 }, +}; + +DECLARE_MODEUSES(canon_PIXMA_iP8700); + +/* ----------------------------------- Canon iP9910 ----------------------------------- */ +static const char* canon_PIXMA_iP9910_modeuses_plain[] = { +/* "600x600dpi_high",*/ +/* "600x600dpi_high2",*/ /*duplex*/ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ @@ -5219,92 +5652,92 @@ static const char* canon_PIXMA_iP9910_modeuses_plain[] = { }; /* highest mode using R not yet supported */ -static const char* canon_PIXMA_iP9910_modeuses_PPpro[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_PPpro[] = { "600x600dpi_photo", "600x600dpi_photo2", NULL -}; +};*/ /* highest mode using R not supported yet */ -static const char* canon_PIXMA_iP9910_modeuses_PPplus[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_PPplus[] = { "600x600dpi_photo2", "600x600dpi_photodraft2", NULL -}; +};*/ -static const char* canon_PIXMA_iP9910_modeuses_PPplusDS[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_PPplusDS[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_PIXMA_iP9910_modeuses_PPmatte[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_PPmatte[] = { "600x600dpi_photohigh2", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_PIXMA_iP9910_modeuses_inkjetHagaki[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_inkjetHagaki[] = { "600x600dpi_photohigh3", "600x600dpi_photo3", NULL -}; +};*/ static const char* canon_PIXMA_iP9910_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3", +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ "600x600dpi_draft3", /* Mono */ "600x600dpi_mono", NULL }; -static const char* canon_PIXMA_iP9910_modeuses_FA[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_FA[] = { "600x600dpi_photohigh4", NULL -}; +};*/ -static const char* canon_PIXMA_iP9910_modeuses_disc[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_disc[] = { "600x600dpi_photo2", "600x600dpi_photodraft", NULL -}; +};*/ -static const char* canon_PIXMA_iP9910_modeuses_TShirt[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_TShirt[] = { "600x600dpi", NULL -}; +};*/ -static const char* canon_PIXMA_iP9910_modeuses_Transparency[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_Transparency[] = { "600x600dpi_std4", "600x600dpi_draft4", NULL -}; +};*/ /*untested*/ -static const char* canon_PIXMA_iP9910_modeuses_PPother[] = { +/*static const char* canon_PIXMA_iP9910_modeuses_PPother[] = { "600x600dpi_photo2", NULL - }; +};*/ static const canon_modeuse_t canon_PIXMA_iP9910_modeuses[] = { { "Plain", canon_PIXMA_iP9910_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, - { "GlossyPro", canon_PIXMA_iP9910_modeuses_PPpro, 0 }, - { "PhotopaperPlus", canon_PIXMA_iP9910_modeuses_PPplus, 0 }, - { "PhotopaperPlusDouble", canon_PIXMA_iP9910_modeuses_PPplusDS, 0 }, - { "PhotopaperMatte", canon_PIXMA_iP9910_modeuses_PPmatte, 0 }, - { "GlossyPaper", canon_PIXMA_iP9910_modeuses_PPplusDS, 0 }, - { "Coated", canon_PIXMA_iP9910_modeuses_PPmatte, 0 }, - { "InkJetHagaki", canon_PIXMA_iP9910_modeuses_inkjetHagaki, 0 }, +/* { "GlossyPro", canon_PIXMA_iP9910_modeuses_PPpro, 0 },*/ +/* { "PhotopaperPlus", canon_PIXMA_iP9910_modeuses_PPplus, 0 },*/ +/* { "PhotopaperPlusDouble", canon_PIXMA_iP9910_modeuses_PPplusDS, 0 },*/ +/* { "PhotopaperMatte", canon_PIXMA_iP9910_modeuses_PPmatte, 0 },*/ +/* { "GlossyPaper", canon_PIXMA_iP9910_modeuses_PPplusDS, 0 },*/ +/* { "Coated", canon_PIXMA_iP9910_modeuses_PPmatte, 0 },*/ +/* { "InkJetHagaki", canon_PIXMA_iP9910_modeuses_inkjetHagaki, 0 },*/ { "Hagaki", canon_PIXMA_iP9910_modeuses_Hagaki, 0 }, - { "FineArtPhotoRag", canon_PIXMA_iP9910_modeuses_FA, 0 }, - { "FineArtOther", canon_PIXMA_iP9910_modeuses_FA, 0 }, - { "DiscCompat", canon_PIXMA_iP9910_modeuses_disc, 0 }, - { "DiscOthers", canon_PIXMA_iP9910_modeuses_disc, 0 }, - { "TShirt", canon_PIXMA_iP9910_modeuses_TShirt, 0 }, +/* { "FineArtPhotoRag", canon_PIXMA_iP9910_modeuses_FA, 0 },*/ +/* { "FineArtOther", canon_PIXMA_iP9910_modeuses_FA, 0 },*/ +/* { "DiscCompat", canon_PIXMA_iP9910_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_PIXMA_iP9910_modeuses_disc, 0 },*/ +/* { "TShirt", canon_PIXMA_iP9910_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_iP9910_modeuses_Hagaki, 0 }, - { "Transparency", canon_PIXMA_iP9910_modeuses_Transparency, 0 }, - { "PhotopaperOther", canon_PIXMA_iP9910_modeuses_PPother, 0 }, +/* { "Transparency", canon_PIXMA_iP9910_modeuses_Transparency, 0 },*/ +/* { "PhotopaperOther", canon_PIXMA_iP9910_modeuses_PPother, 0 },*/ }; DECLARE_MODEUSES(canon_PIXMA_iP9910); @@ -5531,6 +5964,76 @@ static const canon_modeuse_t canon_PIXMA_iX6500_modeuses[] = { DECLARE_MODEUSES(canon_PIXMA_iX6500); +/* ----------------------------------- Canon iX6800 ----------------------------------- */ + +static const char* canon_PIXMA_iX6800_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi", + "300x300dpi", + "300x300dpi_draft", + NULL + }; + +static const char* canon_PIXMA_iX6800_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_iX6800_modeuses_PPpro[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_iX6800_modeuses_PPmatte[] = { + "600x600dpi_photohigh", + "600x600dpi_photo2", + NULL +}; + +static const char* canon_PIXMA_iX6800_modeuses_Hagaki[] = { + "600x600dpi_high2", + "600x600dpi_std2", + NULL +}; + +static const char* canon_PIXMA_iX6800_modeuses_inkjetHagaki[] = { + "600x600dpi_photohigh2", + "600x600dpi_photo3", + NULL +}; + +static const char* canon_PIXMA_iX6800_modeuses_TShirt[] = { + "600x600dpi_photohigh", + NULL +}; + +static const char* canon_PIXMA_iX6800_modeuses_PPother[] = { + "600x600dpi_photo", + NULL +}; + +static const canon_modeuse_t canon_PIXMA_iX6800_modeuses[] = { + { "Plain", canon_PIXMA_iX6800_modeuses_plain, 0}, + { "PhotoPlusGloss2", canon_PIXMA_iX6800_modeuses_PPplusG2, 0 }, + { "PhotoProPlat", canon_PIXMA_iX6800_modeuses_PPpro, 0 }, + { "PhotoProLuster", canon_PIXMA_iX6800_modeuses_PPplusG2, 0 }, + { "PhotoProSemiGloss",canon_PIXMA_iX6800_modeuses_PPplusG2, 0 }, + { "GlossyPaperStandard",canon_PIXMA_iX6800_modeuses_PPplusG2, 0 }, + { "PhotopaperMatte", canon_PIXMA_iX6800_modeuses_PPmatte, 0 }, + { "Coated", canon_PIXMA_iX6800_modeuses_PPmatte, 0 }, + { "HagakiA", canon_PIXMA_iX6800_modeuses_Hagaki, 0 }, + { "InkJetHagaki", canon_PIXMA_iX6800_modeuses_inkjetHagaki, 0 }, + { "InkjetPhotoHagakiK",canon_PIXMA_iX6800_modeuses_PPplusG2, 0 }, + { "Hagaki", canon_PIXMA_iX6800_modeuses_Hagaki, 0 }, + { "TShirt", canon_PIXMA_iX6800_modeuses_TShirt, 0 }, + { "Envelope", canon_PIXMA_iX6800_modeuses_Hagaki, 0 }, + { "PhotopaperOther", canon_PIXMA_iX6800_modeuses_PPother, 0 }, +}; + +DECLARE_MODEUSES(canon_PIXMA_iX6800); + /* ----------------------------------- Canon iX7000 ----------------------------------- */ static const char* canon_PIXMA_iX7000_modeuses_plain[] = { "600x600dpi_high", @@ -7884,8 +8387,8 @@ DECLARE_MODEUSES(canon_MULTIPASS_MP830); /* ----------------------------------- Canon MP900 ----------------------------------- */ static const char* canon_MULTIPASS_MP900_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi", +/* "600x600dpi_high",*/ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ @@ -7894,92 +8397,92 @@ static const char* canon_MULTIPASS_MP900_modeuses_plain[] = { NULL }; -static const char* canon_MULTIPASS_MP900_modeuses_PPpro[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_PPpro[] = { "600x600dpi_photohigh", "600x600dpi_photo", - "600x600dpi_photo2",/*untested*/ - NULL -}; + "600x600dpi_photo2",*/ /*untested*/ +/* NULL +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_PPplus[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_PPplus[] = { "600x600dpi_photohigh", - "600x600dpi_photo2",/*untested*/ - NULL -}; + "600x600dpi_photo2",*/ /*untested*/ +/* NULL +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_PPplusDS[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_PPplusDS[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_PPmatte[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_PPmatte[] = { "600x600dpi_photohigh2", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_coated[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_coated[] = { "600x600dpi_photohigh2", "600x600dpi_photo", "600x600dpi_photo2", NULL -}; +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_inkjetHagaki[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_inkjetHagaki[] = { "600x600dpi_photohigh3", "600x600dpi_photo3", NULL -}; +};*/ static const char* canon_MULTIPASS_MP900_modeuses_Hagaki[] = { - "600x600dpi_high4", - "600x600dpi_std4", +/* "600x600dpi_high4",*/ +/* "600x600dpi_std4",*/ "600x600dpi_draft4", "600x600dpi_draftmono4",/* Mono */ NULL }; -static const char* canon_MULTIPASS_MP900_modeuses_disc[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_disc[] = { "600x600dpi_photo4", "600x600dpi_photodraft4", NULL -}; +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_TShirt[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_TShirt[] = { "600x600dpi_tshirt", NULL -}; +};*/ -static const char* canon_MULTIPASS_MP900_modeuses_Transparency[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_Transparency[] = { "600x600dpi_std3", "600x600dpi_draft3", NULL -}; +};*/ /*untested*/ -static const char* canon_MULTIPASS_MP900_modeuses_PPother[] = { +/*static const char* canon_MULTIPASS_MP900_modeuses_PPother[] = { "600x600dpi_photohigh", "600x600dpi_photo2", NULL - }; + };*/ static const canon_modeuse_t canon_MULTIPASS_MP900_modeuses[] = { { "Plain", canon_MULTIPASS_MP900_modeuses_plain, 0 }, - { "GlossyPro", canon_MULTIPASS_MP900_modeuses_PPpro, 0 }, - { "PhotopaperPlus", canon_MULTIPASS_MP900_modeuses_PPplus, 0 }, - { "PhotopaperPlusDouble", canon_MULTIPASS_MP900_modeuses_PPplusDS, 0 }, - { "GlossyPaper", canon_MULTIPASS_MP900_modeuses_PPplusDS, 0 }, - { "PhotopaperMatte", canon_MULTIPASS_MP900_modeuses_PPmatte, 0 }, - { "Coated", canon_MULTIPASS_MP900_modeuses_coated, 0 }, - { "InkJetHagaki", canon_MULTIPASS_MP900_modeuses_inkjetHagaki, 0 }, +/* { "GlossyPro", canon_MULTIPASS_MP900_modeuses_PPpro, 0 },*/ +/* { "PhotopaperPlus", canon_MULTIPASS_MP900_modeuses_PPplus, 0 },*/ +/* { "PhotopaperPlusDouble", canon_MULTIPASS_MP900_modeuses_PPplusDS, 0 },*/ +/* { "GlossyPaper", canon_MULTIPASS_MP900_modeuses_PPplusDS, 0 },*/ +/* { "PhotopaperMatte", canon_MULTIPASS_MP900_modeuses_PPmatte, 0 },*/ +/* { "Coated", canon_MULTIPASS_MP900_modeuses_coated, 0 },*/ +/* { "InkJetHagaki", canon_MULTIPASS_MP900_modeuses_inkjetHagaki, 0 },*/ { "Hagaki", canon_MULTIPASS_MP900_modeuses_Hagaki, 0 }, - { "DiscCompat", canon_MULTIPASS_MP900_modeuses_disc, 0 }, - { "DiscOthers", canon_MULTIPASS_MP900_modeuses_disc, 0 }, - { "TShirt", canon_MULTIPASS_MP900_modeuses_TShirt, 0 }, +/* { "DiscCompat", canon_MULTIPASS_MP900_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_MULTIPASS_MP900_modeuses_disc, 0 },*/ +/* { "TShirt", canon_MULTIPASS_MP900_modeuses_TShirt, 0 },*/ { "Envelope", canon_MULTIPASS_MP900_modeuses_Hagaki, 0 }, - { "Transparency", canon_MULTIPASS_MP900_modeuses_Transparency, 0 }, - { "PhotopaperOther", canon_MULTIPASS_MP900_modeuses_PPother, 0 },/*untested*/ +/* { "Transparency", canon_MULTIPASS_MP900_modeuses_Transparency, 0 },*/ +/* { "PhotopaperOther", canon_MULTIPASS_MP900_modeuses_PPother, 0 },*/ /*untested*/ }; DECLARE_MODEUSES(canon_MULTIPASS_MP900); @@ -8993,6 +9496,65 @@ static const canon_modeuse_t canon_MULTIPASS_MX420_modeuses[] = { DECLARE_MODEUSES(canon_MULTIPASS_MX420); +/* ----------------------------------- Canon MX470 ----------------------------------- */ + +static const char* canon_MULTIPASS_MX470_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi_high5",/* duplex */ + "600x600dpi", + "300x300dpi", + NULL + }; + +static const char* canon_MULTIPASS_MX470_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_MX470_modeuses_PPpro[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_MX470_modeuses_Hagaki[] = { + "600x600dpi_high3", + "600x600dpi_std3", + NULL +}; + +static const char* canon_MULTIPASS_MX470_modeuses_TShirt[] = { + "600x600dpi_photohigh", + NULL +}; + +static const char* canon_MULTIPASS_MX470_modeuses_PPother[] = { + "600x600dpi_photohigh", + NULL +}; + +static const canon_modeuse_t canon_MULTIPASS_MX470_modeuses[] = { + { "Plain", canon_MULTIPASS_MX470_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotoPlusGloss2", canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_MULTIPASS_MX470_modeuses_PPpro, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard", canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Coated", canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_MULTIPASS_MX470_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "InkJetHagaki", canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK",canon_MULTIPASS_MX470_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_MULTIPASS_MX470_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "TShirt", canon_MULTIPASS_MX470_modeuses_TShirt, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_MULTIPASS_MX470_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotopaperOther", canon_MULTIPASS_MX470_modeuses_PPother, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_MULTIPASS_MX470); + /* ----------------------------------- Canon MX510 ----------------------------------- */ static const char* canon_MULTIPASS_MX510_modeuses_plain[] = { "600x600dpi_high", @@ -9116,6 +9678,65 @@ static const canon_modeuse_t canon_MULTIPASS_MX520_modeuses[] = { DECLARE_MODEUSES(canon_MULTIPASS_MX520); +/* ----------------------------------- Canon MX530 ----------------------------------- */ + +static const char* canon_MULTIPASS_MX530_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi_high5",/* duplex */ + "600x600dpi", + "300x300dpi", + NULL + }; + +static const char* canon_MULTIPASS_MX530_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_MX530_modeuses_PPpro[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_MX530_modeuses_Hagaki[] = { + "600x600dpi_high3", + "600x600dpi_std3", + NULL +}; + +static const char* canon_MULTIPASS_MX530_modeuses_TShirt[] = { + "600x600dpi_photohigh", + NULL +}; + +static const char* canon_MULTIPASS_MX530_modeuses_PPother[] = { + "600x600dpi_photohigh", + NULL +}; + +static const canon_modeuse_t canon_MULTIPASS_MX530_modeuses[] = { + { "Plain", canon_MULTIPASS_MX530_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL | DUPLEX_SUPPORT | DUPLEX_MODEREPL }, + { "PhotoPlusGloss2", canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_MULTIPASS_MX530_modeuses_PPpro, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard", canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Coated", canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_MULTIPASS_MX530_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "InkJetHagaki", canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK",canon_MULTIPASS_MX530_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_MULTIPASS_MX530_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "TShirt", canon_MULTIPASS_MX530_modeuses_TShirt, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_MULTIPASS_MX530_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotopaperOther", canon_MULTIPASS_MX530_modeuses_PPother, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_MULTIPASS_MX530); + /* ----------------------------------- Canon MX700 ----------------------------------- */ static const char* canon_MULTIPASS_MX700_modeuses_plain[] = { "600x600dpi_high", @@ -9753,14 +10374,112 @@ static const canon_modeuse_t canon_MULTIPASS_MX7600_modeuses[] = { DECLARE_MODEUSES(canon_MULTIPASS_MX7600); +/* ----------------------------------- Canon E400 ----------------------------------- */ + +static const char* canon_MULTIPASS_E400_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi", + "300x300dpi", + NULL +}; + +static const char* canon_MULTIPASS_E400_modeuses_PPplusG2[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_E400_modeuses_PPglossy[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const canon_modeuse_t canon_MULTIPASS_E400_modeuses[] = { + { "Plain", canon_MULTIPASS_E400_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "PhotoPlusGloss2", canon_MULTIPASS_E400_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "Coated", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_MULTIPASS_E400_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "InkJetHagaki", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK",canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_MULTIPASS_E400_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "TShirt", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_MULTIPASS_E400_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "PhotopaperOther", canon_MULTIPASS_E400_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_MULTIPASS_E400); + +/* ----------------------------------- Canon E480 ----------------------------------- */ +static const char* canon_MULTIPASS_E480_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi_high2",/* color-only */ + "600x600dpi", + "300x300dpi", + NULL +}; + +static const char* canon_MULTIPASS_E480_modeuses_PPplusG2[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_E480_modeuses_PP[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_E480_modeuses_Hagaki[] = { + "600x600dpi_high3", + "600x600dpi_std3", + NULL +}; + +static const char* canon_MULTIPASS_E480_modeuses_TShirt[] = { + "600x600dpi_photohigh", + NULL +}; + +static const char* canon_MULTIPASS_E480_modeuses_PPother[] = { + "600x600dpi_photohigh", + NULL +}; + +static const canon_modeuse_t canon_MULTIPASS_E480_modeuses[] = { + { "Plain", canon_MULTIPASS_E480_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotoPlusGloss2", canon_MULTIPASS_E480_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard", canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "Coated", canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_MULTIPASS_E480_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "InkJetHagaki", canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK",canon_MULTIPASS_E480_modeuses_PP, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_MULTIPASS_E480_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "TShirt", canon_MULTIPASS_E480_modeuses_TShirt, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_MULTIPASS_E480_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "PhotopaperOther", canon_MULTIPASS_E480_modeuses_PPother, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_MULTIPASS_E480); + /* ----------------------------------- Canon E500 ----------------------------------- */ static const char* canon_MULTIPASS_E500_modeuses_plain[] = { "600x600dpi_high", "600x600dpi_high2",/* color-only */ "600x600dpi", - "600x600dpi_draft",/*untested*/ "300x300dpi", - "300x300dpi_draft", NULL }; @@ -9872,6 +10591,106 @@ static const canon_modeuse_t canon_MULTIPASS_E510_modeuses[] = { DECLARE_MODEUSES(canon_MULTIPASS_E510); +/* ----------------------------------- Canon E560 ----------------------------------- */ +static const char* canon_MULTIPASS_E560_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi_high2",/* color-only */ + "600x600dpi", + "300x300dpi", + NULL +}; + +static const char* canon_MULTIPASS_E560_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_E560_modeuses_PPproPlat[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MULTIPASS_E560_modeuses_Hagaki[] = { + "600x600dpi_high3", + "600x600dpi_std3", + NULL +}; + +static const char* canon_MULTIPASS_E560_modeuses_TShirt[] = { + "600x600dpi_photohigh", + NULL +}; + +static const char* canon_MULTIPASS_E560_modeuses_PPother[] = { + "600x600dpi_photohigh", + NULL +}; + +static const canon_modeuse_t canon_MULTIPASS_E560_modeuses[] = { + { "Plain", canon_MULTIPASS_E560_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL | DUPLEX_SUPPORT | DUPLEX_MODEREPL}, + { "PhotoPlusGloss2", canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_MULTIPASS_E560_modeuses_PPproPlat, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard", canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Coated", canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_MULTIPASS_E560_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "InkJetHagaki", canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK",canon_MULTIPASS_E560_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_MULTIPASS_E560_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "TShirt", canon_MULTIPASS_E560_modeuses_TShirt, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_MULTIPASS_E560_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotopaperOther", canon_MULTIPASS_E560_modeuses_PPother, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_MULTIPASS_E560); + +/* ----------------------------------- Canon P200 ----------------------------------- */ + +static const char* canon_PIXMA_P200_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi", + "300x300dpi", + NULL +}; + +static const char* canon_PIXMA_P200_modeuses_PPplusG2[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_P200_modeuses_PPglossy[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const canon_modeuse_t canon_PIXMA_P200_modeuses[] = { + { "Plain", canon_PIXMA_P200_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "PhotoPlusGloss2", canon_PIXMA_P200_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "GlossyPaper", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "Coated", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_PIXMA_P200_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "InkJetHagaki", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "CanonPhotoHagakiK",canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_PIXMA_P200_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "TShirt", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_PIXMA_P200_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT }, + { "PhotopaperOther", canon_PIXMA_P200_modeuses_PPglossy, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_PIXMA_P200); + /* ----------------------------------- Canon MG2100 ----------------------------------- */ static const char* canon_PIXMA_MG2100_modeuses_plain[] = { "600x600dpi_high", @@ -10070,6 +10889,63 @@ static const canon_modeuse_t canon_PIXMA_MG2400_modeuses[] = { DECLARE_MODEUSES(canon_PIXMA_MG2400); +/* ----------------------------------- Canon MG2900 ----------------------------------- */ +static const char* canon_PIXMA_MG2900_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi", + "300x300dpi", + NULL + }; + +static const char* canon_PIXMA_MG2900_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_MG2900_modeuses_PPpro[] = { + "600x600dpi_photohigh2", + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_MG2900_modeuses_Hagaki[] = { + "600x600dpi_high2", + "600x600dpi_std2", + NULL +}; + +static const char* canon_PIXMA_MG2900_modeuses_TShirt[] = { + "600x600dpi_photo", + NULL + }; + +static const char* canon_PIXMA_MG2900_modeuses_PPother[] = { + "600x600dpi_photohigh", + NULL +}; + +static const canon_modeuse_t canon_PIXMA_MG2900_modeuses[] = { + { "Plain", canon_PIXMA_MG2900_modeuses_plain, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotoPlusGloss2", canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProPlat", canon_PIXMA_MG2900_modeuses_PPpro, INKSET_COLOR_SUPPORT }, + { "PhotoProLuster", canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotoProSemiGloss",canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "PhotopaperMatte", canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "GlossyPaperStandard", canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Coated", canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "HagakiA", canon_PIXMA_MG2900_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "InkJetHagaki", canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "InkjetPhotoHagakiK",canon_PIXMA_MG2900_modeuses_PPplusG2, INKSET_COLOR_SUPPORT }, + { "Hagaki", canon_PIXMA_MG2900_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "TShirt", canon_PIXMA_MG2900_modeuses_TShirt, INKSET_COLOR_SUPPORT }, + { "Envelope", canon_PIXMA_MG2900_modeuses_Hagaki, INKSET_BLACK_SUPPORT | INKSET_COLOR_SUPPORT | INKSET_BLACK_MODEREPL | INKSET_COLOR_MODEREPL }, + { "PhotopaperOther", canon_PIXMA_MG2900_modeuses_PPother, INKSET_COLOR_SUPPORT }, +}; + +DECLARE_MODEUSES(canon_PIXMA_MG2900); + /* ----------------------------------- Canon MG3100 ----------------------------------- */ static const char* canon_PIXMA_MG3100_modeuses_plain[] = { "600x600dpi_high", @@ -10243,7 +11119,7 @@ static const char* canon_PIXMA_MG3500_modeuses_Hagaki[] = { }; static const char* canon_PIXMA_MG3500_modeuses_TShirt[] = { - "600x600dpi_tshirt", + "600x600dpi_photohigh", NULL }; @@ -10643,6 +11519,72 @@ static const canon_modeuse_t canon_PIXMA_MG5500_modeuses[] = { DECLARE_MODEUSES(canon_PIXMA_MG5500); +/* ----------------------------------- Canon MG5600 ----------------------------------- */ +static const char* canon_PIXMA_MG5600_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi_high2",/* duplex */ + "600x600dpi", + "600x600dpi_std2",/* duplex */ + "300x300dpi", + NULL + }; + +static const char* canon_PIXMA_MG5600_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_MG5600_modeuses_PPpro[] = { + /*ud1 not supported */ + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_MG5600_modeuses_PPmatte[] = { + "600x600dpi_photohigh2", + "600x600dpi_photo2", + NULL +}; + +static const char* canon_PIXMA_MG5600_modeuses_Hagaki[] = { + "600x600dpi_high2", + "600x600dpi_std2", + NULL +}; + +static const char* canon_PIXMA_MG5600_modeuses_TShirt[] = { + "600x600dpi_photohigh2", + NULL +}; + +static const char* canon_PIXMA_MG5600_modeuses_PPother[] = { + "600x600dpi_photohigh", /* experimental */ + "600x600dpi_photo", + NULL +}; + +static const canon_modeuse_t canon_PIXMA_MG5600_modeuses[] = { + { "Plain", canon_PIXMA_MG5600_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, + { "PhotoPlusGloss2", canon_PIXMA_MG5600_modeuses_PPplusG2, 0 }, + { "PhotoProPlat", canon_PIXMA_MG5600_modeuses_PPpro, 0 }, + { "PhotoProLuster", canon_PIXMA_MG5600_modeuses_PPplusG2, 0 }, + { "PhotoProSemiGloss",canon_PIXMA_MG5600_modeuses_PPplusG2, 0 }, + { "PhotopaperMatte", canon_PIXMA_MG5600_modeuses_PPmatte, 0 }, + { "GlossyPaperStandard", canon_PIXMA_MG5600_modeuses_PPplusG2, 0 }, + { "Coated", canon_PIXMA_MG5600_modeuses_PPmatte, 0 }, + { "HagakiA", canon_PIXMA_MG5600_modeuses_Hagaki, 0 }, + { "InkJetHagaki", canon_PIXMA_MG5600_modeuses_PPplusG2, 0 }, + { "InkjetPhotoHagakiK",canon_PIXMA_MG5600_modeuses_PPplusG2, 0 }, + { "Hagaki", canon_PIXMA_MG5600_modeuses_Hagaki, 0 }, + { "TShirt", canon_PIXMA_MG5600_modeuses_TShirt, 0 }, + { "Envelope", canon_PIXMA_MG5600_modeuses_Hagaki, 0 }, + { "PhotopaperOther", canon_PIXMA_MG5600_modeuses_PPother, 0 }, +}; + +DECLARE_MODEUSES(canon_PIXMA_MG5600); + /* ----------------------------------- Canon MG6100 ----------------------------------- */ /* most photo modes use gray ink which is unsupported */ /* TODO: mono modes for photo media */ @@ -10905,7 +11847,7 @@ static const canon_modeuse_t canon_PIXMA_MG6300_modeuses[] = { { "PhotoProLuster", canon_PIXMA_MG6300_modeuses_PPplusG2, 0 },/*unsupported*/ { "PhotoProSemiGloss",canon_PIXMA_MG6300_modeuses_PPplusG2, 0 },/*unsupported*/ { "PhotopaperMatte", canon_PIXMA_MG6300_modeuses_PPmatte, 0 }, - { "GlossyPaper", canon_PIXMA_MG6300_modeuses_PPplusG2, 0 },/*unsupported*/ + { "GlossyPaper", canon_PIXMA_MG6300_modeuses_PPmatte, 0 },/*unsupported*/ { "Coated", canon_PIXMA_MG6300_modeuses_PPmatte, 0 }, { "HagakiA", canon_PIXMA_MG6300_modeuses_Hagaki, DUPLEX_SUPPORT }, { "InkJetHagaki", canon_PIXMA_MG6300_modeuses_inkjetHagaki, 0 }, @@ -11016,6 +11958,100 @@ static const canon_modeuse_t canon_PIXMA_MG6500_modeuses[] = { DECLARE_MODEUSES(canon_PIXMA_MG6500); +/* ----------------------------------- Canon MG6700 ----------------------------------- */ +/* most photo modes use gray ink which is unsupported */ +/* TODO: mono modes for photo media */ +static const char* canon_PIXMA_MG6700_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi_high2",/* duplex */ + "600x600dpi", + "600x600dpi_std2",/* duplex */ + "300x300dpi", + NULL + }; + +/* unsupported*/ +static const char* canon_PIXMA_MG6700_modeuses_PPplusG2[] = { + "600x600dpi_photohigh",/*stand-in*/ + "600x600dpi_photo",/*stand-in*/ + "600x600dpi_photo2",/*stand-in*/ + NULL +}; + +/* unsupported*/ +static const char* canon_PIXMA_MG6700_modeuses_PPpro[] = { + "600x600dpi_photohigh",/*stand-in*/ + "600x600dpi_photo",/*stand-in*/ + "600x600dpi_photo2",/*stand-in*/ + NULL +}; + +static const char* canon_PIXMA_MG6700_modeuses_PPmatte[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_PIXMA_MG6700_modeuses_Hagaki[] = { + "600x600dpi_high2", + "600x600dpi_std2", + NULL +}; + +static const char* canon_PIXMA_MG6700_modeuses_inkjetHagaki[] = { + "600x600dpi_photohigh4", + "600x600dpi_photo4", + NULL +}; + +static const char* canon_PIXMA_MG6700_modeuses_disc[] = { + "600x600dpi_photohigh3", + "600x600dpi_photo3", + NULL +}; + +static const char* canon_PIXMA_MG6700_modeuses_TShirt[] = { + "600x600dpi_photo", + NULL +}; + +/* unsupported*/ +static const char* canon_PIXMA_MG6700_modeuses_photorag[] = { + "600x600dpi_photohigh",/*stand-in*/ + "600x600dpi_photo",/*stand-in*/ + "600x600dpi_photo2",/*stand-in*/ + NULL +}; + +static const char* canon_PIXMA_MG6700_modeuses_PPother[] = { + "600x600dpi_photo2", + NULL +}; + +static const canon_modeuse_t canon_PIXMA_MG6700_modeuses[] = { + { "Plain", canon_PIXMA_MG6700_modeuses_plain, DUPLEX_SUPPORT | DUPLEX_MODEREPL }, + { "PhotoPlusGloss2", canon_PIXMA_MG6700_modeuses_PPplusG2, 0 },/*unsupported*/ + { "PhotoProPlat", canon_PIXMA_MG6700_modeuses_PPpro, 0 },/*unsupported*/ + { "PhotoProLuster", canon_PIXMA_MG6700_modeuses_PPplusG2, 0 },/*unsupported*/ + { "PhotoProSemiGloss",canon_PIXMA_MG6700_modeuses_PPplusG2, 0 },/*unsupported*/ + { "PhotopaperMatte", canon_PIXMA_MG6700_modeuses_PPmatte, 0 }, + { "GlossyPaperStandard", canon_PIXMA_MG6700_modeuses_PPplusG2, 0 },/*unsupported*/ + { "Coated", canon_PIXMA_MG6700_modeuses_PPmatte, 0 }, + { "HagakiA", canon_PIXMA_MG6700_modeuses_Hagaki, DUPLEX_SUPPORT }, + { "InkJetHagaki", canon_PIXMA_MG6700_modeuses_inkjetHagaki, 0 }, + { "InkjetPhotoHagakiK",canon_PIXMA_MG6700_modeuses_PPplusG2, 0 },/*unsupported*/ + { "Hagaki", canon_PIXMA_MG6700_modeuses_Hagaki, DUPLEX_SUPPORT }, + { "DiscCompat", canon_PIXMA_MG6700_modeuses_disc, 0 }, + { "DiscOthers", canon_PIXMA_MG6700_modeuses_disc, 0 }, + { "TShirt", canon_PIXMA_MG6700_modeuses_TShirt, 0 }, + { "Envelope", canon_PIXMA_MG6700_modeuses_Hagaki, 0 }, + { "FineArtPhotoRag", canon_PIXMA_MG6700_modeuses_photorag, 0 },/*unsupported*/ + { "FineArtOther", canon_PIXMA_MG6700_modeuses_photorag, 0 },/*unsupported*/ + { "PhotopaperOther", canon_PIXMA_MG6700_modeuses_PPother, 0 }, +}; + +DECLARE_MODEUSES(canon_PIXMA_MG6700); + /* ----------------------------------- Canon MG8100 ----------------------------------- */ /* most photo modes use gray ink which is unsupported */ /* TODO: mono modes for photo media */ @@ -11205,155 +12241,155 @@ DECLARE_MODEUSES(canon_PIXMA_MG8200); /* ----------------------------------- Canon Pro9000 ----------------------------------- */ static const char* canon_PIXMA_Pro9000_modeuses_plain[] = { - "600x600dpi_high2", - "600x600dpi", +/* "600x600dpi_high2",*/ +/* "600x600dpi",*/ "600x600dpi_std2", "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ - "600x600dpi_highmono", - "600x600dpi_mono", +/* "600x600dpi_highmono",*/ +/* "600x600dpi_mono",*/ "600x600dpi_draftmono", "600x600dpi_draftmono2", NULL }; /* highest mode not yet supported (R,G inks) */ -static const char* canon_PIXMA_Pro9000_modeuses_PPplusG2[] = { - "600x600dpi_photo", +/*static const char* canon_PIXMA_Pro9000_modeuses_PPplusG2[] = { + "600x600dpi_photo",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomono", NULL -}; +};*/ /* highest mode not yet supported (R,G inks) */ -static const char* canon_PIXMA_Pro9000_modeuses_PPplus[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_PPplus[] = { "600x600dpi_photo", - "600x600dpi_photodraft2", + "600x600dpi_photodraft2",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomono", "600x600dpi_photomonodraft", NULL -}; +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_PPgloss[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_PPgloss[] = { "600x600dpi_photohigh3", - "600x600dpi_photodraft", + "600x600dpi_photodraft",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomonodraft", NULL -}; +};*/ /* highest mode not yet supported (R,G inks) */ -static const char* canon_PIXMA_Pro9000_modeuses_PPpro[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_PPpro[] = { "600x600dpi_photohigh", - "600x600dpi_photo", + "600x600dpi_photo",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomonomed", "600x600dpi_photomono", NULL -}; +};*/ /* highest mode not yet supported (R,G inks) */ -static const char* canon_PIXMA_Pro9000_modeuses_PPproPlat[] = { - "600x600dpi_photohigh", +/*static const char* canon_PIXMA_Pro9000_modeuses_PPproPlat[] = { + "600x600dpi_photohigh",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomonomed", NULL -}; +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_PPmatte[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_PPmatte[] = { "600x600dpi_photohigh2", - "600x600dpi_photo", + "600x600dpi_photo",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomono", NULL -}; +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_inkjetHagaki[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_inkjetHagaki[] = { "600x600dpi_photomed2", - "600x600dpi_photomed", + "600x600dpi_photomed",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomono", NULL -}; +};*/ static const char* canon_PIXMA_Pro9000_modeuses_Hagaki[] = { - "600x600dpi_high3", - "600x600dpi_std3",/*Mono High*/ - "600x600dpi_std4",/* bw=2 for mono */ +/* "600x600dpi_high3",*/ +/* "600x600dpi_std3",*/ /*Mono High*/ +/* "600x600dpi_std4",*/ /* bw=2 for mono */ "600x600dpi_draft3",/* bw=2 for mono */ NULL }; -static const char* canon_PIXMA_Pro9000_modeuses_disc[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_disc[] = { "600x600dpi_photohigh4", - "600x600dpi_photo2", + "600x600dpi_photo2",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomono", NULL -}; +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_board[] = { - "600x600dpi_photohigh5", +/*static const char* canon_PIXMA_Pro9000_modeuses_board[] = { + "600x600dpi_photohigh5",*/ /* Mono */ - "600x600dpi_photomono", +/* "600x600dpi_photomono", NULL - }; +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_photorag[] = { +/*static const char* canon_PIXMA_Pro9000_modeuses_photorag[] = { "600x600dpi_photohigh5", - "600x600dpi_photo", + "600x600dpi_photo",*/ /* Mono */ - "600x600dpi_photomonohigh", +/* "600x600dpi_photomonohigh", "600x600dpi_photomono", NULL - }; +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_TShirt[] = { - "600x600dpi_tshirt",/* bw=2 for mono */ - NULL -}; +/*static const char* canon_PIXMA_Pro9000_modeuses_TShirt[] = { + "600x600dpi_tshirt",*/ /* bw=2 for mono */ +/* NULL +};*/ -static const char* canon_PIXMA_Pro9000_modeuses_PPother[] = { - "600x600dpi_photo", +/*static const char* canon_PIXMA_Pro9000_modeuses_PPother[] = { + "600x600dpi_photo",*/ /* Mono */ - "600x600dpi_photomono", +/* "600x600dpi_photomono", NULL - }; +};*/ static const canon_modeuse_t canon_PIXMA_Pro9000_modeuses[] = { { "Plain", canon_PIXMA_Pro9000_modeuses_plain, 0 }, - { "PhotopaperPlus", canon_PIXMA_Pro9000_modeuses_PPplus, 0 }, - { "PhotoPlusGloss2", canon_PIXMA_Pro9000_modeuses_PPplusG2, 0 }, - { "GlossyPaper", canon_PIXMA_Pro9000_modeuses_PPgloss, 0 }, - { "PhotoProSemiGloss", canon_PIXMA_Pro9000_modeuses_PPplusG2, 0 }, - { "GlossyPro", canon_PIXMA_Pro9000_modeuses_PPpro, 0 }, - { "PhotoPro2", canon_PIXMA_Pro9000_modeuses_PPpro, 0 }, - { "PhotoProPlat", canon_PIXMA_Pro9000_modeuses_PPproPlat, 0 }, - { "PhotopaperMatte", canon_PIXMA_Pro9000_modeuses_PPmatte, 0 }, - { "Coated", canon_PIXMA_Pro9000_modeuses_PPmatte, 0 }, - { "InkJetHagaki", canon_PIXMA_Pro9000_modeuses_inkjetHagaki, 0 }, +/* { "PhotopaperPlus", canon_PIXMA_Pro9000_modeuses_PPplus, 0 },*/ +/* { "PhotoPlusGloss2", canon_PIXMA_Pro9000_modeuses_PPplusG2, 0 },*/ +/* { "GlossyPaper", canon_PIXMA_Pro9000_modeuses_PPgloss, 0 },*/ +/* { "PhotoProSemiGloss", canon_PIXMA_Pro9000_modeuses_PPplusG2, 0 },*/ +/* { "GlossyPro", canon_PIXMA_Pro9000_modeuses_PPpro, 0 },*/ +/* { "PhotoPro2", canon_PIXMA_Pro9000_modeuses_PPpro, 0 },*/ +/* { "PhotoProPlat", canon_PIXMA_Pro9000_modeuses_PPproPlat, 0 },*/ +/* { "PhotopaperMatte", canon_PIXMA_Pro9000_modeuses_PPmatte, 0 },*/ +/* { "Coated", canon_PIXMA_Pro9000_modeuses_PPmatte, 0 },*/ +/* { "InkJetHagaki", canon_PIXMA_Pro9000_modeuses_inkjetHagaki, 0 },*/ { "Hagaki", canon_PIXMA_Pro9000_modeuses_Hagaki, 0 }, - { "DiscCompat", canon_PIXMA_Pro9000_modeuses_disc, 0 }, - { "DiscOthers", canon_PIXMA_Pro9000_modeuses_disc, 0 }, - { "Boardpaper", canon_PIXMA_Pro9000_modeuses_board, 0 }, - { "Canvas", canon_PIXMA_Pro9000_modeuses_board, 0 }, - { "FineArtPhotoRag", canon_PIXMA_Pro9000_modeuses_photorag, 0 }, - { "FineArtOther", canon_PIXMA_Pro9000_modeuses_board, 0 }, - { "FineArtPremiumMatte",canon_PIXMA_Pro9000_modeuses_board, 0 }, - { "FineArtMuseumEtching",canon_PIXMA_Pro9000_modeuses_photorag, 0 }, - { "TShirt", canon_PIXMA_Pro9000_modeuses_TShirt, 0 }, +/* { "DiscCompat", canon_PIXMA_Pro9000_modeuses_disc, 0 },*/ +/* { "DiscOthers", canon_PIXMA_Pro9000_modeuses_disc, 0 },*/ +/* { "Boardpaper", canon_PIXMA_Pro9000_modeuses_board, 0 },*/ +/* { "Canvas", canon_PIXMA_Pro9000_modeuses_board, 0 },*/ +/* { "FineArtPhotoRag", canon_PIXMA_Pro9000_modeuses_photorag, 0 },*/ +/* { "FineArtOther", canon_PIXMA_Pro9000_modeuses_board, 0 },*/ +/* { "FineArtPremiumMatte",canon_PIXMA_Pro9000_modeuses_board, 0 },*/ +/* { "FineArtMuseumEtching",canon_PIXMA_Pro9000_modeuses_photorag, 0 },*/ +/* { "TShirt", canon_PIXMA_Pro9000_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_Pro9000_modeuses_Hagaki, 0 }, - { "PhotopaperOther", canon_PIXMA_Pro9000_modeuses_PPother, 0 }, +/* { "PhotopaperOther", canon_PIXMA_Pro9000_modeuses_PPother, 0 },*/ }; DECLARE_MODEUSES(canon_PIXMA_Pro9000); @@ -11361,13 +12397,13 @@ DECLARE_MODEUSES(canon_PIXMA_Pro9000); /* ----------------------------------- Canon Pro9000mk2 ----------------------------------- */ static const char* canon_PIXMA_Pro9000mk2_modeuses_plain[] = { - "600x600dpi_high", - "600x600dpi", +/* "600x600dpi_high",*/ +/* "600x600dpi",*/ "600x600dpi_draft", "600x600dpi_draft2", /* Mono */ - "600x600dpi_highmono", - "600x600dpi_mono", +/* "600x600dpi_highmono",*/ +/* "600x600dpi_mono",*/ "600x600dpi_draftmono", "600x600dpi_draftmono2", NULL @@ -11375,7 +12411,7 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_plain[] = { /* highest mode not yet supported (R,G inks) */ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPplusG2[] = { - "600x600dpi_photo", +/* "600x600dpi_photo",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomono", @@ -11383,8 +12419,8 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPplusG2[] = { }; static const char* canon_PIXMA_Pro9000mk2_modeuses_PPgloss[] = { - "600x600dpi_photohigh2", - "600x600dpi_photodraft", +/* "600x600dpi_photohigh2",*/ +/* "600x600dpi_photodraft",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomonodraft", @@ -11393,8 +12429,8 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPgloss[] = { /* highest mode not yet supported (R,G inks) */ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPpro2[] = { - "600x600dpi_photomed", - "600x600dpi_photo", +/* "600x600dpi_photomed",*/ +/* "600x600dpi_photo",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomonomed",/*untested: quality setting uncertain*/ @@ -11404,7 +12440,7 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPpro2[] = { /* highest mode not yet supported (R,G inks) */ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPproPlat[] = { - "600x600dpi_photomed", +/* "600x600dpi_photomed",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomonomed", @@ -11412,8 +12448,8 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPproPlat[] = { }; static const char* canon_PIXMA_Pro9000mk2_modeuses_PPmatte[] = { - "600x600dpi_photohigh", - "600x600dpi_photo", +/* "600x600dpi_photohigh",*/ +/* "600x600dpi_photo",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomono", @@ -11421,8 +12457,8 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPmatte[] = { }; static const char* canon_PIXMA_Pro9000mk2_modeuses_inkjetHagaki[] = { - "600x600dpi_photohigh3", - "600x600dpi_photo3", +/* "600x600dpi_photohigh3",*/ +/* "600x600dpi_photo3",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomono", @@ -11430,17 +12466,17 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_inkjetHagaki[] = { }; static const char* canon_PIXMA_Pro9000mk2_modeuses_Hagaki[] = { - "600x600dpi_high2",/* bw=2 for mono */ - "600x600dpi_std2",/* bw=2 for mono */ +/* "600x600dpi_high2",*/ /* bw=2 for mono */ +/* "600x600dpi_std2",*/ /* bw=2 for mono */ "600x600dpi_draft2",/* bw=2 for mono */ /* Mono */ - "600x600dpi_high3", +/* "600x600dpi_high3",*/ NULL }; static const char* canon_PIXMA_Pro9000mk2_modeuses_disc[] = { - "600x600dpi_photohigh4", - "600x600dpi_photo4", +/* "600x600dpi_photohigh4",*/ +/* "600x600dpi_photo4",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomono", @@ -11448,28 +12484,28 @@ static const char* canon_PIXMA_Pro9000mk2_modeuses_disc[] = { }; static const char* canon_PIXMA_Pro9000mk2_modeuses_board[] = { - "600x600dpi_photohigh5", +/* "600x600dpi_photohigh5",*/ /* Mono */ "600x600dpi_photomonohigh", NULL }; static const char* canon_PIXMA_Pro9000mk2_modeuses_photorag[] = { - "600x600dpi_photohigh5", - "600x600dpi_photo", +/* "600x600dpi_photohigh5",*/ +/* "600x600dpi_photo",*/ /* Mono */ "600x600dpi_photomonohigh", "600x600dpi_photomono", NULL }; -static const char* canon_PIXMA_Pro9000mk2_modeuses_TShirt[] = { - "600x600dpi_tshirt",/* bw=2 for mono */ - NULL -}; +/*static const char* canon_PIXMA_Pro9000mk2_modeuses_TShirt[] = { + "600x600dpi_tshirt",*/ /* bw=2 for mono */ +/* NULL +};*/ static const char* canon_PIXMA_Pro9000mk2_modeuses_PPother[] = { - "600x600dpi_photo", +/* "600x600dpi_photo",*/ /* Mono */ "600x600dpi_photomono", NULL @@ -11494,7 +12530,7 @@ static const canon_modeuse_t canon_PIXMA_Pro9000mk2_modeuses[] = { { "FineArtOther", canon_PIXMA_Pro9000mk2_modeuses_board, 0 }, { "FineArtPremiumMatte",canon_PIXMA_Pro9000mk2_modeuses_board, 0 }, { "FineArtMuseumEtching",canon_PIXMA_Pro9000mk2_modeuses_photorag, 0 }, - { "TShirt", canon_PIXMA_Pro9000mk2_modeuses_TShirt, 0 }, +/* { "TShirt", canon_PIXMA_Pro9000mk2_modeuses_TShirt, 0 },*/ { "Envelope", canon_PIXMA_Pro9000mk2_modeuses_Hagaki, 0 }, { "PhotopaperOther", canon_PIXMA_Pro9000mk2_modeuses_PPother, 0 }, }; @@ -11508,9 +12544,9 @@ static const char* canon_PIXMA_Pro9500_modeuses_plain[] = { "600x600dpi", "600x600dpi_draft", /* Mono */ - "600x600dpi_highmono2", - "600x600dpi_highmono",/*untested*/ - "600x600dpi_mono", +/* "600x600dpi_highmono2",*/ +/* "600x600dpi_highmono",*/ /*untested*/ +/* "600x600dpi_mono",*/ "600x600dpi_draftmono", "600x600dpi_draftmono2",/*untested*/ NULL @@ -11563,9 +12599,9 @@ static const char* canon_PIXMA_Pro9500_modeuses_inkjetHagaki[] = { /* modes not yet supported (R,G inks) */ static const char* canon_PIXMA_Pro9500_modeuses_Hagaki[] = { /* Mono */ - "600x600dpi_highmono2", - "600x600dpi_highmono", - "600x600dpi_mono",/*untested*/ +/* "600x600dpi_highmono2",*/ +/* "600x600dpi_highmono",*/ +/* "600x600dpi_mono",*/ /*untested*/ "600x600dpi_draftmono",/*untested*/ "600x600dpi_draftmono2",/*untested*/ NULL @@ -11638,9 +12674,9 @@ static const char* canon_PIXMA_Pro9500mk2_modeuses_plain[] = { "600x600dpi", "600x600dpi_draft", /* Mono */ - "600x600dpi_highmono2", - "600x600dpi_highmono",/*untested*/ - "600x600dpi_mono", +/* "600x600dpi_highmono2",*/ +/* "600x600dpi_highmono",*/ /*untested*/ +/* "600x600dpi_mono",*/ "600x600dpi_draftmono", "600x600dpi_draftmono2",/*untested*/ NULL @@ -11685,9 +12721,9 @@ static const char* canon_PIXMA_Pro9500mk2_modeuses_inkjetHagaki[] = { /* modes not yet supported (R,G inks) */ static const char* canon_PIXMA_Pro9500mk2_modeuses_Hagaki[] = { /* Mono */ - "600x600dpi_highmono2", - "600x600dpi_highmono", - "600x600dpi_mono",/*untested*/ +/* "600x600dpi_highmono2",*/ +/* "600x600dpi_highmono",*/ +/* "600x600dpi_mono",*/ /*untested*/ "600x600dpi_draftmono",/*untested*/ "600x600dpi_draftmono2",/*untested*/ NULL @@ -11752,4 +12788,45 @@ static const canon_modeuse_t canon_PIXMA_Pro9500mk2_modeuses[] = { DECLARE_MODEUSES(canon_PIXMA_Pro9500mk2); +/* ----------------------------------- Canon MAXIFY iB4000 ----------------------------------- */ + +static const char* canon_MAXIFY_iB4000_modeuses_plain[] = { + "600x600dpi_high", + "600x600dpi", + "600x600dpi_mono", + NULL +}; + +static const char* canon_MAXIFY_iB4000_modeuses_PPplusG2[] = { + "600x600dpi_photohigh", + "600x600dpi_photo", + NULL +}; + +static const char* canon_MAXIFY_iB4000_modeuses_Hagaki[] = { + "600x600dpi_high2", + "600x600dpi_std2", + NULL +}; + +static const canon_modeuse_t canon_MAXIFY_iB4000_modeuses[] = { + { "Plain", canon_MAXIFY_iB4000_modeuses_plain, DUPLEX_SUPPORT }, + { "PhotoPlusGloss2", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "PhotoProPlat", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 },/*unsupported*/ + { "PhotoProLuster", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "PhotoProSemiGloss",canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "GlossyPaperStandard",canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "PhotopaperMatte", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "Coated", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "HagakiA", canon_MAXIFY_iB4000_modeuses_Hagaki, 0 }, + { "InkJetHagaki", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "InkjetPhotoHagakiK",canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 }, + { "Hagaki", canon_MAXIFY_iB4000_modeuses_Hagaki, 0 }, + { "TShirt", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 },/*unsupported*/ + { "Envelope", canon_MAXIFY_iB4000_modeuses_Hagaki, 0 }, + { "PhotopaperOther", canon_MAXIFY_iB4000_modeuses_PPplusG2, 0 },/*unsupported*/ +}; + +DECLARE_MODEUSES(canon_MAXIFY_iB4000); + #endif diff --git a/src/main/canon-media.h b/src/main/canon-media.h index b7cd87e..7d0069e 100644 --- a/src/main/canon-media.h +++ b/src/main/canon-media.h @@ -252,6 +252,13 @@ static const canon_slot_t canon_PIXMA_iP8700_slots[] = { }; DECLARE_SLOTS(canon_PIXMA_iP8700); +static const canon_slot_t canon_MAXIFY_iB4000_slots[] = { + { "Auto", N_ ("Cassette (Auto)"), 0xd }, + { "Cassette1", N_ ("Cassette 1"), 0x8 }, + { "Cassette2", N_ ("Cassette 2"), 0x9 }, +}; +DECLARE_SLOTS(canon_MAXIFY_iB4000); + /* media types */ typedef struct { @@ -376,6 +383,25 @@ static const canon_paper_t canon_PIXMA_iP3100_papers[] = { }; DECLARE_PAPERS(canon_PIXMA_iP3100); +static const canon_paper_t canon_MULTIPASS_MP900_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, +/* { "GlossyPro", N_ ("Professional Photo Paper"), 0x09,0x0d,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlus", N_ ("Glossy Photo Paper Plus"), 0x0b,0x11,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlusDouble", N_ ("Photopaper Plus Double Sided"),0x10,0x15,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* untested */ +}; +DECLARE_PAPERS(canon_MULTIPASS_MP900); + static const canon_paper_t canon_PIXMA_iP4100_papers[] = { { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, { "GlossyPro", N_ ("Professional Photo Paper"), 0x09,0x0d,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, @@ -992,6 +1018,28 @@ static const canon_paper_t canon_PIXMA_iP7100_papers[] = { /* k_lo }; DECLARE_PAPERS(canon_PIXMA_iP7100); +static const canon_paper_t canon_PIXMA_iP7100_limited_papers[] = { /* k_lower_scale *hue_adjustment *sat_adjustment */ + /* Name Text (c (l (P Density k_upper *lum_adjustment */ + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "GlossyPro", N_ ("Photo Paper Pro"), 0x09,0x0d,0x1a,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlus", N_ ("Photo Paper Plus Glossy"), 0x0b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlusDouble",N_ ("Photo Paper Plus Double Sided"),0x10,0x15,0x25,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },*/ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x02,0x0d,0x28,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different c,l from usual */ +/* { "FineArtOther", N_ ("Fine Art Other"), 0x02,0x0d,0x29,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different c,l from usual */ +/* { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x01,1.00, 0.25, 0.500, 0, 0, 0 },*/ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* untested */ +}; +DECLARE_PAPERS(canon_PIXMA_iP7100_limited); + static const canon_paper_t canon_PIXMA_iP7500_papers[] = { /* k_lower_scale *hue_adjustment *sat_adjustment */ /* Name Text (c (l (P Density k_upper *lum_adjustment */ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, @@ -1033,6 +1081,25 @@ static const canon_paper_t canon_PIXMA_iP8500_papers[] = { }; DECLARE_PAPERS(canon_PIXMA_iP8500); +static const canon_paper_t canon_PIXMA_iP8500_limited_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, +/* { "GlossyPro", N_ ("Professional Photo Paper"), 0x09,0x0d,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlus", N_ ("Glossy Photo Paper Plus"), 0x0b,0x11,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlusDouble", N_ ("Photopaper Plus Double Sided"),0x10,0x15,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* untested */ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, /* untested */ +/* { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x00,0.78, 0.25, 0.900, 0, 0, 0 },*/ +/* { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x00,0.78, 0.25, 0.500, 0, 0, 0 },*/ +}; +DECLARE_PAPERS(canon_PIXMA_iP8500_limited); + static const canon_paper_t canon_PIXMA_iP9910_papers[] = { /* k_lower_scale *hue_adjustment *sat_adjustment */ /* Name Text (c (l (P Density k_upper *lum_adjustment */ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, @@ -1055,32 +1122,54 @@ static const canon_paper_t canon_PIXMA_iP9910_papers[] = { /* k_lo }; DECLARE_PAPERS(canon_PIXMA_iP9910); +static const canon_paper_t canon_PIXMA_iP9910_limited_papers[] = { /* k_lower_scale *hue_adjustment *sat_adjustment */ + /* Name Text (c (l (P Density k_upper *lum_adjustment */ + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "GlossyPro", N_ ("Photo Paper Pro"), 0x09,0x0d,0x1a,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlus", N_ ("Photo Paper Plus Glossy"), 0x0b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperPlusDouble",N_ ("Photo Paper Plus Double Sided"),0x09,0x11,0x25,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different c,l from usual */ +/* { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },*/ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x09,0x0d,0x28,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different c,l from usual */ +/* { "FineArtOther", N_ ("Fine Art Other"), 0x09,0x0d,0x29,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different c,l from usual */ +/* { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x01,1.00, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },*/ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, +}; +DECLARE_PAPERS(canon_PIXMA_iP9910_limited); + /* PIXMA Pro9000 */ static const canon_paper_t canon_PIXMA_Pro9000_papers[] = { { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, - { "PhotopaperPlus", N_ ("Photo Paper Plus Glossy"), 0x0b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 },/*PPsuper*/ - { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x0b,0x11,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/*PPGgold*/ - { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },/*PPgloss*/ - { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, - { "GlossyPro", N_ ("Photo Paper Pro"), 0x09,0x0d,0x1a,0.78, 0.25, 0.500, 0, 0, 0 },/*PPpro*/ - { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x09,0x0d,0x34,0.78, 0.25, 0.500, 0, 0, 0 },/*PPGpro*/ - { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x09,0x11,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/*PPGproPlat*/ - { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, - { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, - { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, - { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 }, - { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "PhotopaperPlus", N_ ("Photo Paper Plus Glossy"), 0x0b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 },*/ /*PPsuper*/ +/* { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x0b,0x11,0x32,0.78, 0.25, 0.500, 0, 0, 0 },*/ /*PPGgold*/ +/* { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },*/ /*PPgloss*/ +/* { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "GlossyPro", N_ ("Photo Paper Pro"), 0x09,0x0d,0x1a,0.78, 0.25, 0.500, 0, 0, 0 },*/ /*PPpro*/ +/* { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x09,0x0d,0x34,0.78, 0.25, 0.500, 0, 0, 0 },*/ /*PPGpro*/ +/* { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x09,0x11,0x33,0.78, 0.25, 0.500, 0, 0, 0 },*/ /*PPGproPlat*/ +/* { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },*/ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, - { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, - { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x20,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/* note: different c,l from usual */ +/* { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x20,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different c,l from usual */ /* special papers */ - { "Boardpaper", N_ ("Board Paper"), 0x18,0x1d,0x2e,0.78, 0.25, 0.500, 0, 0, 0 }, - { "Canvas", N_ ("Canvas"), 0x19,0x1e,0x2d,0.78, 0.25, 0.500, 0, 0, 0 }, - { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 }, - { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x1b,0x29,0.78, 0.25, 0.500, 0, 0, 0 },/* note: different from usual 13,1b,29 */ - { "FineArtPremiumMatte",N_ ("Fine Art Premium Matte"), 0x15,0x1a,0x2c,0.78, 0.25, 0.500, 0, 0, 0 }, - { "FineArtMuseumEtching",N_ ("Fine Art Museum Etching"), 0x14,0x19,0x31,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "Boardpaper", N_ ("Board Paper"), 0x18,0x1d,0x2e,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "Canvas", N_ ("Canvas"), 0x19,0x1e,0x2d,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x1b,0x29,0.78, 0.25, 0.500, 0, 0, 0 },*/ /* note: different from usual 13,1b,29 */ +/* { "FineArtPremiumMatte",N_ ("Fine Art Premium Matte"), 0x15,0x1a,0x2c,0.78, 0.25, 0.500, 0, 0, 0 },*/ +/* { "FineArtMuseumEtching",N_ ("Fine Art Museum Etching"), 0x14,0x19,0x31,0.78, 0.25, 0.500, 0, 0, 0 },*/ }; DECLARE_PAPERS(canon_PIXMA_Pro9000); @@ -1094,7 +1183,7 @@ static const canon_paper_t canon_PIXMA_Pro9000mk2_papers[] = { { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/*PPGproPlat*/ { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, - { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, +/* { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },*/ { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 }, { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 }, { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, @@ -1902,19 +1991,19 @@ DECLARE_PAPERS(canon_MULTIPASS_MP990); static const canon_paper_t canon_PIXMA_MG2400_papers[] = { { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },/* plain */ { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ - { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed */ - { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: PPproLuster*/ - { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed */ + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: PPproLuster*/ + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },/* glossy */ - { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed */ - { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed */ - { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: all hagaki */ - { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: inkjet hagaki */ - { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: Canon photo hagaki*/ - { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: hagaki*/ - { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: T-shirt */ + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: all hagaki */ + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: inkjet hagaki */ + { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: Canon photo hagaki */ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: hagaki */ + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: T-shirt */ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },/* env */ - { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/* uncomfirmed: PP other */ + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: PP other */ }; DECLARE_PAPERS(canon_PIXMA_MG2400); @@ -1938,6 +2027,25 @@ static const canon_paper_t canon_PIXMA_MG3200_papers[] = { }; DECLARE_PAPERS(canon_PIXMA_MG3200); +static const canon_paper_t canon_PIXMA_P200_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ +}; +DECLARE_PAPERS(canon_PIXMA_P200); + static const canon_paper_t canon_PIXMA_MG5100_papers[] = { { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ @@ -2045,6 +2153,25 @@ static const canon_paper_t canon_PIXMA_MG6300_papers[] = { DECLARE_PAPERS(canon_PIXMA_MG6300); /* new paper type from February 2014 */ +static const canon_paper_t canon_PIXMA_MG2900_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: PPproLuster*/ + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "GlossyPaperStandard", N_ ("Standard Glossy Photo Paper"), 0x05,0x05,0x44,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGstandard */ + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed */ + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: all hagaki */ + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: inkjet hagaki */ + { "InkjetPhotoHagakiK",N_ ("Hagaki K (Inkjet Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: Canon photo hagaki */ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: hagaki */ + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: T-shirt */ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },/* env */ + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/* unconfirmed: PP other */ +}; +DECLARE_PAPERS(canon_PIXMA_MG2900); + static const canon_paper_t canon_PIXMA_iP8700_papers[] = { { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ @@ -2068,6 +2195,44 @@ static const canon_paper_t canon_PIXMA_iP8700_papers[] = { }; DECLARE_PAPERS(canon_PIXMA_iP8700); +static const canon_paper_t canon_MULTIPASS_E400_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "GlossyPaperStandard", N_ ("Standard Glossy Photo Paper"), 0x05,0x05,0x44,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "InkjetPhotoHagakiK",N_ ("Hagaki K (Inkjet Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/*unsupported*/ +}; +DECLARE_PAPERS(canon_MULTIPASS_E400); + +static const canon_paper_t canon_MULTIPASS_E480_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/* PPproLuster */ + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, + { "GlossyPaperStandard", N_ ("Standard Glossy Photo Paper"), 0x05,0x05,0x44,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGstandard */ + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported: all hagaki */ + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported: inkjet hagaki */ + { "InkjetPhotoHagakiK",N_ ("Hagaki K (Inkjet Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported: Inkjet photo hagaki */ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported: hagaki */ + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported: T-shirt */ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },/* env */ + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/* PP other */ +}; +DECLARE_PAPERS(canon_MULTIPASS_E480); + static const canon_paper_t canon_PIXMA_iX6800_papers[] = { { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ @@ -2087,4 +2252,42 @@ static const canon_paper_t canon_PIXMA_iX6800_papers[] = { }; DECLARE_PAPERS(canon_PIXMA_iX6800); +static const canon_paper_t canon_PIXMA_iP110_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "GlossyPaperStandard", N_ ("Standard Glossy Photo Paper"), 0x05,0x05,0x44,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, + { "InkjetPhotoHagakiK",N_ ("Hagaki K (Inkjet Photo)"), 0x05,0x09,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* note Esc (l different */ + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ +}; +DECLARE_PAPERS(canon_PIXMA_iP110); + +static const canon_paper_t canon_MAXIFY_iB4000_papers[] = { + { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGgold */ + { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "PhotoProLuster", N_ ("Photo Paper Pro Luster"), 0x25,0x28,0x3f,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, + { "GlossyPaperStandard", N_ ("Standard Glossy Photo Paper"), 0x05,0x05,0x44,0.78, 0.25, 0.500, 0, 0, 0 },/* PPGstandard */ + { "PhotopaperMatte", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, + { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, + { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, + { "InkjetPhotoHagakiK",N_ ("Hagaki K (Inkjet Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ + { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },/* unsupported */ +}; +DECLARE_PAPERS(canon_MAXIFY_iB4000); + #endif diff --git a/src/main/canon-modes.h b/src/main/canon-modes.h index b3f0ef1..653cb43 100644 --- a/src/main/canon-modes.h +++ b/src/main/canon-modes.h @@ -628,121 +628,129 @@ DECLARE_MODES(canon_BJC_i900,1); /* inkjetHagaki, Hagaki and CD from 950i */ static const canon_mode_t canon_BJC_i950_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI MEDIUM"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI MEDIUM"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* untested */ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO LOW"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/HiRes/PhotoFilm"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO DRAFT HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/HiRes/PhotoFilm"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO DRAFT HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* inkjet Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo5",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft5",N_("600x600 DPI CD DRAFT"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,0}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo5",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft5",N_("600x600 DPI CD DRAFT"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI LOW Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI LOW Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /* T-Shirt --- same as plain std */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Env/Hagaki --- same as plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high5",N_("600x600 DPI STD Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high5",N_("600x600 DPI STD Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* untested */ { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI LOW Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ { 600, 600,CANON_INK_CMYK,"600x600dpi_std5",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono4",N_("600x600 DPI MONO LOW Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono5",N_("600x600 DPI MONO DRAFT Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, }; -DECLARE_MODES(canon_BJC_i950,2); +DECLARE_MODES(canon_BJC_i950,1); /* inkjetHagaki, Hagaki and CD from 960i */ static const canon_mode_t canon_BJC_i960_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH (duplex)"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI MEDIUM"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH (duplex)"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI MEDIUM"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO LOW"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo5",N_("600x600 DPI PHOTO DRAFT HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo5",N_("600x600 DPI PHOTO DRAFT HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* inkjet Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI LOW Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},/*untested*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI LOW Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /*untested*/ /* T-Shirt --- same as plain std */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Env/Hagaki --- same as plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high5",N_("600x600 DPI MEDIUM Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI STD Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high5",N_("600x600 DPI MEDIUM Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI STD Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ { 600, 600,CANON_INK_CMYK,"600x600dpi_std5",N_("600x600 DPI LOW Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft5",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, - { 600, 600,CANON_INK_K,"600x600dpi_draftmono4",N_("600x600 DPI MONO LOW Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono5",N_("600x600 DPI MONO DRAFT Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, }; -DECLARE_MODES(canon_BJC_i960,2); +DECLARE_MODES(canon_BJC_i960,1); /* inkjetHagaki and Hagaki from 990i */ static const canon_mode_t canon_BJC_i990_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH (duplex)"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI MEDIUM"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH (duplex)"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI MEDIUM"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO LOW"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes --- many use R ink which is not yet supported */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO HiRes/other"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT gloss"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO HiRes/other"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT gloss"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* inkjet Hagaki --- high mode uses unsupported R ink */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* T-Shirt --- same as plain std */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Env/Hagaki --- same as plain modes: but no special duplex modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft5",N_("600x600 DPI LOW Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono4",N_("600x600 DPI MONO LOW Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono5",N_("600x600 DPI MONO DRAFT Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, }; -DECLARE_MODES(canon_BJC_i990,2); +DECLARE_MODES(canon_BJC_i990,1); /* inkjetHagaki and Hagaki from 6100i */ static const canon_mode_t canon_BJC_i6100_modes[] = { @@ -776,31 +784,34 @@ DECLARE_MODES(canon_BJC_i6100,2); /* inkjetHagaki and Hagaki from 9100i */ static const canon_mode_t canon_BJC_i9100_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C5M5Y5K9c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(9_C5M5Y5K9c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI LOW"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH pro/plusGlossy"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/gloss/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo2",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo",N_("600x600 DPI PHOTO matte/gloss/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH pro/plusGlossy"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/gloss/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo2",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo",N_("600x600 DPI PHOTO matte/gloss/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* inkjet Hagaki */ - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT inkjet Hagaki"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT inkjet Hagaki"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /* T-Shirt */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Env/Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C5M5Y5K9c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C5M5Y5K9c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, }; @@ -808,31 +819,34 @@ DECLARE_MODES(canon_BJC_i9100,1); static const canon_mode_t canon_BJC_i9900_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI MEDIUM"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI MEDIUM"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO LOW"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes --- many use R, G inks which are not yet supported */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH HiRes"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM HiRes"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO HiRes/other"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT gloss/plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH HiRes"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM HiRes"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO HiRes/other"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT gloss/plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* inkjet Hagaki --- high mode uses unsupported R,G inks */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI inkjet Hagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI inkjet Hagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* T-Shirt --- same as plain std */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Env/Hagaki --- same as plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft5",N_("600x600 DPI LOW Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono4",N_("600x600 DPI MONO LOW Env/Hagaki"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, @@ -973,6 +987,9 @@ DECLARE_MODES(canon_BJC_S520,2); static const canon_mode_t canon_BJC_S600_modes[] = { /* plain modes */ + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(9_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ @@ -1027,87 +1044,96 @@ DECLARE_MODES(canon_BJC_S750,1); static const canon_mode_t canon_BJC_S800_modes[] = { /* plain modes --- also for Env/Hagaki */ + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(9_C9M9Y9K9c9m9),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(4_C2M2Y2K2),16,0,NULL,1.0,1.0,NULL,NULL,NULL,0},/* 1bpp */ /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_highmono2",N_("600x600 DPI HIGH MONO 2"),INKSET(9_K9),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(1_K2),16,0,NULL,1.0,1.0,NULL,NULL,NULL,0},/* 1bpp */ /* photo modes */ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO HIGHEST pro/other"),INKSET(9_C9M9Y9K9c9m9),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGHEST matte/gloss/HiRes/PhotoCard/"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGHEST matte/gloss/HiRes/PhotoCard/"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH plusGlossy/PhotoFilm"),INKSET(9_C9M9Y9K9c9m9),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH pro/matte/gloss/HiRes/PhotoCard/other"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/gloss/HiRes/PhotoCard"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO other"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH pro/matte/gloss/HiRes/PhotoCard/other"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/gloss/HiRes/PhotoCard"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO other"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT other"),INKSET(4_C2M2Y2K2),16,0,NULL,1.0,1.0,NULL,NULL,NULL,0},/* 1bpp */ /* mono photo modes for PPother only --- manual feed preferred in Windows driver */ { 600, 600,CANON_INK_K,"600x600dpi_photomonohigh2",N_("600x600 DPI PHOTO HIGHEST MONO other"),INKSET(9_K9),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_K,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_K,"600x600dpi_photomono",N_("600x600 DPI PHOTO MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_K,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_K,"600x600dpi_photomono",N_("600x600 DPI PHOTO MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_K,"600x600dpi_photomonodraft",N_("600x600 DPI PHOTO MONO DRAFT"),INKSET(1_K2),16,0,NULL,1.0,1.0,NULL,NULL,NULL,0},/* 1bpp */ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /* T-Shirt */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ }; -DECLARE_MODES(canon_BJC_S800,2); +DECLARE_MODES(canon_BJC_S800,1); /* Windows driver shows fewer modes than S800, but it could be they exist */ /* modes present in S800 but not accessible in Windows driver for S820 are marked as untested */ static const canon_mode_t canon_BJC_S820_modes[] = { /* plain modes --- also for Env/Hagaki */ + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(9_C9M9Y9K9c9m9),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},/* untested */ - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ /* untested */ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_highmono2",N_("600x600 DPI HIGH MONO 2"),INKSET(9_K9),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},/* untested */ - { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* untested */ - { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ +/* { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ /* untested */ +/* { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO HIGHEST pro/other"),INKSET(9_C9M9Y9K9c9m9),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGHEST matte/gloss/HiRes/PhotoCard/"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGHEST matte/gloss/HiRes/PhotoCard/"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH plusGlossy/PhotoFilm"),INKSET(9_C9M9Y9K9c9m9),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH pro/matte/gloss/HiRes/PhotoCard/other"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/gloss/HiRes/PhotoCard"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO other"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH pro/matte/gloss/HiRes/PhotoCard/other"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/gloss/HiRes/PhotoCard"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO other"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /* T-Shirt */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ }; -DECLARE_MODES(canon_BJC_S820,2); +DECLARE_MODES(canon_BJC_S820,1); static const canon_mode_t canon_BJC_S900_modes[] = { /* plain modes --- also for Env/Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH 2"),INKSET(9_C5M5Y5K9c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi_legacy",N_("1200x1200 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_legacy",N_("600x600 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + { 300, 300,CANON_INK_CMYK,"300x300dpi_legacy",N_("300x300 DPI (legacy)"),INKSET(6_C2M2Y2K2c2m2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH 2"),INKSET(9_C5M5Y5K9c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_highmono2",N_("600x600 DPI HIGH MONO 2"),INKSET(9_K9),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},/* untested */ - { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* untested */ - { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ +/* { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ /* untested */ +/* { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(9_K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh5",N_("600x600 DPI PHOTO HIGHEST pro"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO HIGHEST HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH plusGlossy"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/gloss/PhotoFilm"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH pro/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/gloss/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO DRAFT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh5",N_("600x600 DPI PHOTO HIGHEST pro"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO HIGHEST HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH plusGlossy"),INKSET(9_C5M5Y5K5c9m9_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/gloss/PhotoFilm"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH pro/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/gloss/HiRes"),INKSET(9_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO DRAFT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* untested */ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},*/ /* T-Shirt */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K5_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ }; DECLARE_MODES(canon_BJC_S900,1); @@ -1201,6 +1227,33 @@ static const canon_mode_t canon_PIXMA_iP100_modes[] = { }; DECLARE_MODES(canon_PIXMA_iP100,2); +/* simpler compared to iP110, in fact commands in line with other normal-sized PIXMA devices */ +/* no Esc (S command */ +/* 2 ink carts: (1) CMYk (2) pigment black K */ +/* special inksaving options to save ink and/or use only remaining ink: */ +/* (not exclusive): black-saving mode, composite black, black-saving + composite black both active */ +static const canon_mode_t canon_PIXMA_iP110_modes[] = { + /* plain modes */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH MONO"),INKSET(11_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},/* color untested */ + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(11_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(11_C2M2Y2K2),8,MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(11_C2M2Y2K2),8,MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},/* untested */ + /* photo modes CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST (Plus Glossy II)"),INKSET(11_C9M9Y4k6),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(11_C6M6Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO (Matte/HiRes)"),INKSET(11_C6M6Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(11_C5M5Y3k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* TST - copied from iP100 */ + { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + /* Env/Hagaki */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_high4",N_("600x600 DPI HIGH (Env/Hagaki)"),INKSET(11_C6M6Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH MONO (Env/Hagaki)"),INKSET(11_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* color untested */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI (Env/Hagaki)"),INKSET(11_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_PIXMA_iP110,2); + /* testing */ static const canon_mode_t canon_PIXMA_iP1000_modes[] = { { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(9_C4M4Y4K2),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, @@ -1640,6 +1693,67 @@ static const canon_mode_t canon_PIXMA_iP6700_modes[] = { }; DECLARE_MODES(canon_PIXMA_iP6700,1); +/* ------------------------------Start of MP series------------------------------ */ + +/* MP5, MP10 */ +static const canon_mode_t canon_PIXMA_MP5_modes[] = { + /* plain modes */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C4M4Y4K3),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_MP360,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),16,0,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),16,0,NULL,1.0,1.0,NULL,NULL,NULL,0}, + /* photo modes */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGHEST Gloss"),INKSET(9_C7M7Y7K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH Pro,Super,Matte,HiRes,GlossyFilm"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO High Gloss"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO Matte,HiRes,GlossyFilm"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO Pro,Super,Gloss"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ + /* inkjet Kansei Hagaki */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO HIGH inkjet Hagaki"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo4",N_("600x600 DPI PHOTO inkjet Hagaki"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Transparency */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_ohphigh",N_("600x600 DPI HIGH Transparency"),INKSET(9_C4M4Y4K3),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_MP360,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_ohp",N_("600x600 DPI Transparency"),INKSET(9_C3M3Y2K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* T-shirt */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C5M5Y5K2plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C4M4Y4K3),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_MP360,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Env/Hagaki"),INKSET(9_C3M3Y2K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K,"600x600dpi_stdmono2",N_("600x600 DPI MONO Env/Hagaki"),INKSET(9_C4M4Y4K3),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_MP360,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(9_C3M3Y2K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +}; +DECLARE_MODES(canon_PIXMA_MP5,1); + +/* MP55 */ +static const canon_mode_t canon_PIXMA_MP55_modes[] = { + /* plain modes */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_medium",N_("600x600 MEDIUM DPI"),INKSET(9_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,1},/* untested */ + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),8,0,NULL,1.0,1.0,NULL,NULL,NULL,0}, + /* photo modes */ + { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGHEST Gloss"),INKSET(9_C4M4Y4K2c4m4y4plain),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH Pro,Super,GlossyFilm"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH Matte,Gloss,HiRes"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO Pro,Super,GlossyFilm"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO Matte,Gloss,HiRes"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT HiRes"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* inkjet Kansei Hagaki Note: has monochrome */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO HIGH inkjet Hagaki"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_photo4",N_("600x600 DPI PHOTO inkjet Hagaki"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* Transparency */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_ohphigh",N_("600x600 DPI HIGH Transparency"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_ohp",N_("600x600 DPI Transparency"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* T-shirt */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C4M4Y4K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Env/Hagaki"),INKSET(9_C3M3Y2K2_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +}; +DECLARE_MODES(canon_PIXMA_MP55,2); + static const canon_mode_t canon_MULTIPASS_MP150_modes[] = { /* plain modes */ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y4K2c4m4y4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, /* subtract 0x60 from cmy */ @@ -2007,6 +2121,23 @@ static const canon_mode_t canon_MULTIPASS_MX420_modes[] = { }; DECLARE_MODES(canon_MULTIPASS_MX420,1); +/* same as MX420, but try to use inktypes to control use of inks in inkets */ +static const canon_mode_t canon_MULTIPASS_MX470_modes[] = { + /* plain modes - borderless uses CMY */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high5",N_("600x600 DPI HIGH (COLOR-ONLY)"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* Photo modes */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST proPlat"),INKSET(13_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH / T-SHIRT"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki modes - borderless uses CMY */ + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_MULTIPASS_MX470,1); + static const canon_mode_t canon_MULTIPASS_MX510_modes[] = { /* plain modes --- try to use based on inkset definitions */ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,3}, @@ -2534,36 +2665,36 @@ DECLARE_MODES(canon_MULTIPASS_MP710,1); static const canon_mode_t canon_MULTIPASS_MP900_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* mono */ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO LOW"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO / DRAFT PHOTO HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro/HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO / DRAFT PHOTO HiRes"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* inkjet Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(9_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjet Hagaki"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft4",N_("600x600 DPI DRAFT CD"),INKSET(9_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Transparency"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* T-Shirt --- same as plain std */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Env/Hagaki --- same as plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high4",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(9_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(9_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(9_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono4",N_("600x600 DPI MONO Env/Hagaki"),INKSET(9_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, }; -DECLARE_MODES(canon_MULTIPASS_MP900,1); +DECLARE_MODES(canon_MULTIPASS_MP900,0); static const canon_mode_t canon_PIXMA_iP2700_modes[] = { /* plain modes */ @@ -2718,6 +2849,22 @@ static const canon_mode_t canon_MULTIPASS_MX7600_modes[] = { }; DECLARE_MODES(canon_MULTIPASS_MX7600,1); +static const canon_mode_t canon_MULTIPASS_E480_modes[] = { + /* plain modes */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(7_K3C4M4Y3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY,"600x600dpi_high2",N_("600x600 DPI HIGH (COLOR-ONLY)"),INKSET(7_K2C3M3Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(7_K2C3M3Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(7_K2C2M2Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_COLOR|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* photo modes */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST plus Glossy II"),INKSET(7_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, /* CMYcmy, cmy less 0x60 */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(7_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(7_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki */ + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH (Env/Hagaki)"),INKSET(7_K2C3M3Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI (Env/Hagaki)"),INKSET(7_K2C3M3Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_MULTIPASS_E480,1); + static const canon_mode_t canon_MULTIPASS_E500_modes[] = { /* plain modes */ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,3}, @@ -2736,6 +2883,34 @@ static const canon_mode_t canon_MULTIPASS_E500_modes[] = { }; DECLARE_MODES(canon_MULTIPASS_E500,2); +static const canon_mode_t canon_MULTIPASS_E560_modes[] = { + /* plain modes */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH DUPLEX / COLOR-ONLY"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_COLOR|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* photo modes */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST proPlat"),INKSET(13_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, /* CMYcmy, cmy less 0x60 */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH / T-SHIRT"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki */ + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(13_C3M3Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(13_C3M3Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_MULTIPASS_E560,2); + +static const canon_mode_t canon_PIXMA_P200_modes[] = { + /* plain modes, also for Env/Hagaki */ + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C3M3Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_COLOR|MODE_FLAG_BLACK,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* photo modes */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST plus Glossy II"),INKSET(13_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, /* CMYcmy, cmy less 0x60 */ + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_PIXMA_P200,1); + static const canon_mode_t canon_PIXMA_iP4500_modes[] = { /* plain modes -- duplex same (except no mono) */ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, @@ -3170,6 +3345,25 @@ static const canon_mode_t canon_PIXMA_iX5000_modes[] = { }; DECLARE_MODES(canon_PIXMA_iX5000,1); +static const canon_mode_t canon_PIXMA_iX6800_modes[] = { + /* plain */ + { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K3k4_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K3k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* untested */ + /* photo CMYKk */ + { 600, 600,CANON_INK_CMYKk,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH / T-Shirt"),INKSET(13_C8M8Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYKk,"600x600dpi_photo2",N_("600x600 DPI PHOTO Matte/HiRes"),INKSET(13_C8M8Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYKk,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C6M6Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Inkjet Hagaki*/ + { 600, 600,CANON_INK_CMYKk,"600x600dpi_photohigh2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(13_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYKk,"600x600dpi_photo3",N_("600x600 DPI Env/Hagaki"),INKSET(13_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki */ + { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high2",N_("600x600 DPI"),INKSET(13_C3M3Y2K3k3on_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_std2",N_("600x600 DPI"),INKSET(13_C3M3Y2K3k3on_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_PIXMA_iX6800,1); + static const canon_mode_t canon_PIXMA_iX7000_modes[] = { /* plain */ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K3k4_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, @@ -3191,88 +3385,88 @@ DECLARE_MODES(canon_PIXMA_iX7000,1); /* mono uses bw=2 */ static const canon_mode_t canon_PIXMA_Pro9000_modes[] = { /* Plain Modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT 2"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* plain mono */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT 2"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Photo Modes */ /* highest uses R,G so cannot support */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH gloss"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH GlossPro/proPlat/pro"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH gloss"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH GlossPro/proPlat/pro"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* inkjet Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed2",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI inkjet Hagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed2",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI inkjet Hagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* photo mono */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO MONO HIGH / CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonomed",N_("600x600 DPI PHOTO MONO MEDIUM"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomono",N_("600x600 DPI PHOTO MONO / CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonodraft",N_("600x600 DPI PHOTO MONO DRAFT"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - /* Env/Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki 2"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI MONO HIGH Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO MONO HIGH / CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonomed",N_("600x600 DPI PHOTO MONO MEDIUM"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomono",N_("600x600 DPI PHOTO MONO / CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonodraft",N_("600x600 DPI PHOTO MONO DRAFT"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ + /* Env/Hagaki */ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki 2"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI MONO HIGH Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* T-shirt */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* board, canvas, FineArt, Museum Etching */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh5",N_("600x600 DPI Board/Canvas/FineArt/Museum"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh5",N_("600x600 DPI Board/Canvas/FineArt/Museum"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ }; -DECLARE_MODES(canon_PIXMA_Pro9000,1); +DECLARE_MODES(canon_PIXMA_Pro9000,0); /* all use normal BJ format and ink codes */ /* mono uses bw=2 */ static const canon_mode_t canon_PIXMA_Pro9000mk2_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT 2"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* plain mono modes */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT 2"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes --- highest use RGH so cannot support yet */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH gloss"),INKSET(11_C6M6Y6K6c16m16_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM pro/proPlat/"),INKSET(11_C6M6Y6K6c16m16_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO gloss"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH gloss"),INKSET(11_C6M6Y6K6c16m16_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM pro/proPlat/"),INKSET(11_C6M6Y6K6c16m16_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO gloss"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* inkjet Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(11_C6M6Y6K6c16m16_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjet Hagaki"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(11_C6M6Y6K6c16m16_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjet Hagaki"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* CD */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH CD"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH CD"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo4",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* photo mono */ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO MONO HIGH / CD"),INKSET(11_C16M16Y16K16c16m16),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4}, { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonomed",N_("600x600 DPI PHOTO MONO MEDIUM"),INKSET(11_C16M16Y16K16c16m16),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomono",N_("600x600 DPI PHOTO MONO / CD"),INKSET(11_C16M16Y16K16c16m16),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonodraft",N_("600x600 DPI PHOTO MONO DRAFT"),INKSET(11_C16M16Y16K16c16m16),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* Env/Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI MONO HIGH Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI MONO HIGH Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* T-Shirt */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* board, canvas, FineArt, Museum Etching */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh5",N_("600x600 DPI Board/Canvas/FineArt/Museum"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh5",N_("600x600 DPI Board/Canvas/FineArt/Museum"),INKSET(11_C6M6Y6K6c6m6_c),8,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ }; -DECLARE_MODES(canon_PIXMA_Pro9000mk2,1); +DECLARE_MODES(canon_PIXMA_Pro9000mk2,0); /* all modes use normal BJ ink and format codes */ /* However, most modes use RGH inks as well as CMYKcmyk, and so cannot be currently supported */ @@ -3285,16 +3479,16 @@ static const canon_mode_t canon_PIXMA_Pro9500_modes[] = { /* plain mono: these modes use CMYK inks also */ /* used for plain, hagaki */ /* bw=2 */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono2",N_("600x600 DPI MONO PLAIN/Hagaki HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO Hagaki STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO PLAIN STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono2",N_("600x600 DPI MONO PLAIN/Hagaki HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO Hagaki STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO PLAIN STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT2"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},/*untested*/ /* Photo modes: only mono using CMYK-only can be supported currently */ /* this has k instead of K --- also CD */ { 600, 600,CANON_INK_CMYK,"600x600dpi_photomono",N_("600x600 DPI MONO PHOTO / CD"),INKSET(11_C16M16Y16k16),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4}, }; -DECLARE_MODES(canon_PIXMA_Pro9500,1); +DECLARE_MODES(canon_PIXMA_Pro9500,0); /* all modes use normal BJ ink and format codes */ /* However, most modes use RGH inks as well as CMYKcmyk, and so cannot be currently supported */ @@ -3306,46 +3500,46 @@ static const canon_mode_t canon_PIXMA_Pro9500mk2_modes[] = { /* plain mono: these modes use CMYK inks also */ /* used for plain, hagaki */ /* bw=2 */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono2",N_("600x600 DPI MONO PLAIN/Hagaki HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO Hagaki STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO PLAIN STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono2",N_("600x600 DPI MONO PLAIN/Hagaki HIGH"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO Hagaki STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_mono",N_("600x600 DPI MONO PLAIN STD"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draftmono2",N_("600x600 DPI MONO DRAFT2"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Photo modes: only mono using CMYK-only can be supported currently */ /* this has k instead of K --- also CD */ { 600, 600,CANON_INK_CMYK,"600x600dpi_photomono",N_("600x600 DPI MONO PHOTO / CD"),INKSET(11_C16M16Y16k16),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4}, }; -DECLARE_MODES(canon_PIXMA_Pro9500mk2,1); +DECLARE_MODES(canon_PIXMA_Pro9500mk2,0); /* iP7100 */ /* ESC (r command is 0x64 but another one befor data is sent: ESC (r 0x62 0x0 */ static const canon_mode_t canon_PIXMA_iP7100_modes[] = { /* plain modes: color */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Hagaki/Env */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* plain modes: mono */ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO / CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO plusDS/gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO / CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO plusDS/gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Fine Art*/ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ }; -DECLARE_MODES(canon_PIXMA_iP7100,2); +DECLARE_MODES(canon_PIXMA_iP7100,0); static const canon_mode_t canon_PIXMA_iP7200_modes[] = { /* plain - used for mono also. For duplex use CMYKk */ @@ -3395,136 +3589,160 @@ DECLARE_MODES(canon_PIXMA_iP7500,1); /* ESC (r command is 0x64 but another one befor data is sent: ESC (r 0x62 0x0 */ static const canon_mode_t canon_PIXMA_iP8100_modes[] = { /* plain modes: color */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Hagaki/Env */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* plain modes: mono */ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ /* one mode for PPpro ud1, hi cannot be supported yet as it uses Red ink (R) in addtion to CMYKcm */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO / CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO plusDS/gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO / CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO plusDS/gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Fine Art*/ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ }; -DECLARE_MODES(canon_PIXMA_iP8100,2); +DECLARE_MODES(canon_PIXMA_iP8100,0); /* iP8500 */ /* ESC (r command is 0x64 but another one befor data is sent: ESC (r 0x62 0x0 */ static const canon_mode_t canon_PIXMA_iP8500_modes[] = { /* plain modes */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Env/Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* plain modes: mono */ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ /* some modes cannot be supported yet as they use Red (R) and Green (G) ink in addition to CMYKcm */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO HiRes/other"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT plus"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusDS/glossy"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO HiRes/other"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT plus"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusDS/glossy"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* CD CMYKcm */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI DRAFT CD"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* Transparency CMYK */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* T-Shirt CMYK */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ }; -DECLARE_MODES(canon_PIXMA_iP8500,2); +DECLARE_MODES(canon_PIXMA_iP8500,0); /* iP8600 */ /* ESC (r command is 0x64 but another one befor data is sent: ESC (r 0x62 0x0 */ static const canon_mode_t canon_PIXMA_iP8600_modes[] = { /* plain modes: color */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Env/Hagaki */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* plain modes: mono */ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ /* one mode for PPpro ud1, hi, and PPplusGlossy hi cannot be supported yet as it uses Red (R) and Green (G) ink in addition to CMYKcm */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH plusDS/gloss"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro/plusGlossy/matte/HiRes CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO plusDS/gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH plusDS/gloss"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro/plusGlossy/matte/HiRes CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO plusDS/gloss"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* inkjet Hagaki separate out */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjetHagaki"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjetHagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjetHagaki"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjetHagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Fine Art */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI PHOTO FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +}; +DECLARE_MODES(canon_PIXMA_iP8600,0); + +/* for this printer most photo modes have grey (H) ink. */ +/* borderless: plain (qlty 2 only), hagaki (qlty 3 and 2) use std mode with CMYk, those with photo modes unchanged. No env, HiRes, TST for borderless */ +/* Mono modes not yet checked */ +static const canon_mode_t canon_PIXMA_iP8700_modes[] = { + /* plain modes --- duplex no mono CMYK */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(30_K3C6M6Y4k4off_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(30_K3C3M3Y2k3off_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(30_K2C2M2Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* Env/Hagaki CMYKk */ + { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_high2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_std2",N_("600x600 DPI Env/Hagaki"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* photo modes CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/HiRes/T-shirt"),INKSET(30_M8K8m4k4H8off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO matte/HiRes"),INKSET(30_M8K8m4k4H8off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO other"),INKSET(30_M6K6m4k4H6off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* CD CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH CD"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},/*untested*/ + /* inkjet hagaki CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; -DECLARE_MODES(canon_PIXMA_iP8600,2); +DECLARE_MODES(canon_PIXMA_iP8700,1); /* iP9910 */ /* ESC (r command before data is sent: ESC (r 0x62 0x0 */ static const canon_mode_t canon_PIXMA_iP9910_modes[] = { /* plain modes: color */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (duplex)"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI plain/T-Shirt"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI LOW"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* Hagaki/Env */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(11_C6M6Y6K9c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT Env/Hagaki"),INKSET(11_C2M2Y2K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* plain modes: mono */ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI MONO DRAFT"),INKSET(11_K2),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* photo modes */ /* one mode for PPpro hi, and PPplusGlossy hi cannot be supported yet as it uses Red (R) and Green (G) ink in addtion to CMYKcm */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH plusDS/gloss"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO pro/plusGlossy/matte/HiRes/other CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO gloss CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH plusDS/gloss"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO pro"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO pro/plusGlossy/matte/HiRes/other CD High"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO gloss CD Draft"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT plusGlossy"),INKSET(11_C5M5Y5K5c5m5_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ /* inkjet Hagaki separate out */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjetHagaki"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjetHagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH inkjetHagaki"),INKSET(11_C6M6Y6K6c16m16_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI inkjetHagaki"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* Fine Art */ - { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4}, +/* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH FineArt"),INKSET(11_C6M6Y6K6c6m6_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,4},*/ /* Transparency */ - { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_std4",N_("600x600 DPI Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ +/* { 600, 600,CANON_INK_CMYK,"600x600dpi_draft4",N_("600x600 DPI DRAFT Transparency"),INKSET(11_C6M6Y6K6_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/ }; -DECLARE_MODES(canon_PIXMA_iP9910,2); +DECLARE_MODES(canon_PIXMA_iP9910,0); static const canon_mode_t canon_PIXMA_MG2100_modes[] = { /* plain modes */ @@ -3562,7 +3780,7 @@ static const canon_mode_t canon_PIXMA_MG2400_modes[] = { { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI (incl. T-shirt)"),INKSET(13_C3M3Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 300, 300,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* Photo modes */ - { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST glossGold"),INKSET(13_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST Plus Glossy II"),INKSET(13_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, /* Env/Hagaki modes */ @@ -3605,16 +3823,14 @@ DECLARE_MODES(canon_PIXMA_MG3100,1); /* same as MG3100, but try to use inktypes to control use of inks in inkets */ static const canon_mode_t canon_PIXMA_MG3500_modes[] = { /* plain modes - borderless uses CMY */ - { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX|MODE_FLAG_BLACK|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high5",N_("600x600 DPI HIGH (duplex)"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, - { 300, 300,CANON_INK_CMY,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 300, 300,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* Photo modes */ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST proPlat"),INKSET(13_C14M14Y14c14m14y14),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,4}, - { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH / T-Shirt"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, - /* T-Shirt */ - { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(13_C4M4Y4),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, /* Env/Hagaki modes - borderless uses CMY */ { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_high3",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_K|CANON_INK_CMY|CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI Env/Hagaki"),INKSET(13_C3M3Y2K3),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_BLACK|MODE_FLAG_COLOR,NULL,1.0,1.0,NULL,NULL,NULL,2}, @@ -3692,6 +3908,30 @@ static const canon_mode_t canon_PIXMA_MG5300_modes[] = { }; DECLARE_MODES(canon_PIXMA_MG5300,1); +static const canon_mode_t canon_PIXMA_MG5400_modes[] = { + /* plain modes -- B/W also */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K3k4_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K3k3_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Duplex/Env/Hagaki CMYKk */ + { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_high2",N_("600x600 DPI HIGH duplex/Env/Hagaki"),INKSET(13_C3M3Y2K3k3on_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_std2",N_("600x600 DPI duplex/Env/Hagaki"),INKSET(13_C3M3Y2K3k3on_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* draft */ + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* photo modes CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C6M6Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/HiRes"),INKSET(13_C8M8Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* CD CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH CD"),INKSET(13_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(13_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* inkjet hagaki CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(13_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(13_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* T-Shirt CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(13_C8M8Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, +}; +DECLARE_MODES(canon_PIXMA_MG5400,1); + /* borderless: plain (qlty 2 only), hagaki (qlty 3 and 2) use std mode with CMYk, those with photo modes unchanged. No env, HiRes, TST for borderless */ static const canon_mode_t canon_PIXMA_MG5500_modes[] = { /* plain modes -- B/W also */ @@ -3761,11 +4001,39 @@ static const canon_mode_t canon_PIXMA_MG6200_modes[] = { DECLARE_MODES(canon_PIXMA_MG6200,1); /* for this printer most photo modes have grey (H) ink. */ +static const canon_mode_t canon_PIXMA_MG6300_modes[] = { + /* plain modes --- duplex no mono CMYK */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(30_K3C6M6Y4k4off_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(30_K3C3M3Y2k3off_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Duplex/Env/Hagaki CMYKk and K */ + { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_high2",N_("600x600 DPI HIGH duplex/Env/Hagaki"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_std2",N_("600x600 DPI duplex/Env/Hagaki"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* draft */ + { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(30_K2C2M2Y2),8,MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, + /* most photo modes CMYkH */ + /* photo modes CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH matte/HiRes"),INKSET(30_M8K8m4k4H8off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO matte/HiRes"),INKSET(30_M8K8m4k4H8off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* above also for PPgloss mono only CMYk */ + /* PPother */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO PPother"),INKSET(30_M6K6m4k4H6off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + /* CD CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI HIGH CD"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI CD"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},/* untested */ + /* inkjet hagaki CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh4",N_("600x600 DPI HIGH inkjet Hagaki"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo4",N_("600x600 DPI inkjet Hagaki"),INKSET(30_C5M5Y4k4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* T-Shirt CMYk */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(30_M8K8m4k4H8off),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, +}; +DECLARE_MODES(canon_PIXMA_MG6300,1); + +/* for this printer most photo modes have grey (H) ink. */ /* borderless: plain (qlty 2 only), hagaki (qlty 3 and 2) use std mode with CMYk, those with photo modes unchanged. No env, HiRes, TST for borderless */ static const canon_mode_t canon_PIXMA_MG6500_modes[] = { /* plain modes --- duplex no mono CMYK */ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(30_K3C6M6Y4k4off_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,3}, - { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(30_K3C3M3Y2k3off_c),16,MODE_FLAG_EXTENDED_T|MODE_FLAG_NODUPLEX,NULL,1.0,1.0,NULL,NULL,NULL,2}, /* Duplex/Env/Hagaki CMYKk */ { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_high2",N_("600x600 DPI HIGH duplex/Env/Hagaki"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_K|CANON_INK_CMYKk,"600x600dpi_std2",N_("600x600 DPI duplex/Env/Hagaki"),INKSET(30_K3C3M3Y2k3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, @@ -3834,6 +4102,20 @@ static const canon_mode_t canon_PIXMA_MG8200_modes[] = { }; DECLARE_MODES(canon_PIXMA_MG8200,1); +/* MAXIFY models: iB4000, MB2000, MB2300, MB5000, MB5300 */ +static const canon_mode_t canon_MAXIFY_iB4000_modes[] = { + /* plain modes, including duplex */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(4_C4M4Y4K4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(4_C3M3Y3K3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(4_K2),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Photo modes, unusually using CMYK */ + { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(4_C4M4Y4K4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(4_C4M4Y4K4),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, + /* Env/Hagaki modes */ + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH Env/Hagaki"),INKSET(4_C3M3Y3K3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, + { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Env/Hagaki"),INKSET(4_C3M3Y3K3_c),16,MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_MAXIFY_iB4000,1); #endif diff --git a/src/main/canon-printers.h b/src/main/canon-printers.h index c2f9232..2447c29 100644 --- a/src/main/canon-printers.h +++ b/src/main/canon-printers.h @@ -50,6 +50,7 @@ typedef struct canon_caps { unsigned char ESC_r_arg; /* argument used for the ESC (r command during init */ int ESC_l_len; /* length of ESC (l command, in bytes */ int ESC_P_len; /* length of ESC (P command, in bytes */ + int CassetteTray_Opts; /* upper/lower cassette tray option */ const char** control_cmdlist; const canon_modelist_t* modelist; const canon_paperlist_t* paperlist; @@ -245,6 +246,12 @@ static const char* control_cmd_PIXMA_MG3500[] = { NULL }; +static const char* control_cmd_PIXMA_MG5600[] = { +/*"SetTime=20060722092503", */ /*what is this for?*/ + "ForcePMDetection=OFF", + NULL +}; + static const char iP4500_channel_order[STP_NCOLORS] = {1,2,3,0}; /* CMYK */ static const canon_cap_t canon_model_capabilities[] = @@ -257,6 +264,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP830_modelist, &canon_MULTIPASS_MP600_paperlist, @@ -273,6 +281,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP800_modelist, &canon_MULTIPASS_MP600_paperlist, @@ -289,6 +298,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP810_modelist, &canon_MULTIPASS_MP600_paperlist, @@ -305,6 +315,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /* features */ &canon_MULTIPASS_MP950_modelist, &canon_MULTIPASS_MP950_paperlist, @@ -321,6 +332,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /* features */ &canon_MULTIPASS_MP960_modelist, &canon_MULTIPASS_MP960_paperlist, @@ -337,6 +349,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_P|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP970_modelist, &canon_MULTIPASS_MP970_paperlist, @@ -353,6 +366,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_P|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP980_modelist, &canon_MULTIPASS_MP980_paperlist, @@ -369,6 +383,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP990_modelist, &canon_MULTIPASS_MP990_paperlist, @@ -401,6 +416,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD1 | CANON_CAP_rr,0x61, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_S200_modelist, &canon_BJC_S200_paperlist, @@ -417,6 +433,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_ackshort, &canon_BJC_S300_modelist, &canon_BJC_S300_paperlist, @@ -433,6 +450,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_S330_modelist, &canon_BJC_S330_paperlist, @@ -449,6 +467,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_p,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_S500_modelist, &canon_BJC_S300_paperlist, @@ -465,6 +484,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_S520_modelist, &canon_BJC_S520_paperlist, @@ -481,6 +501,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_p,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_S600_modelist, &canon_BJC_S300_paperlist, @@ -497,6 +518,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, &canon_BJC_S750_modelist, &canon_BJC_S750_paperlist, @@ -513,6 +535,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_BJC_S800_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_p,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_S800_modelist, &canon_BJC_S800_paperlist, @@ -529,6 +552,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px|CANON_CAP_rr,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, &canon_BJC_S820_modelist, &canon_BJC_S800_paperlist, @@ -545,6 +569,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px|CANON_CAP_rr,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_S820_modelist, &canon_BJC_S800_paperlist, @@ -561,6 +586,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px|CANON_CAP_rr,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_S900_modelist, &canon_BJC_S800_paperlist, @@ -577,6 +603,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_30_modelist, &canon_default_paperlist, @@ -593,6 +620,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_85_modelist, &canon_default_paperlist, @@ -610,6 +638,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_cart,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_4300_modelist, &canon_default_paperlist, @@ -627,6 +656,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_4400_modelist, &canon_default_paperlist, @@ -643,6 +673,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a | CANON_CAP_cart,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_4550_modelist, &canon_default_paperlist, @@ -660,6 +691,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1 | CANON_CAP_cart,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_6000_modelist, &canon_default_paperlist, @@ -677,6 +709,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_ackshort, &canon_BJC_6000_modelist, &canon_default_paperlist, @@ -694,6 +727,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1 | CANON_CAP_cart,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_6000_modelist, &canon_default_paperlist, @@ -710,6 +744,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1 | CANON_CAP_r,0x61, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_ackshort, &canon_BJC_8200_modelist, &canon_default_paperlist, @@ -734,6 +769,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_210_modelist, &canon_default_paperlist, @@ -750,6 +786,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_240_modelist, &canon_default_paperlist, @@ -766,6 +803,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_240_modelist, &canon_default_paperlist, @@ -782,6 +820,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_240_modelist, &canon_default_paperlist, @@ -798,6 +837,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_2000_modelist, &canon_default_paperlist, @@ -814,6 +854,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* cartridge selection option */ CANON_CAP_STD0 | CANON_CAP_p | CANON_CAP_cart,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, &canon_BJC_3000_modelist, &canon_default_paperlist, @@ -830,6 +871,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1 | CANON_CAP_a | CANON_CAP_r,0x61, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_3000_modelist, &canon_default_paperlist, @@ -846,6 +888,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_7000_modelist, &canon_default_paperlist, @@ -862,6 +905,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_7100_modelist, &canon_default_paperlist, @@ -879,6 +923,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_px|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i50_modelist, &canon_BJC_i50_paperlist, @@ -895,6 +940,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i80_modelist, &canon_BJC_i80_paperlist, @@ -912,6 +958,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i250_modelist, &canon_BJC_i250_paperlist, @@ -928,6 +975,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i320_modelist, &canon_BJC_i320_paperlist, @@ -945,6 +993,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i450_modelist, &canon_BJC_i450_paperlist, @@ -961,6 +1010,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i455_modelist, &canon_BJC_i455_paperlist, @@ -977,6 +1027,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, &canon_BJC_i550_modelist, &canon_BJC_i550_paperlist, @@ -993,6 +1044,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, &canon_BJC_i560_modelist, &canon_BJC_i560_paperlist, @@ -1009,6 +1061,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, &canon_BJC_i850_modelist, &canon_BJC_i850_paperlist, @@ -1025,6 +1078,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_BJC_i860_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_M|CANON_CAP_BORDERLESS,0,/* ESC (M 0x0 0x0 0x0 */ 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, &canon_BJC_i860_modelist, &canon_BJC_i560_paperlist, @@ -1041,6 +1095,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_M|CANON_CAP_BORDERLESS,0,/* ESC (M 0x0 0x0 0x0 */ 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i900_modelist, &canon_BJC_i560_paperlist, @@ -1057,6 +1112,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i950_modelist, &canon_BJC_i950_paperlist, @@ -1073,6 +1129,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_BJC_i860_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_M|CANON_CAP_BORDERLESS,0,/* ESC (M 0x0 0x0 0x0 */ 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i960_modelist, &canon_BJC_i560_paperlist, @@ -1089,6 +1146,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_BJC_i860_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_M|CANON_CAP_BORDERLESS,0,/* ESC (M 0x0 0x0 0x0 */ 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i990_modelist, &canon_BJC_i560_paperlist, @@ -1105,6 +1163,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i6100, /* 32 times 0x0 before form feed not implemented */ &canon_BJC_i6100_modelist, &canon_BJC_i6100_paperlist, @@ -1121,6 +1180,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i9100_modelist, &canon_BJC_i9100_paperlist, @@ -1137,6 +1197,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_M|CANON_CAP_BORDERLESS,0,/* ESC (M 0x0 0x0 0x0 */ 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, &canon_BJC_i9900_modelist, &canon_BJC_i9900_paperlist, @@ -1158,6 +1219,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_PIXMA_mini220_modelist, &canon_SELPHY_DS810_paperlist, @@ -1174,6 +1236,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_PIXMA_mini320_modelist, &canon_PIXMA_mini320_paperlist, @@ -1196,6 +1259,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ NULL, &canon_SELPHY_DS700_modelist, &canon_SELPHY_DS700_paperlist, @@ -1212,6 +1276,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ NULL, &canon_SELPHY_DS810_modelist, &canon_SELPHY_DS810_paperlist, @@ -1236,6 +1301,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_3000_modelist, &canon_default_paperlist, @@ -1252,6 +1318,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_5500_modelist, &canon_default_paperlist, @@ -1268,6 +1335,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD1 | CANON_CAP_a,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_3000_modelist, &canon_default_paperlist, @@ -1284,6 +1352,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_default_slotlist, CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ NULL, &canon_BJC_8500_modelist, &canon_default_paperlist, @@ -1300,6 +1369,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_NOBLACK|CANON_CAP_S|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP90_modelist, &canon_PIXMA_iP90_paperlist, @@ -1316,6 +1386,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_NOBLACK|CANON_CAP_S|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP100_modelist, &canon_PIXMA_iP100_paperlist, @@ -1325,6 +1396,26 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA iP110 */ + /* 2 ink carts: (1) CMYK (2) pigment black */ + /* special inksaving options to save ink and/or use only remaining ink: */ + /* (not exclusive): black-saving mode, composite black, black-saving + composite black both active */ + "PIXMA iP110", 3, /*model, model_id*/ + INCH(17/2), INCH(23), /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_v|CANON_CAP_BORDERLESS,0, + 2,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG3500, + &canon_PIXMA_iP110_modelist, + &canon_PIXMA_iP110_paperlist, + &canon_PIXMA_iP110_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, #if 0 { /* Canon PIXMA iP1000 */ "PIXMA iP1000", 3, /*model, model_id*/ @@ -1333,6 +1424,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1000_modelist, &canon_PIXMA_iP1000_paperlist, @@ -1349,6 +1441,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1200_modelist, &canon_PIXMA_iP1200_paperlist, @@ -1365,6 +1458,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1500_modelist, &canon_PIXMA_iP1500_paperlist, @@ -1381,6 +1475,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_MULTIPASS_MP150_modelist, &canon_PIXMA_iP1500_paperlist, @@ -1397,6 +1492,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* rear only */ CANON_CAP_STD0|CANON_CAP_P,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1900_modelist, &canon_PIXMA_iP1900_paperlist, @@ -1414,6 +1510,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP2000_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP2000_modelist, &canon_PIXMA_iP2000_paperlist, @@ -1431,6 +1528,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1900_modelist, &canon_PIXMA_iP2200_paperlist, @@ -1446,6 +1544,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1900_modelist, &canon_PIXMA_iP2200_paperlist,/* OHP experimental */ @@ -1462,6 +1561,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* auto sheet feeder only */ CANON_CAP_STD0,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP1900_modelist, &canon_PIXMA_iP2600_paperlist, @@ -1479,6 +1579,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* rear only */ CANON_CAP_STD0|CANON_CAP_P|CANON_CAP_I|CANON_CAP_px|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP2700_modelist, &canon_PIXMA_iP2700_paperlist, @@ -1488,6 +1589,23 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA iP2800 */ + "PIXMA iP2800", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height */ /* not confirmed yet */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, /* rear only */ + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_v|CANON_CAP_XML,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /*features */ + &canon_PIXMA_MG2400_modelist, + &canon_PIXMA_MG2900_paperlist, + &canon_PIXMA_MG2900_modeuselist, /* incorporate new media */ + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon PIXMA iP3000 */ "PIXMA iP3000", 3, /*model, model_id*/ INCH(17/2), INCH(23), /* max paper width and height */ /* from MacOSX driver */ @@ -1495,6 +1613,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP3000_modelist, &canon_PIXMA_iP3000_paperlist, @@ -1511,6 +1630,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP3100_modelist, &canon_PIXMA_iP3100_paperlist, @@ -1527,6 +1647,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3500_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP520_modelist, &canon_PIXMA_iP3300_paperlist, @@ -1543,6 +1664,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3500_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP520_modelist, &canon_MULTIPASS_MP520_paperlist, @@ -1559,6 +1681,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3600_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP540_modelist, &canon_PIXMA_iP3600_paperlist, @@ -1575,6 +1698,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP4000_modelist, &canon_PIXMA_iP4000_paperlist, @@ -1591,6 +1715,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP4100_modelist, &canon_PIXMA_iP4100_paperlist, @@ -1607,6 +1732,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP4200_modelist, &canon_PIXMA_iP4200_paperlist, @@ -1623,6 +1749,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP4300_modelist, /* slight differences to iP4200 */ &canon_PIXMA_iP4200_paperlist, @@ -1639,6 +1766,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4500_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /* features */ &canon_PIXMA_iP4500_modelist, &canon_PIXMA_iP4500_paperlist, @@ -1655,6 +1783,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, /* iP4600 uses ESC (r 0x64 at reset followed by 0x65 later for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP4600_modelist, &canon_PIXMA_iP4600_paperlist, @@ -1671,6 +1800,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, /* iP4700 uses ESC (r 0x64 at reset followed by 0x65 later for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /* features */ &canon_PIXMA_iP4700_modelist, &canon_PIXMA_iP4700_paperlist, @@ -1687,6 +1817,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, /* iP4800 uses ESC (r 0x64 at reset followed by 0x68 later for CD media only */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /* features */ &canon_PIXMA_iP4700_modelist,/* same for iP4800 */ &canon_PIXMA_iP4700_paperlist,/* same for iP4800 */ @@ -1703,6 +1834,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4600_slotlist, /* iP4900 uses ESC (r 0x68 command for CD tray only */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Uses ESC (r only for CD media */ &canon_PIXMA_iP4900_modelist, &canon_PIXMA_MG5200_paperlist, @@ -1719,6 +1851,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP5000_modelist, &canon_PIXMA_iP5000_paperlist, @@ -1735,6 +1868,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP3100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP5300_modelist, &canon_MULTIPASS_MP600_paperlist, @@ -1751,6 +1885,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_px|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP6000_modelist, &canon_PIXMA_iP4000_paperlist, @@ -1767,6 +1902,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_px|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP6000_modelist, &canon_PIXMA_iP6100_paperlist, @@ -1783,6 +1919,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* has ESC (T */ CANON_CAP_STD0|CANON_CAP_T|CANON_CAP_NOBLACK|CANON_CAP_P|CANON_CAP_I|CANON_CAP_px|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP6210_modelist, &canon_PIXMA_iP90_paperlist, @@ -1799,6 +1936,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_I|CANON_CAP_r|CANON_CAP_px|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP6600_modelist, &canon_PIXMA_iP6600_paperlist, @@ -1815,6 +1953,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_I|CANON_CAP_r|CANON_CAP_px|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP6700_modelist, &canon_PIXMA_iP6700_paperlist, @@ -1831,6 +1970,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5400_slotlist, /* iP7200 uses ESC (r 0x68 command for CD tray only */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Uses ESC (r only for CD media */ &canon_PIXMA_iP7200_modelist, &canon_PIXMA_MG5400_paperlist, @@ -1847,6 +1987,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iX4000_modelist, &canon_PIXMA_iP1500_paperlist, @@ -1863,6 +2004,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iX5000_modelist, &canon_PIXMA_iP1500_paperlist, @@ -1879,6 +2021,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP540_modelist, &canon_MULTIPASS_MX880_paperlist, @@ -1888,6 +2031,23 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA iX6800 --- with XML */ + "PIXMA iX6800", 3, /*model, model_id*/ + 933, 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG3500, /*features */ + &canon_PIXMA_iX6800_modelist, + &canon_PIXMA_iX6800_paperlist, + &canon_PIXMA_iX6800_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon PIXMA iX7000 --- with XML */ "PIXMA iX7000", 3, /*model, model_id*/ 933, INCH(23), /* max paper width and height */ /* from MacOSX driver */ @@ -1895,6 +2055,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iX7000_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_DUPLEX|CANON_CAP_I|CANON_CAP_r|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iX7000_modelist, &canon_PIXMA_iX7000_paperlist, @@ -1911,6 +2072,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP520_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP520_modelist, &canon_MULTIPASS_MP520_paperlist, /* Windows driver lacks PPGgold, but let us try anyway */ @@ -1927,6 +2089,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP520_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP520_modelist, &canon_MULTIPASS_MP520_paperlist, @@ -1943,6 +2106,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP530_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_r|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP530_modelist, &canon_MULTIPASS_MP600_paperlist, @@ -1959,6 +2123,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_r|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP540_modelist, &canon_MULTIPASS_MX330_paperlist, @@ -1975,6 +2140,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP550_modelist, /* similar to MP540 but fewer modes */ &canon_MULTIPASS_MP250_paperlist, @@ -1991,6 +2157,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP560_modelist, /* like MP550 but has duplex */ &canon_MULTIPASS_MP250_paperlist, @@ -2007,6 +2174,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MX850_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_P|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP600_modelist, &canon_MULTIPASS_MP600_paperlist, @@ -2023,6 +2191,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4500_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP610_modelist, &canon_MULTIPASS_MP610_paperlist, @@ -2039,6 +2208,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_r|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP540_modelist, &canon_MULTIPASS_MX330_paperlist, @@ -2055,6 +2225,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP640_modelist, &canon_MULTIPASS_MP630_paperlist, @@ -2071,6 +2242,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_DUPLEX|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_r|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_MULTIPASS_MP640_modelist, &canon_MULTIPASS_MP640_paperlist, @@ -2089,6 +2261,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,0, + 0, /* Upper/Lower Cassette option */ control_cmd_BJC_i550, /*features */ &canon_MULTIPASS_MP700_modelist, &canon_MULTIPASS_MP700_paperlist, @@ -2105,6 +2278,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP710_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP710_modelist, &canon_MULTIPASS_MP710_paperlist, @@ -2119,8 +2293,9 @@ static const canon_cap_t canon_model_capabilities[] = INCH(17/2), INCH(23), /* max paper width and height */ /* from MacOSX driver */ 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ &canon_PIXMA_iP3100_slotlist, - CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP4100_modelist, &canon_MULTIPASS_MP750_paperlist, @@ -2137,9 +2312,10 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, /* auto sheetfeeder amd CD tray only */ CANON_CAP_STD0|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP900_modelist, - &canon_PIXMA_iP3100_paperlist, + &canon_MULTIPASS_MP900_paperlist, /* was: &canon_PIXMA_iP3100_paperlist, */ &canon_MULTIPASS_MP900_modeuselist, NULL, NULL, @@ -2153,6 +2329,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_Pro9000_slotlist, CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_Pro9000_modelist, &canon_PIXMA_Pro9000_paperlist, @@ -2169,6 +2346,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_Pro9000_slotlist, CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_Pro9000mk2_modelist, &canon_PIXMA_Pro9000mk2_paperlist, @@ -2185,6 +2363,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_Pro9000_slotlist, CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_Pro9500_modelist, &canon_PIXMA_Pro9500_paperlist, @@ -2201,6 +2380,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_Pro9000_slotlist, CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_Pro9500mk2_modelist, &canon_PIXMA_Pro9500mk2_paperlist, @@ -2217,9 +2397,10 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_I|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP7100_modelist, - &canon_PIXMA_iP7100_paperlist, + &canon_PIXMA_iP7100_limited_paperlist, /* was: &canon_PIXMA_iP7100_paperlist, */ &canon_PIXMA_iP7100_modeuselist, NULL, NULL, @@ -2233,6 +2414,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_I|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP7500_modelist, &canon_PIXMA_iP7500_paperlist, @@ -2249,9 +2431,10 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_I|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP8100_modelist, - &canon_PIXMA_iP7100_paperlist, + &canon_PIXMA_iP7100_limited_paperlist, /* was: &canon_PIXMA_iP7100_paperlist,*/ &canon_PIXMA_iP8100_modeuselist, NULL, NULL, @@ -2265,9 +2448,10 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP8500_modelist, - &canon_PIXMA_iP8500_paperlist, + &canon_PIXMA_iP8500_limited_paperlist, /* was: &canon_PIXMA_iP8500_paperlist,*/ &canon_PIXMA_iP8500_modeuselist, NULL, NULL, @@ -2281,15 +2465,33 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_iP4000_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_I|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_P|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features */ &canon_PIXMA_iP8600_modelist, - &canon_PIXMA_iP7100_paperlist, + &canon_PIXMA_iP7100_limited_paperlist, /* was: &canon_PIXMA_iP7100_paperlist,*/ &canon_PIXMA_iP8600_modeuselist, NULL, NULL, NULL, iP4500_channel_order }, + { /* Canon PIXMA iP8700 CD-R tray L */ + "PIXMA iP8700", 3, /*model, model_id*/ + INCH(17/2), INCH(14), /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_iP8700_slotlist, /* iP7200 uses ESC (r 0x68 command for CD tray only */ + CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG3500, /* features Uses ESC (r only for CD media */ + &canon_PIXMA_iP8700_modelist, + &canon_PIXMA_iP8700_paperlist, + &canon_PIXMA_iP8700_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon PIXMA iP9910 */ "PIXMA iP9910", 3, /*model, model_id*/ 933, INCH(23), /* max paper width and height */ /* from MacOSX driver */ @@ -2297,15 +2499,50 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP900_slotlist, CANON_CAP_STD0|CANON_CAP_I|CANON_CAP_rr|CANON_CAP_px|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_PIXMA_iP9910_modelist, - &canon_PIXMA_iP9910_paperlist, + &canon_PIXMA_iP9910_limited_paperlist, /* was: &canon_PIXMA_iP9910_paperlist,*/ &canon_PIXMA_iP9910_modeuselist, NULL, NULL, NULL, iP4500_channel_order }, + { /* Canon PIXMA MP5 */ + "PIXMA MP5", 3, /*model, model_id*/ + INCH(17/2), INCH(23), /* max paper width and height */ /* assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, + 2,0, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_iP2700, /*features */ + &canon_MULTIPASS_MP150_modelist, + &canon_MULTIPASS_MP150_paperlist, + &canon_MULTIPASS_MP150_modeuselist, + NULL, + NULL, + NULL, + NULL /* KYMC */ + }, + { /* Canon PIXMA MP55 */ + "PIXMA MP55", 3, /*model, model_id*/ + INCH(17/2), INCH(23), /* max paper width and height */ /* assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_BORDERLESS,0, + 2,0, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_BJC_i550, /*features */ + &canon_MULTIPASS_MP150_modelist, + &canon_MULTIPASS_MP150_paperlist, + &canon_MULTIPASS_MP150_modeuselist, + NULL, + NULL, + NULL, + NULL /* KYMC */ + }, { /* Canon MULTIPASS MP150 */ "PIXMA MP150", 3, /*model, model_id*/ INCH(17/2), INCH(23), /* max paper width and height */ /* from MacOSX driver */ @@ -2313,6 +2550,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP150_modelist, &canon_MULTIPASS_MP150_paperlist, @@ -2329,6 +2567,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP190_modelist, &canon_MULTIPASS_MP190_paperlist, @@ -2345,6 +2584,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP210_modelist, &canon_MULTIPASS_MP150_paperlist, @@ -2361,6 +2601,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,2, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP360_modelist, &canon_MULTIPASS_MP360_paperlist, @@ -2377,6 +2618,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP150_modelist, &canon_MULTIPASS_MP150_paperlist, @@ -2393,6 +2635,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP470_modelist, &canon_MULTIPASS_MP470_paperlist, @@ -2409,6 +2652,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP480_modelist, &canon_MULTIPASS_MP480_paperlist, @@ -2425,6 +2669,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP490_modelist, &canon_MULTIPASS_MP493_paperlist, @@ -2441,6 +2686,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP480_modelist, &canon_MULTIPASS_MP493_paperlist, @@ -2457,6 +2703,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP280_modelist, &canon_MULTIPASS_MP280_paperlist, @@ -2473,6 +2720,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, /* borderless not in Windows driver---untested */ 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /*features */ &canon_MULTIPASS_MP230_modelist, &canon_PIXMA_MG3200_paperlist, @@ -2489,6 +2737,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP240_modelist, &canon_MULTIPASS_MP240_paperlist, @@ -2505,6 +2754,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP250_modelist, &canon_MULTIPASS_MP250_paperlist, @@ -2521,6 +2771,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP250_modelist, &canon_MULTIPASS_MP250_paperlist, @@ -2537,6 +2788,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MP280_modelist, &canon_MULTIPASS_MP280_paperlist, @@ -2553,6 +2805,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Also uses CAP_T */ &canon_PIXMA_MG2100_modelist, &canon_PIXMA_MG5100_paperlist, @@ -2569,6 +2822,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Also uses CAP_T */ &canon_PIXMA_MG2100_modelist, &canon_PIXMA_MG3200_paperlist, @@ -2585,6 +2839,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_v|CANON_CAP_XML,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Also uses CAP_T */ &canon_PIXMA_MG2400_modelist, &canon_PIXMA_MG2400_paperlist, @@ -2594,6 +2849,23 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA MG2900 */ + "PIXMA MG2900", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height */ /* not confirmed yet */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_v|CANON_CAP_XML,0, + 2,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /* features Also uses CAP_T */ + &canon_PIXMA_MG2400_modelist, + &canon_PIXMA_MG2900_paperlist, + &canon_PIXMA_MG2900_modeuselist, /* incorporate new media */ + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon PIXMA MG3100 */ "PIXMA MG3100", 3, /*model, model_id*/ INCH(17/2), 1917, /* max paper width and height */ /* from linux driver v3.60 */ @@ -2601,6 +2873,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Also uses CAP_T */ &canon_PIXMA_MG3100_modelist, &canon_PIXMA_MG5100_paperlist, @@ -2617,6 +2890,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features: also uses CAP_T */ &canon_PIXMA_MG3100_modelist, &canon_PIXMA_MG3200_paperlist, @@ -2633,6 +2907,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_T|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG3500, /* features: also uses CAP_T */ &canon_PIXMA_MG3500_modelist, /* same as MG3100 but try to use inktypes to control use of inks in inksets */ &canon_PIXMA_MG3200_paperlist, /* Canon Photo Hagaki changed to merely Photo Hagaki in Windows driver */ @@ -2649,6 +2924,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /* features */ &canon_PIXMA_MG5100_modelist, &canon_PIXMA_MG5100_paperlist, @@ -2665,6 +2941,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /* features */ &canon_PIXMA_MG5200_modelist, &canon_PIXMA_MG5200_paperlist, @@ -2681,6 +2958,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features */ &canon_PIXMA_MG5300_modelist, &canon_PIXMA_MG5200_paperlist, @@ -2697,8 +2975,9 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5400_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 1, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features */ - &canon_PIXMA_MG5300_modelist, + &canon_PIXMA_MG5400_modelist, &canon_PIXMA_MG5400_paperlist, &canon_PIXMA_MG5400_modeuselist, NULL, @@ -2713,6 +2992,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG3500, &canon_PIXMA_MG5500_modelist, &canon_PIXMA_MG3200_paperlist, /* Canon Photo Hagaki changed to merely Photo Hagaki in Windows driver */ @@ -2722,6 +3002,24 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA MG5600 */ + /* no support for Esc (s and ESC (u commands yet for duplex */ + "PIXMA MG5600", 3, /*model, model_id*/ + INCH(17/2), INCH(14), /* max paper width and height */ /* not confirmed yet */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MX7600_slotlist, + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5600, + &canon_PIXMA_MG5500_modelist, + &canon_MAXIFY_iB4000_paperlist, /* Canon Photo Hagaki changed to merely Photo Hagaki in Windows driver */ + &canon_PIXMA_MG5600_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon PIXMA MG6100 */ "PIXMA MG6100", 3, /*model, model_id*/ INCH(17/2), 1917, /* max paper width and height */ /* from linux driver v3.40 */ @@ -2729,6 +3027,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /* features */ &canon_PIXMA_MG6100_modelist, &canon_PIXMA_MG6100_paperlist, @@ -2745,6 +3044,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 1, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features */ &canon_PIXMA_MG6200_modelist, &canon_PIXMA_MG6100_paperlist, @@ -2761,8 +3061,9 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5400_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 1, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features */ - &canon_PIXMA_MG6200_modelist, + &canon_PIXMA_MG6300_modelist, &canon_PIXMA_MG6300_paperlist, &canon_PIXMA_MG6300_modeuselist, NULL, @@ -2777,6 +3078,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5400_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 1, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG3500, &canon_PIXMA_MG6500_modelist, &canon_PIXMA_MG6300_paperlist, @@ -2786,6 +3088,40 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA MG6700 */ + "PIXMA MG6700", 3, /*model, model_id*/ + INCH(17/2), INCH(14), /* max paper width and height */ /* not confirmed yet */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_MG5400_slotlist, /* ESC (r only for CD media */ + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 1, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG3500, + &canon_PIXMA_MG6500_modelist, + &canon_PIXMA_iP8700_paperlist, + &canon_PIXMA_MG6700_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon PIXMA MG7500 */ + "PIXMA MG7500", 3, /*model, model_id*/ + INCH(17/2), INCH(14), /* max paper width and height */ /* not confirmed yet */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_MG5400_slotlist, /* ESC (r only for CD media */ + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_v|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 1, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5600, + &canon_PIXMA_MG6500_modelist, + &canon_PIXMA_iP8700_paperlist, + &canon_PIXMA_MG6700_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon PIXMA MG8100 */ "PIXMA MG8100", 3, /*model, model_id*/ INCH(17/2), 1917, /* max paper width and height */ /* from linux driver v3.40 */ @@ -2793,6 +3129,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /* features */ &canon_PIXMA_MG8100_modelist, &canon_PIXMA_MG6100_paperlist, @@ -2809,6 +3146,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5200_slotlist, /* ESC (r only for CD media */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_rr|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features */ &canon_PIXMA_MG8200_modelist, &canon_PIXMA_MG6100_paperlist, @@ -2826,6 +3164,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 2,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MX300_modelist, &canon_MULTIPASS_MX300_paperlist, @@ -2842,6 +3181,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MX330_modelist, &canon_MULTIPASS_MX330_paperlist, @@ -2858,6 +3198,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP150_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MX340_modelist, &canon_MULTIPASS_MX340_paperlist, @@ -2874,6 +3215,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MX360_modelist, &canon_MULTIPASS_MX360_paperlist, @@ -2890,6 +3232,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, /* only front tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,8, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_MULTIPASS_MX370_modelist, &canon_MULTIPASS_MX420_paperlist, @@ -2906,6 +3249,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, /* only front tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_MULTIPASS_MX370_modelist, &canon_PIXMA_MG3200_paperlist, @@ -2922,6 +3266,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features */ &canon_MULTIPASS_MX420_modelist, &canon_MULTIPASS_MX420_paperlist, @@ -2931,6 +3276,40 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon MULTIPASS MX470 --- with XML */ + "PIXMA MX470", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_MG2100_slotlist, /* only rear tray also uses CAP_T */ + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_v|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG3500, /*features */ + &canon_MULTIPASS_MX470_modelist, + &canon_PIXMA_iX6800_paperlist, + &canon_MULTIPASS_MX470_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon MULTIPASS MX490 --- with XML */ + "PIXMA MX490", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MX7600_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5600, + &canon_MULTIPASS_E480_modelist, + &canon_MULTIPASS_E480_paperlist, + &canon_MULTIPASS_E480_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon MULTIPASS MX510 --- with XML */ "PIXMA MX510", 3, /*model, model_id*/ INCH(17/2), 1917, /* max paper width and height */ /* from linux driver v3.70 */ @@ -2938,6 +3317,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, /* only front tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,8, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_MULTIPASS_MX510_modelist, &canon_MULTIPASS_MX420_paperlist, @@ -2954,6 +3334,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, /* only front tray also uses CAP_T */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_MULTIPASS_MX510_modelist, &canon_PIXMA_MG3200_paperlist, @@ -2963,6 +3344,23 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon MULTIPASS MX530 --- with XML */ + "PIXMA MX530", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_MG2100_slotlist, /* only front tray also uses CAP_T */ + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG3500, + &canon_PIXMA_MG3500_modelist, + &canon_PIXMA_iX6800_paperlist, + &canon_MULTIPASS_MX530_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon MULTIPASS MX700 */ "PIXMA MX700", 3, /*model, model_id*/ INCH(17/2), INCH(23), /* max paper width and height */ /* from MacOSX driver */ @@ -2970,6 +3368,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MP520_slotlist, /* front, rear, button, and front/plain-only */ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features*/ &canon_MULTIPASS_MP520_modelist, &canon_MULTIPASS_MX300_paperlist, @@ -2986,6 +3385,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,8, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /*features*/ &canon_MULTIPASS_MX710_modelist, &canon_MULTIPASS_MX420_paperlist, @@ -3002,6 +3402,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MX720_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, &canon_PIXMA_MX720_modelist, &canon_PIXMA_MG3200_paperlist, @@ -3018,6 +3419,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MX850_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features*/ &canon_PIXMA_iP4500_modelist, /* same inksets as iP4500 */ &canon_MULTIPASS_MX850_paperlist, @@ -3034,6 +3436,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features*/ &canon_MULTIPASS_MX860_modelist, &canon_MULTIPASS_MX330_paperlist, @@ -3050,6 +3453,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0x64, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features*/ &canon_MULTIPASS_MX860_modelist, &canon_MULTIPASS_MX340_paperlist, @@ -3066,6 +3470,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5100_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP2700, /*features*/ &canon_MULTIPASS_MX880_modelist, &canon_MULTIPASS_MX880_paperlist, @@ -3082,6 +3487,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG5400_slotlist, /* iP7200 uses ESC (r 0x68 command for CD tray only */ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /* features Uses ESC (r only for CD media */ &canon_PIXMA_MX920_modelist, &canon_PIXMA_MG5400_paperlist, @@ -3098,6 +3504,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_MULTIPASS_MX7600_slotlist, CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_BORDERLESS,0x64, 3,4, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_iP4200, /*features*/ &canon_MULTIPASS_MX7600_modelist, &canon_MULTIPASS_MX7600_paperlist, @@ -3107,6 +3514,57 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon MULTIPASS E400 --- with XML */ + "PIXMA E400", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, + &canon_PIXMA_P200_modelist, + &canon_MULTIPASS_E400_paperlist, + &canon_MULTIPASS_E400_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon MULTIPASS E460 --- with XML */ + "PIXMA E460", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML,0, + 2,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, + &canon_PIXMA_P200_modelist, + &canon_MULTIPASS_E400_paperlist, + &canon_MULTIPASS_E400_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon MULTIPASS E480 --- with XML */ + "PIXMA E480", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MX7600_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5600, + &canon_MULTIPASS_E480_modelist, + &canon_MULTIPASS_E480_paperlist, + &canon_MULTIPASS_E480_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon MULTIPASS E500 --- with XML */ "PIXMA E500", 3, /*model, model_id*/ INCH(17/2), 1917, /* max paper width and height */ /* from linux driver v3.60 */ @@ -3114,6 +3572,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,6, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /*features*/ &canon_MULTIPASS_E500_modelist, &canon_MULTIPASS_MX880_paperlist, @@ -3130,6 +3589,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /*features*/ &canon_MULTIPASS_E500_modelist, &canon_PIXMA_MG3200_paperlist, @@ -3139,6 +3599,23 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon MULTIPASS E560 --- with XML */ + "PIXMA E560", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_MG2100_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_DUPLEX|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /*features*/ + &canon_MULTIPASS_E560_modelist, + &canon_PIXMA_iX6800_paperlist, + &canon_MULTIPASS_E560_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, { /* Canon MULTIPASS E600 --- with XML */ "PIXMA E600", 3, /*model, model_id*/ INCH(17/2), 1917, /* max paper width and height */ /* from linux driver v3.70 */ @@ -3146,6 +3623,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,8, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /*features*/ &canon_MULTIPASS_E500_modelist, &canon_MULTIPASS_MX880_paperlist, @@ -3162,6 +3640,7 @@ static const canon_cap_t canon_model_capabilities[] = &canon_PIXMA_MG2100_slotlist, CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ control_cmd_PIXMA_MG5300, /*features*/ &canon_MULTIPASS_E500_modelist, &canon_PIXMA_MG3200_paperlist, @@ -3171,6 +3650,79 @@ static const canon_cap_t canon_model_capabilities[] = NULL, iP4500_channel_order }, + { /* Canon PIXMA P200 --- with XML */ + "PIXMA P200", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MP250_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML|CANON_CAP_BORDERLESS,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /*features*/ + &canon_PIXMA_P200_modelist, + &canon_PIXMA_P200_paperlist, + &canon_PIXMA_P200_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon MAXIFY iB4000 --- with XML */ + /* no support for Esc (s and ESC (u commands yet for duplex */ + "MAXIFY iB4000", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MAXIFY_iB4000_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /*features*/ + &canon_MAXIFY_iB4000_modelist, + &canon_MAXIFY_iB4000_paperlist, + &canon_MAXIFY_iB4000_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon MAXIFY MB2000 --- with XML */ + /* Same: MB5000 */ + /* no support for Esc (s and ESC (u commands yet for duplex */ + "MAXIFY MB2000", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MULTIPASS_MX7600_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /*features*/ + &canon_MAXIFY_iB4000_modelist, + &canon_MAXIFY_iB4000_paperlist, + &canon_MAXIFY_iB4000_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, + { /* Canon MAXIFY MB2300 --- with XML */ + /* Same: MB5300 */ + /* no support for Esc (s and ESC (u commands yet for duplex */ + "MAXIFY MB2300", 3, /*model, model_id*/ + INCH(17/2), 1917, /* max paper width and height assumed */ + 10, 10, 9, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_MAXIFY_iB4000_slotlist, + CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_v|CANON_CAP_XML,0, + 3,9, /* ESC (l and (P command lengths */ + 0, /* Upper/Lower Cassette option */ + control_cmd_PIXMA_MG5300, /*features*/ + &canon_MAXIFY_iB4000_modelist, + &canon_MAXIFY_iB4000_paperlist, + &canon_MAXIFY_iB4000_modeuselist, + NULL, + NULL, + NULL, + iP4500_channel_order + }, }; #endif diff --git a/src/main/print-canon.c b/src/main/print-canon.c index edf7b55..f5d0714 100644 --- a/src/main/print-canon.c +++ b/src/main/print-canon.c @@ -1,5 +1,5 @@ /* - * "$Id: print-canon.c,v 1.552 2014/01/24 17:21:46 gernot2270 Exp $" + * "$Id: print-canon.c,v 1.569 2015/05/26 16:33:07 gernot2270 Exp $" * * Print plug-in CANON BJL driver for the GIMP. * @@ -297,6 +297,12 @@ static const stp_parameter_t the_parameters[] = STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0 }, { + "CassetteTray", N_("Cassette Tray"), "Color=No,Category=Basic Printer Setup", + N_("Tray selection for cassette media source"), + STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE, + STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0 + }, + { "CDInnerRadius", N_("CD Hub Size"), "Color=No,Category=Basic Printer Setup", N_("Print only outside of the hub of the CD, or all the way to the hole"), STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE, @@ -499,18 +505,21 @@ get_media_type(const canon_cap_t* caps,const char *name) static const char* canon_families[] = { "", /* the old BJC printers */ - "S", - "i", - "PIXMA iP", - "PIXMA iX", - "PIXMA MP", - "PIXUS", - "PIXMA Pro", - "PIXMA MG", - "PIXMA MX", - "SELPHY DS", - "PIXMA mini", - "PIXMA E", + "S", /* 1 */ + "i", /* 2 */ + "PIXMA iP", /* 3 */ + "PIXMA iX", /* 4 */ + "PIXMA MP", /* 5 */ + "PIXUS", /* 6 */ + "PIXMA Pro", /* 7 */ + "PIXMA MG", /* 8 */ + "PIXMA MX", /* 9 */ + "SELPHY DS", /* 10 */ + "PIXMA mini",/* 11 */ + "PIXMA E", /* 12 */ + "PIXMA P", /* 13 */ + "MAXIFY iB", /* 14 */ + "MAXIFY MB", /* 15 */ }; /* canon model ids look like the following @@ -2596,7 +2605,7 @@ canon_size_type(const stp_vars_t *v, const canon_cap_t * caps) /* if (!strcmp(name,"CD5Inch")) return 0x57; */ /* CD Tray H */ /* Fine Art paper codes */ - /* MG6300, MG6500, MG7100 (only A4) */ + /* MG6300, MG6500, MG6700, MG7100, MG7500 (only A4) */ /* iP8700, iX6800 (A3 */ /* if (!strcmp(name,"A4")) return 0x58; */ /* FineArt A4 35mm border */ /* if (!strcmp(name,"Letter")) return 0x5a; */ /* FineArt Letter 35mm border */ @@ -2902,6 +2911,22 @@ canon_parameters(const stp_vars_t *v, const char *name, canon_slot_list[i].name, gettext(canon_slot_list[i].text)); } + else if (strcmp(name, "CassetteTray") == 0) + { + description->bounds.str= stp_string_list_create(); + if (caps->CassetteTray_Opts == 1) { + stp_string_list_add_string + (description->bounds.str, "Upper", _("Upper Tray")); + stp_string_list_add_string + (description->bounds.str, "Lower", _("Lower Tray")); + } else { + /* make sure to have at least a default value: no choice */ + stp_string_list_add_string + (description->bounds.str, "None", _("None")); + } + description->deflt.str = + stp_string_list_param(description->bounds.str, 0)->name; + } else if (strcmp(name, "PrintingMode") == 0) { int found_color, found_mono; @@ -4024,7 +4049,7 @@ canon_init_setPageMargins2(const stp_vars_t *v, canon_privdata_t *init) if ((init->caps->features & CANON_CAP_px) ) { /* workaround for CD writing that uses CANON_CAP_px --- fix with capabilities */ - if ( !( input_slot && !(strcmp(input_slot,"CD")) ) || !(strcmp(init->caps->name,"PIXMA iP4500")) || !(strcmp(init->caps->name,"PIXMA iP4600")) || !(strcmp(init->caps->name,"PIXMA iP4700")) || !(strcmp(init->caps->name,"PIXMA iP4800")) || !(strcmp(init->caps->name,"PIXMA iP4900")) || !(strcmp(init->caps->name,"PIXMA iP7200")) || !(strcmp(init->caps->name,"PIXMA MP980")) || !(strcmp(init->caps->name,"PIXMA MP990")) || !(strcmp(init->caps->name,"PIXMA MG5200")) || !(strcmp(init->caps->name,"PIXMA MG5300")) || !(strcmp(init->caps->name,"PIXMA MG6100")) || !(strcmp(init->caps->name,"PIXMA MG6200")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG8100")) || !(strcmp(init->caps->name,"PIXMA MG8200")) || !(strcmp(init->caps->name,"PIXMA iP9910")) || !(strcmp(init->caps->name,"PIXMA MP710")) || !(strcmp(init->caps->name,"PIXMA iP3000")) || !(strcmp(init->caps->name,"PIXMA Pro9000")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) + if ( !( input_slot && !(strcmp(input_slot,"CD")) ) || !(strcmp(init->caps->name,"PIXMA iP4500")) || !(strcmp(init->caps->name,"PIXMA iP4600")) || !(strcmp(init->caps->name,"PIXMA iP4700")) || !(strcmp(init->caps->name,"PIXMA iP4800")) || !(strcmp(init->caps->name,"PIXMA iP4900")) || !(strcmp(init->caps->name,"PIXMA iP7200")) || !(strcmp(init->caps->name,"PIXMA MP980")) || !(strcmp(init->caps->name,"PIXMA MP990")) || !(strcmp(init->caps->name,"PIXMA MG5200")) || !(strcmp(init->caps->name,"PIXMA MG5300")) || !(strcmp(init->caps->name,"PIXMA MG6100")) || !(strcmp(init->caps->name,"PIXMA MG6200")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) || !(strcmp(init->caps->name,"PIXMA MG8100")) || !(strcmp(init->caps->name,"PIXMA MG8200")) || !(strcmp(init->caps->name,"PIXMA iP9910")) || !(strcmp(init->caps->name,"PIXMA MP710")) || !(strcmp(init->caps->name,"PIXMA iP3000")) || !(strcmp(init->caps->name,"PIXMA Pro9000")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) /* need to check if iP9910, MP710, iP3000, Pro9000 use Esc (p */ { @@ -4208,10 +4233,10 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) arg_ESCP_1 = (init->pt) ? canon_size_type(v,init->caps): 0x03; arg_ESCP_2 = (init->pt) ? init->pt->media_code_P: 0x00; - if ( !(strcmp(init->caps->name,"PIXMA iP7200")) || !(strcmp(init->caps->name,"PIXMA MG5400")) || !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) ) { + if ( !(strcmp(init->caps->name,"PIXMA iP7200")) || !(strcmp(init->caps->name,"PIXMA MG5400")) || !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) ) { arg_ESCP_9 = 0x02; } - else if ( !(strcmp(init->caps->name,"PIXMA MG3500")) || !(strcmp(init->caps->name,"PIXMA MG5500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { + else if ( !(strcmp(init->caps->name,"PIXMA E400")) || !(strcmp(init->caps->name,"PIXMA E460")) || !(strcmp(init->caps->name,"PIXMA E480")) || !(strcmp(init->caps->name,"PIXMA E560")) || !(strcmp(init->caps->name,"PIXMA MG2900")) || !(strcmp(init->caps->name,"PIXMA MG3500")) || !(strcmp(init->caps->name,"PIXMA MG5500")) || !(strcmp(init->caps->name,"PIXMA MG5600")) || !(strcmp(init->caps->name,"PIXMA iP110")) || !(strcmp(init->caps->name,"PIXMA iP2800")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) || !(strcmp(init->caps->name,"MAXIFY iB4000")) || !(strcmp(init->caps->name,"MAXIFY MB2000")) || !(strcmp(init->caps->name,"MAXIFY MB2300")) || !(strcmp(init->caps->name,"PIXMA MX470")) || !(strcmp(init->caps->name,"PIXMA MX490")) ) { arg_ESCP_9 = 0xff; } @@ -4259,11 +4284,11 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) arg_ESCP_1 = 0x56; } /* Tray J from iP7200 onwards */ - if ( !(strcmp(init->caps->name,"PIXMA iP7200")) || !(strcmp(init->caps->name,"PIXMA MG5400")) || !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MX920")) ) { + if ( !(strcmp(init->caps->name,"PIXMA iP7200")) || !(strcmp(init->caps->name,"PIXMA MG5400")) || !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) || !(strcmp(init->caps->name,"PIXMA MX920")) ) { arg_ESCP_1 = 0x5b; arg_ESCP_9 = 0x00; } - /* Tray J from iP8700 onwards */ + /* Tray L from iP8700 onwards */ if ( !(strcmp(init->caps->name,"PIXMA iP8700")) ) { arg_ESCP_1 = 0x62; } @@ -4329,6 +4354,8 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) /* MG6200: CD Tray G : 0x56 */ /* MG6300: CD Tray J : 0x5b */ /* MG6500: CD Tray J : 0x5b */ + /* MG6700: CD Tray J : 0x5b */ + /* MG7500: CD Tray J : 0x5b */ /* MG8100: CD Tray G : 0x56 */ /* MG8200: CD Tray G : 0x56 */ /* pro9000:CD Tray E : 0x4c */ @@ -4358,7 +4385,7 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) /* if (!strcmp(name,"Letter")) return 0x4f; */ /* FineArt Letter 35mm border */ /* Fine Art paper codes */ - /* MG6300, MG6500, MG7100 */ + /* MG6300, MG6500, MG6700, MG7100, MG7500 */ /* if (!strcmp(name,"A4")) return 0x58; */ /* FineArt A4 35mm border */ /* if (!strcmp(name,"Letter")) return 0x5a; */ /* FineArt Letter 35mm border */ @@ -4380,7 +4407,7 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) else if ( !(strcmp(init->caps->name,"PIXMA Pro9000")) || !(strcmp(init->caps->name,"PIXMA Pro9002")) || !(strcmp(init->caps->name,"PIXMA Pro9500")) || !(strcmp(init->caps->name,"PIXMA Pro9502")) ) { arg_ESCP_1 = 0x4d; } - else if ( !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { + else if ( !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { arg_ESCP_1 = 0x58; } else { @@ -4398,7 +4425,7 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) } #if 0 /* no known papersize code yet, since these printers do not handle A3 */ - else if ( !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { + else if ( !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { arg_ESCP_1 = 0x59; } #endif @@ -4415,7 +4442,7 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) else if ( !(strcmp(init->caps->name,"PIXMA Pro9000")) || !(strcmp(init->caps->name,"PIXMA Pro9002")) || !(strcmp(init->caps->name,"PIXMA Pro9500")) || !(strcmp(init->caps->name,"PIXMA Pro9502")) ) { arg_ESCP_1 = 0x4f; } - else if ( !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { + else if ( !(strcmp(init->caps->name,"PIXMA MG6300")) || !(strcmp(init->caps->name,"PIXMA MG6500")) || !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) || !(strcmp(init->caps->name,"PIXMA iP8700")) || !(strcmp(init->caps->name,"PIXMA iX6800")) ) { arg_ESCP_1 = 0x5a; } else { @@ -4445,6 +4472,7 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) /* workaround for media type based differences in 9-parameter ESC (P commands */ /* MX720, MX920, MG6500 uses 2 usually, 1 with various Hagaki media, and 0 with CD media */ + /* Note: issue is use of upper (1)/lower tray(2) wth cassette media source, 0 for CD media */ if ( !(strcmp(init->caps->name,"PIXMA MX720")) || !(strcmp(init->caps->name,"PIXMA MX920")) || !(strcmp(init->caps->name,"PIXMA MG6500")) ) { switch(arg_ESCP_2) { @@ -4461,6 +4489,16 @@ canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init) default: arg_ESCP_9=0x02; break;; } } + + /* MG6700, MG7500 uses 0xff with CD media tray */ + if ( !(strcmp(init->caps->name,"PIXMA MG6700")) || !(strcmp(init->caps->name,"PIXMA MG7500")) ) { + switch(arg_ESCP_2) + { + /* CD media */ + case 0x1f: arg_ESCP_9=0x00; break;; + case 0x20: arg_ESCP_9=0x00; break;; + } + } if ( init->caps->ESC_P_len == 9 ) /* support for new devices from October 2012. */ {/* the 4th of the 6 bytes is the media type. 2nd byte is media size. Both read from canon-media array. */ @@ -4583,8 +4621,8 @@ canon_init_setCartridge(const stp_vars_t *v, const canon_privdata_t *init) ink_set = stp_get_string_parameter(v, "InkSet"); if (ink_set && !(strcmp(ink_set,"Both"))) { - if ( !(strcmp(init->caps->name,"PIXMA iP90")) || !(strcmp(init->caps->name,"PIXMA iP100")) ) { - canon_cmd(v,ESC28,0x54,3,0x02,0x00,0x00); /* default for iP90, iP100 */ + if ( !(strcmp(init->caps->name,"PIXMA iP90")) || !(strcmp(init->caps->name,"PIXMA iP100")) || !(strcmp(init->caps->name,"PIXMA iP110")) ) { + canon_cmd(v,ESC28,0x54,3,0x02,0x00,0x00); /* default for iP90, iP100, iP110 */ } else if ( !(strcmp(init->caps->name,"PIXMA iP6210")) ) { canon_cmd(v,ESC28,0x54,3,0x03,0x06,0x06); /* default for iP6210D, iP6220D, iP6310D */ @@ -4596,8 +4634,8 @@ canon_init_setCartridge(const stp_vars_t *v, const canon_privdata_t *init) } } else if (ink_set && !(strcmp(ink_set,"Black"))) { - if ( !(strcmp(init->caps->name,"PIXMA iP90")) || !(strcmp(init->caps->name,"PIXMA iP100")) ) { - canon_cmd(v,ESC28,0x54,3,0x02,0x00,0x00); /* default for iP90, iP100 */ + if ( !(strcmp(init->caps->name,"PIXMA iP90")) || !(strcmp(init->caps->name,"PIXMA iP100")) || !(strcmp(init->caps->name,"PIXMA iP110")) ) { + canon_cmd(v,ESC28,0x54,3,0x02,0x00,0x00); /* default for iP90, iP100, iP110 */ } else if ( !(strcmp(init->caps->name,"PIXMA iP6210")) ) { canon_cmd(v,ESC28,0x54,3,0x03,0x06,0x06); /* default for iP6210D, iP6220D, iP6310D */ @@ -4610,8 +4648,8 @@ canon_init_setCartridge(const stp_vars_t *v, const canon_privdata_t *init) } } else if (ink_set && !(strcmp(ink_set,"Color"))) { - if ( !(strcmp(init->caps->name,"PIXMA iP90")) || !(strcmp(init->caps->name,"PIXMA iP100")) ) { - canon_cmd(v,ESC28,0x54,3,0x02,0x00,0x01); /* composite for iP90, iP100 */ + if ( !(strcmp(init->caps->name,"PIXMA iP90")) || !(strcmp(init->caps->name,"PIXMA iP100")) || !(strcmp(init->caps->name,"PIXMA iP110")) ) { + canon_cmd(v,ESC28,0x54,3,0x02,0x00,0x01); /* composite for iP90, iP100, iP110 */ /* black save : 2 1 0 for selected plain (600dpi std) modes, rest remain 2 0 0 */ /* composite black: 2 0 1 for selected plain (600dpi std & draft) modes, rest remain 2 0 0 */ /* both above set : AND of bytes above */ @@ -4835,7 +4873,7 @@ canon_init_setMultiRaster(const stp_vars_t *v, const canon_privdata_t *init){ stp_put16_le(init->num_channels, v); /* add an exception here to add 0x60 of cmy channels for those printers/modes that require it */ raster_channel_order=init->channel_order; - if ( !(strcmp(init->caps->name,"PIXMA MP140")) || !(strcmp(init->caps->name,"PIXMA MP150")) || !(strcmp(init->caps->name,"PIXMA MP160")) || !(strcmp(init->caps->name,"PIXMA MP170")) || !(strcmp(init->caps->name,"PIXMA MP180")) || !(strcmp(init->caps->name,"PIXMA MP190")) || !(strcmp(init->caps->name,"PIXMA MP210")) || !(strcmp(init->caps->name,"PIXMA MP220")) || !(strcmp(init->caps->name,"PIXMA MP240")) || !(strcmp(init->caps->name,"PIXMA MP250")) || !(strcmp(init->caps->name,"PIXMA MP270")) || !(strcmp(init->caps->name,"PIXMA MP280")) || !(strcmp(init->caps->name,"PIXMA MP450")) || !(strcmp(init->caps->name,"PIXMA MP460")) || !(strcmp(init->caps->name,"PIXMA MP470")) || !(strcmp(init->caps->name,"PIXMA MP480")) || !(strcmp(init->caps->name,"PIXMA MP490")) || !(strcmp(init->caps->name,"PIXMA MP495")) || !(strcmp(init->caps->name,"PIXMA MX300")) || !(strcmp(init->caps->name,"PIXMA MX310")) || !(strcmp(init->caps->name,"PIXMA MX330")) || !(strcmp(init->caps->name,"PIXMA MX340")) || !(strcmp(init->caps->name,"PIXMA MX350")) || !(strcmp(init->caps->name,"PIXMA MX360")) || !(strcmp(init->caps->name,"PIXMA MX370")) || !(strcmp(init->caps->name,"PIXMA MX410")) || !(strcmp(init->caps->name,"PIXMA MX510")) || !(strcmp(init->caps->name,"PIXMA MX520")) || !(strcmp(init->caps->name,"PIXMA iP2700")) || !(strcmp(init->caps->name,"PIXMA MG2100")) || !(strcmp(init->caps->name,"PIXMA MG2400")) || !(strcmp(init->caps->name,"PIXMA MG3500")) ) + if ( !(strcmp(init->caps->name,"PIXMA MP140")) || !(strcmp(init->caps->name,"PIXMA MP150")) || !(strcmp(init->caps->name,"PIXMA MP160")) || !(strcmp(init->caps->name,"PIXMA MP170")) || !(strcmp(init->caps->name,"PIXMA MP180")) || !(strcmp(init->caps->name,"PIXMA MP190")) || !(strcmp(init->caps->name,"PIXMA MP210")) || !(strcmp(init->caps->name,"PIXMA MP220")) || !(strcmp(init->caps->name,"PIXMA MP240")) || !(strcmp(init->caps->name,"PIXMA MP250")) || !(strcmp(init->caps->name,"PIXMA MP270")) || !(strcmp(init->caps->name,"PIXMA MP280")) || !(strcmp(init->caps->name,"PIXMA MP450")) || !(strcmp(init->caps->name,"PIXMA MP460")) || !(strcmp(init->caps->name,"PIXMA MP470")) || !(strcmp(init->caps->name,"PIXMA MP480")) || !(strcmp(init->caps->name,"PIXMA MP490")) || !(strcmp(init->caps->name,"PIXMA MP495")) || !(strcmp(init->caps->name,"PIXMA MX300")) || !(strcmp(init->caps->name,"PIXMA MX310")) || !(strcmp(init->caps->name,"PIXMA MX330")) || !(strcmp(init->caps->name,"PIXMA MX340")) || !(strcmp(init->caps->name,"PIXMA MX350")) || !(strcmp(init->caps->name,"PIXMA MX360")) || !(strcmp(init->caps->name,"PIXMA MX370")) || !(strcmp(init->caps->name,"PIXMA MX410")) || !(strcmp(init->caps->name,"PIXMA MX510")) || !(strcmp(init->caps->name,"PIXMA MX520")) || !(strcmp(init->caps->name,"PIXMA iP2700")) || !(strcmp(init->caps->name,"PIXMA MG2100")) || !(strcmp(init->caps->name,"PIXMA MG2400")) || !(strcmp(init->caps->name,"PIXMA MG2500")) || !(strcmp(init->caps->name,"PIXMA MG3500")) ) { /* if cmy there, add 0x60 to each --- all modes using cmy require it */ for(i=0;i<init->num_channels;i++){ diff --git a/src/main/print-olympus.c b/src/main/print-olympus.c index 42c4897..7499cda 100644 --- a/src/main/print-olympus.c +++ b/src/main/print-olympus.c @@ -1,5 +1,5 @@ /* - * "$Id: print-olympus.c,v 1.165 2014/05/07 11:16:56 speachy Exp $" + * "$Id: print-olympus.c,v 1.195 2015/06/26 02:47:11 rlk Exp $" * * Print plug-in DyeSub driver (formerly Olympus driver) for the GIMP. * @@ -28,9 +28,6 @@ * This file must include only standard C header files. The core code must * compile on generic platforms that don't support glib, gimp, gtk, etc. */ - -/* #define DNPX2 */ - #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -45,21 +42,27 @@ #define inline __inline__ #endif -#define DYESUB_FEATURE_NONE 0x00000000 -#define DYESUB_FEATURE_FULL_WIDTH 0x00000001 -#define DYESUB_FEATURE_FULL_HEIGHT 0x00000002 -#define DYESUB_FEATURE_BLOCK_ALIGN 0x00000004 -#define DYESUB_FEATURE_BORDERLESS 0x00000008 -#define DYESUB_FEATURE_WHITE_BORDER 0x00000010 -#define DYESUB_FEATURE_PLANE_INTERLACE 0x00000020 -#define DYESUB_FEATURE_PLANE_LEFTTORIGHT 0x00000040 -#define DYESUB_FEATURE_ROW_INTERLACE 0x00000080 -#define DYESUB_FEATURE_12BPP 0x00000100 -#define DYESUB_FEATURE_16BPP 0x00000200 -#define DYESUB_FEATURE_BIGENDIAN 0x00000400 - -#define DYESUB_PORTRAIT 0 -#define DYESUB_LANDSCAPE 1 +/* Uncomment this to add full multicut support to all printers that support + it. Be warned that you will also need a patch to papers.xml to define + the additional paper types. */ +/* #define MULTICUT */ + +#define DYESUB_FEATURE_NONE 0x00000000 +#define DYESUB_FEATURE_FULL_WIDTH 0x00000001 +#define DYESUB_FEATURE_FULL_HEIGHT 0x00000002 +#define DYESUB_FEATURE_BLOCK_ALIGN 0x00000004 +#define DYESUB_FEATURE_BORDERLESS 0x00000008 +#define DYESUB_FEATURE_WHITE_BORDER 0x00000010 +#define DYESUB_FEATURE_PLANE_INTERLACE 0x00000020 +#define DYESUB_FEATURE_PLANE_LEFTTORIGHT 0x00000040 +#define DYESUB_FEATURE_ROW_INTERLACE 0x00000080 +#define DYESUB_FEATURE_12BPP 0x00000100 +#define DYESUB_FEATURE_16BPP 0x00000200 +#define DYESUB_FEATURE_BIGENDIAN 0x00000400 +#define DYESUB_FEATURE_RGBtoYCBCR 0x00000800 + +#define DYESUB_PORTRAIT 0 +#define DYESUB_LANDSCAPE 1 #ifndef MIN # define MIN(a,b) (((a) < (b)) ? (a) : (b)) @@ -192,7 +195,7 @@ typedef struct { int byteswap; int plane_interlacing; int row_interlacing; - char empty_byte; + unsigned char empty_byte[MAX_INK_CHANNELS]; /* one for each color plane */ unsigned short **image_data; int outh_px, outw_px, outt_px, outb_px, outl_px, outr_px; int imgh_px, imgw_px; @@ -259,7 +262,6 @@ static const ink_t bgr_inks[] = LIST(ink_list_t, bgr_ink_list, ink_t, bgr_inks); - /* Olympus P-10 */ static const dyesub_resolution_t res_310dpi[] = { @@ -1328,7 +1330,6 @@ static const dyesub_pagesize_t updr150_page[] = { "B7", "2UPC-154 (3.5x5)", PT(1210,334)+1, PT(1728,334)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, { "w360h504", "2UPC-155 (5x7)", PT(1728,334)+1, PT(2380,334)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, { "w432h576", "2UPC-156 (6x8)", PT(2048,334)+1, PT(2724,334)+1, 0, 0, 0, DYESUB_PORTRAIT}, - { "Custom", NULL, PT(1382,334)+1, PT(2048,334)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, }; LIST(dyesub_pagesize_list_t, updr150_page_list, dyesub_pagesize_t, updr150_page); @@ -1339,65 +1340,105 @@ static const dyesub_printsize_t updr150_printsize[] = { "334x334", "B7", 1210, 1728}, { "334x334", "w360h504", 1728, 2380}, { "334x334", "w432h576", 2048, 2724}, - { "334x334", "Custom", 1382, 2048}, }; LIST(dyesub_printsize_list_t, updr150_printsize_list, dyesub_printsize_t, updr150_printsize); static void updr150_200_printer_init_func(stp_vars_t *v, int updr200) { - char pg = '\0'; + char pg; - stp_zfwrite("\x6a\xff\xff\xff\xef\xff\xff\xff", 1, 8, v); + stp_zfwrite("\x6a\xff\xff\xff" + "\xef\xff\xff\xff", 1, 8, v); + /* This is actually ***MEDIA*** size, not print size. They aren't + necessarily the same, but for now, they are. */ if (strcmp(privdata.pagesize,"B7") == 0) pg = '\x01'; else if (strcmp(privdata.pagesize,"w288h432") == 0) pg = '\x02'; + else if (updr200 && strcmp(privdata.pagesize,"w144h432") == 0) + pg = '\x02'; else if (strcmp(privdata.pagesize,"w360h504") == 0) pg = '\x03'; else if (strcmp(privdata.pagesize,"w432h576") == 0) pg = '\x04'; + else + pg = 0; stp_putc(pg, v); - - stp_zfwrite("\x00\x00\x00\xfc\xff\xff\xff" - "\xfb\xff\xff\xff\xf4\xff\xff\xff" - "\xf5\xff\xff\xff\x01\x00\x00\x00" - "\x07\x00\x00\x00\x1b\xe5\x00\x00" - "\x00\x08\x00\x08\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x01\x00\xed" - "\xff\xff\xff\x07\x00\x00\x00\x1b" - "\xee\x00\x00\x00\x02\x00\x02\x00" - "\x00\x00\x00\x01", 1, 67, v); + dyesub_nputc(v, '\0', 3); + + stp_zfwrite("\xfc\xff\xff\xff" + "\xfb\xff\xff\xff" + "\xf4\xff\xff\xff" + "\xf5\xff\xff\xff", + 1, 16, v); + + if (updr200 && (strcmp(privdata.pagesize,"B7") == 0 || + strcmp(privdata.pagesize,"w432h576") == 0)) { + /* SONY_MULTICUT -- B7 on 5x7 media also gets 0x01 */ + pg = 0x4; + } else { + pg = 0x1; + } + stp_put32_le(pg, v); + + stp_zfwrite("\x07\x00\x00\x00" + "\x1b\xe5\x00\x00\x00\x08\x00" + "\x08\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x01\x00" + "\xed\xff\xff\xff" + "\x07\x00\x00\x00" + "\x1b\xee\x00\x00\x00\x02\x00" + "\x02\x00\x00\x00" + "\x00", 1, 43, v); + stp_putc(1, v); /* Copies */ if (updr200) { /* UP-DR200-specific! */ stp_zfwrite("\x07\x00\x00\x00" - "\x1b\xc0\x00\x03\x00\x05", 1, 10, v); - stp_putc(0x00, v); /* 0x02 for doubled-up prints. */ - /* eg 2x6 on 4x6 media, 3.5x5 on 5x7 media, 4x6 on 8x6 media */ + "\x1b\xc0\x00\x03\x00\x05\x00", 1, 11, v); } - stp_zfwrite("\x05\x00\x00\x00" - "\x02\x03\x00\x01\x00", 1, 9, v); + "\x02\x03\x00\x01", 1, 8, v); + if (updr200) { + if (strcmp(privdata.pagesize,"w144h432") == 0) + stp_putc(0x02, v); /* SONY_MULTICUT: 2x6 on 4x6, 4x6 on 8x6, 3x5 on 7x5 */ + else + stp_putc(0x00, v); + } else { + stp_putc(0x00, v); + } + stp_zfwrite("\x07\x00\x00\x00" - "\x1b\x15\x00\x00\x00\x0d\x00\x0d" - "\x00\x00\x00\x00\x00\x00\x00\x07" - "\x00\x00\x00\x00", 1, 24, v); - stp_put16_be(privdata.w_size, v); - stp_put16_be(privdata.h_size, v); - stp_zfwrite("\xf9\xff\xff\xff\x07\x00\x00\x00" - "\x1b\xe1\x00\x00\x00\x0b\x00\x0b" - "\x00\x00\x00\x00\x80", 1, 21, v); + "\x1b\x15\x00\x00\x00\x0d\x00" + "\x0d\x00\x00\x00" + "\x00\x00\x00\x00\x07\x00\x00\x00\x00", 1, 24, v); + stp_put16_be(privdata.w_size, v); + if (updr200 && strcmp(privdata.pagesize,"w144h432") == 0) { + stp_put16_be(1382, v); + /* SONY_MULTICUT -- 4x6 on 8x6 uses 2674 rows, 3x7 on 5x7 uses 2420 */ + } else { + stp_put16_be(privdata.h_size, v); + } + + stp_zfwrite("\xf9\xff\xff\xff", + 1, 4, v); + stp_zfwrite("\x07\x00\x00\x00" + "\x1b\xe1\x00\x00\x00\x0b\x00" + "\x0b\x00\x00\x00\x00\x80", 1, 17, v); stp_zfwrite((privdata.laminate->seq).data, 1, (privdata.laminate->seq).bytes, v); /*laminate pattern*/ stp_zfwrite("\x00\x00\x00\x00", 1, 4, v); stp_put16_be(privdata.w_size, v); stp_put16_be(privdata.h_size, v); + stp_zfwrite("\xf8\xff\xff\xff" - "\xec\xff\xff\xff" - "\x0b\x00\x00\x00\x1b\xea" - "\x00\x00\x00\x00", 1, 18, v); + "\xec\xff\xff\xff", + 1, 8, v); + + stp_zfwrite("\x0b\x00\x00\x00\x1b\xea" + "\x00\x00\x00\x00", 1, 10, v); stp_put32_be(privdata.w_size*privdata.h_size*3, v); stp_zfwrite("\x00", 1, 1, v); stp_put32_le(privdata.w_size*privdata.h_size*3, v); @@ -1411,19 +1452,47 @@ static void updr150_printer_init_func(stp_vars_t *v) static void updr150_printer_end_func(stp_vars_t *v) { stp_zfwrite("\xeb\xff\xff\xff" - "\xfc\xff\xff" - "\xff\xfa\xff\xff\xff\x07\x00\x00" - "\x00\x1b\x0a\x00\x00\x00\x00\x00" - "\x07\x00\x00\x00\x1b\x17\x00\x00" - "\x00\x00\x00\xf3\xff\xff\xff" - , 1, 38, v); + "\xfc\xff\xff\xff" + "\xfa\xff\xff\xff", + 1, 12, v); + stp_zfwrite("\x07\x00\x00\x00" + "\x1b\x0a\x00\x00\x00\x00\x00" + "\x07\x00\x00\x00" + "\x1b\x17\x00\x00\x00\x00\x00", + 1, 22, v); + stp_zfwrite("\xf3\xff\xff\xff", + 1, 4, v); } /* Sony UP-DR200 */ +static const dyesub_pagesize_t updr200_page[] = +{ + { "w144h432", "2UPC-R204 (2x6)", PT(691,334)+1, PT(2048,334)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w288h432", "2UPC-R204 (4x6)", PT(1382,334)+1, PT(2048,334)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "B7", "2UPC-R203 (3.5x5)", PT(1210,334)+1, PT(1728,334)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w360h504", "2UPC-R205 (5x7)", PT(1728,334)+1, PT(2380,334)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, + { "w432h576", "2UPC-R206 (6x8)", PT(2048,334)+1, PT(2724,334)+1, 0, 0, 0, DYESUB_PORTRAIT}, +}; + +LIST(dyesub_pagesize_list_t, updr200_page_list, dyesub_pagesize_t, updr200_page); + +static const dyesub_printsize_t updr200_printsize[] = +{ + { "334x334", "w144h432", 691, 2048}, + { "334x334", "w288h432", 1382, 2048}, + { "334x334", "B7", 1210, 1728}, + { "334x334", "w360h504", 1728, 2380}, + { "334x334", "w432h576", 2048, 2724}, +}; + +LIST(dyesub_printsize_list_t, updr200_printsize_list, dyesub_printsize_t, updr200_printsize); + static const laminate_t updr200_laminate[] = { {"Glossy", N_("Glossy"), {1, "\x00"}}, {"Matte", N_("Matte"), {1, "\x0c"}}, + {"Glossy_NoCorr", N_("Glossy_NoCorr"), {1, "\x10"}}, + {"Matte_NoCorr", N_("Matte_NoCorr"), {1, "\x1c"}}, }; LIST(laminate_list_t, updr200_laminate_list, laminate_t, updr200_laminate); @@ -1433,6 +1502,91 @@ static void updr200_printer_init_func(stp_vars_t *v) updr150_200_printer_init_func(v, 1); } +static void updr200_printer_end_func(stp_vars_t *v) +{ + if (strcmp(privdata.pagesize,"w144h432") == 0) { + /* SONY_MULTICUT -- 2x6 on 4x6, 3x5 on 5x7, 4x6 on 8x6 */ + stp_zfwrite("\xfc\xff\xff\xff" + "\xfa\xff\xff\xff", + 1, 8, v); + stp_zfwrite("\x07\x00\x00\x00" + "\x1b\xc0\x00\x03\x00\x05\x00" + "\x05\x00\x00\x00" + "\x02\x03\x00\x01\x01", + 1, 20, v); + stp_zfwrite("\x07\x00\x00\x00" + "\x1b\x0a\x00\x00\x00\x00\x00" + "\x07\x00\x00\x00" + "\x1b\x17\x00\x00\x00\x00\x00", + 1, 22, v); + stp_zfwrite("\xf3\xff\xff\xff", + 1, 4, v); + } else { + /* Normal operation */ + updr150_printer_end_func(v); + } +} + +/* Sony UP-CR10L / DNP SL10 */ +static const dyesub_pagesize_t upcr10_page[] = +{ + { "w288h432", "4x6", PT(1248,300)+1, PT(1848,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "B7", "3.5x5", PT(1100,300)+1, PT(1536,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w360h504", "5x7", PT(1536,300)+1, PT(2148,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +}; + +LIST(dyesub_pagesize_list_t, upcr10_page_list, dyesub_pagesize_t, upcr10_page); + +static const dyesub_printsize_t upcr10_printsize[] = +{ + { "300x300", "w288h432", 1248, 1848}, + { "300x300", "B7", 1100, 1536}, + { "300x300", "w360h504", 1536, 2148}, +}; + +LIST(dyesub_printsize_list_t, upcr10_printsize_list, dyesub_printsize_t, upcr10_printsize); + +static void upcr10_printer_init_func(stp_vars_t *v) +{ + stp_zfwrite("\x60\xff\xff\xff" + "\xf8\xff\xff\xff" + "\xfd\xff\xff\xff\x14\x00\x00\x00" + "\x1b\x15\x00\x00\x00\x0d\x00\x00" + "\x00\x00\x00\x07\x00\x00\x00\x00", 1, 32, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); + stp_zfwrite("\xfb\xff\xff\xff" + "\xf4\xff\xff\xff\x0b\x00\x00\x00" + "\x1b\xea\x00\x00\x00\x00", 1, 18, v); + stp_put32_be(privdata.w_size * privdata.h_size * 3, v); + stp_putc(0, v); + stp_put32_le(privdata.w_size * privdata.h_size * 3, v); +} + +static void upcr10_printer_end_func(stp_vars_t *v) +{ + stp_zfwrite("\xf3\xff\xff\xff" + "\x0f\x00\x00\x00" + "\x1b\xe5\x00\x00\x00\x08\x00\x00" + "\x00\x00\x00\x00\x00\x0d\x00", 1, 23, v); + stp_zfwrite("\x12\x00\x00\x00\x1b\xe1\x00\x00" + "\x000x0b\x00\x00\x80\x08\x00\x00" + "\x00\x00", 1, 18, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); + stp_zfwrite("\xfa\xff\xff\xff" + "\x09\x00\x00\x00" + "\x1b\xee\x00\x00\x00\x02\x00\x00", 1, 16, v); + stp_putc(1, v); /* Copies */ + stp_zfwrite("\x07\x00\x00\x00" + "\x1b\x17\x00\x00\x00\x00\x00", 1, 11, v); + stp_zfwrite("\xf9\xff\xff\xff" + "\xfc\xff\xff\xff" + "\x07\x00\x00\x00" + "\x1b\x17\x00\x00\x00\x00\x00", 1, 19, v); + stp_zfwrite("\xf7\xff\xff\xff", 1, 4, v); +} + /* Fujifilm CX-400 */ static const dyesub_pagesize_t cx400_page[] = { @@ -2001,6 +2155,56 @@ static void kodak_9810_plane_init(stp_vars_t *v) stp_zfwrite("Image ", 1, 8, v); } +/* Kodak 8810 */ +static const dyesub_pagesize_t kodak_8810_page[] = +{ + { "w288h576", "8x4", PT(1208,300)+1, PT(2464,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "c8x10", "8x10", PT(2464,300)+1, PT(3024,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#if 0 + { "???", "203x297mm", PT(2464,300)+1, PT(3531,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#endif + { "w576h864", "8x12", PT(2464,300)+1, PT(3624,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +}; +LIST(dyesub_pagesize_list_t, kodak_8810_page_list, dyesub_pagesize_t, kodak_8810_page); + +static const dyesub_printsize_t kodak_8810_printsize[] = +{ + { "300x300", "w288h576", 1208, 2464}, + { "300x300", "c8x10", 2464, 3024}, +#if 0 + { "300x300", "???", 2464, 3531}, +#endif + { "300x300", "w576h864", 2464, 3624}, +}; + +LIST(dyesub_printsize_list_t, kodak_8810_printsize_list, dyesub_printsize_t, kodak_8810_printsize); + +static const laminate_t kodak_8810_laminate[] = +{ + {"Glossy", N_("Glossy"), {1, "\x03"}}, + {"Satin", N_("Satin"), {1, "\x02"}}, +}; + +LIST(laminate_list_t, kodak_8810_laminate_list, laminate_t, kodak_8810_laminate); + +static void kodak_8810_printer_init(stp_vars_t *v) +{ + stp_putc(0x01, v); + stp_putc(0x40, v); + stp_putc(0x12, v); + stp_putc(0x00, v); + stp_putc(0x01, v); + stp_putc(0x01, v); /* Actually, # of copies */ + stp_putc(0x00, v); + stp_put16_le(privdata.w_size, v); + stp_put16_le(privdata.h_size, v); + stp_put16_le(privdata.w_size, v); + stp_put16_le(privdata.h_size, v); + dyesub_nputc(v, 0, 4); + stp_zfwrite((privdata.laminate->seq).data, 1, + (privdata.laminate->seq).bytes, v); + dyesub_nputc(v, 0, 2); +} /* Kodak Professional 8500 */ static const dyesub_pagesize_t kodak_8500_page[] = @@ -2303,7 +2507,7 @@ static const dyesub_pagesize_t mitsu_cp9550_page[] = DYESUB_LANDSCAPE}, { "w288h432", "4x6", PT(1416,346)+1, PT(2152,346)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, -#ifdef DNPX2 +#ifdef MULTICUT { "2x6_x2", "2x6*2", PT(1416,346)+1, PT(2152,346)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, #endif @@ -2315,8 +2519,6 @@ static const dyesub_pagesize_t mitsu_cp9550_page[] = DYESUB_PORTRAIT}, { "w432h648", "6x9", PT(2152,346)+1, PT(3146,346)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, - { "Custom", NULL, PT(1416,346)+1, PT(2152,346)+1, 0, 0, 0, 0, - DYESUB_LANDSCAPE}, }; LIST(dyesub_pagesize_list_t, mitsu_cp9550_page_list, dyesub_pagesize_t, mitsu_cp9550_page); @@ -2325,14 +2527,13 @@ static const dyesub_printsize_t mitsu_cp9550_printsize[] = { { "346x346", "B7", 1240, 1812}, { "346x346", "w288h432", 1416, 2152}, -#ifdef DNPX2 +#ifdef MULTICUT { "346x346", "2x6_x2", 1416, 2152}, #endif { "346x346", "w360h504", 1812, 2402}, { "346x346", "w432h576", 2152, 2792}, { "346x346", "w432h612", 2152, 2956}, { "346x346", "w432h648", 2152, 3146}, - { "346x346", "Custom", 1416, 2152}, }; LIST(dyesub_printsize_list_t, mitsu_cp9550_printsize_list, dyesub_printsize_t, mitsu_cp9550_printsize); @@ -2547,11 +2748,11 @@ static const dyesub_pagesize_t mitsu_cpd70x_page[] = DYESUB_LANDSCAPE}, { "w288h432", "4x6", PT(1228,300)+1, PT(1864,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, -#ifdef DNPX2 +#ifdef MULTICUT { "2x6_x2", "4x6*2", PT(1228,300)+1, PT(1864,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, #endif - { "w360h504", "5x7", PT(1572,300)+1, PT(2128,300)+1, 0, 0, 0, 0, + { "w360h504", "5x7", PT(1568,300)+1, PT(2128,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, { "w432h432", "6x6", PT(1820,300)+1, PT(1864,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, @@ -2561,12 +2762,10 @@ static const dyesub_pagesize_t mitsu_cpd70x_page[] = DYESUB_PORTRAIT}, { "w432h648", "6x9", PT(1864,300)+1, PT(2730,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "4x6_x2", "4x6*2", PT(1864,300)+1, PT(2730,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, #endif - { "Custom", NULL, PT(1228,300)+1, PT(1864,300)+1, 0, 0, 0, 0, - DYESUB_LANDSCAPE}, }; LIST(dyesub_pagesize_list_t, mitsu_cpd70x_page_list, dyesub_pagesize_t, mitsu_cpd70x_page); @@ -2575,18 +2774,17 @@ static const dyesub_printsize_t mitsu_cpd70x_printsize[] = { { "300x300", "B7", 1076, 1568}, { "300x300", "w288h432", 1228, 1864}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "2x6_x2", 1228, 1864}, #endif - { "300x300", "w360h504", 1572, 2128}, + { "300x300", "w360h504", 1568, 2128}, { "300x300", "w432h432", 1820, 1864}, { "300x300", "w432h576", 1864, 2422}, { "300x300", "w432h612", 1864, 2564}, { "300x300", "w432h648", 1864, 2730}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "4x6_x2", 1864, 2730}, #endif - { "300x300", "Custom", 1220, 1868}, }; LIST(dyesub_printsize_list_t, mitsu_cpd70x_printsize_list, dyesub_printsize_t, mitsu_cpd70x_printsize); @@ -2599,7 +2797,7 @@ static const laminate_t mitsu_cpd70x_laminate[] = LIST(laminate_list_t, mitsu_cpd70x_laminate_list, laminate_t, mitsu_cpd70x_laminate); -static void mitsu_cpd70k60_printer_init(stp_vars_t *v, int is_k60) +static void mitsu_cpd70k60_printer_init(stp_vars_t *v, int is_k60, int is_305) { /* Printer init */ stp_putc(0x1b, v); @@ -2613,7 +2811,9 @@ static void mitsu_cpd70k60_printer_init(stp_vars_t *v, int is_k60) stp_putc(0x5a, v); stp_putc(0x54, v); if (is_k60) { - stp_putc(0x0, v); + stp_putc(0x00, v); + } else if (is_305) { + stp_putc(0x90, v); } else { stp_putc(0x01, v); } @@ -2636,7 +2836,7 @@ static void mitsu_cpd70k60_printer_init(stp_vars_t *v, int is_k60) } dyesub_nputc(v, 0x00, 7); - if (is_k60) { + if (is_k60 || is_305) { stp_putc(0x01, v); /* K60 has a single "lower" deck */ } else { stp_putc(0x00, v); /* Auto deck selection, or 0x01 for Lower, 0x02 for Upper */ @@ -2648,14 +2848,22 @@ static void mitsu_cpd70k60_printer_init(stp_vars_t *v, int is_k60) dyesub_nputc(v, 0x00, 6); /* Multi-cut control */ - if (strcmp(privdata.pagesize,"4x6_x2") == 0) { - stp_putc(0x01, v); - } else if (strcmp(privdata.pagesize,"B7_x2") == 0) { - stp_putc(0x01, v); - } else if (strcmp(privdata.pagesize,"2x6_x2") == 0) { - stp_putc(0x05, v); + if (is_305) { + if (strcmp(privdata.pagesize,"w288h432") == 0) { + stp_putc(0x01, v); + } else { + stp_putc(0x00, v); + } } else { - stp_putc(0x00, v); + if (strcmp(privdata.pagesize,"4x6_x2") == 0) { + stp_putc(0x01, v); + } else if (strcmp(privdata.pagesize,"B7_x2") == 0) { + stp_putc(0x01, v); + } else if (strcmp(privdata.pagesize,"2x6_x2") == 0) { + stp_putc(0x05, v); + } else { + stp_putc(0x00, v); + } } dyesub_nputc(v, 0x00, 15); @@ -2664,7 +2872,7 @@ static void mitsu_cpd70k60_printer_init(stp_vars_t *v, int is_k60) static void mitsu_cpd70x_printer_init(stp_vars_t *v) { - mitsu_cpd70k60_printer_init(v, 0); + mitsu_cpd70k60_printer_init(v, 0, 0); } static void mitsu_cpd70x_printer_end(stp_vars_t *v) @@ -2673,7 +2881,7 @@ static void mitsu_cpd70x_printer_end(stp_vars_t *v) if (*((const char*)((privdata.laminate->seq).data)) != 0x00) { /* The Windows drivers generate a lamination pattern consisting of - four values: 0xab58, 0x286a, 0x6c22 */ + three values: 0xe84b, 0x286a, 0x6c22 */ int r, c; unsigned long seed = 1; @@ -2681,10 +2889,10 @@ static void mitsu_cpd70x_printer_end(stp_vars_t *v) /* Now generate lamination pattern */ for (c = 0 ; c < privdata.w_size ; c++) { for (r = 0 ; r < privdata.h_size + 12 ; r++) { - int i = xrand(&seed) & 0x1f; - if (i < 24) - stp_put16_be(0xab58, v); - else if (i < 29) + int i = xrand(&seed) & 0x3f; + if (i < 42) + stp_put16_be(0xe84b, v); + else if (i < 62) stp_put16_be(0x286a, v); else stp_put16_be(0x6c22, v); @@ -2695,6 +2903,35 @@ static void mitsu_cpd70x_printer_end(stp_vars_t *v) } } +static void mitsu_cpk60_printer_end(stp_vars_t *v) +{ + /* If Matte lamination is enabled, generate a lamination plane */ + if (*((const char*)((privdata.laminate->seq).data)) != 0x00) { + + /* The Windows drivers generate a lamination pattern consisting of + three values: 0x9d00, 0x6500, 0x2900 */ + + int r, c; + unsigned long seed = 1; + + /* Now generate lamination pattern */ + for (c = 0 ; c < privdata.w_size ; c++) { + for (r = 0 ; r < privdata.h_size + 12 ; r++) { + int i = xrand(&seed) & 0x3f; + if (i < 42) + stp_put16_be(0x9d00, v); + else if (i < 62) + stp_put16_be(0x2900, v); + else + stp_put16_be(0x6500, v); + } + } + /* Pad up to a 512-byte block */ + dyesub_nputc(v, 0x00, 512 - ((privdata.w_size * (privdata.h_size + 12) * 2) % 512)); + } +} + + static void mitsu_cpd70x_plane_end(stp_vars_t *v) { /* Pad up to a 512-byte block */ @@ -2708,13 +2945,13 @@ static const dyesub_pagesize_t mitsu_cpk60_page[] = DYESUB_LANDSCAPE}, { "w288h432", "4x6", PT(1218,300)+1, PT(1864,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, -#ifdef DNPX2 +#ifdef MULTICUT { "2x6_x2", "2x6*2", PT(1218,300)+1, PT(1864,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, #endif { "w360h504", "5x7", PT(1568,300)+1, PT(2128,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "B7_x2", "3.5x5*2", PT(1568,300)+1, PT(2190,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, #endif @@ -2722,12 +2959,10 @@ static const dyesub_pagesize_t mitsu_cpk60_page[] = DYESUB_PORTRAIT}, { "w432h576", "6x8", PT(1864,300)+1, PT(2422,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "4x6_x2", "4x6*2", PT(1864,300)+1, PT(2454,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, #endif - { "Custom", NULL, PT(1218,300)+1, PT(1864,300)+1, 0, 0, 0, 0, - DYESUB_LANDSCAPE}, }; LIST(dyesub_pagesize_list_t, mitsu_cpk60_page_list, dyesub_pagesize_t, mitsu_cpk60_page); @@ -2736,26 +2971,91 @@ static const dyesub_printsize_t mitsu_cpk60_printsize[] = { { "300x300", "B7", 1076, 1568}, { "300x300", "w288h432", 1218, 1864}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "2x6_x2", 1218, 1864}, #endif { "300x300", "w360h504", 1568, 2128}, -#ifdef DNPX2 - { "B7_x2", "3.5x5*24", 1568, 2190}, +#ifdef MULTICUT + { "B7_x2", "3.5x5*2", 1568, 2190}, #endif { "300x300", "w432h432", 1864, 1820}, { "300x300", "w432h576", 1864, 2422}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "4x6_x2", 1864, 2454}, #endif - { "300x300", "Custom", 1218, 1864}, }; LIST(dyesub_printsize_list_t, mitsu_cpk60_printsize_list, dyesub_printsize_t, mitsu_cpk60_printsize); static void mitsu_cpk60_printer_init(stp_vars_t *v) { - mitsu_cpd70k60_printer_init(v, 1); + mitsu_cpd70k60_printer_init(v, 1, 0); +} + +static const dyesub_pagesize_t mitsu_cpd80_page[] = +{ + { "w288h432", "4x6", PT(1228,300)+1, PT(1864,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +#ifdef MULTICUT + { "2x6_x2", "2x6*2", PT(1228,300)+1, PT(1864,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +#endif + { "w360h360", "5x5", PT(1524,300)+1, PT(1568,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w360h504", "5x7", PT(1568,300)+1, PT(2128,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, + { "w432h432", "6x6", PT(1864,300)+1, PT(1820,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, + { "w432h576", "6x8", PT(1864,300)+1, PT(2422,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "4x6_x2", "4x6*2", PT(1864,300)+1, PT(2730,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +#endif +}; + +LIST(dyesub_pagesize_list_t, mitsu_cpd80_page_list, dyesub_pagesize_t, mitsu_cpd80_page); + +static const dyesub_printsize_t mitsu_cpd80_printsize[] = +{ + { "300x300", "w288h432", 1228, 1864}, +#ifdef MULTICUT + { "300x300", "2x6_x2", 1228, 1864}, +#endif + { "300x300", "w360h360", 1524, 1568}, + { "300x300", "w360h504", 1568, 2128}, + { "300x300", "w432h432", 1864, 1820}, + { "300x300", "w432h576", 1864, 2422}, +#ifdef MULTICUT + { "300x300", "4x6_x2", 1864, 2730}, +#endif +}; + +LIST(dyesub_printsize_list_t, mitsu_cpd80_printsize_list, dyesub_printsize_t, mitsu_cpd80_printsize); + + +/* Kodak 305 */ +static const dyesub_pagesize_t kodak305_page[] = +{ + { "w288h432", "4x6", PT(1218,300)+1, PT(1864,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w432h576", "6x8", PT(1864,300)+1, PT(2422,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +}; + +LIST(dyesub_pagesize_list_t, kodak305_page_list, dyesub_pagesize_t, kodak305_page); + +static const dyesub_printsize_t kodak305_printsize[] = +{ + { "300x300", "w288h432", 1218, 1864}, + { "300x300", "w432h576", 1864, 2422}, +}; + +LIST(dyesub_printsize_list_t, kodak305_printsize_list, dyesub_printsize_t, kodak305_printsize); + +static void kodak305_printer_init(stp_vars_t *v) +{ + mitsu_cpd70k60_printer_init(v, 0, 1); } /* Shinko CHC-S9045 (experimental) */ @@ -2820,7 +3120,7 @@ static const dyesub_pagesize_t shinko_chcs2145_page[] = DYESUB_LANDSCAPE}, { "w288h432", "4x6", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, -#ifdef DNPX2 +#ifdef MULTICUT { "2x6_x2", "2x6*2", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, #endif @@ -2830,7 +3130,7 @@ static const dyesub_pagesize_t shinko_chcs2145_page[] = DYESUB_PORTRAIT}, { "w432h576", "6x8", PT(1844,300)+1, PT(2434,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "4x6_x2", "4x6*2", PT(1844,300)+1, PT(2492,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, #endif @@ -2846,13 +3146,13 @@ static const dyesub_printsize_t shinko_chcs2145_printsize[] = { { "300x300", "w144h432", 634, 1844}, { "300x300", "w288h432", 1240, 1844}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "2x6_x2", 1240, 1844}, #endif { "300x300", "B7", 1088, 1548}, { "300x300", "w360h504", 1548, 2140}, { "300x300", "w432h576", 1844, 2434}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "4x6_x2", 1844, 2492}, #endif { "300x300", "w432h648", 1844, 2740}, @@ -2949,6 +3249,445 @@ static void shinko_chcs2145_printer_end(stp_vars_t *v) stp_putc(0x01, v); } +/* Shinko CHC-S1245 */ +static const dyesub_pagesize_t shinko_chcs1245_page[] = +{ + { "w288h576", "8x4", PT(1229,300)+1, PT(2446,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w360h576", "8x5", PT(1530,300)+1, PT(2446,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w432h576", "8x6", PT(1831,300)+1, PT(2446,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w576h576", "8x8", PT(2436,300)+1, PT(2446,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, +#ifdef MULTICUT + { "8x4_x2", "8x4*2", PT(2446,300)+1, PT(2468,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#endif + { "c8x10", "8x10", PT(2446,300)+1, PT(3036,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "8x6_8x4", "8x6+8x4", PT(2446,300)+1, PT(3070,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, + { "8x5_x2", "8x5*2", PT(2446,300)+1, PT(3070,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#endif + { "w576h864", "8x12", PT(2446,300)+1, PT(3636,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "8x6_x2", "8x6*2", PT(2446,300)+1, PT(3672,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, + { "8x4_x3", "8x4*3", PT(2446,300)+1, PT(3707,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +#endif +}; + +LIST(dyesub_pagesize_list_t, shinko_chcs1245_page_list, dyesub_pagesize_t, shinko_chcs1245_page); + +static const dyesub_printsize_t shinko_chcs1245_printsize[] = +{ + { "300x300", "w288h576", 1229, 2446}, + { "300x300", "w360h576", 1530, 2446}, + { "300x300", "w432h576", 1831, 2446}, + { "300x300", "w576h576", 2436, 2446}, +#ifdef MULTICUT + { "300x300", "8x4_x2", 2446, 2468}, +#endif + { "300x300", "c8x10", 2446, 3036}, +#ifdef MULTICUT + { "300x300", "8x6_8x4", 2446, 3070}, + { "300x300", "8x5_x2", 2446, 3070}, +#endif + { "300x300", "w576h864", 2446, 3636}, +#ifdef MULTICUT + { "300x300", "8x6_x2", 2446, 3672}, + { "300x300", "8x4_x3", 2446, 3707}, +#endif +}; + +LIST(dyesub_printsize_list_t, shinko_chcs1245_printsize_list, dyesub_printsize_t, shinko_chcs1245_printsize); + +static const laminate_t shinko_chcs1245_laminate[] = +{ + {"PrinterDefault", N_("Printer Default"), {1, "\x01"}}, + {"Glossy", N_("Glossy"), {1, "\x02\0\0\0"}}, + {"GlossyFine", N_("Glossy Fine"), {1, "\x03"}}, + {"Matte", N_("Matte"), {1, "\x04"}}, + {"MatteFine", N_("Matte Fine"), {1, "\x05"}}, +}; + +LIST(laminate_list_t, shinko_chcs1245_laminate_list, laminate_t, shinko_chcs1245_laminate); + +static void shinko_chcs1245_printer_init(stp_vars_t *v) +{ + int media = 0; + + if (strcmp(privdata.pagesize,"w288h576") == 0) + media = 5; + else if (strcmp(privdata.pagesize,"w360h576") == 0) + media = 4; + else if (strcmp(privdata.pagesize,"w432h576") == 0) + media = 6; + else if (strcmp(privdata.pagesize,"w576h576") == 0) + media = 9; + else if (strcmp(privdata.pagesize,"8x4_x2") == 0) + media = 2; + else if (strcmp(privdata.pagesize,"c8x10") == 0) + media = 0; + else if (strcmp(privdata.pagesize,"8x6_8x4") == 0) + media = 3; + else if (strcmp(privdata.pagesize,"8x5_x2") == 0) + media = 1; + else if (strcmp(privdata.pagesize,"w576h864") == 0) + media = 0; + else if (strcmp(privdata.pagesize,"8x6_x2") == 0) + media = 7; + else if (strcmp(privdata.pagesize,"8x4_x3") == 0) + media = 8; + + stp_put32_le(0x10, v); + stp_put32_le(1245, v); /* Printer Model */ + stp_put32_le(0x00, v); + stp_put32_le(0x01, v); + + stp_put32_le(0x64, v); + stp_put32_le(0x00, v); + stp_put32_le(0x10, v); /* Seems to be fixed */ + stp_put32_le(0x00, v); + + stp_put32_le(media, v); + stp_zfwrite((privdata.laminate->seq).data, 1, + (privdata.laminate->seq).bytes, v); /* Print Mode */ + stp_put32_le(0x00, v); + if (((const unsigned char*)(privdata.laminate->seq).data)[0] == 0x02 || + ((const unsigned char*)(privdata.laminate->seq).data)[0] == 0x03) { + stp_put32_le(0x07fffffff, v); /* Glossy */ + } else { + stp_put32_le(0x0, v); /* XXX -25>0>+25 */ + } + + stp_put32_le(0x00, v); /* XXX 0x00 printer default, 0x02 for "dust removal" on, 0x01 for off. */ + stp_put32_le(privdata.w_size, v); /* Columns */ + stp_put32_le(privdata.h_size, v); /* Rows */ + stp_put32_le(0x01, v); /* Copies */ + + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + stp_put32_le(privdata.w_dpi, v); /* Dots Per Inch */ + stp_put32_le(0xffffffce, v); + + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + + stp_put32_le(0x00, v); +} + +/* Shinko CHC-S6245 */ +static const dyesub_pagesize_t shinko_chcs6245_page[] = +{ + { "w288h576", "8x4", PT(1236,300)+1, PT(2464,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w360h576", "8x5", PT(1536,300)+1, PT(2464,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w432h576", "8x6", PT(1836,300)+1, PT(2464,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "w576h576", "8x8", PT(2436,300)+1, PT(2464,300)+1, 0, 0, 0, 0, DYESUB_LANDSCAPE}, + { "c8x10", "8x10", PT(2464,300)+1, PT(3036,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, + { "w576h864", "8x12", PT(2464,300)+1, PT(3636,300)+1, 0, 0, 0, 0, DYESUB_PORTRAIT}, +}; + +LIST(dyesub_pagesize_list_t, shinko_chcs6245_page_list, dyesub_pagesize_t, shinko_chcs6245_page); + +static const dyesub_printsize_t shinko_chcs6245_printsize[] = +{ + { "300x300", "w288h576", 1236, 2464}, + { "300x300", "w360h576", 1536, 2464}, + { "300x300", "w432h576", 1836, 2464}, + { "300x300", "w576h576", 2436, 2464}, + { "300x300", "c8x10", 2464, 3036}, + { "300x300", "w576h864", 2464, 3636}, +}; + +LIST(dyesub_printsize_list_t, shinko_chcs6245_printsize_list, dyesub_printsize_t, shinko_chcs6245_printsize); + +static const laminate_t shinko_chcs6245_laminate[] = +{ + {"Glossy", N_("Glossy"), {4, "\x03\x00\x00\x00"}}, + {"Matte", N_("Matte"), {4, "\x02\x00\x00\x00"}}, + {"None", N_("None"), {4, "\x01\x00\x00\x00"}}, +}; + +LIST(laminate_list_t, shinko_chcs6245_laminate_list, laminate_t, shinko_chcs6245_laminate); + +static void shinko_chcs6245_printer_init(stp_vars_t *v) +{ + int media = 0; + + if (strcmp(privdata.pagesize,"w288h576") == 0) + media = 0x20; + else if (strcmp(privdata.pagesize,"w360h576") == 0) + media = 0x21; + else if (strcmp(privdata.pagesize,"w432h576") == 0) + media = 0x22; + else if (strcmp(privdata.pagesize,"w576h576") == 0) + media = 0x23; + else if (strcmp(privdata.pagesize,"c8x10") == 0) + media = 0x10; + else if (strcmp(privdata.pagesize,"w576h864") == 0) + media = 0x11; + + stp_put32_le(0x10, v); + stp_put32_le(6245, v); /* Printer Model */ + stp_put32_le(0x01, v); + stp_put32_le(0x01, v); + + stp_put32_le(0x64, v); + stp_put32_le(0x00, v); + stp_put32_le(media, v); + stp_put32_le(0x00, v); + + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_zfwrite((privdata.laminate->seq).data, 1, + (privdata.laminate->seq).bytes, v); /* Lamination */ + stp_put32_le(0x00, v); + + stp_put32_le(0x00, v); + stp_put32_le(privdata.w_size, v); /* Columns */ + stp_put32_le(privdata.h_size, v); /* Rows */ + stp_put32_le(0x01, v); /* Copies */ + + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + stp_put32_le(privdata.w_dpi, v); /* Dots Per Inch */ + stp_put32_le(0xffffffce, v); + + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + + stp_put32_le(0x00, v); +} + +/* Shinko CHC-S6145 */ +static const dyesub_pagesize_t shinko_chcs6145_page[] = +{ + { "w144h432", "2x6", PT(634,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w288h432", "4x6", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +#ifdef MULTICUT + { "2x6_x2", "2x6*2", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +#endif + { "w360h360", "5x5", PT(1536,300)+1, PT(1548,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w360h504", "5x7", PT(1548,300)+1, PT(2140,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, + { "w432h432", "6x6", PT(1832,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w432h576", "6x8", PT(1844,300)+1, PT(2434,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "4x6_2x6", "4x6+2x6", PT(1844,300)+1, PT(2434,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +#endif +}; + +LIST(dyesub_pagesize_list_t, shinko_chcs6145_page_list, dyesub_pagesize_t, shinko_chcs6145_page); + +static const dyesub_printsize_t shinko_chcs6145_printsize[] = +{ + { "300x300", "w144h432", 634, 1844}, + { "300x300", "w288h432", 1240, 1844}, +#ifdef MULTICUT + { "300x300", "2x6_x2", 1240, 1844}, +#endif + { "300x300", "w360h360", 1536, 1548}, + { "300x300", "w360h504", 1548, 2140}, + { "300x300", "w432h432", 1832, 1844}, + { "300x300", "w432h576", 1844, 2434}, +#ifdef MULTICUT + { "300x300", "4x6_2x6", 1844, 2434}, +#endif +}; + +LIST(dyesub_printsize_list_t, shinko_chcs6145_printsize_list, dyesub_printsize_t, shinko_chcs6145_printsize); + +static const laminate_t shinko_chcs6145_laminate[] = +{ + {"PrinterDefault", N_("Printer Default"), {4, "\x01\0\0\0"}}, + {"Glossy", N_("Glossy"), {4, "\x02\0\0\0"}}, + {"Matte", N_("Matte"), {4, "\x03\0\0\0"}}, +}; + +LIST(laminate_list_t, shinko_chcs6145_laminate_list, laminate_t, shinko_chcs6145_laminate); + +static void shinko_chcs6145_printer_init(stp_vars_t *v) +{ + int media = 0; + + if (strcmp(privdata.pagesize,"w288h432") == 0) + media = 0x00; + else if (strcmp(privdata.pagesize,"2x6_x2") == 0) + media = 0x00; + else if (strcmp(privdata.pagesize,"w360h360") == 0) + media = 0x08; + else if (strcmp(privdata.pagesize,"w360h504") == 0) + media = 0x03; + else if (strcmp(privdata.pagesize,"w432h432") == 0) + media = 0x06; + else if (strcmp(privdata.pagesize,"w432h576") == 0) + media = 0x06; + else if (strcmp(privdata.pagesize,"w144h432") == 0) + media = 0x07; + else if (strcmp(privdata.pagesize,"4x6_2x6") == 0) + media = 0x06; + else if (strcmp(privdata.pagesize,"6x6_2x6") == 0) + media = 0x06; + + stp_put32_le(0x10, v); + stp_put32_le(6145, v); /* Printer Model */ + if (!strcmp(privdata.pagesize,"w360h360") || + !strcmp(privdata.pagesize,"w360h504")) + stp_put32_le(0x02, v); /* 5" media */ + else + stp_put32_le(0x03, v); /* 6" media */ + stp_put32_le(0x01, v); + + stp_put32_le(0x64, v); + stp_put32_le(0x00, v); + stp_put32_le(media, v); /* Media Type */ + stp_put32_le(0x00, v); + + if (strcmp(privdata.pagesize,"6x6_2x6") == 0) { + stp_put32_le(0x05, v); + } else if (strcmp(privdata.pagesize,"2x6_x2") == 0) { + stp_put32_le(0x04, v); + } else { + stp_put32_le(0x00, v); + } + stp_put32_le(0x00, v); /* XXX quality; 00 == default, 0x01 == std */ + stp_zfwrite((privdata.laminate->seq).data, 1, + (privdata.laminate->seq).bytes, v); /* Lamination */ + stp_put32_le(0x00, v); + + stp_put32_le(0x00, v); + stp_put32_le(privdata.w_size, v); /* Columns */ + stp_put32_le(privdata.h_size, v); /* Rows */ + stp_put32_le(0x01, v); /* Copies */ + + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + stp_put32_le(privdata.w_dpi, v); /* Dots Per Inch */ + stp_put32_le(0xffffffce, v); + + stp_put32_le(0x00, v); + stp_put32_le(0xffffffce, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + + stp_put32_le(0x00, v); +} + +/* Ciaat Brava 21 */ +static const dyesub_pagesize_t ciaat_brava21_page[] = +{ + { "w144h432", "2x6", PT(634,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w288h432", "4x6", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +#ifdef MULTICUT + { "2x6_x2", "2x6*2", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +#endif + { "w360h504", "5x7", PT(1548,300)+1, PT(2140,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, + { "w432h576", "6x8", PT(1844,300)+1, PT(2434,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "4x6_x2", "4x6*2", PT(1844,300)+1, PT(2492,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, +#endif +}; + +LIST(dyesub_pagesize_list_t, ciaat_brava21_page_list, dyesub_pagesize_t, ciaat_brava21_page); + +static const dyesub_printsize_t ciaat_brava21_printsize[] = +{ + { "300x300", "w144h432", 634, 1844}, + { "300x300", "w288h432", 1240, 1844}, +#ifdef MULTICUT + { "300x300", "2x6_x2", 1240, 1844}, +#endif + { "300x300", "w360h504", 1548, 2140}, + { "300x300", "w432h576", 1844, 2434}, +#ifdef MULTICUT + { "300x300", "4x6_x2", 1844, 2492}, +#endif +}; + +LIST(dyesub_printsize_list_t, ciaat_brava21_printsize_list, dyesub_printsize_t, ciaat_brava21_printsize); + +static const laminate_t ciaat_brava21_laminate[] = +{ + {"Off", N_("Off"), {1, "\x01"}}, + {"Glossy", N_("Glossy"), {1, "\x02"}}, + {"Matte", N_("Matte"), {1, "\x03"}}, +}; + +LIST(laminate_list_t, ciaat_brava21_laminate_list, laminate_t, ciaat_brava21_laminate); + +static void ciaat_brava21_printer_init(stp_vars_t *v) +{ + int media = 0; + + if (strcmp(privdata.pagesize,"w288h432") == 0) + media = 0x00; + else if (strcmp(privdata.pagesize,"2x6_x2") == 0) + media = 0x00; + else if (strcmp(privdata.pagesize,"w360h504") == 0) + media = 0x03; + else if (strcmp(privdata.pagesize,"w432h576") == 0) + media = 0x06; + else if (strcmp(privdata.pagesize,"w144h432") == 0) + media = 0x07; + else if (strcmp(privdata.pagesize,"w4x6_x2") == 0) + media = 0x06; + + stp_putc(0x01, v); + stp_putc(0x40, v); + stp_putc(0x12, v); + stp_putc(0x00, v); + stp_putc(0x01, v); + stp_putc(0x01, v); /* Copies */ + stp_putc(0x00, v); + stp_put16_le(privdata.w_size, v); /* Columns */ + stp_put16_le(privdata.h_size, v); /* Rows */ + + stp_putc(media, v); + + dyesub_nputc(v, 0x00, 6); + stp_putc(0x01, v); + + if (strcmp(privdata.pagesize,"2x6_x2") == 0) + media = 0x04; + else if (strcmp(privdata.pagesize,"4x6_x2") == 0) + media = 0x02; + else + media = 0x00; /* or 0x01 to turn off trimming */ + + stp_zfwrite((privdata.laminate->seq).data, 1, + (privdata.laminate->seq).bytes, v); /* Lamination */ + + stp_putc(media, v); + stp_putc(0x00, v); +} + /* Dai Nippon Printing DS40 */ static const dyesub_resolution_t res_dnpds40_dpi[] = { @@ -2958,32 +3697,31 @@ static const dyesub_resolution_t res_dnpds40_dpi[] = LIST(dyesub_resolution_list_t, res_dnpds40_dpi_list, dyesub_resolution_t, res_dnpds40_dpi); -/* Imaging area is wider than print size, we always must supply the - printer with the full imaging width. */ -static const dyesub_pagesize_t dnpds40_dock_page[] = +/* Imaging area is wider than print size, we always must supply the printer with the full imaging width. */ +static const dyesub_pagesize_t dnpds40_page[] = { - { "B7", "3.5x5", PT(1088,300)+1, PT(1920,300)+1, 0, 0, PT(112,300), PT(112,300), DYESUB_LANDSCAPE}, + { "B7", "3.5x5", PT(1088,300)+1, PT(1920,300)+1, 0, 0, PT(186,300), PT(186,300), DYESUB_LANDSCAPE}, { "w288h432", "4x6", PT(1240,300)+1, PT(1920,300)+1, 0, 0, PT(38,300), PT(38,300), DYESUB_LANDSCAPE}, -#ifdef DNPX2 +#ifdef MULTICUT { "2x6_x2", "2x6*2", PT(1240,300)+1, PT(1920,300)+1, 0, 0, PT(38,300), PT(38,300), DYESUB_LANDSCAPE}, #endif - { "w360h504", "5x7", PT(1920,300)+1, PT(2138,300)+1, PT(112,300), PT(112,300), 0, 0, DYESUB_PORTRAIT}, + { "w360h504", "5x7", PT(1920,300)+1, PT(2138,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, { "A5", "6x8", PT(1920,300)+1, PT(2436,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "4x6_x2", "4x6*2", PT(1920,300)+1, PT(2498,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, #endif { "w432h576", "6x9", PT(1920,300)+1, PT(2740,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, }; -LIST(dyesub_pagesize_list_t, dnpds40_dock_page_list, dyesub_pagesize_t, dnpds40_dock_page); +LIST(dyesub_pagesize_list_t, dnpds40_page_list, dyesub_pagesize_t, dnpds40_page); -static const dyesub_printsize_t dnpds40_dock_printsize[] = +static const dyesub_printsize_t dnpds40_printsize[] = { { "300x300", "B7", 1088, 1920}, { "300x600", "B7", 2176, 1920}, { "300x300", "w288h432", 1240, 1920}, { "300x600", "w288h432", 2480, 1920}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "2x6_x2", 1240, 1920}, { "300x600", "2x6_x2", 2480, 1920}, #endif @@ -2991,7 +3729,7 @@ static const dyesub_printsize_t dnpds40_dock_printsize[] = { "300x600", "w360h504", 1920, 4276}, { "300x300", "A5", 1920, 2436}, { "300x600", "A5", 1920, 4872}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "4x6_x2", 1920, 2498}, { "300x600", "4x6_x2", 1920, 4996}, #endif @@ -2999,7 +3737,7 @@ static const dyesub_printsize_t dnpds40_dock_printsize[] = { "300x600", "w432h576", 1920, 5480}, }; -LIST(dyesub_printsize_list_t, dnpds40_dock_printsize_list, dyesub_printsize_t, dnpds40_dock_printsize); +LIST(dyesub_printsize_list_t, dnpds40_printsize_list, dyesub_printsize_t, dnpds40_printsize); static const laminate_t dnpds40_laminate[] = { @@ -3010,28 +3748,21 @@ static const laminate_t dnpds40_laminate[] = LIST(laminate_list_t, dnpds40_laminate_list, laminate_t, dnpds40_laminate); -static void dnpds40ds80_printer_start(stp_vars_t *v) +static void dnp_printer_start_common(stp_vars_t *v) { - /* XXX Unknown purpose. */ - stp_zprintf(v, "\033PCNTRL RETENTION 0000000800000000"); - /* Configure Lamination */ stp_zprintf(v, "\033PCNTRL OVERCOAT 00000008000000"); stp_zfwrite((privdata.laminate->seq).data, 1, (privdata.laminate->seq).bytes, v); /* Lamination mode */ - /* Don't resume after error.. XXX should be in backend */ - stp_zprintf(v, "\033PCNTRL BUFFCNTRL 0000000800000000"); - /* Set quantity.. Backend overrides as needed. */ stp_zprintf(v, "\033PCNTRL QTY 000000080000001\r"); - } static void dnpds40_printer_start(stp_vars_t *v) { /* Common code */ - dnpds40ds80_printer_start(v); + dnp_printer_start_common(v); /* Set cutter option to "normal" */ stp_zprintf(v, "\033PCNTRL CUTTER 0000000800000"); @@ -3046,7 +3777,8 @@ static void dnpds40_printer_start(stp_vars_t *v) if (!strcmp(privdata.pagesize, "B7")) { stp_zprintf(v, "01"); - } else if (!strcmp(privdata.pagesize, "w288h432")) { + } else if (!strcmp(privdata.pagesize, "w288h432") || + !strcmp(privdata.pagesize, "2x6_x2")) { stp_zprintf(v, "02"); } else if (!strcmp(privdata.pagesize, "w360h504")) { stp_zprintf(v, "03"); @@ -3057,7 +3789,7 @@ static void dnpds40_printer_start(stp_vars_t *v) } else if (!strcmp(privdata.pagesize, "4x6_x2")) { stp_zprintf(v, "12"); } else { - stp_zprintf(v, "00"); + stp_zprintf(v, "00"); /* should be impossible. */ } } @@ -3107,34 +3839,34 @@ static void dnpds40_plane_init(stp_vars_t *v) /* Dai Nippon Printing DS80 */ /* Imaging area is wider than print size, we always must supply the printer with the full imaging width. */ -static const dyesub_pagesize_t dnpds80_dock_page[] = +static const dyesub_pagesize_t dnpds80_page[] = { { "w288h576", "8x4", PT(1236,300)+1, PT(2560,300)+1, 0, 0, PT(56,300), PT(56,300), DYESUB_LANDSCAPE}, { "w360h576", "8x5", PT(1536,300)+1, PT(2560,300)+1, 0, 0, PT(56,300), PT(56,300), DYESUB_LANDSCAPE}, { "w432h576", "8x6", PT(1836,300)+1, PT(2560,300)+1, 0, 0, PT(56,300), PT(56,300), DYESUB_LANDSCAPE}, { "w576h576", "8x8", PT(2436,300)+1, PT(2560,300)+1, 0, 0, PT(56,300), PT(56,300), DYESUB_LANDSCAPE}, -#ifdef DNPX2 +#ifdef MULTICUT { "8x4_x2", "8x4*2", PT(2502,300)+1, PT(2560,300)+1, 0, 0, PT(56,300), PT(56,300), DYESUB_LANDSCAPE}, { "8x5_8x4", "8x5+8x4", PT(2560,300)+1, PT(2802,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, #endif { "c8x10", "8x10", PT(2560,300)+1, PT(3036,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "8x5_x2", "8x5*2", PT(2560,300)+1, PT(3036,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, { "8x6_8x4", "8x6+8x4", PT(2560,300)+1, PT(3036,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, { "8x6_8x5", "8x6+8x5", PT(2560,300)+1, PT(3402,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, #endif { "A4", "A4 Length", PT(2560,300)+1, PT(3544,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, { "w576h864", "8x12", PT(2560,300)+1, PT(3636,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "8x6_x2", "8x6*2", PT(2560,300)+1, PT(3702,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, { "8x8_8x4", "8x8+8x4", PT(2560,300)+1, PT(3702,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, { "8x4_x3", "8x4*3", PT(2560,300)+1, PT(3768,300)+1, PT(56,300), PT(56,300), 0, 0, DYESUB_PORTRAIT}, #endif }; -LIST(dyesub_pagesize_list_t, dnpds80_dock_page_list, dyesub_pagesize_t, dnpds80_dock_page); +LIST(dyesub_pagesize_list_t, dnpds80_page_list, dyesub_pagesize_t, dnpds80_page); -static const dyesub_printsize_t dnpds80_dock_printsize[] = +static const dyesub_printsize_t dnpds80_printsize[] = { { "300x300", "w288h576", 1236, 2560}, { "300x600", "w288h576", 2472, 2560}, @@ -3144,7 +3876,7 @@ static const dyesub_printsize_t dnpds80_dock_printsize[] = { "300x600", "w432h576", 3672, 2560}, { "300x300", "w576h576", 2436, 2560}, { "300x600", "w576h576", 4872, 2560}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "8x4_x2", 2502, 2560}, { "300x600", "8x4_x2", 5004, 2560}, { "300x300", "8x5_8x4", 2560, 2802}, @@ -3152,7 +3884,7 @@ static const dyesub_printsize_t dnpds80_dock_printsize[] = #endif { "300x300", "c8x10", 2560, 3036}, { "300x600", "c8x10", 2560, 6072}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "8x5_x2", 2560, 3102}, { "300x600", "8x5_x2", 2560, 6204}, { "300x300", "8x6_8x4", 2560, 3102}, @@ -3164,7 +3896,7 @@ static const dyesub_printsize_t dnpds80_dock_printsize[] = { "300x600", "A4", 2560, 7088}, { "300x300", "w576h864", 2560, 3636}, { "300x600", "w576h864", 2560, 7272}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "8x6_x2", 2560, 3702}, { "300x600", "8x6_x2", 2560, 7404}, { "300x300", "8x8_8x4", 2560, 3702}, @@ -3174,12 +3906,12 @@ static const dyesub_printsize_t dnpds80_dock_printsize[] = #endif }; -LIST(dyesub_printsize_list_t, dnpds80_dock_printsize_list, dyesub_printsize_t, dnpds80_dock_printsize); +LIST(dyesub_printsize_list_t, dnpds80_printsize_list, dyesub_printsize_t, dnpds80_printsize); static void dnpds80_printer_start(stp_vars_t *v) { /* Common code */ - dnpds40ds80_printer_start(v); + dnp_printer_start_common(v); /* Set cutter option to "normal" */ stp_zprintf(v, "\033PCNTRL CUTTER 0000000800000000"); @@ -3218,35 +3950,37 @@ static void dnpds80_printer_start(stp_vars_t *v) } else if (!strcmp(privdata.pagesize, "A4")) { stp_zprintf(v, "21"); } else { - stp_zprintf(v, "00"); + stp_zprintf(v, "00"); /* should not be possible */ } } +/* Dai Nippon Printing DS-RX1 */ /* Imaging area is wider than print size, we always must supply the printer with the full imaging width. */ -static const dyesub_pagesize_t dnpsrx1_dock_page[] = +static const dyesub_pagesize_t dnpsrx1_page[] = { - { "B7", "3.5x5", PT(1920,300)+1, PT(1088,300)+1, PT(112,300), PT(112,300), 0, 0, DYESUB_PORTRAIT}, + { "B7", "3.5x5", PT(1920,300)+1, PT(1088,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, { "w288h432", "4x6", PT(1920,300)+1, PT(1240,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT { "2x6_x2", "2x6*2", PT(1920,300)+1, PT(1240,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, #endif - { "w360h504", "5x7", PT(1920,300)+1, PT(2138,300)+1, PT(112,300), PT(112,300), 0, 0, DYESUB_PORTRAIT}, + { "w360h504", "5x7", PT(1920,300)+1, PT(2138,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, { "A5", "6x8", PT(1920,300)+1, PT(2436,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, -#ifdef DNPX2 +#ifdef MULTICUT + { "2x6_x4", "2x6*4", PT(1920,300)+1, PT(2436,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, { "4x6_x2", "4x6*2", PT(1920,300)+1, PT(2498,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, #endif }; -LIST(dyesub_pagesize_list_t, dnpsrx1_dock_page_list, dyesub_pagesize_t, dnpsrx1_dock_page); +LIST(dyesub_pagesize_list_t, dnpsrx1_page_list, dyesub_pagesize_t, dnpsrx1_page); -static const dyesub_printsize_t dnpsrx1_dock_printsize[] = +static const dyesub_printsize_t dnpsrx1_printsize[] = { { "300x300", "B7", 1920, 1088}, { "300x600", "B7", 1920, 2176}, { "300x300", "w288h432", 1920, 1240}, { "300x600", "w288h432", 1920, 2480}, -#ifdef DNPX2 +#ifdef MULTICUT { "300x300", "2x6_x2", 1920, 1240}, { "300x600", "2x6_x2", 1920, 2480}, #endif @@ -3254,23 +3988,27 @@ static const dyesub_printsize_t dnpsrx1_dock_printsize[] = { "300x600", "w360h504", 1920, 4276}, { "300x300", "A5", 1920, 2436}, { "300x600", "A5", 1920, 4872}, -#ifdef DNPX2 +#ifdef MULTICUT + { "300x300", "2x6_x4", 1920, 2436}, + { "300x600", "2x6_x4", 1920, 4872}, { "300x300", "4x6_x2", 1920, 2498}, { "300x600", "4x6_x2", 1920, 4996}, #endif }; -LIST(dyesub_printsize_list_t, dnpsrx1_dock_printsize_list, dyesub_printsize_t, dnpsrx1_dock_printsize); +LIST(dyesub_printsize_list_t, dnpsrx1_printsize_list, dyesub_printsize_t, dnpsrx1_printsize); static void dnpdsrx1_printer_start(stp_vars_t *v) { /* Common code */ - dnpds40ds80_printer_start(v); + dnp_printer_start_common(v); /* Set cutter option to "normal" */ stp_zprintf(v, "\033PCNTRL CUTTER 0000000800000"); if (!strcmp(privdata.pagesize, "2x6_x2")) { stp_zprintf(v, "120"); + } else if (!strcmp(privdata.pagesize, "2x6_x4")) { + stp_zprintf(v, "120"); } else { stp_zprintf(v, "000"); } @@ -3288,11 +4026,248 @@ static void dnpdsrx1_printer_start(stp_vars_t *v) stp_zprintf(v, "04"); } else if (!strcmp(privdata.pagesize, "4x6_x2")) { stp_zprintf(v, "12"); + } else if (!strcmp(privdata.pagesize, "2x6_x2")) { + stp_zprintf(v, "02"); + } else if (!strcmp(privdata.pagesize, "2x6_x4")) { + stp_zprintf(v, "04"); } else { stp_zprintf(v, "00"); } } +/* Dai Nippon Printing DS620 */ +/* Imaging area is wider than print size, we always must supply the + printer with the full imaging width. */ +static const dyesub_pagesize_t dnpds620_page[] = +{ + { "B7", "3.5x5", PT(1920,300)+1, PT(1088,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, + { "w288h432", "4x6", PT(1920,300)+1, PT(1240,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "2x6_x2", "2x6*2", PT(1920,300)+1, PT(1240,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, +#endif + { "w324h432", "4.5x6", PT(1920,300)+1, PT(1386,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, + { "w360h360", "5x5", PT(1920,300)+1, PT(1540,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, + { "w360h504", "5x7", PT(1920,300)+1, PT(2138,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "B7_x2", "3.5x5*2", PT(1920,300)+1, PT(2176,300)+1, PT(186,300), PT(186,300), 0, 0, DYESUB_PORTRAIT}, +#endif + { "w432h432", "6x6", PT(1920,300)+1, PT(1836,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, + { "A5", "6x8", PT(1920,300)+1, PT(2436,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "6x6_2x6", "6x6+2x6", PT(1920,300)+1, PT(2436,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, + { "2x6_x4", "2x6*4", PT(1920,300)+1, PT(2436,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, + { "4x6_x2", "4x6*2", PT(1920,300)+1, PT(2498,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, +#endif + { "w432h576", "6x9", PT(1920,300)+1, PT(2740,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, +#ifdef MULTICUT + { "w324h432_x2", "4.5x6*2", PT(1920,300)+1, PT(2802,300)+1, PT(38,300), PT(38,300), 0, 0, DYESUB_PORTRAIT}, +#endif +}; + +LIST(dyesub_pagesize_list_t, dnpds620_page_list, dyesub_pagesize_t, dnpds620_page); + +static const dyesub_printsize_t dnpds620_printsize[] = +{ + { "300x300", "B7", 1920, 1088}, + { "300x600", "B7", 1920, 2176}, + { "300x300", "w288h432", 1920, 1240}, + { "300x600", "w288h432", 1920, 2480}, +#ifdef MULTICUT + { "300x300", "2x6_x2", 1920, 1240}, + { "300x600", "2x6_x2", 1920, 2480}, +#endif + { "300x300", "w324h432", 1920, 1386}, + { "300x600", "w324h432", 1920, 2772}, + { "300x300", "w360h360", 1920, 1540}, + { "300x600", "w360h360", 1920, 3080}, + { "300x300", "w360h504", 1920, 2138}, + { "300x600", "w360h504", 1920, 4276}, +#ifdef MULTICUT + { "300x300", "B7_x2", 1920, 2176}, + { "300x600", "B7_x2", 1920, 4352}, +#endif + { "300x300", "w432h432", 1920, 1836}, + { "300x600", "w432h432", 1920, 3672}, + { "300x300", "A5", 1920, 2436}, + { "300x600", "A5", 1920, 4872}, +#ifdef MULTICUT + { "300x300", "2x6_x4", 1920, 2436}, + { "300x600", "2x6_x4", 1920, 4872}, + { "300x300", "6x6_2x6", 1920, 2436}, + { "300x600", "6x6_2x6", 1920, 4872}, + { "300x300", "4x6_x2", 1920, 2498}, + { "300x600", "4x6_x2", 1920, 4996}, +#endif + { "300x300", "w432h576", 1920, 2740}, + { "300x600", "w432h576", 1920, 5480}, +#ifdef MULTICUT + { "300x300", "w324h432_x2", 1920, 2802}, + { "300x600", "w324h432_x2", 1920, 5604}, +#endif +}; + +LIST(dyesub_printsize_list_t, dnpds620_printsize_list, dyesub_printsize_t, dnpds620_printsize); + +static void dnpds620_printer_start(stp_vars_t *v) +{ + /* Common code */ + dnp_printer_start_common(v); + + /* Multicut when 8x6 media is in use */ + if (!strcmp(privdata.pagesize, "A5") && + !strcmp(privdata.pagesize, "w432h648")) { + stp_zprintf(v, "\033PCNTRL FULL_CUTTER_SET 00000016"); + stp_zprintf(v, "0000000000000000"); + } else if (!strcmp(privdata.pagesize, "2x6_x4")) { + stp_zprintf(v, "\033PCNTRL FULL_CUTTER_SET 00000016"); + stp_zprintf(v, "0200200200200000"); + } else if (!strcmp(privdata.pagesize, "6x6_2x6")) { + stp_zprintf(v, "\033PCNTRL FULL_CUTTER_SET 00000016"); + stp_zprintf(v, "0600200000000000"); + } else if (!strcmp(privdata.pagesize, "2x6_x2")) { + stp_zprintf(v, "\033PCNTRL CUTTER 00000008"); + stp_zprintf(v, "00000120"); + } + + /* Configure multi-cut/page size */ + stp_zprintf(v, "\033PIMAGE MULTICUT 00000008000000"); + + if (!strcmp(privdata.pagesize, "B7")) { + stp_zprintf(v, "01"); + } else if (!strcmp(privdata.pagesize, "w288h432")) { + stp_zprintf(v, "02"); + } else if (!strcmp(privdata.pagesize, "w324h432")) { + stp_zprintf(v, "30"); + } else if (!strcmp(privdata.pagesize, "w360h360")) { + stp_zprintf(v, "29"); + } else if (!strcmp(privdata.pagesize, "w360h504")) { + stp_zprintf(v, "03"); + } else if (!strcmp(privdata.pagesize, "w432h432")) { + stp_zprintf(v, "27"); + } else if (!strcmp(privdata.pagesize, "A5")) { + stp_zprintf(v, "04"); + } else if (!strcmp(privdata.pagesize, "w432h576")) { + stp_zprintf(v, "05"); + } else if (!strcmp(privdata.pagesize, "6x6_2x6")) { + stp_zprintf(v, "04"); + } else if (!strcmp(privdata.pagesize, "2x6_x4")) { + stp_zprintf(v, "04"); + } else if (!strcmp(privdata.pagesize, "2x6_x2")) { + stp_zprintf(v, "02"); + } else if (!strcmp(privdata.pagesize, "4x6_x2")) { + stp_zprintf(v, "12"); + } else if (!strcmp(privdata.pagesize, "w324h432_x2")) { + stp_zprintf(v, "31"); + } else { + stp_zprintf(v, "00"); /* Should be impossible */ + } +} + +/* Citizen CW-01 */ +static const dyesub_resolution_t res_citizen_cw01_dpi[] = +{ + { "334x334", 334, 334}, + { "334x600", 334, 600}, +}; + +LIST(dyesub_resolution_list_t, res_citizen_cw01_dpi_list, dyesub_resolution_t,res_citizen_cw01_dpi); + +static const dyesub_pagesize_t citizen_cw01_page[] = +{ + { "w252h338", "3.5x4.7", PT(1210,334)+1, PT(2048,334)+1, 0, 0, PT(225,334), PT(225,334), DYESUB_LANDSCAPE}, + { "B7", "3.5x5", PT(1210,334)+1, PT(2048,334)+1, 0, 0, PT(169,334), PT(169,334), DYESUB_LANDSCAPE}, + { "w288h432", "4x6", PT(1380,334)+1, PT(2048,334)+1, 0, 0, PT(5,334), PT(5,334), DYESUB_LANDSCAPE}, + { "w338h504", "4.7x7", PT(2048,334)+1, PT(2380,334)+1, PT(225,334), PT(225,334), 0, 0, DYESUB_PORTRAIT}, + { "w360h504", "5x7", PT(2048,334)+1, PT(2380,334)+1, PT(169,334), PT(169,334), 0, 0, DYESUB_PORTRAIT}, + { "A5", "6x8", PT(2048,334)+1, PT(2710,300)+1, PT(5,334), PT(5,334), 0, 0, DYESUB_PORTRAIT}, + { "w432h576", "6x9", PT(2048,334)+1, PT(3050,334)+1, PT(5,334), PT(5,334), 0, 0, DYESUB_PORTRAIT}, +}; + +LIST(dyesub_pagesize_list_t, citizen_cw01_page_list, dyesub_pagesize_t, citizen_cw01_page); + +static const dyesub_printsize_t citizen_cw01_printsize[] = +{ + { "334x334", "w252h338", 1210, 2048}, + { "334x600", "w252h388", 2176, 2048}, + { "334x334", "B7", 1210, 2048}, + { "334x600", "B7", 2176, 2048}, + { "334x334", "w288h432", 1380, 2048}, + { "334x600", "w288h432", 2480, 2048}, + { "334x334", "w338h504", 2048, 2380}, + { "334x600", "w338h504", 2048, 4276}, + { "334x334", "w360h504", 2048, 2380}, + { "334x600", "w360h504", 2048, 4276}, + { "334x334", "A5", 2048, 2710}, + { "334x600", "A5", 2048, 4870}, + { "334x334", "w432h576", 2048, 3050}, + { "334x600", "w432h576", 2048, 5480}, +}; + +LIST(dyesub_printsize_list_t, citizen_cw01_printsize_list, dyesub_printsize_t, citizen_cw01_printsize); + +static void citizen_cw01_printer_start(stp_vars_t *v) +{ + int media = 0; + + if (strcmp(privdata.pagesize,"w252h338") == 0) + media = 0x00; + else if (strcmp(privdata.pagesize,"B7") == 0) + media = 0x01; + else if (strcmp(privdata.pagesize,"w288h432") == 0) + media = 0x02; + else if (strcmp(privdata.pagesize,"w338h504") == 0) + media = 0x03; + else if (strcmp(privdata.pagesize,"w360h504") == 0) + media = 0x04; + else if (strcmp(privdata.pagesize,"A5") == 0) + media = 0x05; + else if (strcmp(privdata.pagesize,"w432h576") == 0) + media = 0x06; + + stp_putc(media, v); + if (privdata.h_dpi == 600) { + stp_putc(0x01, v); + } else { + stp_putc(0x00, v); + } + stp_putc(0x01, v); /* This is actually number of copies */ + stp_putc(0x00, v); + + /* Compute plane size */ + media = (privdata.w_size * privdata.h_size) + 1024 + 40; + + stp_put32_le(media, v); + stp_put32_le(0x0, v); +} + +static void citizen_cw01_plane_init(stp_vars_t *v) +{ + int i; + + stp_put32_le(0x28, v); + stp_put32_le(0x0800, v); + stp_put16_le(privdata.h_size, v); /* number of rows */ + stp_put16_le(0x0, v); + stp_put32_le(0x080001, v); + stp_put32_le(0x00, v); + stp_put32_le(0x00, v); + stp_put32_le(0x335a, v); + if (privdata.h_dpi == 600) { + stp_put32_le(0x5c40, v); + } else { + stp_put32_le(0x335a, v); + } + stp_put32_le(0x0100, v); + stp_put32_le(0x00, v); + + /* Write the color curve data. */ + for (i = 0xff; i >= 0 ; i--) { + unsigned long tmp; + tmp = i | (i << 8) | (i << 16); + stp_put32_le(tmp, v); + } +} + /* Model capabilities */ static const dyesub_cap_t dyesub_model_capabilities[] = @@ -3550,18 +4525,18 @@ static const dyesub_cap_t dyesub_model_capabilities[] = }, { /* Canon CP820, CP910 */ 1011, - &bgr_ink_list, + &rgb_ink_list, &res_300dpi_list, &cp910_page_list, &cp910_printsize_list, SHRT_MAX, DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_BORDERLESS | DYESUB_FEATURE_WHITE_BORDER - | DYESUB_FEATURE_PLANE_INTERLACE, + | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_RGBtoYCBCR, &cp910_printer_init_func, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, /* Unknown color correction! */ + NULL, NULL, NULL, /* Printer handles color correction! */ NULL, NULL, }, { /* Sony UP-DP10 */ @@ -3626,16 +4601,30 @@ static const dyesub_cap_t dyesub_model_capabilities[] = 2004, &rgb_ink_list, &res_334dpi_list, - &updr150_page_list, - &updr150_printsize_list, + &updr200_page_list, + &updr200_printsize_list, SHRT_MAX, DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, - &updr200_printer_init_func, &updr150_printer_end_func, + &updr200_printer_init_func, &updr200_printer_end_func, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &updr200_laminate_list, NULL, }, + { /* Sony UP-CR10L / DNP SL10 */ + 2005, + &rgb_ink_list, + &res_300dpi_list, + &upcr10_page_list, + &upcr10_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, + &upcr10_printer_init_func, &upcr10_printer_end_func, + NULL, NULL, + NULL, NULL, + NULL, NULL, NULL, + NULL, NULL, + }, { /* Fujifilm Printpix CX-400 */ 3000, &rgb_ink_list, @@ -3785,6 +4774,22 @@ static const dyesub_cap_t dyesub_model_capabilities[] = NULL, NULL, NULL, /* color profile/adjustment is built into printer */ &kodak_9810_laminate_list, NULL, }, + { /* Kodak 8810 */ + 4007, + &bgr_ink_list, + &res_300dpi_list, + &kodak_8810_page_list, + &kodak_8810_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT + | DYESUB_FEATURE_PLANE_INTERLACE, + &kodak_8810_printer_init, NULL, + NULL, NULL, + NULL, NULL, /* No block funcs */ + NULL, NULL, NULL, /* color profile/adjustment is built into printer */ + &kodak_8810_laminate_list, NULL, + }, + { /* Kodak Professional 8500 */ 4100, &bgr_ink_list, @@ -3832,7 +4837,7 @@ static const dyesub_cap_t dyesub_model_capabilities[] = }, { /* Mitsubishi CP9550D */ 4103, - &bgr_ink_list, + &rgb_ink_list, &res_346dpi_list, &mitsu_cp9550_page_list, &mitsu_cp9550_printsize_list, @@ -3863,7 +4868,7 @@ static const dyesub_cap_t dyesub_model_capabilities[] = }, { /* Mitsubishi CPD70D/CPD707D */ 4105, - &bgr_ink_list, + &ymc_ink_list, &res_300dpi_list, &mitsu_cpd70x_page_list, &mitsu_cpd70x_printsize_list, @@ -3879,7 +4884,7 @@ static const dyesub_cap_t dyesub_model_capabilities[] = }, { /* Mitsubishi CPK60D */ 4106, - &bgr_ink_list, + &ymc_ink_list, &res_300dpi_list, &mitsu_cpk60_page_list, &mitsu_cpk60_printsize_list, @@ -3887,13 +4892,44 @@ static const dyesub_cap_t dyesub_model_capabilities[] = DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_16BPP | DYESUB_FEATURE_BIGENDIAN, - &mitsu_cpk60_printer_init, &mitsu_cpd70x_printer_end, + &mitsu_cpk60_printer_init, &mitsu_cpk60_printer_end, + NULL, &mitsu_cpd70x_plane_end, + NULL, NULL, /* No block funcs */ + NULL, NULL, NULL, /* color profile/adjustment is built into printer */ + &mitsu_cpd70x_laminate_list, NULL, + }, + { /* Mitsubishi CPD80D */ + 4107, + &ymc_ink_list, + &res_300dpi_list, + &mitsu_cpd80_page_list, + &mitsu_cpd80_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT + | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_16BPP + | DYESUB_FEATURE_BIGENDIAN, + &mitsu_cpd70x_printer_init, &mitsu_cpd70x_printer_end, + NULL, &mitsu_cpd70x_plane_end, + NULL, NULL, /* No block funcs */ + NULL, NULL, NULL, /* color profile/adjustment is built into printer */ + &mitsu_cpd70x_laminate_list, NULL, + }, + { /* Kodak 305 */ + 4108, + &ymc_ink_list, + &res_300dpi_list, + &kodak305_page_list, + &kodak305_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT + | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_16BPP + | DYESUB_FEATURE_BIGENDIAN, + &kodak305_printer_init, &mitsu_cpk60_printer_end, NULL, &mitsu_cpd70x_plane_end, NULL, NULL, /* No block funcs */ NULL, NULL, NULL, /* color profile/adjustment is built into printer */ &mitsu_cpd70x_laminate_list, NULL, }, - { /* Shinko CHC-S9045 (experimental) */ 5000, &rgb_ink_list, @@ -3922,12 +4958,68 @@ static const dyesub_cap_t dyesub_model_capabilities[] = NULL, NULL, NULL, /* Color correction in printer */ &shinko_chcs2145_laminate_list, NULL, }, + { /* Shinko/Sinfonia CHC-S1245 */ + 5002, + &rgb_ink_list, + &res_300dpi_list, + &shinko_chcs1245_page_list, + &shinko_chcs1245_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, + &shinko_chcs1245_printer_init, &shinko_chcs2145_printer_end, + NULL, NULL, /* No planes */ + NULL, NULL, /* No blocks */ + NULL, NULL, NULL, /* Color correction in printer */ + &shinko_chcs1245_laminate_list, NULL, + }, + { /* Shinko/Sinfonia CHC-S6245 */ + 5003, + &rgb_ink_list, + &res_300dpi_list, + &shinko_chcs6245_page_list, + &shinko_chcs6245_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, + &shinko_chcs6245_printer_init, &shinko_chcs2145_printer_end, + NULL, NULL, /* No planes */ + NULL, NULL, /* No blocks */ + NULL, NULL, NULL, /* Color correction in printer */ + &shinko_chcs6245_laminate_list, NULL, + }, + { /* Shinko/Sinfonia CHC-S6145 */ + 5004, + &rgb_ink_list, + &res_300dpi_list, + &shinko_chcs6145_page_list, + &shinko_chcs6145_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, + &shinko_chcs6145_printer_init, &shinko_chcs2145_printer_end, + NULL, NULL, /* No planes */ + NULL, NULL, /* No blocks */ + NULL, NULL, NULL, /* Color correction in printer */ + &shinko_chcs6145_laminate_list, NULL, + }, + { /* CIAAT Brava 21 */ + 5005, + &rgb_ink_list, + &res_300dpi_list, + &ciaat_brava21_page_list, + &ciaat_brava21_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, + &ciaat_brava21_printer_init, NULL, + NULL, NULL, /* No planes */ + NULL, NULL, /* No blocks */ + NULL, NULL, NULL, /* Color correction in printer */ + &ciaat_brava21_laminate_list, NULL, + }, { /* Dai Nippon Printing DS40 */ 6000, &bgr_ink_list, &res_dnpds40_dpi_list, - &dnpds40_dock_page_list, - &dnpds40_dock_printsize_list, + &dnpds40_page_list, + &dnpds40_printsize_list, SHRT_MAX, DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_WHITE_BORDER | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_PLANE_LEFTTORIGHT, @@ -3941,8 +5033,8 @@ static const dyesub_cap_t dyesub_model_capabilities[] = 6001, &bgr_ink_list, &res_dnpds40_dpi_list, - &dnpds80_dock_page_list, - &dnpds80_dock_printsize_list, + &dnpds80_page_list, + &dnpds80_printsize_list, SHRT_MAX, DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_WHITE_BORDER | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_PLANE_LEFTTORIGHT, @@ -3956,8 +5048,8 @@ static const dyesub_cap_t dyesub_model_capabilities[] = 6002, &bgr_ink_list, &res_dnpds40_dpi_list, - &dnpsrx1_dock_page_list, - &dnpsrx1_dock_printsize_list, + &dnpsrx1_page_list, + &dnpsrx1_printsize_list, SHRT_MAX, DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_WHITE_BORDER | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_PLANE_LEFTTORIGHT, @@ -3967,6 +5059,36 @@ static const dyesub_cap_t dyesub_model_capabilities[] = NULL, NULL, NULL, &dnpds40_laminate_list, NULL, }, + { /* Dai Nippon Printing DS620 */ + 6003, + &bgr_ink_list, + &res_dnpds40_dpi_list, + &dnpds620_page_list, + &dnpds620_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_WHITE_BORDER + | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_PLANE_LEFTTORIGHT, + &dnpds620_printer_start, &dnpds40_printer_end, + &dnpds40_plane_init, NULL, + NULL, NULL, + NULL, NULL, NULL, + &dnpds40_laminate_list, NULL, + }, + { /* Citizen CW-01 */ + 6005, + &bgr_ink_list, + &res_citizen_cw01_dpi_list, + &citizen_cw01_page_list, + &citizen_cw01_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT | DYESUB_FEATURE_WHITE_BORDER + | DYESUB_FEATURE_PLANE_INTERLACE | DYESUB_FEATURE_PLANE_LEFTTORIGHT, + &citizen_cw01_printer_start, NULL, + &citizen_cw01_plane_init, NULL, + NULL, NULL, + NULL, NULL, NULL, + NULL, NULL, + }, }; static const stp_parameter_t the_parameters[] = @@ -4618,13 +5740,14 @@ dyesub_read_image(stp_vars_t *v, static int dyesub_print_pixel(stp_vars_t *v, dyesub_print_vars_t *pv, + const dyesub_cap_t *caps, int row, int col, int plane) { - unsigned short ink[MAX_INK_CHANNELS * MAX_BYTES_PER_CHANNEL], *out; + unsigned short ink[MAX_INK_CHANNELS], *out; int i, j, b; - + if (pv->print_mode == DYESUB_LANDSCAPE) { /* "rotate" image */ dyesub_swap_ints(&col, &row); @@ -4637,7 +5760,28 @@ dyesub_print_pixel(stp_vars_t *v, { if (pv->out_channels == pv->ink_channels) { /* copy out_channel (image) to equiv ink_channel (printer) */ - ink[i] = out[i]; + if (dyesub_feature(caps, DYESUB_FEATURE_RGBtoYCBCR)) { + /* Convert RGB -> YCbCr (JPEG YCbCr444 coefficients) */ + double R, G, B; + double Y, Cr, Cb; + R = out[0]; + G = out[1]; + B = out[2]; + + Y = R * 0.29900 + G * 0.58700 + B * 0.11400; + Cb = R * -0.16874 + G * -0.33126 + B * 0.50000 + 32768; + Cr = R * 0.50000 + G * -0.41869 + B * -0.08131 + 32768; + + ink[0] = Y; + ink[1] = Cb; + ink[2] = Cr; + + /* XXX this is sub-optimal; we compute the full YCbCr + values and throw away 2/3 for each pixel printed + if we are plane or row interleaved */ + } else { + ink[i] = out[i]; + } } else if (pv->out_channels < pv->ink_channels) { /* several ink_channels (printer) "share" same out_channel (image) */ @@ -4657,10 +5801,14 @@ dyesub_print_pixel(stp_vars_t *v, if (pv->bytes_per_ink_channel == 1) { unsigned char *ink_u8 = (unsigned char *) ink; - for (i = 0; i < pv->ink_channels; i++) - ink_u8[i] = ink[i] / 257; - /* FIXME: This really should be corrected to be: */ - /* ink_u8[i] = ink[i] >> 8; */ + for (i = 0; i < pv->ink_channels; i++) { +#if 0 + if (dyesub_feature(caps, DYESUB_FEATURE_RGBtoYCBCR)) + ink_u8[i] = ink[i] >> 8; + else +#endif + ink_u8[i] = ink[i] / 257; + } } else if (pv->bits_per_ink_channel != 16) { @@ -4688,6 +5836,7 @@ dyesub_print_pixel(stp_vars_t *v, static int dyesub_print_row(stp_vars_t *v, dyesub_print_vars_t *pv, + const dyesub_cap_t *caps, int row, int plane) { @@ -4698,9 +5847,9 @@ dyesub_print_row(stp_vars_t *v, { col = dyesub_interpolate(w, pv->outw_px, pv->imgw_px); if (pv->plane_lefttoright) - ret = dyesub_print_pixel(v, pv, row, pv->imgw_px - col - 1, plane); + ret = dyesub_print_pixel(v, pv, caps, row, pv->imgw_px - col - 1, plane); else - ret = dyesub_print_pixel(v, pv, row, col, plane); + ret = dyesub_print_pixel(v, pv, caps, row, col, plane); if (ret > 1) break; } @@ -4737,26 +5886,26 @@ dyesub_print_plane(stp_vars_t *v, if (h + pv->prnt_px < pv->outt_px || h + pv->prnt_px >= pv->outb_px) { /* empty part above or below image area */ - dyesub_nputc(v, pv->empty_byte, out_bytes * pv->prnw_px); + dyesub_nputc(v, pv->empty_byte[plane], out_bytes * pv->prnw_px); } else { if (dyesub_feature(caps, DYESUB_FEATURE_FULL_WIDTH) && pv->outl_px > 0) { /* empty part left of image area */ - dyesub_nputc(v, pv->empty_byte, out_bytes * pv->outl_px); + dyesub_nputc(v, pv->empty_byte[plane], out_bytes * pv->outl_px); } row = dyesub_interpolate(h + pv->prnt_px - pv->outt_px, pv->outh_px, pv->imgh_px); stp_deprintf(STP_DBG_DYESUB, "dyesub_print_plane: h = %d, row = %d\n", h, row); - ret = dyesub_print_row(v, pv, row, p); + ret = dyesub_print_row(v, pv, caps, row, p); if (dyesub_feature(caps, DYESUB_FEATURE_FULL_WIDTH) && pv->outr_px < pv->prnw_px) { /* empty part right of image area */ - dyesub_nputc(v, pv->empty_byte, out_bytes + dyesub_nputc(v, pv->empty_byte[plane], out_bytes * (pv->prnw_px - pv->outr_px)); } } @@ -4911,9 +6060,26 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) } pv.image_data = dyesub_read_image(v, &pv, image); - pv.empty_byte = (ink_type && - (strcmp(ink_type, "RGB") == 0 || strcmp(ink_type, "BGR") == 0) - ? '\xff' : '\0'); + if (ink_type) { + if (dyesub_feature(caps, DYESUB_FEATURE_RGBtoYCBCR)) { + pv.empty_byte[0] = 0xff; /* Y */ + pv.empty_byte[1] = 0x80; /* Cb */ + pv.empty_byte[2] = 0x80; /* Cr */ + } else if (strcmp(ink_type, "RGB") == 0 || strcmp(ink_type, "BGR") == 0) { + pv.empty_byte[0] = 0xff; + pv.empty_byte[1] = 0xff; + pv.empty_byte[2] = 0xff; + } else { + pv.empty_byte[0] = 0x0; + pv.empty_byte[1] = 0x0; + pv.empty_byte[2] = 0x0; + } + } else { + pv.empty_byte[0] = 0x0; + pv.empty_byte[1] = 0x0; + pv.empty_byte[2] = 0x0; + } + pv.plane_interlacing = dyesub_feature(caps, DYESUB_FEATURE_PLANE_INTERLACE); pv.row_interlacing = dyesub_feature(caps, DYESUB_FEATURE_ROW_INTERLACE); pv.plane_lefttoright = dyesub_feature(caps, DYESUB_FEATURE_PLANE_LEFTTORIGHT); diff --git a/src/main/print-pcl.c b/src/main/print-pcl.c index 68d69d2..239eb74 100644 --- a/src/main/print-pcl.c +++ b/src/main/print-pcl.c @@ -1,5 +1,5 @@ /* - * "$Id: print-pcl.c,v 1.162 2014/01/04 23:07:22 rlk Exp $" + * "$Id: print-pcl.c,v 1.163 2015/05/05 02:13:14 rlk Exp $" * * Print plug-in HP PCL driver for the GIMP. * @@ -62,6 +62,8 @@ typedef struct int duplex; int tumble; int use_crd; + int orientation; + int label_separator; } pcl_privdata_t; /* @@ -330,6 +332,7 @@ typedef struct { #define PCL_PRINTER_CUSTOM_SIZE 32 /* Custom sizes supported */ #define PCL_PRINTER_BLANKLINE 64 /* Blank line removal supported */ #define PCL_PRINTER_DUPLEX 128 /* Printer can have duplexer */ +#define PCL_PRINTER_LABEL 256 /* Datamax-O'Neil PCL Label Printer */ /* * FIXME - the 520 shouldn't be lumped in with the 500 as it supports @@ -348,6 +351,12 @@ static const short emptylist[] = -1 }; +static const short custom_papersizes[] = +{ + PCL_PAPERSIZE_CUSTOM, + -1, +}; + static const short standard_papersizes[] = { PCL_PAPERSIZE_EXECUTIVE, @@ -697,6 +706,104 @@ static const pcl_cap_t pcl_model_capabilities[] = emptylist, emptylist, }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10010, /* p1115 */ + 4 * 72, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10011, /* p1115s */ + 4 * 72, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300 | PCL_RES_600_600, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10012, /* p1120n */ + 4 * 72, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10013, /* p1125 */ + 4 * 72, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10014, /* p1725 */ + 6 * 72, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10015, /* w1110 */ + 4 * 72, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, +/* Datamax-O'Neil Thermal PCL printers */ + { 10016, /* H8308p */ + 17 * 72 / 2, 99 * 72, /* Max paper size */ + 1, 1, /* Min paper size */ + PCL_RES_150_150 | PCL_RES_300_300, /* Resolutions */ + {0, 0, 0, 0}, /* non-A4 Margins */ + {0, 0, 0, 0}, /* A4 Margins */ + PCL_COLOR_NONE, + PCL_PRINTER_LJ | PCL_PRINTER_TIFF | PCL_PRINTER_LABEL | + PCL_PRINTER_BLANKLINE | PCL_PRINTER_CUSTOM_SIZE, + custom_papersizes, + emptylist, + emptylist, + }, /* DesignJet 230/430 (monochrome ) */ { 10230, 36 * 72, 150 * 12 * 72, /* 150ft in roll mode, 64" in sheet */ @@ -1396,6 +1503,19 @@ static const stp_parameter_t the_parameters[] = STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE, STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0 }, + { + "Orientation", N_("Orientation"), "Color=No,Category=Basic Printer Setup", + N_("Orientation, Portrait, Landscape, Upside Down, Seascape"), + STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE, + STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0, + }, + { + "LabelSeparator", N_("Paper Sensor Type"), + "Color=No,Category=Basic Printer Setup", + N_("Gap, Mark on Top, Mark on Bottom, Notch, Continuous"), + STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE, + STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0, + }, }; static const int the_parameter_count = @@ -1687,6 +1807,37 @@ static const stp_param_string_t duplex_types[] = #define NUM_DUPLEX (sizeof (duplex_types) / sizeof (stp_param_string_t)) /* + * Orientation support - modes available + * Note that the internal names MUST match those in cups/genppd.c else the + * PPD files will not be generated correctly + */ + +static const stp_param_string_t orientation_types[] = +{ + { "Portrait", N_ ("Portrait") }, + { "Landscape", N_ ("Landscape") }, + { "UpsideDown", N_ ("Reverse Portrait") }, + { "Seascape", N_ ("Reverse Landscape") }, +}; +#define NUM_ORIENTATION (sizeof (orientation_types) / sizeof (stp_param_string_t)) + +/* + * Label Separator Support for D-O printers, modes available + */ + +static const stp_param_string_t label_separator_types[] = +{ + { "IGNORE", N_ ("Keep Previous") }, + { "GAP", N_ ("Gap") }, + { "TOP", N_ ("Mark on Top") }, + { "BOTTOM", N_ ("Mark on Bottom") }, + { "NOTCH", N_ ("Notch") }, + { "NONE", N_ ("Continuous") }, +}; +#define NUM_LABEL_SEPARATOR (sizeof (label_separator_types) / sizeof (stp_param_string_t)) + + +/* * 'pcl_papersize_valid()' - Is the paper size valid for this printer. */ @@ -1738,6 +1889,22 @@ pcl_papersize_valid(const stp_papersize_t *pt, return(0); /* + * We are allowed custom paper sizes. Check that the name contains + * d-o if this is the Datamax O'Neil label printer and not custom paper + */ + + if (caps->stp_printer_type & PCL_PRINTER_LABEL) { + if (strcmp(pt->name, "Custom")) { + if (NULL != strstr(pt->name, "d-o")) { + return(1); + } else { + return(0); + } + } + } + + +/* * We are allowed custom paper sizes. Check that the size is within * limits. */ @@ -1956,6 +2123,40 @@ pcl_parameters(const stp_vars_t *v, const char *name, else description->is_active = 0; /* Not in "Job" mode */ } + else if (strcmp(name, "Orientation") == 0) + { + if (caps->stp_printer_type & PCL_PRINTER_LABEL) + { + description->bounds.str = stp_string_list_create(); + description->deflt.str = orientation_types[0].name; + for (i=0; i < NUM_ORIENTATION; i++) + { + stp_string_list_add_string(description->bounds.str, + orientation_types[i].name,gettext(orientation_types[i].text)); + } + } + else + { + description->is_active = 0; + } + } + else if (strcmp(name, "LabelSeparator") == 0) + { + if (caps->stp_printer_type & PCL_PRINTER_LABEL) + { + description->bounds.str = stp_string_list_create(); + description->deflt.str = label_separator_types[0].name; + for (i=0; i < NUM_LABEL_SEPARATOR; i++) + { + stp_string_list_add_string(description->bounds.str, + label_separator_types[i].name, gettext(label_separator_types[i].text)); + } + } + else + { + description->is_active = 0; + } + } else if (strcmp(name, "CyanDensity") == 0 || strcmp(name, "MagentaDensity") == 0 || strcmp(name, "YellowDensity") == 0 || @@ -2262,6 +2463,8 @@ pcl_do_print(stp_vars_t *v, stp_image_t *image) const char *ink_type = stp_get_string_parameter(v, "InkType"); const char *print_mode = stp_get_string_parameter(v, "PrintingMode"); const char *duplex_mode = stp_get_string_parameter(v, "Duplex"); + const char *orientation_mode = stp_get_string_parameter(v, "Orientation"); + const char *label_separator_mode = stp_get_string_parameter(v, "LabelSeparator"); int page_number = stp_get_int_parameter(v, "PageNumber"); int printing_color = 0; int top = stp_get_top(v); @@ -2299,6 +2502,7 @@ pcl_do_print(stp_vars_t *v, stp_image_t *image) stp_curve_t *lum_adjustment; stp_curve_t *hue_adjustment; double density; + int label = 0; if (!stp_verify(v)) { @@ -2425,6 +2629,37 @@ pcl_do_print(stp_vars_t *v, stp_image_t *image) } /* + * Label (PJL) settings and Orientation + */ + + if ((caps->stp_printer_type & PCL_PRINTER_LABEL)) { + label = 1; + privdata.orientation = 0; + if ((strncmp(orientation_mode, "Landscape", 9) == 0)) + privdata.orientation = 1; + else if ((strncmp(orientation_mode, "UpsideDown", 10) == 0)) + privdata.orientation = 2; + else if ((strncmp(orientation_mode, "Seascape", 8) == 0)) + privdata.orientation = 3; + + /* + * Label Separator mode + */ + privdata.label_separator = 0; + if ((strncmp(label_separator_mode, "GAP", 3) == 0)) + privdata.label_separator = 1; + if ((strncmp(label_separator_mode, "TOP", 3) == 0)) + privdata.label_separator = 2; + if ((strncmp(label_separator_mode, "BOTTOM", 6) == 0)) + privdata.label_separator = 3; + if ((strncmp(label_separator_mode, "NOTCH", 5) == 0)) + privdata.label_separator = 4; + if ((strncmp(label_separator_mode, "NONE", 10) == 0)) + privdata.label_separator = 5; + } + + + /* * Send PCL initialization commands... */ @@ -2435,16 +2670,47 @@ pcl_do_print(stp_vars_t *v, stp_image_t *image) stp_deprintf(STP_DBG_PCL, "Normal init\n"); - if (privdata.do_cretb) - stp_puts("\033*rbC", v); /* End raster graphics */ - stp_puts("\033E", v); /* PCL reset */ - if (privdata.do_cretb) - stp_zprintf(v, "\033%%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n"); + if (label) + { + if (privdata.do_cretb) + stp_puts("\033*rbC", v); /* End raster graphics */ + stp_puts("\033E", v); /* PCL reset */ + if (privdata.do_cretb) + stp_zprintf(v, "\033%%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n"); + + stp_zprintf(v, "\033%%-12345X@PJL SET RESOLUTION=%d\n" + "@PJL SET PAPERWIDTH=%d\n" + "@PJL SET PAPERLENGTH=%d\n" + "@PJL ENTER LANGUAGE=PCL\n", xdpi, out_width*10, + out_height*10); + + if ( privdata.label_separator != 0) { + stp_zprintf(v, "\033%%-12345X@PJL JOB SETUP = \"ON\" " + "NAME = \"JOB_MEDIACONFIG\"\n" + "@PJL DEFAULT PAPERSENSORTYPE=%s\n" + "@PJL RESET\n@PJL EOJ\n", label_separator_mode); + } + + stp_zprintf(v, "\033&l%dA", pcl_media_size); /* Set media size we calculated above */ - stp_puts("\033&l6D\033&k12H",v); /* 6 lines per inch, 10 chars per inch */ - stp_puts("\033&l0O",v); /* Portrait */ + stp_zprintf(v, "\033&l%dO", privdata.orientation); + stp_puts("\033*r0F",v); /* Presentation mode */ + stp_puts("\033&l6D\033&k12H",v); /* 6 lines per inch, 10 chars per inch */ + } + else + { + if (privdata.do_cretb) + stp_puts("\033*rbC", v); /* End raster graphics */ + stp_puts("\033E", v); /* PCL reset */ + if (privdata.do_cretb) + stp_zprintf(v, "\033%%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n"); + + stp_puts("\033&l6D\033&k12H",v); /* 6 lines per inch, 10 chars per inch */ + stp_puts("\033&l0O",v); /* Portrait */ + + stp_zprintf(v, "\033&l%dA", pcl_media_size); /* Set media size we calculated above */ + } - stp_zprintf(v, "\033&l%dA", pcl_media_size); /* Set media size we calculated above */ stp_zprintf(v, "\033&l%dP", stp_get_page_height(v) / 12); /* Length of "forms" in "lines" */ stp_puts("\033&l0L", v); /* Turn off perforation skip */ diff --git a/src/main/print-util.c b/src/main/print-util.c index 3f1488e..c5bfebd 100644 --- a/src/main/print-util.c +++ b/src/main/print-util.c @@ -1,5 +1,5 @@ /* - * "$Id: print-util.c,v 1.120 2014/01/13 02:59:14 rlk Exp $" + * "$Id: print-util.c,v 1.121 2015/04/11 16:19:46 rlk Exp $" * * Print plug-in driver utility functions for the GIMP. * @@ -64,9 +64,9 @@ typedef struct #define STPI_VASPRINTF(result, bytes, format) \ { \ - int current_allocation = 64; \ + int current_allocation = 64; /* vsnprintf returns int */ \ result = stp_malloc(current_allocation); \ - while (1) \ + while (current_allocation < INT_MAX / 2) \ { \ va_list args; \ va_start(args, format); \ diff --git a/src/main/printers.c b/src/main/printers.c index 81be870..997a0ba 100644 --- a/src/main/printers.c +++ b/src/main/printers.c @@ -1,5 +1,5 @@ /* - * "$Id: printers.c,v 1.91 2014/01/12 01:30:44 rlk Exp $" + * "$Id: printers.c,v 1.92 2014/05/22 02:08:20 rlk Exp $" * * Print plug-in driver utility functions for the GIMP. * @@ -67,6 +67,7 @@ struct stp_printer char *manufacturer; /* Printer manufacturer */ char *device_id; /* IEEE 1284 device ID */ char *foomatic_id; /* Foomatic printer ID */ + char *comment; /* Comment string, if any */ int model; /* Model number */ int vars_initialized; const stp_printfuncs_t *printfuncs; @@ -130,6 +131,16 @@ static void stpi_printer_freefunc(void *item) { stp_printer_t *printer = (stp_printer_t *) item; + if (printer->comment) + { + stp_free(printer->comment); + printer->comment = NULL; + } + if (printer->foomatic_id) + { + stp_free(printer->foomatic_id); + printer->comment = NULL; + } stp_free(printer->long_name); stp_free(printer->family); stp_free(printer); @@ -198,6 +209,12 @@ stp_printer_get_foomatic_id(const stp_printer_t *printer) return printer->foomatic_id; } +const char * +stp_printer_get_comment(const stp_printer_t *printer) +{ + return printer->comment; +} + int stp_printer_get_model(const stp_printer_t *printer) { @@ -1075,8 +1092,10 @@ stp_printer_create_from_xmltree(stp_mxml_node_t *printer, /* The printer node */ /* Family printfuncs */ { stp_mxml_node_t *prop; /* Temporary node pointer */ + stp_mxml_node_t *child; const char *stmp; /* Temporary string */ stp_printer_t *outprinter; /* Generated printer */ + size_t slen = 0; int driver = 0, /* Check driver */ long_name = 0; @@ -1112,6 +1131,33 @@ stp_printer_create_from_xmltree(stp_mxml_node_t *printer, /* The printer node */ if (stmp) outprinter->foomatic_id = stp_strdup(stmp); + child = printer->child; + while (child) + { + if (child->type == STP_MXML_TEXT) + { + if (outprinter->comment) + { + size_t oslen = slen; + slen += strlen(child->value.text.string); + if (child->value.text.whitespace) + slen += 1; + outprinter->comment = stp_realloc(outprinter->comment, slen + 1); + (void) memset(outprinter->comment + oslen, 0, slen - oslen); + if (child->value.text.whitespace) + outprinter->comment[oslen++] = ' '; + strncat(outprinter->comment + oslen, + child->value.text.string, slen - oslen); + } + else + { + outprinter->comment = stp_strdup(child->value.text.string); + slen = strlen(outprinter->comment); + } + } + child = child->next; + } + if (stp_get_driver(outprinter->printvars)) driver = 1; if (outprinter->long_name) |