summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@debian.org>2011-05-03 10:28:02 +0100
committerRoger Leigh <rleigh@debian.org>2011-05-03 10:28:02 +0100
commit15578e218035547ca17e25ef351fbe56bc55a4ae (patch)
tree06a97de2b9f0d9e04ee05d5ff806ef7c53a2003e /src
parent4bc88c4aa9026d5c679008a4dbbb8ec4d9a901bd (diff)
Imported Upstream version 5.2.7
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in141
-rw-r--r--src/cups/Makefile.am45
-rw-r--r--src/cups/Makefile.in521
-rw-r--r--src/cups/genppd.c1994
-rw-r--r--src/cups/rastertoprinter.c6
-rwxr-xr-xsrc/cups/test-ppds21
-rw-r--r--src/escputil/Makefile.in135
-rw-r--r--src/escputil/d4lib.c148
-rw-r--r--src/escputil/escputil.c236
-rw-r--r--src/foomatic/Makefile.in91
-rw-r--r--src/foomatic/foomatic-generator.in35
-rw-r--r--src/ghost/Makefile.in135
-rw-r--r--src/gimp2/Makefile.in135
-rw-r--r--src/gutenprintui2/Makefile.in195
-rw-r--r--src/gutenprintui2/printrcl.c1881
-rw-r--r--src/gutenprintui2/printrcy.c1477
-rw-r--r--src/gutenprintui2/printrcy.h47
-rw-r--r--src/gutenprintui2/typebuiltins.c4
-rw-r--r--src/main/Makefile.in164
-rw-r--r--src/main/canon-inks.h1520
-rw-r--r--src/main/canon-media.h971
-rw-r--r--src/main/canon-modes.h1063
-rw-r--r--src/main/canon-printers.h831
-rw-r--r--src/main/channel.c172
-rw-r--r--src/main/dither-main.c8
-rw-r--r--src/main/escp2-channels.c32
-rw-r--r--src/main/escp2-driver.c6
-rw-r--r--src/main/generic-options.c10
-rw-r--r--src/main/print-canon.c235
-rw-r--r--src/main/print-canon.h4
-rw-r--r--src/main/print-color.c111
-rw-r--r--src/main/print-escp2.c245
-rw-r--r--src/main/print-escp2.h8
-rw-r--r--src/main/print-lexmark.c28
-rw-r--r--src/main/print-olympus.c20
-rw-r--r--src/main/print-pcl.c32
-rw-r--r--src/main/print-ps.c39
-rw-r--r--src/main/print-raw.c6
-rw-r--r--src/main/print-vars.c141
-rw-r--r--src/main/sequence.c20
-rw-r--r--src/main/xmlppd.c9
-rw-r--r--src/testpattern/Makefile.in239
-rw-r--r--src/testpattern/run-testpattern-2.in86
-rw-r--r--src/testpattern/testpattern.c105
-rw-r--r--src/testpattern/testpattern.h10
-rw-r--r--src/testpattern/testpatternl.c699
-rw-r--r--src/testpattern/testpatternl.l7
-rw-r--r--src/testpattern/testpatterny.c1079
-rw-r--r--src/testpattern/testpatterny.h136
-rw-r--r--src/testpattern/testpatterny.y41
-rw-r--r--src/xml/Makefile.am3
-rw-r--r--src/xml/Makefile.in200
-rw-r--r--src/xml/escp2/Makefile.in141
-rw-r--r--src/xml/escp2/inks/Makefile.am5
-rw-r--r--src/xml/escp2/inks/Makefile.in89
-rw-r--r--src/xml/escp2/inks/cmykrb.xml10
-rw-r--r--src/xml/escp2/inks/cmykro.xml10
-rw-r--r--src/xml/escp2/inks/f360_ultrachrome_k3v_2.xml610
-rw-r--r--src/xml/escp2/inks/pro_ultrachrome_k3.xml4
-rw-r--r--src/xml/escp2/inks/pro_ultrachrome_k34.xml204
-rw-r--r--src/xml/escp2/inks/pro_ultrachrome_k3v.xml2
-rw-r--r--src/xml/escp2/inks/pro_ultrachrome_k3v4.xml181
-rw-r--r--src/xml/escp2/inputslots/Makefile.in86
-rw-r--r--src/xml/escp2/media/Makefile.in86
-rw-r--r--src/xml/escp2/media/claria.xml2
-rw-r--r--src/xml/escp2/media/claria1400.xml2
-rw-r--r--src/xml/escp2/media/f360_ultrachrome_k3.xml120
-rw-r--r--src/xml/escp2/media/f360_ultrachrome_k3v.xml122
-rw-r--r--src/xml/escp2/media/pro_ultrachrome_k3.xml409
-rw-r--r--src/xml/escp2/media/pro_ultrachrome_k3v.xml422
-rw-r--r--src/xml/escp2/mediasizes/Makefile.in86
-rw-r--r--src/xml/escp2/model/Makefile.am12
-rw-r--r--src/xml/escp2/model/Makefile.in96
-rw-r--r--src/xml/escp2/model/model_102.xml64
-rw-r--r--src/xml/escp2/model/model_103.xml75
-rw-r--r--src/xml/escp2/model/model_104.xml75
-rw-r--r--src/xml/escp2/model/model_105.xml77
-rw-r--r--src/xml/escp2/model/model_106.xml75
-rw-r--r--src/xml/escp2/model/model_107.xml135
-rw-r--r--src/xml/escp2/model/model_108.xml163
-rw-r--r--src/xml/escp2/model/model_109.xml150
-rw-r--r--src/xml/escp2/model/model_110.xml150
-rw-r--r--src/xml/escp2/model/model_111.xml137
-rw-r--r--src/xml/escp2/model/model_112.xml139
-rw-r--r--src/xml/escp2/model/model_113.xml139
-rw-r--r--src/xml/escp2/model/model_114.xml139
-rw-r--r--src/xml/escp2/model/model_115.xml164
-rw-r--r--src/xml/escp2/model/model_48.xml2
-rw-r--r--src/xml/escp2/model/model_49.xml2
-rw-r--r--src/xml/escp2/model/model_88.xml66
-rw-r--r--src/xml/escp2/model/model_89.xml68
-rw-r--r--src/xml/escp2/model/model_90.xml68
-rw-r--r--src/xml/escp2/qualitypresets/Makefile.in86
-rw-r--r--src/xml/escp2/weaves/Makefile.in86
-rw-r--r--src/xml/papers.xml62
-rw-r--r--src/xml/printers.xml146
96 files changed, 14915 insertions, 5579 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 5421d27..557cefd 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -20,8 +21,9 @@
#export STP_DATA_PATH = $(top_srcdir)/src/xml
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -56,6 +58,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -67,10 +70,38 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
@@ -188,6 +219,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -298,14 +330,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -323,6 +355,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -337,7 +370,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -354,7 +387,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -362,7 +395,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -388,16 +421,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -405,14 +438,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -424,7 +457,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -433,29 +466,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -476,29 +514,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -528,6 +581,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -547,6 +601,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -555,18 +611,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -587,8 +653,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -620,6 +686,7 @@ $(top_builddir)/src/gutenprintui/libgutenprintui.la:
$(top_builddir)/src/gutenprintui2/libgutenprintui2.la:
cd $(top_builddir)/src/gutenprintui2; \
$(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/cups/Makefile.am b/src/cups/Makefile.am
index bebc47f..f395aa0 100644
--- a/src/cups/Makefile.am
+++ b/src/cups/Makefile.am
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.119 2009/04/11 16:16:20 rlk Exp $
+## $Id: Makefile.am,v 1.120 2011/01/17 23:20:51 rlk Exp $
## Copyright (C) 2000 Roger Leigh
##
## This program is free software; you can redistribute it and/or modify
@@ -45,7 +45,9 @@ endif
LOCAL_CPPFLAGS = $(GUTENPRINT_CFLAGS) $(CUPS_CFLAGS)
-STP_ENV= STP_MODULE_PATH=$(top_builddir)/src/main/.libs:$(top_builddir)/src/main STP_DATA_PATH=$(top_srcdir)/src/xml STP_LOCALEDIR=$(top_srcdir)/src/cups/catalog
+STP_NONLS_ENV= STP_MODULE_PATH=$(top_builddir)/src/main/.libs:$(top_builddir)/src/main STP_DATA_PATH=$(top_srcdir)/src/xml
+
+STP_ENV= $(STP_NONLS_ENV) STP_LOCALEDIR=$(top_srcdir)/src/cups/catalog
## Programs
@@ -175,7 +177,7 @@ install-data-hook:
-rmdir `dirname $(DESTDIR)$(pkglibdir)`
-rmdir `dirname $(DESTDIR)$(pkgsysconfdir)`
-.PHONY: ppd ppd-stamp-pre ppd-stamp-nonls ppd-stamp-nls ppd-stamp-phony
+.PHONY: ppd ppd-stamp-pre ppd-stamp-nonls ppd-stamp-nls ppd-stamp-phony ppd-catalog-clean ppd-clean
all-local: $(INSTALL_DATA_LOCAL_DEPS)
@@ -188,10 +190,15 @@ ppd-stamp: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ $(t
ppd-stamp-phony: $(PPD)
-ppd-stamp-pre:
+ppd-catalog-clean:
+ -$(RM) -r catalog
+
+ppd-clean:
-$(RM) -r ppd
-ppd-catalog:
+ppd-stamp-pre: ppd-catalog-clean ppd-clean
+
+ppd-catalog: ppd-catalog-clean
$(mkdir_p) catalog
for file in $(srcdir)/../../po/*.po; do \
lang=`basename $$file .po`; \
@@ -201,28 +208,32 @@ ppd-catalog:
ppd-nonls: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@
$(mkdir_p) ppd/C
- LC_ALL= LANG= LANGUAGE= $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -l C -p ppd/C
+ $(MAKE) ppd-catalog-clean
+ LC_ALL= LANG= LANGUAGE= $(STP_NONLS_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -l C -p ppd/C
-ppd-global: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-catalog
- $(mkdir_p) ppd/Global
+ppd-global: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@
@echo "Global PPDs:"
+ $(mkdir_p) ppd/Global
+ $(MAKE) ppd-catalog
LC_ALL= LANG= LANGUAGE= $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -p ppd/Global
- -$(RM) -r catalog
+ $(MAKE) ppd-catalog-clean
-ppd-global-ln: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-catalog
- $(mkdir_p) ppd/Global
+ppd-global-ln: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@
@echo "Global PPDs (localized numbers for testing):"
+ $(mkdir_p) ppd/Global
+ $(MAKE) ppd-catalog
LC_ALL= LANG= LANGUAGE= $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -p ppd/Global -N
- -$(RM) -r catalog
+ $(MAKE) ppd-catalog-clean
-ppd-nls: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-catalog ppd-nonls
+ppd-nls: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-nonls
$(mkdir_p) ppd
+ $(MAKE) ppd-catalog
for language in `$(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ -L` ; do \
mkdir ppd/$$language ; \
echo "$$language:" ; \
LC_ALL=$$language LANG=$$language LANGUAGE=$$language $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -l $$language -p ppd/$$language; \
done
- -$(RM) -r catalog
+ $(MAKE) ppd-catalog-clean
dist-hook:
for dir in commands ; do \
@@ -236,8 +247,7 @@ dist-hook:
fi \
done
-clean-local:
- -$(RM) -r ppd
+clean-local: ppd-catalog-clean ppd-clean
## Clean
@@ -253,6 +263,3 @@ EXTRA_DIST = \
command.txt \
command.types \
test-ppds
-
-
-
diff --git a/src/cups/Makefile.in b/src/cups/Makefile.in
index 29ce8e8..50a1c36 100644
--- a/src/cups/Makefile.in
+++ b/src/cups/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -23,6 +24,7 @@
VPATH = @srcdir@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -66,15 +68,12 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = Info.plist cups-genppdupdate \
test-rastertogutenprint
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(cupsexec_driverdir)" \
"$(DESTDIR)$(cupsexec_filterdir)" "$(DESTDIR)$(sbindir)" \
"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(pkgdatadir)" \
"$(DESTDIR)$(pkgsysconfdir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-cupsexec_driverPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-cupsexec_filterPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) $(cupsexec_driver_PROGRAMS) \
$(cupsexec_filter_PROGRAMS) $(sbin_PROGRAMS)
am_commandtocanon_OBJECTS = commandtocanon.$(OBJEXT)
@@ -121,11 +120,32 @@ rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK =
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) \
$(LDFLAGS) -o $@
-sbinSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
SCRIPTS = $(noinst_SCRIPTS) $(sbin_SCRIPTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -145,17 +165,11 @@ DIST_SOURCES = $(commandtocanon_SOURCES) $(commandtoepson_SOURCES) \
$(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES) \
$(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES) \
$(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES)
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-pkgdataDATA_INSTALL = $(INSTALL_DATA)
-pkgsysconfDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgdata_DATA) $(pkgsysconf_DATA)
ETAGS = etags
CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkgdatadir = $(cups_conf_datadir)
pkglibdir = $(cups_conf_serverbin)
@@ -276,6 +290,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -375,7 +390,8 @@ cupsexec_filterdir = $(pkglibdir)/filter
@CUPS_PPDS_AT_TOP_LEVEL_TRUE@cups_modeldir = $(pkgdatadir)/model/
@CUPS_PPDS_AT_TOP_LEVEL_TRUE@DONT_UNINSTALL_PPDS = true
LOCAL_CPPFLAGS = $(GUTENPRINT_CFLAGS) $(CUPS_CFLAGS)
-STP_ENV = STP_MODULE_PATH=$(top_builddir)/src/main/.libs:$(top_builddir)/src/main STP_DATA_PATH=$(top_srcdir)/src/xml STP_LOCALEDIR=$(top_srcdir)/src/cups/catalog
+STP_NONLS_ENV = STP_MODULE_PATH=$(top_builddir)/src/main/.libs:$(top_builddir)/src/main STP_DATA_PATH=$(top_srcdir)/src/xml
+STP_ENV = $(STP_NONLS_ENV) STP_LOCALEDIR=$(top_srcdir)/src/cups/catalog
@BUILD_GLOBALIZED_CUPS_PPDS_FALSE@@BUILD_TRANSLATED_CUPS_PPDS_TRUE@PPD = $(PPD_NLS_1)
@BUILD_GLOBALIZED_CUPS_PPDS_TRUE@@BUILD_TRANSLATED_CUPS_PPDS_TRUE@PPD = ppd-global
@BUILD_TRANSLATED_CUPS_PPDS_FALSE@PPD = ppd-nonls
@@ -428,14 +444,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cups/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/cups/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/cups/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/cups/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -453,6 +469,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
Info.plist: $(top_builddir)/config.status $(srcdir)/Info.plist.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
cups-genppdupdate: $(top_builddir)/config.status $(srcdir)/cups-genppdupdate.in
@@ -462,115 +479,175 @@ test-rastertogutenprint: $(top_builddir)/config.status $(srcdir)/test-rastertogu
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
install-cupsexec_driverPROGRAMS: $(cupsexec_driver_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(cupsexec_driverdir)" || $(MKDIR_P) "$(DESTDIR)$(cupsexec_driverdir)"
- @list='$(cupsexec_driver_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cupsexec_driverPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(cupsexec_driverdir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cupsexec_driverPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(cupsexec_driverdir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(cupsexec_driver_PROGRAMS)'; test -n "$(cupsexec_driverdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cupsexec_driverdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cupsexec_driverdir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-cupsexec_driverPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(cupsexec_driver_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(cupsexec_driverdir)/$$f'"; \
- rm -f "$(DESTDIR)$(cupsexec_driverdir)/$$f"; \
- done
+ @list='$(cupsexec_driver_PROGRAMS)'; test -n "$(cupsexec_driverdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(cupsexec_driverdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(cupsexec_driverdir)" && rm -f $$files
clean-cupsexec_driverPROGRAMS:
- @list='$(cupsexec_driver_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(cupsexec_driver_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
install-cupsexec_filterPROGRAMS: $(cupsexec_filter_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(cupsexec_filterdir)" || $(MKDIR_P) "$(DESTDIR)$(cupsexec_filterdir)"
- @list='$(cupsexec_filter_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cupsexec_filterPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(cupsexec_filterdir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cupsexec_filterPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(cupsexec_filterdir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(cupsexec_filter_PROGRAMS)'; test -n "$(cupsexec_filterdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cupsexec_filterdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cupsexec_filterdir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-cupsexec_filterPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(cupsexec_filter_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(cupsexec_filterdir)/$$f'"; \
- rm -f "$(DESTDIR)$(cupsexec_filterdir)/$$f"; \
- done
+ @list='$(cupsexec_filter_PROGRAMS)'; test -n "$(cupsexec_filterdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(cupsexec_filterdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(cupsexec_filterdir)" && rm -f $$files
clean-cupsexec_filterPROGRAMS:
- @list='$(cupsexec_filter_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(cupsexec_filter_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
- @list='$(sbin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-sbinPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(sbin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(sbindir)/$$f'"; \
- rm -f "$(DESTDIR)$(sbindir)/$$f"; \
- done
+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(sbindir)" && rm -f $$files
clean-sbinPROGRAMS:
- @list='$(sbin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
commandtocanon$(EXEEXT): $(commandtocanon_OBJECTS) $(commandtocanon_DEPENDENCIES)
@rm -f commandtocanon$(EXEEXT)
$(LINK) $(commandtocanon_OBJECTS) $(commandtocanon_LDADD) $(LIBS)
@@ -592,22 +669,37 @@ rastertogutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT
install-sbinSCRIPTS: $(sbin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
- @list='$(sbin_SCRIPTS)'; for p in $$list; do \
+ @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(sbinSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(sbindir)/$$f'"; \
- $(sbinSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(sbindir)/$$f"; \
- else :; fi; \
- done
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-sbinSCRIPTS:
@$(NORMAL_UNINSTALL)
- @list='$(sbin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(sbindir)/$$f'"; \
- rm -f "$(DESTDIR)$(sbindir)/$$f"; \
- done
+ @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(sbindir)" && rm -f $$files
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -627,77 +719,77 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o: genppd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o -MD -MP -MF $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o `test -f 'genppd.c' || echo '$(srcdir)/'`genppd.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='genppd.c' object='cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o `test -f 'genppd.c' || echo '$(srcdir)/'`genppd.c
cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj: genppd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj -MD -MP -MF $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj `if test -f 'genppd.c'; then $(CYGPATH_W) 'genppd.c'; else $(CYGPATH_W) '$(srcdir)/genppd.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='genppd.c' object='cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj `if test -f 'genppd.c'; then $(CYGPATH_W) 'genppd.c'; else $(CYGPATH_W) '$(srcdir)/genppd.c'; fi`
cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o: i18n.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o -MD -MP -MF $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o `test -f 'i18n.c' || echo '$(srcdir)/'`i18n.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i18n.c' object='cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o `test -f 'i18n.c' || echo '$(srcdir)/'`i18n.c
cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj: i18n.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj -MD -MP -MF $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj `if test -f 'i18n.c'; then $(CYGPATH_W) 'i18n.c'; else $(CYGPATH_W) '$(srcdir)/i18n.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i18n.c' object='cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj `if test -f 'i18n.c'; then $(CYGPATH_W) 'i18n.c'; else $(CYGPATH_W) '$(srcdir)/i18n.c'; fi`
gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o: genppd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o -MD -MP -MF $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o `test -f 'genppd.c' || echo '$(srcdir)/'`genppd.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='genppd.c' object='gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o `test -f 'genppd.c' || echo '$(srcdir)/'`genppd.c
gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj: genppd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj -MD -MP -MF $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj `if test -f 'genppd.c'; then $(CYGPATH_W) 'genppd.c'; else $(CYGPATH_W) '$(srcdir)/genppd.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='genppd.c' object='gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.obj `if test -f 'genppd.c'; then $(CYGPATH_W) 'genppd.c'; else $(CYGPATH_W) '$(srcdir)/genppd.c'; fi`
gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o: i18n.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o -MD -MP -MF $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o `test -f 'i18n.c' || echo '$(srcdir)/'`i18n.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i18n.c' object='gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.o `test -f 'i18n.c' || echo '$(srcdir)/'`i18n.c
gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj: i18n.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -MT gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj -MD -MP -MF $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj `if test -f 'i18n.c'; then $(CYGPATH_W) 'i18n.c'; else $(CYGPATH_W) '$(srcdir)/i18n.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Tpo $(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i18n.c' object='gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) $(CFLAGS) -c -o gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-i18n.obj `if test -f 'i18n.c'; then $(CYGPATH_W) 'i18n.c'; else $(CYGPATH_W) '$(srcdir)/i18n.c'; fi`
@@ -710,51 +802,57 @@ clean-libtool:
install-pkgdataDATA: $(pkgdata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
- @list='$(pkgdata_DATA)'; for p in $$list; do \
+ @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
done
uninstall-pkgdataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgdata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
- done
+ @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files
install-pkgsysconfDATA: $(pkgsysconf_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgsysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgsysconfdir)"
- @list='$(pkgsysconf_DATA)'; for p in $$list; do \
+ @list='$(pkgsysconf_DATA)'; test -n "$(pkgsysconfdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgsysconfDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgsysconfdir)/$$f'"; \
- $(pkgsysconfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgsysconfdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgsysconfdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgsysconfdir)" || exit $$?; \
done
uninstall-pkgsysconfDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgsysconf_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgsysconfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgsysconfdir)/$$f"; \
- done
+ @list='$(pkgsysconf_DATA)'; test -n "$(pkgsysconfdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgsysconfdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgsysconfdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -762,37 +860,43 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
srcdir=$(srcdir); export srcdir; \
list=' $(TESTS) '; \
+ $(am__tty_colors); \
if test -n "$$list"; then \
for tst in $$list; do \
if test -f ./$$tst; then dir=./; \
@@ -801,49 +905,63 @@ check-TESTS: $(TESTS)
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
+ *[\ \ ]$$tst[\ \ ]*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
+ col=$$red; res=XPASS; \
;; \
*) \
- echo "PASS: $$tst"; \
+ col=$$grn; res=PASS; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
+ *[\ \ ]$$tst[\ \ ]*) \
xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
+ col=$$lgn; res=XFAIL; \
;; \
*) \
failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
+ col=$$red; res=FAIL; \
;; \
esac; \
else \
skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
+ col=$$blu; res=SKIP; \
fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
if test "$$failed" -eq 0; then \
if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
+ banner="$$All$$all $$tests passed"; \
else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
fi; \
else \
if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
+ banner="$$failed of $$all $$tests failed"; \
else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
fi; \
fi; \
dashes="$$banner"; \
skipped=""; \
if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
dashes="$$skipped"; \
fi; \
@@ -854,11 +972,15 @@ check-TESTS: $(TESTS)
dashes="$$report"; \
fi; \
dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
echo "$$banner"; \
test -z "$$skipped" || echo "$$skipped"; \
test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
+ echo "$$dashes$$std"; \
test "$$failed" -eq 0; \
else :; fi
@@ -878,13 +1000,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -920,6 +1046,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@@ -944,6 +1071,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -952,23 +1081,32 @@ install-data-am: install-data-local install-pkgdataDATA \
install-pkgsysconfDATA
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
-
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS install-cupsexec_driverPROGRAMS \
install-cupsexec_filterPROGRAMS install-sbinPROGRAMS \
install-sbinSCRIPTS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -994,7 +1132,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-cupsexec_driverPROGRAMS \
uninstall-pkgdataDATA uninstall-pkgsysconfDATA \
uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS
-.MAKE: install-am install-data-am install-strip
+.MAKE: check-am install-am install-data-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-TESTS check-am \
clean clean-binPROGRAMS clean-cupsexec_driverPROGRAMS \
@@ -1085,7 +1223,7 @@ install-data-hook:
-rmdir `dirname $(DESTDIR)$(pkglibdir)`
-rmdir `dirname $(DESTDIR)$(pkgsysconfdir)`
-.PHONY: ppd ppd-stamp-pre ppd-stamp-nonls ppd-stamp-nls ppd-stamp-phony
+.PHONY: ppd ppd-stamp-pre ppd-stamp-nonls ppd-stamp-nls ppd-stamp-phony ppd-catalog-clean ppd-clean
all-local: $(INSTALL_DATA_LOCAL_DEPS)
@@ -1098,10 +1236,15 @@ ppd-stamp: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ $(t
ppd-stamp-phony: $(PPD)
-ppd-stamp-pre:
+ppd-catalog-clean:
+ -$(RM) -r catalog
+
+ppd-clean:
-$(RM) -r ppd
-ppd-catalog:
+ppd-stamp-pre: ppd-catalog-clean ppd-clean
+
+ppd-catalog: ppd-catalog-clean
$(mkdir_p) catalog
for file in $(srcdir)/../../po/*.po; do \
lang=`basename $$file .po`; \
@@ -1111,28 +1254,32 @@ ppd-catalog:
ppd-nonls: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@
$(mkdir_p) ppd/C
- LC_ALL= LANG= LANGUAGE= $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -l C -p ppd/C
+ $(MAKE) ppd-catalog-clean
+ LC_ALL= LANG= LANGUAGE= $(STP_NONLS_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -l C -p ppd/C
-ppd-global: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-catalog
- $(mkdir_p) ppd/Global
+ppd-global: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@
@echo "Global PPDs:"
+ $(mkdir_p) ppd/Global
+ $(MAKE) ppd-catalog
LC_ALL= LANG= LANGUAGE= $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -p ppd/Global
- -$(RM) -r catalog
+ $(MAKE) ppd-catalog-clean
-ppd-global-ln: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-catalog
- $(mkdir_p) ppd/Global
+ppd-global-ln: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@
@echo "Global PPDs (localized numbers for testing):"
+ $(mkdir_p) ppd/Global
+ $(MAKE) ppd-catalog
LC_ALL= LANG= LANGUAGE= $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -p ppd/Global -N
- -$(RM) -r catalog
+ $(MAKE) ppd-catalog-clean
-ppd-nls: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-catalog ppd-nonls
+ppd-nls: cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ ppd-nonls
$(mkdir_p) ppd
+ $(MAKE) ppd-catalog
for language in `$(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ -L` ; do \
mkdir ppd/$$language ; \
echo "$$language:" ; \
LC_ALL=$$language LANG=$$language LANGUAGE=$$language $(STP_ENV) ./cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ @WHICH_PPDS@ -l $$language -p ppd/$$language; \
done
- -$(RM) -r catalog
+ $(MAKE) ppd-catalog-clean
dist-hook:
for dir in commands ; do \
@@ -1146,8 +1293,8 @@ dist-hook:
fi \
done
-clean-local:
- -$(RM) -r ppd
+clean-local: ppd-catalog-clean ppd-clean
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/cups/genppd.c b/src/cups/genppd.c
index 7568abf..4e85388 100644
--- a/src/cups/genppd.c
+++ b/src/cups/genppd.c
@@ -1,5 +1,5 @@
- /*
- * "$Id: genppd.c,v 1.179 2009/10/05 12:37:30 rlk Exp $"
+/*
+ * "$Id: genppd.c,v 1.186 2011/03/13 19:28:50 rlk Exp $"
*
* PPD file generation program for the CUPS drivers.
*
@@ -85,13 +85,21 @@ static const char *gzext = "";
* Some applications use the XxYdpi tags rather than the actual
* hardware resolutions to decide what resolution to print at. Some
* applications get very unhappy if the vertical resolution exceeds
- * a certain amount. Some of those applications even get very happy if
+ * a certain amount. Some of those applications even get very unhappy if
* the PPD file even contains a resolution that exceeds that limit.
+ * And they're not even free source applications.
* Feh.
*/
#define MAXIMUM_SAFE_PPD_Y_RESOLUTION (720)
#define MAXIMUM_SAFE_PPD_X_RESOLUTION (1500)
+typedef enum
+{
+ PPD_STANDARD = 0,
+ PPD_SIMPLIFIED = 1,
+ PPD_NO_COLOR_OPTS = 2
+} ppd_type_t;
+
/*
* Note:
*
@@ -166,7 +174,10 @@ static int list_ppds(const char *argv0);
#else /* !CUPS_DRIVER_INTERFACE */
static int generate_ppd(const char *prefix, int verbose,
const stp_printer_t *p, const char *language,
- int simplified);
+ ppd_type_t ppd_type);
+static int generate_model_ppds(const char *prefix, int verbose,
+ const stp_printer_t *printer,
+ const char *language, int which_ppds);
static void help(void);
static void printlangs(char** langs);
static void printmodels(int verbose);
@@ -184,7 +195,7 @@ static void print_group_open(gzFile fp, stp_parameter_class_t p_class,
const stp_string_list_t *po);
static int write_ppd(gzFile fp, const stp_printer_t *p,
const char *language, const char *ppd_location,
- int simplified);
+ ppd_type_t ppd_type, const char *filename);
/*
@@ -288,7 +299,8 @@ cat_ppd(const char *uri) /* I - Driver URI */
char *s;
char filename[1024], /* Filename */
ppd_location[1024]; /* Installed location */
-
+ const char *infix = "";
+ ppd_type_t ppd_type = PPD_STANDARD;
if ((status = httpSeparateURI(HTTP_URI_CODING_ALL, uri,
scheme, sizeof(scheme),
@@ -320,23 +332,32 @@ cat_ppd(const char *uri) /* I - Driver URI */
return (1);
}
+ if (strcmp(resource + 1, "simple") == 0)
+ {
+ infix = ".sim";
+ ppd_type = PPD_SIMPLIFIED;
+ }
+ else if (strcmp(resource + 1, "nocolor") == 0)
+ {
+ infix = ".nc";
+ ppd_type = PPD_NO_COLOR_OPTS;
+ }
+
/*
* This isn't really the right thing to do. We really shouldn't
* be embedding filenames in automatically generated PPD files, but
* if the user ever decides to go back from generated PPD files to
* static PPD files we'll need to have this for genppdupdate to work.
*/
- snprintf(filename, sizeof(filename) - 1, "%s/stp-%s.%s%s%s%s",
- "ppd", hostname, GUTENPRINT_RELEASE_VERSION,
- strcmp(resource + 1, "simple") ? "" : ".sim", ppdext, gzext);
- snprintf(ppd_location, sizeof(ppd_location) - 1, "%s%s%s/%s",
+ snprintf(filename, sizeof(filename) - 1, "stp-%s.%s%s%s",
+ hostname, GUTENPRINT_RELEASE_VERSION, infix, ppdext);
+ snprintf(ppd_location, sizeof(ppd_location) - 1, "%s%s%s/ppd/%s%s",
cups_modeldir,
cups_modeldir[strlen(cups_modeldir) - 1] == '/' ? "" : "/",
lang ? lang : "C",
- filename);
+ filename, gzext);
- return (write_ppd(stdout, p, lang, ppd_location,
- !strcmp(resource + 1, "simple")));
+ return (write_ppd(stdout, p, lang, ppd_location, ppd_type, filename));
}
/*
@@ -387,6 +408,19 @@ list_ppds(const char *argv0) /* I - Name of program */
stp_printer_get_long_name(printer),
device_id ? device_id : "");
#endif
+
+#ifdef GENERATE_NOCOLOR_PPDS
+ printf("\"%s://%s/nocolor\" "
+ "%s "
+ "\"%s\" "
+ "\"%s" CUPS_PPD_NICKNAME_STRING VERSION " No color options\" "
+ "\"%s\"\n",
+ scheme, stp_printer_get_driver(printer),
+ "en",
+ stp_printer_get_manufacturer(printer),
+ stp_printer_get_long_name(printer),
+ device_id ? device_id : "");
+#endif
}
return (0);
@@ -412,7 +446,8 @@ main(int argc, /* I - Number of command-line arguments */
char **models = NULL; /* Models to output, all if NULL */
int opt_printlangs = 0; /* Print available translations */
int opt_printmodels = 0;/* Print available models */
- int which_ppds = 2; /* Simplified PPD's = 1, full = 2 */
+ int which_ppds = 2; /* Simplified PPD's = 1, full = 2,
+ no color opts = 4 */
/*
* Parse command-line args...
@@ -422,7 +457,7 @@ main(int argc, /* I - Number of command-line arguments */
for (;;)
{
- if ((i = getopt(argc, argv, "23hvqc:p:l:LMVd:saN")) == -1)
+ if ((i = getopt(argc, argv, "23hvqc:p:l:LMVd:saNC")) == -1)
break;
switch (i)
@@ -470,6 +505,9 @@ main(int argc, /* I - Number of command-line arguments */
case 'a':
which_ppds = 3;
break;
+ case 'C':
+ which_ppds |= 4;
+ break;
case 'N':
localize_numbers = !localize_numbers;
break;
@@ -548,12 +586,9 @@ main(int argc, /* I - Number of command-line arguments */
if (printer)
{
- if ((which_ppds & 1) &&
- generate_ppd(prefix, verbose, printer, language, 1))
- return (1);
- if ((which_ppds & 2) &&
- generate_ppd(prefix, verbose, printer, language, 0))
- return (1);
+ if (generate_model_ppds(prefix, verbose, printer, language,
+ which_ppds))
+ return 1;
}
else
{
@@ -571,12 +606,9 @@ main(int argc, /* I - Number of command-line arguments */
if (printer)
{
- if ((which_ppds & 1) &&
- generate_ppd(prefix, verbose, printer, language, 1))
- return (1);
- if ((which_ppds & 2) &&
- generate_ppd(prefix, verbose, printer, language, 0))
- return (1);
+ if (generate_model_ppds(prefix, verbose, printer, language,
+ which_ppds))
+ return 1;
}
}
}
@@ -586,6 +618,23 @@ main(int argc, /* I - Number of command-line arguments */
return (0);
}
+static int
+generate_model_ppds(const char *prefix, int verbose,
+ const stp_printer_t *printer, const char *language,
+ int which_ppds)
+{
+ if ((which_ppds & 1) &&
+ generate_ppd(prefix, verbose, printer, language, PPD_SIMPLIFIED))
+ return (1);
+ if ((which_ppds & 2) &&
+ generate_ppd(prefix, verbose, printer, language, PPD_STANDARD))
+ return (1);
+ if ((which_ppds & 4) &&
+ generate_ppd(prefix, verbose, printer, language, PPD_NO_COLOR_OPTS))
+ return (1);
+ return 0;
+}
+
/*
* 'generate_ppd()' - Generate a PPD file.
*/
@@ -596,14 +645,14 @@ generate_ppd(
int verbose, /* I - Verbosity level */
const stp_printer_t *p, /* I - Driver */
const char *language, /* I - Primary language */
- int simplified) /* I - 1 = simplified options */
+ ppd_type_t ppd_type) /* I - full, simplified, no color */
{
int status; /* Exit status */
gzFile fp; /* File to write to */
char filename[1024], /* Filename */
ppd_location[1024]; /* Installed location */
struct stat dir; /* Prefix dir status */
-
+ const char *ppd_infix;
/*
* Skip the PostScript drivers...
@@ -638,9 +687,21 @@ generate_ppd(
* stp-escp2-ex.5.0.ppd.gz
*/
+ switch (ppd_type)
+ {
+ case PPD_SIMPLIFIED:
+ ppd_infix = ".sim";
+ break;
+ case PPD_NO_COLOR_OPTS:
+ ppd_infix = ".nc";
+ break;
+ default:
+ ppd_infix = "";
+ }
+
snprintf(filename, sizeof(filename) - 1, "%s/stp-%s.%s%s%s%s",
prefix, stp_printer_get_driver(p), GUTENPRINT_RELEASE_VERSION,
- simplified ? ".sim" : "", ppdext, gzext);
+ ppd_infix, ppdext, gzext);
/*
* Open the PPD file...
@@ -664,7 +725,12 @@ generate_ppd(
language ? language : "C",
basename(filename));
- status = write_ppd(fp, p, language, ppd_location, simplified);
+ snprintf(filename, sizeof(filename) - 1, "stp-%s.%s%s%s",
+ stp_printer_get_driver(p), GUTENPRINT_RELEASE_VERSION,
+ ppd_infix, ppdext);
+
+ status = write_ppd(fp, p, language, ppd_location, ppd_type,
+ basename(filename));
gzclose(fp);
@@ -821,6 +887,12 @@ is_special_option(const char *name) /* I - Option name */
return 0;
}
+/*
+ * strlen returns the number of characters. PPD file limitations are
+ * defined in bytes. So we need something to count bytes, not merely
+ * characters.
+ */
+
static size_t
bytelen(const char *buffer)
{
@@ -830,150 +902,31 @@ bytelen(const char *buffer)
return answer;
}
-static void
-print_group(
- gzFile fp, /* I - File to write to */
- const char *what,
- stp_parameter_class_t p_class, /* I - Option class */
- stp_parameter_level_t p_level, /* I - Option level */
- const char *language, /* I - Language */
- const stp_string_list_t *po) /* I - Message catalog */
-{
- char buf[64];
- const char *class = stp_i18n_lookup(po, parameter_class_names[p_class]);
- const char *level = stp_i18n_lookup(po, parameter_level_names[p_level]);
- size_t bytes = bytelen(class) + bytelen(level);
- snprintf(buf, 40, "%s%s%s", class, bytes < 39 ? " " : "", level);
- gzprintf(fp, "*%sGroup: C%dL%d/%s\n", what, p_class, p_level, buf);
- if (language && !strcmp(language, "C") && !strcmp(what, "Open"))
- {
- char **all_langs = getlangs();/* All languages */
- const char *lang;
- int langnum;
-
- for (langnum = 0; all_langs[langnum]; langnum ++)
- {
- const stp_string_list_t *altpo;
-
- lang = all_langs[langnum];
-
- if (!strcmp(lang, "C") || !strcmp(lang, "en"))
- continue;
- if ((altpo = stp_i18n_load(lang)) != NULL)
- {
- class = stp_i18n_lookup(altpo, parameter_class_names[p_class]);
- level = stp_i18n_lookup(altpo, parameter_level_names[p_level]);
- bytes = bytelen(class) + bytelen(level);
- snprintf(buf, 40, "%s%s%s", class, bytes < 39 ? " " : "", level);
- gzprintf(fp, "*%s.Translation C%dL%d/%s: \"\"\n",
- lang, p_class, p_level, buf);
- }
- }
- }
- gzputs(fp, "\n");
-}
-
/*
- * 'print_group_close()' - Close a UI group.
+ * Use our localization routine to correctly do localization on all
+ * systems. The standard lookup routine has trouble creating multi-locale
+ * files on many systems, and on some systems there's not even a reliable
+ * way to use something other than the system locale.
*/
+#ifdef _
+#undef _
+#endif
+#define _(x) stp_i18n_lookup(po, x)
-static void
-print_group_close(
- gzFile fp, /* I - File to write to */
- stp_parameter_class_t p_class, /* I - Option class */
- stp_parameter_level_t p_level, /* I - Option level */
- const char *language, /* I - language */
- const stp_string_list_t *po) /* I - Message catalog */
-{
- print_group(fp, "Close", p_class, p_level, NULL, NULL);
-}
-
-
-/*
- * 'print_group_open()' - Open a new UI group.
- */
+#define PPD_MAX_SHORT_NICKNAME (31)
static void
-print_group_open(
- gzFile fp, /* I - File to write to */
- stp_parameter_class_t p_class, /* I - Option class */
- stp_parameter_level_t p_level, /* I - Option level */
- const char *language, /* I - language */
- const stp_string_list_t *po) /* I - Message catalog */
+print_ppd_header(gzFile fp, ppd_type_t ppd_type, int model, const char *driver,
+ const char *family, const char *long_name,
+ const char *manufacturer, const char *device_id,
+ const char *ppd_location,
+ const char *language, const stp_string_list_t *po,
+ char **all_langs)
{
- print_group(fp, "Open", p_class, p_level, language ? language : "C", po);
-}
-
-
-/*
- * 'write_ppd()' - Write a PPD file.
- */
-
-int /* O - Exit status */
-write_ppd(
- gzFile fp, /* I - File to write to */
- const stp_printer_t *p, /* I - Printer driver */
- const char *language, /* I - Primary language */
- const char *ppd_location, /* I - Location of PPD file */
- int simplified) /* I - 1 = simplified options */
-{
- int i, j, k, l; /* Looping vars */
- int num_opts; /* Number of printer options */
- int xdpi, ydpi; /* Resolution info */
- stp_vars_t *v; /* Variable info */
- int width, height, /* Page information */
- bottom, left,
- top, right;
- const char *driver; /* Driver name */
- const char *family; /* Printer family */
- int model; /* Internal model ID */
- const char *long_name; /* Driver long name */
- const char *manufacturer; /* Manufacturer of printer */
- const char *device_id; /* IEEE1284 device ID */
- const stp_vars_t *printvars; /* Printer option names */
- paper_t *the_papers; /* Media sizes */
- int cur_opt; /* Current option */
- int variable_sizes; /* Does the driver support variable sizes? */
- int min_width, /* Min/max custom size */
- min_height,
- max_width,
- max_height;
- char dimstr[255]; /* Dimension string */
- stp_parameter_t desc;
- stp_parameter_list_t param_list;
- const stp_param_string_t *opt;
- int has_quality_parameter = 0;
- int printer_is_color = 0;
- int maximum_level = simplified ?
- STP_PARAMETER_LEVEL_BASIC : STP_PARAMETER_LEVEL_ADVANCED4;
- char *default_resolution = NULL; /* Default resolution mapped name */
- stp_string_list_t *resolutions = stp_string_list_create();
- char **all_langs = getlangs();/* All languages */
- const stp_string_list_t *po = stp_i18n_load(language);
- /* Message catalog */
-
-
- /*
- * Initialize driver-specific variables...
- */
-
- driver = stp_printer_get_driver(p);
- family = stp_printer_get_family(p);
- model = stp_printer_get_model(p);
- long_name = stp_printer_get_long_name(p);
- manufacturer = stp_printer_get_manufacturer(p);
- device_id = stp_printer_get_device_id(p);
- printvars = stp_printer_get_defaults(p);
- the_papers = NULL;
- cur_opt = 0;
-
+ char short_long_name[(PPD_MAX_SHORT_NICKNAME) + 1];
/*
* Write a standard header...
*/
-
-#undef _
-#define _(x) stp_i18n_lookup(po, x)
-
gzputs(fp, "*PPD-Adobe: \"4.3\"\n");
gzputs(fp, "*% PPD file for CUPS/Gutenprint.\n");
gzputs(fp, "*% Copyright 1993-2008 by Mike Sweet and Robert Krawitz.\n");
@@ -1001,7 +954,6 @@ write_ppd(
gzputs(fp, "*LanguageEncoding: UTF-8\n");
else
gzputs(fp, "*LanguageEncoding: ISOLatin1\n");
-
/*
* Strictly speaking, the PCFileName attribute should be a 12 character
* max (12345678.ppd) filename, as a requirement of the old PPD spec.
@@ -1011,7 +963,7 @@ write_ppd(
gzprintf(fp, "*PCFileName: \"STP%05d.PPD\"\n",
stp_get_printer_index_by_driver(driver) +
- simplified ? stp_printer_model_count() : 0);
+ ((int) ppd_type * stp_printer_model_count()));
gzprintf(fp, "*Manufacturer: \"%s\"\n", manufacturer);
/*
@@ -1031,7 +983,9 @@ write_ppd(
*/
gzprintf(fp, "*ModelName: \"%s\"\n", long_name);
- gzprintf(fp, "*ShortNickName: \"%s\"\n", long_name);
+ strncpy(short_long_name, long_name, PPD_MAX_SHORT_NICKNAME);
+ short_long_name[PPD_MAX_SHORT_NICKNAME] = '\0';
+ gzprintf(fp, "*ShortNickName: \"%s\"\n", short_long_name);
/*
* The Windows driver download stuff has problems with NickName fields
@@ -1045,37 +999,24 @@ write_ppd(
*/
gzprintf(fp, "*NickName: \"%s%s%s%s\"\n",
long_name, CUPS_PPD_NICKNAME_STRING, VERSION,
- simplified ? " Simplified" : "");
+ (ppd_type == PPD_SIMPLIFIED ? " Simplified" :
+ ppd_type == PPD_NO_COLOR_OPTS ? " No Color Options" : ""));
if (cups_ppd_ps_level == 2)
gzputs(fp, "*PSVersion: \"(2017.000) 550\"\n");
else
gzputs(fp, "*PSVersion: \"(3010.000) 0\"\n");
gzprintf(fp, "*LanguageLevel: \"%d\"\n", cups_ppd_ps_level);
+}
- /* Set Job Mode to "Job" as this enables the Duplex option */
- v = stp_vars_create_copy(printvars);
- stp_set_string_parameter(v, "JobMode", "Job");
-
- /* Assume that color printers are inkjets and should have pages reversed */
- stp_describe_parameter(v, "PrintingMode", &desc);
- if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
- {
- if (stp_string_list_is_present(desc.bounds.str, "Color"))
- {
- printer_is_color = 1;
- gzputs(fp, "*ColorDevice: True\n");
- }
- else
- {
- printer_is_color = 0;
- gzputs(fp, "*ColorDevice: False\n");
- }
- if (strcmp(desc.deflt.str, "Color") == 0)
- gzputs(fp, "*DefaultColorSpace: RGB\n");
- else
- gzputs(fp, "*DefaultColorSpace: Gray\n");
- }
- stp_parameter_description_destroy(&desc);
+static void
+print_ppd_header_3(gzFile fp, ppd_type_t ppd_type, int model, const char *driver,
+ const char *family, const char *long_name,
+ const char *manufacturer, const char *device_id,
+ const char *ppd_location,
+ const char *language, const stp_string_list_t *po,
+ char **all_langs)
+{
+ int i;
gzputs(fp, "*FileSystem: False\n");
gzputs(fp, "*LandscapeOrientation: Plus90\n");
gzputs(fp, "*TTRasterizer: Type42\n");
@@ -1107,96 +1048,108 @@ write_ppd(
if (!strcmp(prefix, " "))
gzputs(fp, "\"\n");
}
+}
- /* Macintosh color management */
- gzputs(fp, "*cupsICCProfile Gray../Grayscale: \"/System/Library/ColorSync/Profiles/sRGB Profile.icc\"\n");
- gzputs(fp, "*cupsICCProfile RGB../Color: \"/System/Library/ColorSync/Profiles/sRGB Profile.icc\"\n");
- gzputs(fp, "*cupsICCProfile CMYK../Color: \"/System/Library/ColorSync/Profiles/Generic CMYK Profile.icc\"\n");
- gzputs(fp, "*APSupportsCustomColorMatching: true\n");
- gzputs(fp, "*APCustomColorMatchingProfile: sRGB\n");
-
- gzputs(fp, "\n");
+static void
+print_ppd_header_2(gzFile fp, ppd_type_t ppd_type, int model, const char *driver,
+ const char *family, const char *long_name,
+ const char *manufacturer, const char *device_id,
+ const char *ppd_location,
+ const char *language, const stp_string_list_t *po,
+ char **all_langs)
+{
gzprintf(fp, "*StpDriverName: \"%s\"\n", driver);
gzprintf(fp, "*StpDriverModelFamily: \"%d_%s\"\n", model, family);
gzprintf(fp, "*StpPPDLocation: \"%s\"\n", ppd_location);
gzprintf(fp, "*StpLocale: \"%s\"\n", language ? language : "C");
+}
- /*
- * Get the page sizes from the driver...
- */
+static void
+print_page_sizes(gzFile fp, stp_vars_t *v, int simplified,
+ const stp_string_list_t *po)
+{
+ int variable_sizes = 0;
+ stp_parameter_t desc;
+ int num_opts;
+ paper_t *the_papers;
+ int i;
+ int width, height, /* Page information */
+ bottom, left,
+ top, right;
+ int min_width, /* Min/max custom size */
+ min_height,
+ max_width,
+ max_height;
+ const stp_param_string_t *opt;
+ int cur_opt = 0;
- if (printer_is_color)
- stp_set_string_parameter(v, "PrintingMode", "Color");
- else
- stp_set_string_parameter(v, "PrintingMode", "BW");
- stp_set_string_parameter(v, "ChannelBitDepth", "8");
- variable_sizes = 0;
stp_describe_parameter(v, "PageSize", &desc);
num_opts = stp_string_list_count(desc.bounds.str);
the_papers = stp_malloc(sizeof(paper_t) * num_opts);
-
for (i = 0; i < num_opts; i++)
- {
- const stp_papersize_t *papersize;
- opt = stp_string_list_param(desc.bounds.str, i);
- papersize = stp_get_papersize_by_name(opt->name);
-
- if (!papersize)
{
- printf("Unable to lookup size %s!\n", opt->name);
- continue;
- }
+ const stp_papersize_t *papersize;
+ opt = stp_string_list_param(desc.bounds.str, i);
+ papersize = stp_get_papersize_by_name(opt->name);
- if (strcmp(opt->name, "Custom") == 0)
- {
- variable_sizes = 1;
- continue;
+ if (!papersize)
+ {
+ printf("Unable to lookup size %s!\n", opt->name);
+ continue;
+ }
+
+ if (strcmp(opt->name, "Custom") == 0)
+ {
+ variable_sizes = 1;
+ continue;
+ }
+ if (simplified && num_opts >= 10 &&
+ (papersize->paper_unit == PAPERSIZE_ENGLISH_EXTENDED ||
+ papersize->paper_unit == PAPERSIZE_METRIC_EXTENDED))
+ continue;
+
+ width = papersize->width;
+ height = papersize->height;
+
+ if (width <= 0 || height <= 0)
+ continue;
+
+ stp_set_string_parameter(v, "PageSize", opt->name);
+
+ stp_get_media_size(v, &width, &height);
+ stp_get_maximum_imageable_area(v, &left, &right, &bottom, &top);
+
+ if (left < 0)
+ left = 0;
+ if (right > width)
+ right = width;
+ if (bottom > height)
+ bottom = height;
+ if (top < 0)
+ top = 0;
+
+ the_papers[cur_opt].name = opt->name;
+ the_papers[cur_opt].text = stp_i18n_lookup(po, opt->text);
+ the_papers[cur_opt].width = width;
+ the_papers[cur_opt].height = height;
+ the_papers[cur_opt].left = left;
+ the_papers[cur_opt].right = right;
+ the_papers[cur_opt].bottom = height - bottom;
+ the_papers[cur_opt].top = height - top;
+
+ cur_opt++;
+ stp_clear_string_parameter(v, "PageSize");
}
- if (simplified && num_opts >= 10 &&
- (papersize->paper_unit == PAPERSIZE_ENGLISH_EXTENDED ||
- papersize->paper_unit == PAPERSIZE_METRIC_EXTENDED))
- continue;
-
- width = papersize->width;
- height = papersize->height;
-
- if (width <= 0 || height <= 0)
- continue;
-
- stp_set_string_parameter(v, "PageSize", opt->name);
-
- stp_get_media_size(v, &width, &height);
- stp_get_maximum_imageable_area(v, &left, &right, &bottom, &top);
-
- if (left < 0)
- left = 0;
- if (right > width)
- right = width;
- if (bottom > height)
- bottom = height;
- if (top < 0)
- top = 0;
-
- the_papers[cur_opt].name = opt->name;
- the_papers[cur_opt].text = stp_i18n_lookup(po, opt->text);
- the_papers[cur_opt].width = width;
- the_papers[cur_opt].height = height;
- the_papers[cur_opt].left = left;
- the_papers[cur_opt].right = right;
- the_papers[cur_opt].bottom = height - bottom;
- the_papers[cur_opt].top = height - top;
-
- cur_opt++;
- stp_clear_string_parameter(v, "PageSize");
- }
- /*
- * The VariablePaperSize attribute is obsolete, however some popular
- * applications still look for it to provide custom page size support.
- */
+ /*
+ * The VariablePaperSize attribute is obsolete, however some popular
+ * applications still look for it to provide custom page size support.
+ */
gzprintf(fp, "*VariablePaperSize: %s\n\n", variable_sizes ? "true" : "false");
+ if (stp_parameter_has_category_value(v, &desc, "Color", "Yes"))
+ gzputs(fp, "*ColorKeyWords: \"PageSize\"\n");
gzprintf(fp, "*OpenUI *PageSize/%s: PickOne\n", _("Media Size"));
gzputs(fp, "*OPOptionHints PageSize: \"dropdown\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *PageSize\n");
@@ -1206,86 +1159,90 @@ write_ppd(
gzprintf(fp, "*DefaultPageSize: %s\n", desc.deflt.str);
gzprintf(fp, "*StpDefaultPageSize: %s\n", desc.deflt.str);
for (i = 0; i < cur_opt; i ++)
- {
- gzprintf(fp, "*PageSize %s", the_papers[i].name);
- gzprintf(fp, "/%s:\t\"<</PageSize[%d %d]/ImagingBBox null>>setpagedevice\"\n",
- the_papers[i].text, the_papers[i].width, the_papers[i].height);
- }
+ {
+ gzprintf(fp, "*PageSize %s", the_papers[i].name);
+ gzprintf(fp, "/%s:\t\"<</PageSize[%d %d]/ImagingBBox null>>setpagedevice\"\n",
+ the_papers[i].text, the_papers[i].width, the_papers[i].height);
+ }
gzputs(fp, "*CloseUI: *PageSize\n\n");
+ if (stp_parameter_has_category_value(v, &desc, "Color", "Yes"))
+ gzputs(fp, "*ColorKeyWords: \"PageRegion\"\n");
gzprintf(fp, "*OpenUI *PageRegion/%s: PickOne\n", _("Media Size"));
gzputs(fp, "*OPOptionHints PageRegion: \"dropdown\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *PageRegion\n");
gzprintf(fp, "*DefaultPageRegion: %s\n", desc.deflt.str);
gzprintf(fp, "*StpDefaultPageRegion: %s\n", desc.deflt.str);
for (i = 0; i < cur_opt; i ++)
- {
- gzprintf(fp, "*PageRegion %s", the_papers[i].name);
- gzprintf(fp, "/%s:\t\"<</PageSize[%d %d]/ImagingBBox null>>setpagedevice\"\n",
- the_papers[i].text, the_papers[i].width, the_papers[i].height);
- }
+ {
+ gzprintf(fp, "*PageRegion %s", the_papers[i].name);
+ gzprintf(fp, "/%s:\t\"<</PageSize[%d %d]/ImagingBBox null>>setpagedevice\"\n",
+ the_papers[i].text, the_papers[i].width, the_papers[i].height);
+ }
gzputs(fp, "*CloseUI: *PageRegion\n\n");
gzprintf(fp, "*DefaultImageableArea: %s\n", desc.deflt.str);
gzprintf(fp, "*StpDefaultImageableArea: %s\n", desc.deflt.str);
for (i = 0; i < cur_opt; i ++)
- {
- gzprintf(fp, "*ImageableArea %s", the_papers[i].name);
- gzprintf(fp, "/%s:\t\"%d %d %d %d\"\n", the_papers[i].text,
- the_papers[i].left, the_papers[i].bottom,
- the_papers[i].right, the_papers[i].top);
- }
+ {
+ gzprintf(fp, "*ImageableArea %s", the_papers[i].name);
+ gzprintf(fp, "/%s:\t\"%d %d %d %d\"\n", the_papers[i].text,
+ the_papers[i].left, the_papers[i].bottom,
+ the_papers[i].right, the_papers[i].top);
+ }
gzputs(fp, "\n");
gzprintf(fp, "*DefaultPaperDimension: %s\n", desc.deflt.str);
gzprintf(fp, "*StpDefaultPaperDimension: %s\n", desc.deflt.str);
for (i = 0; i < cur_opt; i ++)
- {
- gzprintf(fp, "*PaperDimension %s", the_papers[i].name);
- gzprintf(fp, "/%s:\t\"%d %d\"\n",
- the_papers[i].text, the_papers[i].width, the_papers[i].height);
- }
+ {
+ gzprintf(fp, "*PaperDimension %s", the_papers[i].name);
+ gzprintf(fp, "/%s:\t\"%d %d\"\n",
+ the_papers[i].text, the_papers[i].width, the_papers[i].height);
+ }
gzputs(fp, "\n");
if (variable_sizes)
- {
- stp_get_size_limit(v, &max_width, &max_height, &min_width, &min_height);
- stp_set_string_parameter(v, "PageSize", "Custom");
- stp_get_media_size(v, &width, &height);
- stp_get_maximum_imageable_area(v, &left, &right, &bottom, &top);
- if (left < 0)
- left = 0;
- if (top < 0)
- top = 0;
- if (bottom > height)
- bottom = height;
- if (right > width)
- width = right;
-
- gzprintf(fp, "*MaxMediaWidth: \"%d\"\n", max_width);
- gzprintf(fp, "*MaxMediaHeight: \"%d\"\n", max_height);
- gzprintf(fp, "*HWMargins: %d %d %d %d\n",
- left, height - bottom, width - right, top);
- gzputs(fp, "*CustomPageSize True: \"pop pop pop <</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice\"\n");
- gzprintf(fp, "*ParamCustomPageSize Width: 1 points %d %d\n",
- min_width, max_width);
- gzprintf(fp, "*ParamCustomPageSize Height: 2 points %d %d\n",
- min_height, max_height);
- gzputs(fp, "*ParamCustomPageSize WidthOffset: 3 points 0 0\n");
- gzputs(fp, "*ParamCustomPageSize HeightOffset: 4 points 0 0\n");
- gzputs(fp, "*ParamCustomPageSize Orientation: 5 int 0 0\n\n");
- stp_clear_string_parameter(v, "PageSize");
- }
+ {
+ stp_get_size_limit(v, &max_width, &max_height, &min_width, &min_height);
+ stp_set_string_parameter(v, "PageSize", "Custom");
+ stp_get_media_size(v, &width, &height);
+ stp_get_maximum_imageable_area(v, &left, &right, &bottom, &top);
+ if (left < 0)
+ left = 0;
+ if (top < 0)
+ top = 0;
+ if (bottom > height)
+ bottom = height;
+ if (right > width)
+ width = right;
+
+ gzprintf(fp, "*MaxMediaWidth: \"%d\"\n", max_width);
+ gzprintf(fp, "*MaxMediaHeight: \"%d\"\n", max_height);
+ gzprintf(fp, "*HWMargins: %d %d %d %d\n",
+ left, height - bottom, width - right, top);
+ gzputs(fp, "*CustomPageSize True: \"pop pop pop <</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice\"\n");
+ gzprintf(fp, "*ParamCustomPageSize Width: 1 points %d %d\n",
+ min_width, max_width);
+ gzprintf(fp, "*ParamCustomPageSize Height: 2 points %d %d\n",
+ min_height, max_height);
+ gzputs(fp, "*ParamCustomPageSize WidthOffset: 3 points 0 0\n");
+ gzputs(fp, "*ParamCustomPageSize HeightOffset: 4 points 0 0\n");
+ gzputs(fp, "*ParamCustomPageSize Orientation: 5 int 0 0\n\n");
+ stp_clear_string_parameter(v, "PageSize");
+ }
stp_parameter_description_destroy(&desc);
if (the_papers)
stp_free(the_papers);
+}
- /*
- * Do we support color?
- */
-
+static void
+print_color_setup(gzFile fp, int simplified, int printer_is_color,
+ const stp_string_list_t *po)
+{
+ gzputs(fp, "*ColorKeyWords: \"ColorModel\"\n");
gzprintf(fp, "*OpenUI *ColorModel/%s: PickOne\n", _("Color Model"));
gzputs(fp, "*OPOptionHints ColorModel: \"radiobuttons\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *ColorModel\n");
@@ -1349,12 +1306,12 @@ write_ppd(
}
gzputs(fp, "*CloseUI: *ColorModel\n\n");
-
if (!simplified)
{
/*
* 8 or 16 bit color (16 bit is slower)
*/
+ gzputs(fp, "*ColorKeyWords: \"StpColorPrecision\"\n");
gzprintf(fp, "*OpenUI *StpColorPrecision/%s: PickOne\n", _("Color Precision"));
gzputs(fp, "*OPOptionHints StpColorPrecision: \"radiobuttons\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *StpColorPrecision\n");
@@ -1367,6 +1324,585 @@ write_ppd(
"/cupsPreferredBitsPerColor 16>>setpagedevice\"\n", _("Best"));
gzputs(fp, "*CloseUI: *StpColorPrecision\n\n");
}
+}
+
+static void
+print_group(
+ gzFile fp, /* I - File to write to */
+ const char *what,
+ stp_parameter_class_t p_class, /* I - Option class */
+ stp_parameter_level_t p_level, /* I - Option level */
+ const char *language, /* I - Language */
+ const stp_string_list_t *po) /* I - Message catalog */
+{
+ char buf[64];
+ const char *class = stp_i18n_lookup(po, parameter_class_names[p_class]);
+ const char *level = stp_i18n_lookup(po, parameter_level_names[p_level]);
+ size_t bytes = bytelen(class) + bytelen(level);
+ snprintf(buf, 40, "%s%s%s", class, bytes < 39 ? " " : "", level);
+ gzprintf(fp, "*%sGroup: C%dL%d/%s\n", what, p_class, p_level, buf);
+ if (language && !strcmp(language, "C") && !strcmp(what, "Open"))
+ {
+ char **all_langs = getlangs();/* All languages */
+ const char *lang;
+ int langnum;
+
+ for (langnum = 0; all_langs[langnum]; langnum ++)
+ {
+ const stp_string_list_t *altpo;
+
+ lang = all_langs[langnum];
+
+ if (!strcmp(lang, "C") || !strcmp(lang, "en"))
+ continue;
+ if ((altpo = stp_i18n_load(lang)) != NULL)
+ {
+ class = stp_i18n_lookup(altpo, parameter_class_names[p_class]);
+ level = stp_i18n_lookup(altpo, parameter_level_names[p_level]);
+ bytes = bytelen(class) + bytelen(level);
+ snprintf(buf, 40, "%s%s%s", class, bytes < 39 ? " " : "", level);
+ gzprintf(fp, "*%s.Translation C%dL%d/%s: \"\"\n",
+ lang, p_class, p_level, buf);
+ }
+ }
+ }
+ gzputs(fp, "\n");
+}
+
+/*
+ * 'print_group_close()' - Close a UI group.
+ */
+
+static void
+print_group_close(
+ gzFile fp, /* I - File to write to */
+ stp_parameter_class_t p_class, /* I - Option class */
+ stp_parameter_level_t p_level, /* I - Option level */
+ const char *language, /* I - language */
+ const stp_string_list_t *po) /* I - Message catalog */
+{
+ print_group(fp, "Close", p_class, p_level, NULL, NULL);
+}
+
+
+/*
+ * 'print_group_open()' - Open a new UI group.
+ */
+
+static void
+print_group_open(
+ gzFile fp, /* I - File to write to */
+ stp_parameter_class_t p_class, /* I - Option class */
+ stp_parameter_level_t p_level, /* I - Option level */
+ const char *language, /* I - language */
+ const stp_string_list_t *po) /* I - Message catalog */
+{
+ print_group(fp, "Open", p_class, p_level, language ? language : "C", po);
+}
+
+static void
+print_one_option(gzFile fp, stp_vars_t *v, const stp_string_list_t *po,
+ ppd_type_t ppd_type, const stp_parameter_t *lparam,
+ const stp_parameter_t *desc)
+{
+ int num_opts;
+ int i;
+ const stp_param_string_t *opt;
+ int printed_default_value = 0;
+ int simplified = ppd_type == PPD_SIMPLIFIED;
+ char dimstr[255]; /* Dimension string */
+ int print_close_ui = 1;
+ int is_color_opt = stp_parameter_has_category_value(v, desc, "Color", "Yes");
+ int skip_color = (ppd_type == PPD_NO_COLOR_OPTS && is_color_opt);
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"Stp%s\"\n", desc->name);
+ gzprintf(fp, "*OpenUI *Stp%s/%s: PickOne\n",
+ desc->name, stp_i18n_lookup(po, desc->text));
+ gzprintf(fp, "*OrderDependency: 10 AnySetup *Stp%s\n", desc->name);
+ switch (desc->p_type)
+ {
+ case STP_PARAMETER_TYPE_STRING_LIST:
+ num_opts = stp_string_list_count(desc->bounds.str);
+ if (! skip_color)
+ {
+ if (num_opts > 3)
+ gzprintf(fp, "*OPOptionHints Stp%s: \"dropdown\"\n", lparam->name);
+ else
+ gzprintf(fp, "*OPOptionHints Stp%s: \"radiobuttons\"\n", lparam->name);
+ }
+ gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
+ desc->name, desc->p_type, desc->is_mandatory, desc->p_class,
+ desc->p_level, desc->channel, 0.0, 0.0, 0.0);
+ if (desc->is_mandatory)
+ {
+ gzprintf(fp, "*DefaultStp%s: %s\n", desc->name, desc->deflt.str);
+ gzprintf(fp, "*StpDefaultStp%s: %s\n", desc->name, desc->deflt.str);
+ }
+ else
+ {
+ gzprintf(fp, "*DefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*StpDefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc->name, "None", _("None"));
+ }
+ for (i = 0; i < num_opts; i++)
+ {
+ opt = stp_string_list_param(desc->bounds.str, i);
+ if (skip_color && strcmp(opt->name, desc->deflt.str) != 0)
+ gzprintf(fp, "*?Stp%s %s/%s: \"\"\n",
+ desc->name, opt->name, stp_i18n_lookup(po, opt->text));
+ else
+ gzprintf(fp, "*Stp%s %s/%s: \"\"\n",
+ desc->name, opt->name, stp_i18n_lookup(po, opt->text));
+ }
+ break;
+ case STP_PARAMETER_TYPE_BOOLEAN:
+ gzprintf(fp, "*OPOptionHints Stp%s: \"checkbox\"\n", lparam->name);
+ gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
+ desc->name, desc->p_type, desc->is_mandatory, desc->p_class,
+ desc->p_level, desc->channel, 0.0, 0.0,
+ desc->deflt.boolean ? 1.0 : 0.0);
+ if (desc->is_mandatory)
+ {
+ gzprintf(fp, "*DefaultStp%s: %s\n", desc->name,
+ desc->deflt.boolean ? "True" : "False");
+ gzprintf(fp, "*StpDefaultStp%s: %s\n", desc->name,
+ desc->deflt.boolean ? "True" : "False");
+ if (skip_color)
+ gzprintf(fp, "*Stp%s %s/%s: \"\"\n",
+ desc->name, desc->deflt.boolean ? "True" : "False",
+ desc->deflt.boolean ? _("Yes") : _("No"));
+ }
+ else
+ {
+ gzprintf(fp, "*DefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*StpDefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc->name, "None", _("None"));
+ }
+ gzprintf(fp, "*%sStp%s %s/%s: \"\"\n",
+ (skip_color ? "?" : ""), desc->name, "False", _("No"));
+ gzprintf(fp, "*%sStp%s %s/%s: \"\"\n",
+ (skip_color ? "?" : ""), desc->name, "True", _("Yes"));
+ break;
+ case STP_PARAMETER_TYPE_DOUBLE:
+ gzprintf(fp, "*OPOptionHints Stp%s: \"slider input spinbox\"\n",
+ lparam->name);
+ gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
+ desc->name, desc->p_type, desc->is_mandatory, desc->p_class,
+ desc->p_level, desc->channel, desc->bounds.dbl.lower,
+ desc->bounds.dbl.upper, desc->deflt.dbl);
+ gzprintf(fp, "*DefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*StpDefaultStp%s: None\n", desc->name);
+ if (!skip_color)
+ {
+ for (i = desc->bounds.dbl.lower * 1000;
+ i <= desc->bounds.dbl.upper * 1000 ; i += 100)
+ {
+ if (desc->deflt.dbl * 1000 == i && desc->is_mandatory)
+ {
+ gzprintf(fp, "*Stp%s None/%.3f: \"\"\n",
+ desc->name, ((double) i) * .001);
+ printed_default_value = 1;
+ }
+ else
+ gzprintf(fp, "*Stp%s %d/%.3f: \"\"\n",
+ desc->name, i, ((double) i) * .001);
+ }
+ }
+ if (!desc->is_mandatory)
+ gzprintf(fp, "*Stp%s None/%s: \"\"\n", desc->name, _("None"));
+ else if (! printed_default_value)
+ gzprintf(fp, "*Stp%s None/%.3f: \"\"\n", desc->name, desc->deflt.dbl);
+ gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc->name);
+
+ /*
+ * Add custom option code and value parameter...
+ */
+
+ gzprintf(fp, "*CustomStp%s True: \"pop\"\n", desc->name);
+ gzprintf(fp, "*ParamCustomStp%s Value/%s: 1 real %.3f %.3f\n\n",
+ desc->name, _("Value"), desc->bounds.dbl.lower,
+ desc->bounds.dbl.upper);
+ if (!simplified && !skip_color)
+ {
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"StpFine%s\"\n", desc->name);
+ gzprintf(fp, "*OpenUI *StpFine%s/%s %s: PickOne\n",
+ desc->name, stp_i18n_lookup(po, desc->text),
+ _("Fine Adjustment"));
+ gzprintf(fp, "*OPOptionHints StpFine%s: \"hide\"\n", lparam->name);
+ gzprintf(fp, "*StpStpFine%s: %d %d %d %d %d %.3f %.3f %.3f\n",
+ desc->name, STP_PARAMETER_TYPE_INVALID, 0,
+ 0, 0, -1, 0.0, 0.0, 0.0);
+ gzprintf(fp, "*DefaultStpFine%s: None\n", desc->name);
+ gzprintf(fp, "*StpDefaultStpFine%s: None\n", desc->name);
+ gzprintf(fp, "*StpFine%s None/0.000: \"\"\n", desc->name);
+ for (i = 0; i < 100; i += 5)
+ gzprintf(fp, "*StpFine%s %d/%.3f: \"\"\n",
+ desc->name, i, ((double) i) * .001);
+ gzprintf(fp, "*CloseUI: *StpFine%s\n\n", desc->name);
+ }
+ print_close_ui = 0;
+
+ break;
+ case STP_PARAMETER_TYPE_DIMENSION:
+ gzprintf(fp, "*OPOptionHints Stp%s: \"length slider input spinbox\"\n",
+ lparam->name);
+ gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
+ desc->name, desc->p_type, desc->is_mandatory,
+ desc->p_class, desc->p_level, desc->channel,
+ (double) desc->bounds.dimension.lower,
+ (double) desc->bounds.dimension.upper,
+ (double) desc->deflt.dimension);
+ if (desc->is_mandatory)
+ {
+ gzprintf(fp, "*DefaultStp%s: %d\n",
+ desc->name, desc->deflt.dimension);
+ gzprintf(fp, "*StpDefaultStp%s: %d\n",
+ desc->name, desc->deflt.dimension);
+ }
+ else
+ {
+ gzprintf(fp, "*DefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*StpDefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc->name, "None", _("None"));
+ }
+ if (!skip_color)
+ {
+ for (i = desc->bounds.dimension.lower;
+ i <= desc->bounds.dimension.upper; i++)
+ {
+ snprintf(dimstr, sizeof(dimstr), _("%.1f mm"),
+ (double)i * 25.4 / 72.0);
+ gzprintf(fp, "*Stp%s %d/%s: \"\"\n", desc->name, i, dimstr);
+ }
+ }
+
+ print_close_ui = 0;
+ gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc->name);
+
+ /*
+ * Add custom option code and value parameter...
+ */
+
+ gzprintf(fp, "*CustomStp%s True: \"pop\"\n", desc->name);
+ gzprintf(fp, "*ParamCustomStp%s Value/%s: 1 points %d %d\n\n",
+ desc->name, _("Value"), desc->bounds.dimension.lower,
+ desc->bounds.dimension.upper);
+
+ break;
+ case STP_PARAMETER_TYPE_INT:
+ gzprintf(fp, "*OPOptionHints Stp%s: \"input spinbox\"\n", lparam->name);
+ gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
+ desc->name, desc->p_type, desc->is_mandatory, desc->p_class,
+ desc->p_level, desc->channel,
+ (double) desc->bounds.integer.lower,
+ (double) desc->bounds.integer.upper,
+ (double) desc->deflt.integer);
+ if (desc->is_mandatory)
+ {
+ gzprintf(fp, "*DefaultStp%s: %d\n", desc->name, desc->deflt.integer);
+ gzprintf(fp, "*StpDefaultStp%s: %d\n", desc->name, desc->deflt.integer);
+ if (skip_color)
+ gzprintf(fp, "*Stp%s %d/%d: \"\"\n", desc->name,
+ desc->deflt.integer, desc->deflt.integer);
+ }
+ else
+ {
+ gzprintf(fp, "*DefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*StpDefaultStp%s: None\n", desc->name);
+ gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc->name, "None", _("None"));
+ }
+ for (i = desc->bounds.integer.lower; i <= desc->bounds.integer.upper; i++)
+ {
+ gzprintf(fp, "*%sStp%s %d/%d: \"\"\n",
+ (skip_color ? "?" : ""), desc->name, i, i);
+ }
+
+ print_close_ui = 0;
+ gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc->name);
+
+ /*
+ * Add custom option code and value parameter...
+ */
+
+ gzprintf(fp, "*CustomStp%s True: \"pop\"\n", desc->name);
+ gzprintf(fp, "*ParamCustomStp%s Value/%s: 1 int %d %d\n\n", desc->name,
+ _("Value"), desc->bounds.dimension.lower,
+ desc->bounds.dimension.upper);
+
+ break;
+ default:
+ break;
+ }
+ if (print_close_ui)
+ gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc->name);
+}
+
+static void
+print_one_localization(gzFile fp, const stp_string_list_t *po,
+ int simplified, const char *lang,
+ const stp_parameter_t *lparam,
+ const stp_parameter_t *desc)
+{
+ int num_opts;
+ int i;
+ const stp_param_string_t *opt;
+ char dimstr[255]; /* Dimension string */
+
+ gzprintf(fp, "*%s.Translation Stp%s/%s: \"\"\n", lang,
+ desc->name, stp_i18n_lookup(po, desc->text));
+ switch (desc->p_type)
+ {
+ case STP_PARAMETER_TYPE_STRING_LIST:
+ if (!desc->is_mandatory)
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc->name,
+ "None", _("None"));
+ num_opts = stp_string_list_count(desc->bounds.str);
+ for (i = 0; i < num_opts; i++)
+ {
+ opt = stp_string_list_param(desc->bounds.str, i);
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang,
+ desc->name, opt->name, stp_i18n_lookup(po, opt->text));
+ }
+ break;
+
+ case STP_PARAMETER_TYPE_BOOLEAN:
+ if (!desc->is_mandatory)
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc->name,
+ "None", _("None"));
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc->name, "False", _("No"));
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc->name, "True", _("Yes"));
+ break;
+
+ case STP_PARAMETER_TYPE_DOUBLE:
+ if (localize_numbers)
+ {
+ for (i = desc->bounds.dbl.lower * 1000;
+ i <= desc->bounds.dbl.upper * 1000; i += 100)
+ {
+ if (desc->deflt.dbl * 1000 == i && desc->is_mandatory)
+ gzprintf(fp, "*%s.Stp%s None/%.3f: \"\"\n", lang,
+ desc->name, ((double) i) * .001);
+ else
+ gzprintf(fp, "*%s.Stp%s %d/%.3f: \"\"\n", lang,
+ desc->name, i, ((double) i) * .001);
+ }
+ }
+ if (!desc->is_mandatory)
+ gzprintf(fp, "*%s.Stp%s None/%s: \"\"\n", lang, desc->name, _("None"));
+ gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang,
+ desc->name, _("Value"));
+ if (!simplified)
+ {
+ gzprintf(fp, "*%s.Translation StpFine%s/%s %s: \"\"\n", lang,
+ desc->name, stp_i18n_lookup(po, desc->text),
+ _("Fine Adjustment"));
+ gzprintf(fp, "*%s.StpFine%s None/%.3f: \"\"\n", lang,
+ desc->name, 0.0);
+ if (localize_numbers)
+ {
+ for (i = 0; i < 100; i += 5)
+ gzprintf(fp, "*%s.StpFine%s %d/%.3f: \"\"\n", lang,
+ desc->name, i, ((double) i) * .001);
+ }
+ }
+ break;
+
+ case STP_PARAMETER_TYPE_DIMENSION:
+ if (!desc->is_mandatory)
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc->name,
+ "None", _("None"));
+ /* Unlike the other fields, dimensions are not strictly numbers */
+ for (i = desc->bounds.dimension.lower;
+ i <= desc->bounds.dimension.upper; i++)
+ {
+ snprintf(dimstr, sizeof(dimstr), _("%.1f mm"),
+ (double)i * 25.4 / 72.0);
+ gzprintf(fp, "*%s.Stp%s %d/%s: \"\"\n", lang,
+ desc->name, i, dimstr);
+ }
+ gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang,
+ desc->name, _("Value"));
+ break;
+
+ case STP_PARAMETER_TYPE_INT:
+ if (!desc->is_mandatory)
+ gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc->name,
+ "None", _("None"));
+ if (localize_numbers)
+ {
+ for (i = desc->bounds.integer.lower;
+ i <= desc->bounds.integer.upper; i++)
+ {
+ gzprintf(fp, "*%s.Stp%s %d/%d: \"\"\n", lang, desc->name, i, i);
+ }
+ }
+ gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang,
+ desc->name, _("Value"));
+ break;
+
+ default:
+ break;
+ }
+}
+
+static void
+print_standard_fonts(gzFile fp)
+{
+ gzputs(fp, "\n*DefaultFont: Courier\n");
+ gzputs(fp, "*Font AvantGarde-Book: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font AvantGarde-BookOblique: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font AvantGarde-Demi: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font AvantGarde-DemiOblique: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Bookman-Demi: Standard \"(001.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Bookman-DemiItalic: Standard \"(001.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Bookman-Light: Standard \"(001.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Bookman-LightItalic: Standard \"(001.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Courier: Standard \"(002.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Courier-Bold: Standard \"(002.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Courier-BoldOblique: Standard \"(002.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Courier-Oblique: Standard \"(002.004S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-Bold: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-BoldOblique: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-Narrow: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-Narrow-Bold: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-Narrow-BoldOblique: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-Narrow-Oblique: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font Helvetica-Oblique: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font NewCenturySchlbk-Bold: Standard \"(001.009S)\" Standard ROM\n");
+ gzputs(fp, "*Font NewCenturySchlbk-BoldItalic: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font NewCenturySchlbk-Italic: Standard \"(001.006S)\" Standard ROM\n");
+ gzputs(fp, "*Font NewCenturySchlbk-Roman: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Palatino-Bold: Standard \"(001.005S)\" Standard ROM\n");
+ gzputs(fp, "*Font Palatino-BoldItalic: Standard \"(001.005S)\" Standard ROM\n");
+ gzputs(fp, "*Font Palatino-Italic: Standard \"(001.005S)\" Standard ROM\n");
+ gzputs(fp, "*Font Palatino-Roman: Standard \"(001.005S)\" Standard ROM\n");
+ gzputs(fp, "*Font Symbol: Special \"(001.007S)\" Special ROM\n");
+ gzputs(fp, "*Font Times-Bold: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Times-BoldItalic: Standard \"(001.009S)\" Standard ROM\n");
+ gzputs(fp, "*Font Times-Italic: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font Times-Roman: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font ZapfChancery-MediumItalic: Standard \"(001.007S)\" Standard ROM\n");
+ gzputs(fp, "*Font ZapfDingbats: Special \"(001.004S)\" Standard ROM\n");
+}
+
+/*
+ * 'write_ppd()' - Write a PPD file.
+ */
+
+static int /* O - Exit status */
+write_ppd(
+ gzFile fp, /* I - File to write to */
+ const stp_printer_t *p, /* I - Printer driver */
+ const char *language, /* I - Primary language */
+ const char *ppd_location, /* I - Location of PPD file */
+ ppd_type_t ppd_type, /* I - 1 = simplified options */
+ const char *filename) /* I - input filename */
+{
+ int i, j, k, l; /* Looping vars */
+ int num_opts; /* Number of printer options */
+ int xdpi, ydpi; /* Resolution info */
+ stp_vars_t *v; /* Variable info */
+ const char *driver; /* Driver name */
+ const char *family; /* Printer family */
+ int model; /* Internal model ID */
+ const char *long_name; /* Driver long name */
+ const char *manufacturer; /* Manufacturer of printer */
+ const char *device_id; /* IEEE1284 device ID */
+ const stp_vars_t *printvars; /* Printer option names */
+ stp_parameter_t desc;
+ stp_parameter_list_t param_list;
+ const stp_param_string_t *opt;
+ int has_quality_parameter = 0;
+ int printer_is_color = 0;
+ int simplified = ppd_type == PPD_SIMPLIFIED;
+ int skip_color = ppd_type == PPD_NO_COLOR_OPTS;
+ int maximum_level = simplified ?
+ STP_PARAMETER_LEVEL_BASIC : STP_PARAMETER_LEVEL_ADVANCED4;
+ char *default_resolution = NULL; /* Default resolution mapped name */
+ stp_string_list_t *resolutions = stp_string_list_create();
+ char **all_langs = getlangs();/* All languages */
+ const stp_string_list_t *po = stp_i18n_load(language);
+ /* Message catalog */
+
+
+ /*
+ * Initialize driver-specific variables...
+ */
+
+ driver = stp_printer_get_driver(p);
+ family = stp_printer_get_family(p);
+ model = stp_printer_get_model(p);
+ long_name = stp_printer_get_long_name(p);
+ manufacturer = stp_printer_get_manufacturer(p);
+ device_id = stp_printer_get_device_id(p);
+ printvars = stp_printer_get_defaults(p);
+
+ print_ppd_header(fp, ppd_type, model, driver, family, long_name,
+ manufacturer, device_id, ppd_location, language, po,
+ all_langs);
+
+
+ /* Set Job Mode to "Job" as this enables the Duplex option */
+ v = stp_vars_create_copy(printvars);
+ stp_set_string_parameter(v, "JobMode", "Job");
+
+ /* Assume that color printers are inkjets and should have pages reversed */
+ stp_describe_parameter(v, "PrintingMode", &desc);
+ if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
+ {
+ if (stp_string_list_is_present(desc.bounds.str, "Color"))
+ {
+ printer_is_color = 1;
+ gzputs(fp, "*ColorDevice: True\n");
+ }
+ else
+ {
+ printer_is_color = 0;
+ gzputs(fp, "*ColorDevice: False\n");
+ }
+ if (strcmp(desc.deflt.str, "Color") == 0)
+ gzputs(fp, "*DefaultColorSpace: RGB\n");
+ else
+ gzputs(fp, "*DefaultColorSpace: Gray\n");
+ }
+ stp_parameter_description_destroy(&desc);
+
+ print_ppd_header_3(fp, ppd_type, model, driver, family, long_name,
+ manufacturer, device_id, ppd_location, language, po,
+ all_langs);
+
+ /* Macintosh color management */
+ gzputs(fp, "*cupsICCProfile Gray../Grayscale: \"/System/Library/ColorSync/Profiles/sRGB Profile.icc\"\n");
+ gzputs(fp, "*cupsICCProfile RGB../Color: \"/System/Library/ColorSync/Profiles/sRGB Profile.icc\"\n");
+ gzputs(fp, "*cupsICCProfile CMYK../Color: \"/System/Library/ColorSync/Profiles/Generic CMYK Profile.icc\"\n");
+ gzputs(fp, "*APSupportsCustomColorMatching: true\n");
+ gzputs(fp, "*APDefaultCustomColorMatchingProfile: sRGB\n");
+ gzputs(fp, "*APCustomColorMatchingProfile: sRGB\n");
+
+ gzputs(fp, "\n");
+
+ print_ppd_header_2(fp, ppd_type, model, driver, family, long_name,
+ manufacturer, device_id, ppd_location, language, po,
+ all_langs);
+
+ /*
+ * Get the page sizes from the driver...
+ */
+
+ if (printer_is_color)
+ stp_set_string_parameter(v, "PrintingMode", "Color");
+ else
+ stp_set_string_parameter(v, "PrintingMode", "BW");
+ stp_set_string_parameter(v, "ChannelBitDepth", "8");
+ print_page_sizes(fp, v, simplified, po);
+
+ /*
+ * Do we support color?
+ */
+
+ print_color_setup(fp, simplified, printer_is_color, po);
/*
* Media types...
@@ -1377,6 +1913,11 @@ write_ppd(
if (num_opts > 0)
{
+ int is_color_opt =
+ stp_parameter_has_category_value(v, &desc, "Color", "Yes");
+ int nocolor = skip_color && is_color_opt;
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"MediaType\"\n");
gzprintf(fp, "*OpenUI *MediaType/%s: PickOne\n", _("Media Type"));
gzputs(fp, "*OPOptionHints MediaType: \"dropdown\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *MediaType\n");
@@ -1389,7 +1930,8 @@ write_ppd(
for (i = 0; i < num_opts; i ++)
{
opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*MediaType %s/%s:\t\"<</MediaType(%s)>>setpagedevice\"\n",
+ gzprintf(fp, "*%sMediaType %s/%s:\t\"<</MediaType(%s)>>setpagedevice\"\n",
+ nocolor && strcmp(opt->name, desc.deflt.str) != 0 ? "?" : "",
opt->name, stp_i18n_lookup(po, opt->text), opt->name);
}
@@ -1406,6 +1948,11 @@ write_ppd(
if (num_opts > 0)
{
+ int is_color_opt =
+ stp_parameter_has_category_value(v, &desc, "Color", "Yes");
+ int nocolor = skip_color && is_color_opt;
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"InputSlot\"\n");
gzprintf(fp, "*OpenUI *InputSlot/%s: PickOne\n", _("Media Source"));
gzputs(fp, "*OPOptionHints InputSlot: \"dropdown\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *InputSlot\n");
@@ -1418,7 +1965,8 @@ write_ppd(
for (i = 0; i < num_opts; i ++)
{
opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*InputSlot %s/%s:\t\"<</MediaClass(%s)>>setpagedevice\"\n",
+ gzprintf(fp, "*%sInputSlot %s/%s:\t\"<</MediaClass(%s)>>setpagedevice\"\n",
+ nocolor && strcmp(opt->name, desc.deflt.str) != 0 ? "?" : "",
opt->name, stp_i18n_lookup(po, opt->text), opt->name);
}
@@ -1433,6 +1981,11 @@ write_ppd(
stp_describe_parameter(v, "Quality", &desc);
if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST && desc.is_active)
{
+ int is_color_opt =
+ stp_parameter_has_category_value(v, &desc, "Color", "Yes");
+ int nocolor = skip_color && is_color_opt;
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"Quality\"\n");
stp_clear_string_parameter(v, "Resolution");
has_quality_parameter = 1;
num_opts = stp_string_list_count(desc.bounds.str);
@@ -1462,7 +2015,8 @@ write_ppd(
stp_clear_string_parameter(v, "Resolution");
stp_parameter_description_destroy(&res_desc);
}
- gzprintf(fp, "*StpQuality %s/%s:\t\"<</HWResolution[%d %d]/cupsRowFeed %d>>setpagedevice\"\n",
+ gzprintf(fp, "*%sStpQuality %s/%s:\t\"<</HWResolution[%d %d]/cupsRowFeed %d>>setpagedevice\"\n",
+ nocolor && strcmp(opt->name, desc.deflt.str) != 0 ? "?" : "",
opt->name, stp_i18n_lookup(po, opt->text), xdpi, ydpi, i + 1);
}
gzputs(fp, "*CloseUI: *StpQuality\n\n");
@@ -1479,11 +2033,16 @@ write_ppd(
if (!simplified || desc.p_level == STP_PARAMETER_LEVEL_BASIC)
{
+ int is_color_opt =
+ stp_parameter_has_category_value(v, &desc, "Color", "Yes");
+ int nocolor = skip_color && is_color_opt;
stp_string_list_t *res_list = stp_string_list_create();
char res_name[64]; /* Plenty long enough for XXXxYYYdpi */
int resolution_ok;
int tmp_xdpi, tmp_ydpi;
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"Resolution\"\n");
gzprintf(fp, "*OpenUI *Resolution/%s: PickOne\n", _("Resolution"));
if (num_opts > 3)
gzputs(fp, "*OPOptionHints Resolution: \"resolution radiobuttons\"\n");
@@ -1590,7 +2149,8 @@ write_ppd(
tmp_xdpi /= 2;
} while (!resolution_ok);
stp_string_list_add_string(resolutions, res_name, opt->text);
- gzprintf(fp, "*Resolution %s/%s:\t\"<</HWResolution[%d %d]/cupsCompression %d>>setpagedevice\"\n",
+ gzprintf(fp, "*%sResolution %s/%s:\t\"<</HWResolution[%d %d]/cupsCompression %d>>setpagedevice\"\n",
+ nocolor && strcmp(opt->name, desc.deflt.str) != 0 ? "?" : "",
res_name, stp_i18n_lookup(po, opt->text), xdpi, ydpi, i + 1);
if (strcmp(res_name, opt->name) != 0)
gzprintf(fp, "*StpResolutionMap: %s %s\n", res_name, opt->name);
@@ -1628,6 +2188,10 @@ write_ppd(
num_opts = stp_string_list_count(desc.bounds.str);
if (num_opts > 0)
{
+ int is_color_opt =
+ stp_parameter_has_category_value(v, &desc, "Color", "Yes");
+ if (is_color_opt)
+ gzprintf(fp, "*ColorKeyWords: \"InputSlot\"\n");
gzprintf(fp, "*OpenUI *Duplex/%s: PickOne\n", _("2-Sided Printing"));
gzputs(fp, "*OPOptionHints Duplex: \"radiobuttons\"\n");
gzputs(fp, "*OrderDependency: 10 AnySetup *Duplex\n");
@@ -1673,7 +2237,6 @@ write_ppd(
size_t param_count = stp_parameter_list_count(param_list);
for (l = 0; l < param_count; l++)
{
- int print_close_ui = 1;
const stp_parameter_t *lparam =
stp_parameter_list_param(param_list, l);
if (lparam->p_class != j || lparam->p_level != k ||
@@ -1687,231 +2250,12 @@ write_ppd(
stp_describe_parameter(v, lparam->name, &desc);
if (desc.is_active)
{
- int printed_default_value = 0;
if (!printed_open_group)
{
print_group_open(fp, j, k, language, po);
printed_open_group = 1;
}
- gzprintf(fp, "*OpenUI *Stp%s/%s: PickOne\n",
- desc.name, stp_i18n_lookup(po, desc.text));
- gzprintf(fp, "*OrderDependency: 10 AnySetup *Stp%s\n",
- desc.name);
- switch (desc.p_type)
- {
- case STP_PARAMETER_TYPE_STRING_LIST:
- num_opts = stp_string_list_count(desc.bounds.str);
- if (num_opts > 3)
- gzprintf(fp, "*OPOptionHints Stp%s: \"dropdown\"\n",
- lparam->name);
- else
- gzprintf(fp, "*OPOptionHints Stp%s: \"radiobuttons\"\n",
- lparam->name);
- gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
- desc.name, desc.p_type, desc.is_mandatory,
- desc.p_class, desc.p_level, desc.channel,
- 0.0, 0.0, 0.0);
- if (desc.is_mandatory)
- {
- gzprintf(fp, "*DefaultStp%s: %s\n",
- desc.name, desc.deflt.str);
- gzprintf(fp, "*StpDefaultStp%s: %s\n",
- desc.name, desc.deflt.str);
- }
- else
- {
- gzprintf(fp, "*DefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*StpDefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc.name,
- "None", _("None"));
- }
- for (i = 0; i < num_opts; i++)
- {
- opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n",
- desc.name, opt->name, stp_i18n_lookup(po, opt->text));
- }
- break;
- case STP_PARAMETER_TYPE_BOOLEAN:
- gzprintf(fp, "*OPOptionHints Stp%s: \"checkbox\"\n",
- lparam->name);
- gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
- desc.name, desc.p_type, desc.is_mandatory,
- desc.p_class, desc.p_level, desc.channel,
- 0.0, 0.0, desc.deflt.boolean ? 1.0 : 0.0);
- if (desc.is_mandatory)
- {
- gzprintf(fp, "*DefaultStp%s: %s\n", desc.name,
- desc.deflt.boolean ? "True" : "False");
- gzprintf(fp, "*StpDefaultStp%s: %s\n", desc.name,
- desc.deflt.boolean ? "True" : "False");
- }
- else
- {
- gzprintf(fp, "*DefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*StpDefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc.name,
- "None", _("None"));
- }
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n",
- desc.name, "False", _("No"));
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n",
- desc.name, "True", _("Yes"));
- break;
- case STP_PARAMETER_TYPE_DOUBLE:
- gzprintf(fp, "*OPOptionHints Stp%s: \"slider input spinbox\"\n",
- lparam->name);
- gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
- desc.name, desc.p_type, desc.is_mandatory,
- desc.p_class, desc.p_level, desc.channel,
- desc.bounds.dbl.lower, desc.bounds.dbl.upper,
- desc.deflt.dbl);
- gzprintf(fp, "*DefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*StpDefaultStp%s: None\n", desc.name);
- for (i = desc.bounds.dbl.lower * 1000;
- i <= desc.bounds.dbl.upper * 1000 ; i += 100)
- {
- if (desc.deflt.dbl * 1000 == i && desc.is_mandatory)
- {
- gzprintf(fp, "*Stp%s None/%.3f: \"\"\n",
- desc.name, ((double) i) * .001);
- printed_default_value = 1;
- }
- else
- gzprintf(fp, "*Stp%s %d/%.3f: \"\"\n",
- desc.name, i, ((double) i) * .001);
- }
- if (!desc.is_mandatory)
- gzprintf(fp, "*Stp%s None/%s: \"\"\n",
- desc.name, _("None"));
- else if (! printed_default_value)
- gzprintf(fp, "*Stp%s None/%.3f: \"\"\n",
- desc.name, desc.deflt.dbl);
- gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc.name);
-
- /*
- * Add custom option code and value parameter...
- */
-
- gzprintf(fp, "*CustomStp%s True: \"pop\"\n", desc.name);
- gzprintf(fp, "*ParamCustomStp%s Value/%s: 1 real %.3f %.3f\n\n",
- desc.name, _("Value"), desc.bounds.dbl.lower,
- desc.bounds.dbl.upper);
- if (!simplified)
- {
- gzprintf(fp, "*OpenUI *StpFine%s/%s %s: PickOne\n",
- desc.name, stp_i18n_lookup(po, desc.text), _("Fine Adjustment"));
- gzprintf(fp, "*OPOptionHints StpFine%s: \"hide\"\n",
- lparam->name);
- gzprintf(fp, "*StpStpFine%s: %d %d %d %d %d %.3f %.3f %.3f\n",
- desc.name, STP_PARAMETER_TYPE_INVALID, 0,
- 0, 0, -1, 0.0, 0.0, 0.0);
- gzprintf(fp, "*DefaultStpFine%s:None\n", desc.name);
- gzprintf(fp, "*StpDefaultStpFine%s:None\n", desc.name);
- gzprintf(fp, "*StpFine%s None/0.000: \"\"\n", desc.name);
- for (i = 0; i < 100; i += 5)
- gzprintf(fp, "*StpFine%s %d/%.3f: \"\"\n",
- desc.name, i, ((double) i) * .001);
- gzprintf(fp, "*CloseUI: *StpFine%s\n\n", desc.name);
- }
- print_close_ui = 0;
-
- break;
- case STP_PARAMETER_TYPE_DIMENSION:
- gzprintf(fp, "*OPOptionHints Stp%s: \"length slider input spinbox\"\n",
- lparam->name);
- gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
- desc.name, desc.p_type, desc.is_mandatory,
- desc.p_class, desc.p_level, desc.channel,
- (double) desc.bounds.dimension.lower,
- (double) desc.bounds.dimension.upper,
- (double) desc.deflt.dimension);
- if (desc.is_mandatory)
- {
- gzprintf(fp, "*DefaultStp%s: %d\n",
- desc.name, desc.deflt.dimension);
- gzprintf(fp, "*StpDefaultStp%s: %d\n",
- desc.name, desc.deflt.dimension);
- }
- else
- {
- gzprintf(fp, "*DefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*StpDefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc.name,
- "None", _("None"));
- }
- for (i = desc.bounds.dimension.lower;
- i <= desc.bounds.dimension.upper; i++)
- {
- snprintf(dimstr, sizeof(dimstr), _("%.1f mm"),
- (double)i * 25.4 / 72.0);
- gzprintf(fp, "*Stp%s %d/%s: \"\"\n",
- desc.name, i, dimstr);
- }
-
- print_close_ui = 0;
- gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc.name);
-
- /*
- * Add custom option code and value parameter...
- */
-
- gzprintf(fp, "*CustomStp%s True: \"pop\"\n", desc.name);
- gzprintf(fp, "*ParamCustomStp%s Value/%s: 1 points %d %d\n\n",
- desc.name, _("Value"),
- desc.bounds.dimension.lower,
- desc.bounds.dimension.upper);
-
- break;
- case STP_PARAMETER_TYPE_INT:
- gzprintf(fp, "*OPOptionHints Stp%s: \"input spinbox\"\n",
- lparam->name);
- gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n",
- desc.name, desc.p_type, desc.is_mandatory,
- desc.p_class, desc.p_level, desc.channel,
- (double) desc.bounds.integer.lower,
- (double) desc.bounds.integer.upper,
- (double) desc.deflt.integer);
- if (desc.is_mandatory)
- {
- gzprintf(fp, "*DefaultStp%s: %d\n",
- desc.name, desc.deflt.integer);
- gzprintf(fp, "*StpDefaultStp%s: %d\n",
- desc.name, desc.deflt.integer);
- }
- else
- {
- gzprintf(fp, "*DefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*StpDefaultStp%s: None\n", desc.name);
- gzprintf(fp, "*Stp%s %s/%s: \"\"\n", desc.name,
- "None", _("None"));
- }
- for (i = desc.bounds.integer.lower;
- i <= desc.bounds.integer.upper; i++)
- {
- gzprintf(fp, "*Stp%s %d/%d: \"\"\n",
- desc.name, i, i);
- }
-
- print_close_ui = 0;
- gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc.name);
-
- /*
- * Add custom option code and value parameter...
- */
-
- gzprintf(fp, "*CustomStp%s True: \"pop\"\n", desc.name);
- gzprintf(fp, "*ParamCustomStp%s Value/%s: 1 int %d %d\n\n",
- desc.name, _("Value"),
- desc.bounds.dimension.lower,
- desc.bounds.dimension.upper);
-
- break;
- default:
- break;
- }
- if (print_close_ui)
- gzprintf(fp, "*CloseUI: *Stp%s\n\n", desc.name);
+ print_one_option(fp, v, po, ppd_type, lparam, &desc);
}
stp_parameter_description_destroy(&desc);
}
@@ -1938,421 +2282,279 @@ write_ppd(
}
stp_parameter_description_destroy(&desc);
-#undef _
-#define _(x) stp_i18n_lookup(altpo, x)
-
if (!language)
- {
- /*
- * Generate globalized PPDs when POSIX language is requested...
- */
-
- const char *lang;
- const stp_string_list_t *altpo;
- int langnum;
-
- for (langnum = 0; all_langs[langnum]; langnum ++)
{
- lang = all_langs[langnum];
-
- if (!strcmp(lang, "C") || !strcmp(lang, "en"))
- continue;
+ /*
+ * Generate globalized PPDs when POSIX language is requested...
+ */
- if ((altpo = stp_i18n_load(lang)) == NULL)
- continue;
+ const char *lang;
+ const stp_string_list_t *savepo = po;
+ int langnum;
- /*
- * Get the page sizes from the driver...
- */
+ for (langnum = 0; all_langs[langnum]; langnum ++)
+ {
+ lang = all_langs[langnum];
- if (printer_is_color)
- stp_set_string_parameter(v, "PrintingMode", "Color");
- else
- stp_set_string_parameter(v, "PrintingMode", "BW");
- stp_set_string_parameter(v, "ChannelBitDepth", "8");
- stp_describe_parameter(v, "PageSize", &desc);
- num_opts = stp_string_list_count(desc.bounds.str);
+ if (!strcmp(lang, "C") || !strcmp(lang, "en"))
+ continue;
- gzprintf(fp, "*%s.Translation PageSize/%s: \"\"\n", lang, _("Media Size"));
- gzprintf(fp, "*%s.Translation PageRegion/%s: \"\"\n", lang, _("Media Size"));
+ if ((po = stp_i18n_load(lang)) == NULL)
+ continue;
- for (i = 0; i < num_opts; i++)
- {
- const stp_papersize_t *papersize;
- opt = stp_string_list_param(desc.bounds.str, i);
- papersize = stp_get_papersize_by_name(opt->name);
+ /*
+ * Get the page sizes from the driver...
+ */
- if (!papersize)
- continue;
+ if (printer_is_color)
+ stp_set_string_parameter(v, "PrintingMode", "Color");
+ else
+ stp_set_string_parameter(v, "PrintingMode", "BW");
+ stp_set_string_parameter(v, "ChannelBitDepth", "8");
+ stp_describe_parameter(v, "PageSize", &desc);
+ num_opts = stp_string_list_count(desc.bounds.str);
-/*
- if (strcmp(opt->name, "Custom") == 0)
- continue;
-*/
+ gzprintf(fp, "*%s.Translation PageSize/%s: \"\"\n", lang, _("Media Size"));
+ gzprintf(fp, "*%s.Translation PageRegion/%s: \"\"\n", lang, _("Media Size"));
- if (simplified && num_opts >= 10 &&
- (papersize->paper_unit == PAPERSIZE_ENGLISH_EXTENDED ||
- papersize->paper_unit == PAPERSIZE_METRIC_EXTENDED))
- continue;
+ for (i = 0; i < num_opts; i++)
+ {
+ const stp_papersize_t *papersize;
+ opt = stp_string_list_param(desc.bounds.str, i);
+ papersize = stp_get_papersize_by_name(opt->name);
- if ((papersize->width <= 0 || papersize->height <= 0) &&
- strcmp(opt->name, "Custom") != 0)
- continue;
+ if (!papersize)
+ continue;
- gzprintf(fp, "*%s.PageSize %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- gzprintf(fp, "*%s.PageRegion %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- }
+ /*
+ if (strcmp(opt->name, "Custom") == 0)
+ continue;
+ */
- stp_parameter_description_destroy(&desc);
+ if (simplified && num_opts >= 10 &&
+ (papersize->paper_unit == PAPERSIZE_ENGLISH_EXTENDED ||
+ papersize->paper_unit == PAPERSIZE_METRIC_EXTENDED))
+ continue;
- /*
- * Do we support color?
- */
+ if ((papersize->width <= 0 || papersize->height <= 0) &&
+ strcmp(opt->name, "Custom") != 0)
+ continue;
- gzprintf(fp, "*%s.Translation ColorModel/%s: \"\"\n", lang, _("Color Model"));
- gzprintf(fp, "*%s.ColorModel Gray/%s: \"\"\n", lang, _("Grayscale"));
- gzprintf(fp, "*%s.ColorModel Black/%s: \"\"\n", lang, _("Inverted Grayscale"));
+ gzprintf(fp, "*%s.PageSize %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ gzprintf(fp, "*%s.PageRegion %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ }
- if (printer_is_color)
- {
- gzprintf(fp, "*%s.ColorModel RGB/%s: \"\"\n", lang, _("RGB Color"));
- gzprintf(fp, "*%s.ColorModel CMY/%s: \"\"\n", lang, _("CMY Color"));
- gzprintf(fp, "*%s.ColorModel CMYK/%s: \"\"\n", lang, _("CMYK"));
- gzprintf(fp, "*%s.ColorModel KCMY/%s: \"\"\n", lang, _("KCMY"));
- }
+ stp_parameter_description_destroy(&desc);
- if (!simplified)
- {
/*
- * 8 or 16 bit color (16 bit is slower)
+ * Do we support color?
*/
- gzprintf(fp, "*%s.Translation StpColorPrecision/%s: \"\"\n", lang, _("Color Precision"));
- gzprintf(fp, "*%s.StpColorPrecision Normal/%s: \"\"\n", lang, _("Normal"));
- gzprintf(fp, "*%s.StpColorPrecision Best/%s: \"\"\n", lang, _("Best"));
- }
- /*
- * Media types...
- */
+ gzprintf(fp, "*%s.Translation ColorModel/%s: \"\"\n", lang, _("Color Model"));
+ gzprintf(fp, "*%s.ColorModel Gray/%s: \"\"\n", lang, _("Grayscale"));
+ gzprintf(fp, "*%s.ColorModel Black/%s: \"\"\n", lang, _("Inverted Grayscale"));
- stp_describe_parameter(v, "MediaType", &desc);
- num_opts = stp_string_list_count(desc.bounds.str);
-
- if (num_opts > 0)
- {
- gzprintf(fp, "*%s.Translation MediaType/%s: \"\"\n", lang, _("Media Type"));
+ if (printer_is_color)
+ {
+ gzprintf(fp, "*%s.ColorModel RGB/%s: \"\"\n", lang, _("RGB Color"));
+ gzprintf(fp, "*%s.ColorModel CMY/%s: \"\"\n", lang, _("CMY Color"));
+ gzprintf(fp, "*%s.ColorModel CMYK/%s: \"\"\n", lang, _("CMYK"));
+ gzprintf(fp, "*%s.ColorModel KCMY/%s: \"\"\n", lang, _("KCMY"));
+ }
- for (i = 0; i < num_opts; i ++)
- {
- opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*%s.MediaType %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- }
- }
- stp_parameter_description_destroy(&desc);
+ if (!simplified)
+ {
+ /*
+ * 8 or 16 bit color (16 bit is slower)
+ */
+ gzprintf(fp, "*%s.Translation StpColorPrecision/%s: \"\"\n", lang, _("Color Precision"));
+ gzprintf(fp, "*%s.StpColorPrecision Normal/%s: \"\"\n", lang, _("Normal"));
+ gzprintf(fp, "*%s.StpColorPrecision Best/%s: \"\"\n", lang, _("Best"));
+ }
- /*
- * Input slots...
- */
+ /*
+ * Media types...
+ */
- stp_describe_parameter(v, "InputSlot", &desc);
- num_opts = stp_string_list_count(desc.bounds.str);
+ stp_describe_parameter(v, "MediaType", &desc);
+ num_opts = stp_string_list_count(desc.bounds.str);
- if (num_opts > 0)
- {
- gzprintf(fp, "*%s.Translation InputSlot/%s: \"\"\n", lang, _("Media Source"));
+ if (num_opts > 0)
+ {
+ gzprintf(fp, "*%s.Translation MediaType/%s: \"\"\n", lang, _("Media Type"));
- for (i = 0; i < num_opts; i ++)
- {
- opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*%s.InputSlot %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- }
- }
- stp_parameter_description_destroy(&desc);
+ for (i = 0; i < num_opts; i ++)
+ {
+ opt = stp_string_list_param(desc.bounds.str, i);
+ gzprintf(fp, "*%s.MediaType %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ }
+ }
+ stp_parameter_description_destroy(&desc);
- /*
- * Quality settings
- */
+ /*
+ * Input slots...
+ */
- stp_describe_parameter(v, "Quality", &desc);
- if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST && desc.is_active)
- {
- gzprintf(fp, "*%s.Translation StpQuality/%s: \"\"\n", lang, stp_i18n_lookup(altpo, desc.text));
+ stp_describe_parameter(v, "InputSlot", &desc);
num_opts = stp_string_list_count(desc.bounds.str);
- for (i = 0; i < num_opts; i++)
+
+ if (num_opts > 0)
{
- opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*%s.StpQuality %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
+ gzprintf(fp, "*%s.Translation InputSlot/%s: \"\"\n", lang, _("Media Source"));
+
+ for (i = 0; i < num_opts; i ++)
+ {
+ opt = stp_string_list_param(desc.bounds.str, i);
+ gzprintf(fp, "*%s.InputSlot %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ }
}
- }
- stp_parameter_description_destroy(&desc);
+ stp_parameter_description_destroy(&desc);
- /*
- * Resolution
- */
+ /*
+ * Quality settings
+ */
+
+ stp_describe_parameter(v, "Quality", &desc);
+ if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST && desc.is_active)
+ {
+ gzprintf(fp, "*%s.Translation StpQuality/%s: \"\"\n", lang, stp_i18n_lookup(po, desc.text));
+ num_opts = stp_string_list_count(desc.bounds.str);
+ for (i = 0; i < num_opts; i++)
+ {
+ opt = stp_string_list_param(desc.bounds.str, i);
+ gzprintf(fp, "*%s.StpQuality %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ }
+ }
+ stp_parameter_description_destroy(&desc);
- stp_describe_parameter(v, "Resolution", &desc);
- num_opts = stp_string_list_count(resolutions);
+ /*
+ * Resolution
+ */
- if (!simplified || desc.p_level == STP_PARAMETER_LEVEL_BASIC)
- {
- gzprintf(fp, "*%s.Translation Resolution/%s: \"\"\n", lang, _("Resolution"));
- if (has_quality_parameter)
- gzprintf(fp, "*%s.Resolution %s/%s: \"\"\n", lang,
- default_resolution, _("Automatic"));
+ stp_describe_parameter(v, "Resolution", &desc);
+ num_opts = stp_string_list_count(resolutions);
- for (i = 0; i < num_opts; i ++)
+ if (!simplified || desc.p_level == STP_PARAMETER_LEVEL_BASIC)
{
- opt = stp_string_list_param(resolutions, i);
- gzprintf(fp, "*%s.Resolution %s/%s: \"\"\n", lang,
- opt->name, stp_i18n_lookup(altpo, opt->text));
+ gzprintf(fp, "*%s.Translation Resolution/%s: \"\"\n", lang, _("Resolution"));
+ if (has_quality_parameter)
+ gzprintf(fp, "*%s.Resolution %s/%s: \"\"\n", lang,
+ default_resolution, _("Automatic"));
+
+ for (i = 0; i < num_opts; i ++)
+ {
+ opt = stp_string_list_param(resolutions, i);
+ gzprintf(fp, "*%s.Resolution %s/%s: \"\"\n", lang,
+ opt->name, stp_i18n_lookup(po, opt->text));
+ }
}
- }
- stp_parameter_description_destroy(&desc);
+ stp_parameter_description_destroy(&desc);
+
+ /*
+ * OutputOrder
+ */
- /*
- * OutputOrder
- */
+ stp_describe_parameter(v, "OutputOrder", &desc);
+ if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
+ {
+ gzprintf(fp, "*%s.Translation OutputOrder/%s: \"\"\n", lang, _("Output Order"));
+ gzprintf(fp, "*%s.OutputOrder Normal/%s: \"\"\n", lang, _("Normal"));
+ gzprintf(fp, "*%s.OutputOrder Reverse/%s: \"\"\n", lang, _("Reverse"));
+ }
+ stp_parameter_description_destroy(&desc);
- stp_describe_parameter(v, "OutputOrder", &desc);
- if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
- {
- gzprintf(fp, "*%s.Translation OutputOrder/%s: \"\"\n", lang, _("Output Order"));
- gzprintf(fp, "*%s.OutputOrder Normal/%s: \"\"\n", lang, _("Normal"));
- gzprintf(fp, "*%s.OutputOrder Reverse/%s: \"\"\n", lang, _("Reverse"));
- }
- stp_parameter_description_destroy(&desc);
+ /*
+ * Duplex
+ * Note that the opt->name strings MUST match those in the printer driver(s)
+ * else the PPD files will not be generated correctly
+ */
- /*
- * Duplex
- * Note that the opt->name strings MUST match those in the printer driver(s)
- * else the PPD files will not be generated correctly
- */
+ stp_describe_parameter(v, "Duplex", &desc);
+ if (desc.is_active && desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
+ {
+ num_opts = stp_string_list_count(desc.bounds.str);
+ if (num_opts > 0)
+ {
+ gzprintf(fp, "*%s.Translation Duplex/%s: \"\"\n", lang, _("2-Sided Printing"));
- stp_describe_parameter(v, "Duplex", &desc);
- if (desc.is_active && desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
- {
- num_opts = stp_string_list_count(desc.bounds.str);
- if (num_opts > 0)
- {
- gzprintf(fp, "*%s.Translation Duplex/%s: \"\"\n", lang, _("2-Sided Printing"));
-
- for (i = 0; i < num_opts; i++)
- {
- opt = stp_string_list_param(desc.bounds.str, i);
- if (strcmp(opt->name, "None") == 0)
- gzprintf(fp, "*%s.Duplex %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- else if (strcmp(opt->name, "DuplexNoTumble") == 0)
- gzprintf(fp, "*%s.Duplex %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- else if (strcmp(opt->name, "DuplexTumble") == 0)
- gzprintf(fp, "*%s.Duplex %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(altpo, opt->text));
- }
- }
- }
- stp_parameter_description_destroy(&desc);
+ for (i = 0; i < num_opts; i++)
+ {
+ opt = stp_string_list_param(desc.bounds.str, i);
+ if (strcmp(opt->name, "None") == 0)
+ gzprintf(fp, "*%s.Duplex %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ else if (strcmp(opt->name, "DuplexNoTumble") == 0)
+ gzprintf(fp, "*%s.Duplex %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ else if (strcmp(opt->name, "DuplexTumble") == 0)
+ gzprintf(fp, "*%s.Duplex %s/%s: \"\"\n", lang, opt->name, stp_i18n_lookup(po, opt->text));
+ }
+ }
+ }
+ stp_parameter_description_destroy(&desc);
- gzprintf(fp, "*%s.Translation StpiShrinkOutput/%s: \"\"\n", lang,
- _("Shrink Page If Necessary to Fit Borders"));
- gzprintf(fp, "*%s.StpiShrinkOutput %s/%s: \"\"\n", lang, "Shrink", _("Shrink (print the whole page)"));
- gzprintf(fp, "*%s.StpiShrinkOutput %s/%s: \"\"\n", lang, "Crop", _("Crop (preserve dimensions)"));
- gzprintf(fp, "*%s.StpiShrinkOutput %s/%s: \"\"\n", lang, "Expand", _("Expand (use maximum page area)"));
+ gzprintf(fp, "*%s.Translation StpiShrinkOutput/%s: \"\"\n", lang,
+ _("Shrink Page If Necessary to Fit Borders"));
+ gzprintf(fp, "*%s.StpiShrinkOutput %s/%s: \"\"\n", lang, "Shrink", _("Shrink (print the whole page)"));
+ gzprintf(fp, "*%s.StpiShrinkOutput %s/%s: \"\"\n", lang, "Crop", _("Crop (preserve dimensions)"));
+ gzprintf(fp, "*%s.StpiShrinkOutput %s/%s: \"\"\n", lang, "Expand", _("Expand (use maximum page area)"));
- param_list = stp_get_parameter_list(v);
+ param_list = stp_get_parameter_list(v);
- for (j = 0; j <= STP_PARAMETER_CLASS_OUTPUT; j++)
- {
- for (k = 0; k <= maximum_level; k++)
+ for (j = 0; j <= STP_PARAMETER_CLASS_OUTPUT; j++)
{
- size_t param_count = stp_parameter_list_count(param_list);
- for (l = 0; l < param_count; l++)
+ for (k = 0; k <= maximum_level; k++)
{
- const stp_parameter_t *lparam =
- stp_parameter_list_param(param_list, l);
- if (lparam->p_class != j || lparam->p_level != k ||
- is_special_option(lparam->name) || lparam->read_only ||
- (lparam->p_type != STP_PARAMETER_TYPE_STRING_LIST &&
- lparam->p_type != STP_PARAMETER_TYPE_BOOLEAN &&
- lparam->p_type != STP_PARAMETER_TYPE_DIMENSION &&
- lparam->p_type != STP_PARAMETER_TYPE_INT &&
- lparam->p_type != STP_PARAMETER_TYPE_DOUBLE))
- continue;
- stp_describe_parameter(v, lparam->name, &desc);
- if (desc.is_active)
+ size_t param_count = stp_parameter_list_count(param_list);
+ for (l = 0; l < param_count; l++)
{
- gzprintf(fp, "*%s.Translation Stp%s/%s: \"\"\n", lang,
- desc.name, stp_i18n_lookup(altpo, desc.text));
- switch (desc.p_type)
- {
- case STP_PARAMETER_TYPE_STRING_LIST:
- if (!desc.is_mandatory)
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc.name,
- "None", _("None"));
- num_opts = stp_string_list_count(desc.bounds.str);
- for (i = 0; i < num_opts; i++)
- {
- opt = stp_string_list_param(desc.bounds.str, i);
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang,
- desc.name, opt->name, stp_i18n_lookup(altpo, opt->text));
- }
- break;
-
- case STP_PARAMETER_TYPE_BOOLEAN:
- if (!desc.is_mandatory)
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc.name,
- "None", _("None"));
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang,
- desc.name, "False", _("No"));
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang,
- desc.name, "True", _("Yes"));
- break;
-
- case STP_PARAMETER_TYPE_DOUBLE:
- if (localize_numbers)
- {
- for (i = desc.bounds.dbl.lower * 1000;
- i <= desc.bounds.dbl.upper * 1000 ; i += 100)
- {
- if (desc.deflt.dbl * 1000 == i && desc.is_mandatory)
- gzprintf(fp, "*%s.Stp%s None/%.3f: \"\"\n", lang,
- desc.name, ((double) i) * .001);
- else
- gzprintf(fp, "*%s.Stp%s %d/%.3f: \"\"\n", lang,
- desc.name, i, ((double) i) * .001);
- }
- }
- if (!desc.is_mandatory)
- gzprintf(fp, "*%s.Stp%s None/%s: \"\"\n", lang,
- desc.name, _("None"));
- gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang,
- desc.name, _("Value"));
- if (!simplified)
- {
- gzprintf(fp, "*%s.Translation StpFine%s/%s %s: \"\"\n", lang,
- desc.name, stp_i18n_lookup(altpo, desc.text), _("Fine Adjustment"));
- gzprintf(fp, "*%s.StpFine%s None/%.3f: \"\"\n", lang,
- desc.name, 0.0);
- if (localize_numbers)
- {
- for (i = 0; i < 100; i += 5)
- gzprintf(fp, "*%s.StpFine%s %d/%.3f: \"\"\n", lang,
- desc.name, i, ((double) i) * .001);
- }
- }
- break;
-
- case STP_PARAMETER_TYPE_DIMENSION:
- if (!desc.is_mandatory)
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc.name,
- "None", _("None"));
- /* Unlike the other fields, dimensions are not strictly numbers */
- for (i = desc.bounds.dimension.lower;
- i <= desc.bounds.dimension.upper; i++)
- {
- snprintf(dimstr, sizeof(dimstr), _("%.1f mm"),
- (double)i * 25.4 / 72.0);
- gzprintf(fp, "*%s.Stp%s %d/%s: \"\"\n", lang,
- desc.name, i, dimstr);
- }
- gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang,
- desc.name, _("Value"));
- break;
-
- case STP_PARAMETER_TYPE_INT:
- if (!desc.is_mandatory)
- gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc.name,
- "None", _("None"));
- if (localize_numbers)
- {
- for (i = desc.bounds.integer.lower;
- i <= desc.bounds.integer.upper; i++)
- {
- gzprintf(fp, "*%s.Stp%s %d/%d: \"\"\n", lang,
- desc.name, i, i);
- }
- }
- gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang,
- desc.name, _("Value"));
- break;
-
- default:
- break;
- }
+ const stp_parameter_t *lparam =
+ stp_parameter_list_param(param_list, l);
+ if (lparam->p_class != j || lparam->p_level != k ||
+ is_special_option(lparam->name) || lparam->read_only ||
+ (lparam->p_type != STP_PARAMETER_TYPE_STRING_LIST &&
+ lparam->p_type != STP_PARAMETER_TYPE_BOOLEAN &&
+ lparam->p_type != STP_PARAMETER_TYPE_DIMENSION &&
+ lparam->p_type != STP_PARAMETER_TYPE_INT &&
+ lparam->p_type != STP_PARAMETER_TYPE_DOUBLE))
+ continue;
+ stp_describe_parameter(v, lparam->name, &desc);
+ if (desc.is_active)
+ print_one_localization(fp, po, simplified, lang,
+ lparam, &desc);
+ stp_parameter_description_destroy(&desc);
}
- stp_parameter_description_destroy(&desc);
}
}
- }
- stp_parameter_list_destroy(param_list);
- stp_describe_parameter(v, "ImageType", &desc);
- if (desc.is_active && desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
- {
- num_opts = stp_string_list_count(desc.bounds.str);
- if (num_opts > 0)
+ stp_parameter_list_destroy(param_list);
+ stp_describe_parameter(v, "ImageType", &desc);
+ if (desc.is_active && desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
{
- for (i = 0; i < num_opts; i++)
+ num_opts = stp_string_list_count(desc.bounds.str);
+ if (num_opts > 0)
{
- opt = stp_string_list_param(desc.bounds.str, i);
- if (strcmp(opt->name, "None") != 0)
- gzprintf(fp, "*%s.APPrinterPreset %s/%s: \"*StpImageType %s\"\n",
- lang, opt->name, opt->text, opt->name);
+ for (i = 0; i < num_opts; i++)
+ {
+ opt = stp_string_list_param(desc.bounds.str, i);
+ if (strcmp(opt->name, "None") != 0)
+ gzprintf(fp, "*%s.APPrinterPreset %s/%s: \"*StpImageType %s\"\n",
+ lang, opt->name, opt->text, opt->name);
+ }
}
}
+ stp_parameter_description_destroy(&desc);
}
- stp_parameter_description_destroy(&desc);
+ po = savepo;
}
- }
if (has_quality_parameter)
stp_free(default_resolution);
stp_string_list_destroy(resolutions);
-#undef _
-#define _(x) x
-
-
/*
* Fonts...
*/
- gzputs(fp, "\n*DefaultFont: Courier\n");
- gzputs(fp, "*Font AvantGarde-Book: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font AvantGarde-BookOblique: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font AvantGarde-Demi: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font AvantGarde-DemiOblique: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Bookman-Demi: Standard \"(001.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Bookman-DemiItalic: Standard \"(001.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Bookman-Light: Standard \"(001.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Bookman-LightItalic: Standard \"(001.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Courier: Standard \"(002.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Courier-Bold: Standard \"(002.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Courier-BoldOblique: Standard \"(002.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Courier-Oblique: Standard \"(002.004S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-Bold: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-BoldOblique: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-Narrow: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-Narrow-Bold: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-Narrow-BoldOblique: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-Narrow-Oblique: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font Helvetica-Oblique: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font NewCenturySchlbk-Bold: Standard \"(001.009S)\" Standard ROM\n");
- gzputs(fp, "*Font NewCenturySchlbk-BoldItalic: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font NewCenturySchlbk-Italic: Standard \"(001.006S)\" Standard ROM\n");
- gzputs(fp, "*Font NewCenturySchlbk-Roman: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Palatino-Bold: Standard \"(001.005S)\" Standard ROM\n");
- gzputs(fp, "*Font Palatino-BoldItalic: Standard \"(001.005S)\" Standard ROM\n");
- gzputs(fp, "*Font Palatino-Italic: Standard \"(001.005S)\" Standard ROM\n");
- gzputs(fp, "*Font Palatino-Roman: Standard \"(001.005S)\" Standard ROM\n");
- gzputs(fp, "*Font Symbol: Special \"(001.007S)\" Special ROM\n");
- gzputs(fp, "*Font Times-Bold: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Times-BoldItalic: Standard \"(001.009S)\" Standard ROM\n");
- gzputs(fp, "*Font Times-Italic: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font Times-Roman: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font ZapfChancery-MediumItalic: Standard \"(001.007S)\" Standard ROM\n");
- gzputs(fp, "*Font ZapfDingbats: Special \"(001.004S)\" Standard ROM\n");
-
- gzprintf(fp, "\n*%% End of stp-%s.%s%s%s\n",
- driver, GUTENPRINT_RELEASE_VERSION, simplified ? ".sim" : "",
- ppdext);
+ print_standard_fonts(fp);
+ gzprintf(fp, "\n*%% End of %s\n", filename);
stp_vars_destroy(v);
@@ -2361,5 +2563,5 @@ write_ppd(
/*
- * End of "$Id: genppd.c,v 1.179 2009/10/05 12:37:30 rlk Exp $".
+ * End of "$Id: genppd.c,v 1.186 2011/03/13 19:28:50 rlk Exp $".
*/
diff --git a/src/cups/rastertoprinter.c b/src/cups/rastertoprinter.c
index cf7cc38..38b685e 100644
--- a/src/cups/rastertoprinter.c
+++ b/src/cups/rastertoprinter.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rastertoprinter.c,v 1.136 2008/10/04 17:47:50 rlk Exp $"
+ * "$Id: rastertoprinter.c,v 1.137 2011/04/09 00:19:59 rlk Exp $"
*
* Gutenprint based raster filter for the Common UNIX Printing System.
*
@@ -953,7 +953,7 @@ main(int argc, /* I - Number of command-line arguments */
*(ppd->nickname + strlen(ppd->modelname) +
strlen(CUPS_PPD_NICKNAME_STRING)) != ' ')))
{
- stp_i18n_printf(po, _("ERROR: The PPD version (%d) is not compatible with "
+ stp_i18n_printf(po, _("ERROR: The PPD version (%s) is not compatible with "
"Gutenprint %s.\n"),
ppd->nickname+strlen(ppd->modelname)+strlen(CUPS_PPD_NICKNAME_STRING),
version_id);
@@ -1445,5 +1445,5 @@ Image_width(stp_image_t *image) /* I - Image */
/*
- * End of "$Id: rastertoprinter.c,v 1.136 2008/10/04 17:47:50 rlk Exp $".
+ * End of "$Id: rastertoprinter.c,v 1.137 2011/04/09 00:19:59 rlk Exp $".
*/
diff --git a/src/cups/test-ppds b/src/cups/test-ppds
index a5fa5a7..4e60d2b 100755
--- a/src/cups/test-ppds
+++ b/src/cups/test-ppds
@@ -1,15 +1,18 @@
#!/bin/sh
-if [ "$#" = 0 ] ; then
- echo "Bypassing test-ppds for now due to bugs in cupstestppd!"
- exit 0
- rm -rf ppd ppd-stamp
- make ppd
-fi
+make ppd-clean ppd-global ppd-nls ppd-nonls
+
+# Most non-Macintosh systems won't have the Macintosh-specific profiles
+# installed in Macintosh-specific locations.
+#
+# Also, a number of our media sizes aren't named correctly, but we'll
+# accept those issues rather than cluttering the namespace further and/or
+# changing tag names.
+cupstestppdopts='-I profiles -W sizes'
ppd_count=`find ppd \( -name '*.ppd.gz' -o -name '*.ppd' \) -print | wc -l`
-failures="`find ppd -name '*.ppd*' -print | xargs cupstestppd |grep 'FAIL$' | awk -F: '{print $1}'`"
+failures="`find ppd -name '*.ppd*' -print | xargs cupstestppd $cupstestppdopts |grep 'FAIL$' | awk -F: '{print $1}'`"
if [ -z "$failures" ] ; then
echo "All $ppd_count PPD files pass"
@@ -17,12 +20,12 @@ if [ -z "$failures" ] ; then
fi
# Use this with "normal" PPD files without translated numbers.
-echo $failures | xargs cupstestppd 2>&1 | egrep -v 'Missing "[a-z][a-z](_[A-Z][A-Z])?" translation string for option Stp((Brightness|Contrast|Saturation), choice None|([a-zA-Z0-9]+, choice (-?[0-9]+)))!$' |egrep -v 'Missing cupsICCProfile file'
+#echo $failures | xargs cupstestppd $cupstestppdopts 2>&1 | egrep -v 'Missing "[a-z][a-z](_[A-Z][A-Z])?" translation string for option Stp((Brightness|Contrast|Saturation), choice None|([a-zA-Z0-9]+, choice (-?[0-9]+)))!$' |egrep -v 'Missing cupsICCProfile file'
# Use this with PPD files with translated numbers (genppd -N)
# With normal globalized PPD files this will yield hundreds of megabytes
# of errors.
-#echo $failures | xargs cupstestppd 2>&1 |egrep -v 'Missing cupsICCProfile file'
+echo $failures | xargs cupstestppd $cupstestppdopts 2>&1 |egrep -v 'Missing cupsICCProfile file'
fail_count=`echo "$failures" | wc -l`
echo "$fail_count/$ppd_count fail"
diff --git a/src/escputil/Makefile.in b/src/escputil/Makefile.in
index 07325b5..67c3f69 100644
--- a/src/escputil/Makefile.in
+++ b/src/escputil/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -58,8 +60,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_escputil_OBJECTS = d4lib.$(OBJEXT) escputil.$(OBJEXT)
escputil_OBJECTS = $(am_escputil_OBJECTS)
@@ -68,6 +70,7 @@ escputil_DEPENDENCIES = $(GUTENPRINT_LIBS) $(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -199,6 +202,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -301,14 +305,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/escputil/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/escputil/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/escputil/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/escputil/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -326,34 +330,50 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
escputil$(EXEEXT): $(escputil_OBJECTS) $(escputil_DEPENDENCIES)
@rm -f escputil$(EXEEXT)
$(LINK) $(escputil_OBJECTS) $(escputil_LDADD) $(LIBS)
@@ -369,21 +389,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -399,14 +419,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -414,29 +434,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -457,13 +482,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -494,6 +523,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -515,6 +545,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -523,18 +555,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -589,6 +631,7 @@ $(top_builddir)/src/gutenprintui/libgutenprintui.la:
$(top_builddir)/src/gutenprintui2/libgutenprintui2.la:
cd $(top_builddir)/src/gutenprintui2; \
$(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/escputil/d4lib.c b/src/escputil/d4lib.c
index 3c98f81..04ed24d 100644
--- a/src/escputil/d4lib.c
+++ b/src/escputil/d4lib.c
@@ -52,12 +52,16 @@
#ifndef RDTIMEOUT
-#define RDTIMEOUT 10000
-#define WRTIMEOUT 10000
+#define RDTIMEOUT 10000
+#define WRTIMEOUT 10000
+#define RDDATATIMEOUT 1000
+#define MICROTIMEOUT 1
#endif
-int d4WrTimeout = WRTIMEOUT;
-int d4RdTimeout = RDTIMEOUT;
+int d4WrTimeout = WRTIMEOUT;
+int d4RdTimeout = RDTIMEOUT;
+int d4RdDataTimeout = RDDATATIMEOUT;
+int d4MicroTimeout = 1;
int ppid = 0;
int debugD4 = 1;
@@ -197,7 +201,7 @@ static void printHexValues(const char *dir, const unsigned char *buf, int len)
#if 0
len = len > 30 ? 30 : len;
#endif
- fprintf(stderr,"%s\n",dir);
+ printf("%s\n",dir);
for (i = 0; i < len; i++)
{
if (isprint(buf[i]))
@@ -221,11 +225,11 @@ static void printHexValues(const char *dir, const unsigned char *buf, int len)
{
for (i = 0; i < len; i++)
{
- fprintf(stderr,"%c",isprint(buf[i])||isspace(buf[i])?buf[i]:'*');
+ printf("%c",isprint(buf[i])||isspace(buf[i])?buf[i]:'*');
if (buf[i] == ';' && i < len - 1)
- fprintf(stderr, "\n");
+ printf("\n");
}
- fprintf(stderr, "\n");
+ printf("\n");
}
for (j = 0; j < blocks; j++)
{
@@ -233,25 +237,25 @@ static void printHexValues(const char *dir, const unsigned char *buf, int len)
int count = len;
if (count > baseidx + 16)
count = baseidx + 16;
- fprintf(stderr, "%4d: ", baseidx);
+ printf("%4d: ", baseidx);
for ( i = baseidx; i < count;i++)
{
if (i % 4 == 0)
- fprintf(stderr, " ");
- fprintf(stderr," %02x",buf[i]);
+ printf(" ");
+ printf(" %02x",buf[i]);
}
if (print_strings)
{
- fprintf(stderr,"\n ");
+ printf("\n ");
for ( i = baseidx; i < count;i++)
{
if (i % 4 == 0)
- fprintf(stderr, " ");
- fprintf(stderr," %c",
+ printf(" ");
+ printf(" %c",
isprint(buf[i]) && !isspace(buf[i]) ? buf[i] : ' ');
}
}
- fprintf(stderr, "\n");
+ printf("\n");
}
}
@@ -288,7 +292,7 @@ static void sigAlarm(int code)
/*******************************************************************/
/* Function printError() */
-/* print an error message on stderr */
+/* print an error message on stdout */
/* */
/* Input: unsigned char errorNb the error number */
/* */
@@ -308,19 +312,19 @@ static int printError(unsigned char errorNb)
if ( msg->result == errorNb )
{
if (debugD4)
- fprintf(stderr,"%s\n", msg->message);
+ printf("%s\n", msg->message);
return msg->errorClass;
}
msg++;
}
- fprintf(stderr,"Unknown IEEE 1284.4 error number %d\n",errorNb);
+ printf("Unknown IEEE 1284.4 error number %d\n",errorNb);
return 0;
}
/*******************************************************************/
/* Function printCmdType() */
-/* print on stderr the command name */
+/* print on stdout the command name */
/* Input: unsigned char *cmd the data are to be put here */
/* */
/* Return: - */
@@ -330,27 +334,27 @@ static int printError(unsigned char errorNb)
static void printCmdType(unsigned char *cmd)
{
if (cmd[6] & 0x80)
- fprintf(stderr, ">>>");
+ printf(">>>");
if ( cmd[0] == 0 && cmd[1] == 0 )
{
switch(cmd[6] & 0x7f)
{
- case 0: fprintf(stderr,"--- Init ---\n");break;
- case 1: fprintf(stderr,"--- OpenChannel ---\n");break;
- case 2: fprintf(stderr,"--- CloseChannel ---\n");break;
- case 3: fprintf(stderr,"--- Credit ---\n");break;
- case 4: fprintf(stderr,"--- CreditRequest ---\n");break;
- case 8: fprintf(stderr,"--- Exit ---\n");break;
- case 9: fprintf(stderr,"--- GetSocketID ---\n");break;
- case 10: fprintf(stderr,"--- GetServiceName ---\n");break;
- case 0x45: fprintf(stderr,"--- EnterD4Mode ---\n");break;
- case 0x7f: fprintf(stderr,"--- Error ---\n");break;
- default: fprintf(stderr,"--- ?????????????? ---\n");break;
+ case 0: printf("--- Init ---\n");break;
+ case 1: printf("--- OpenChannel ---\n");break;
+ case 2: printf("--- CloseChannel ---\n");break;
+ case 3: printf("--- Credit ---\n");break;
+ case 4: printf("--- CreditRequest ---\n");break;
+ case 8: printf("--- Exit ---\n");break;
+ case 9: printf("--- GetSocketID ---\n");break;
+ case 10: printf("--- GetServiceName ---\n");break;
+ case 0x45: printf("--- EnterD4Mode ---\n");break;
+ case 0x7f: printf("--- Error ---\n");break;
+ default: printf("--- ?????????????? ---\n");break;
}
}
else
{
- fprintf(stderr,"--- Send Data ---\n");
+ printf("--- Send Data ---\n");
}
}
@@ -392,8 +396,9 @@ static int writeCmd(int fd, unsigned char *cmd, int len)
}
}
- usleep(1); /* according to Glen Steward, this will solve problems */
- /* for the cartridge exchange with the Stylus Color 580 */
+ /* according to Glen Steward, this will solve problems */
+ /* for the cartridge exchange with the Stylus Color 580 */
+ usleep(d4MicroTimeout);
timeoutGot = 0;
errno = 0;
@@ -421,7 +426,7 @@ static int writeCmd(int fd, unsigned char *cmd, int len)
gettimeofday(&end, NULL);
dt = (end.tv_sec - beg.tv_sec) * 1000000;
dt += end.tv_usec - beg.tv_usec;
- fprintf(stderr,"Write time %5.3f s\n",(double)dt/1000000);
+ printf("Write time %5.3f s\n",(double)dt/1000000);
# endif
}
@@ -464,7 +469,7 @@ int readAnswer(int fd, unsigned char *buf, int len, int allowExtra)
gettimeofday(&beg, NULL);
if (debugD4)
- fprintf(stderr, "length: %i\n", len);
+ printf("length: %i\n", len);
while ( total < len )
{
SET_TIMER(ti,oti, d4RdTimeout);
@@ -473,16 +478,16 @@ int readAnswer(int fd, unsigned char *buf, int len, int allowExtra)
{
if (first_read)
{
- fprintf(stderr, "read: ");
+ printf("read: ");
first_read = 0;
}
if (rd < 0)
{
- fprintf(stderr, "%i %s\n", rd, errno != 0 ?strerror(errno) : "");
+ printf("%i %s\n", rd, errno != 0 ?strerror(errno) : "");
first_read = 1;
}
else
- fprintf(stderr, "%i ", rd);
+ printf("%i ", rd);
}
RESET_TIMER(ti,oti);
if ( rd <= 0 )
@@ -493,7 +498,7 @@ int readAnswer(int fd, unsigned char *buf, int len, int allowExtra)
if ( dt > d4RdTimeout * 2 )
{
if ( debugD4 )
- fprintf(stderr,"Timeout 1 at readAnswer() rcv %d bytes\n",total);
+ printf("Timeout 1 at readAnswer() rcv %d bytes\n",total);
timeoutGot = 1;
break;
}
@@ -518,14 +523,14 @@ int readAnswer(int fd, unsigned char *buf, int len, int allowExtra)
if (len > newlen)
{
if (debugD4)
- fprintf(stderr, "Changing len from %d to %d\n", len, newlen);
+ printf("Changing len from %d to %d\n", len, newlen);
len = newlen;
}
else if (len < newlen)
{
excess = newlen - len;
if (debugD4)
- fprintf(stderr, "Expected %d, getting %d, %sflushing %d\n",
+ printf("Expected %d, getting %d, %sflushing %d\n",
len, newlen, allowExtra ? "not " : "", excess);
}
}
@@ -550,7 +555,8 @@ int readAnswer(int fd, unsigned char *buf, int len, int allowExtra)
retry_count = 0;
if (status < bytes)
usleep(d4RdTimeout);
- printHexValues("waste", (const unsigned char *) wastebuf, status);
+ if (debugD4)
+ printHexValues("waste", (const unsigned char *) wastebuf, status);
excess -= status;
}
}
@@ -561,18 +567,18 @@ int readAnswer(int fd, unsigned char *buf, int len, int allowExtra)
# if PTIME
gettimeofday(&end, NULL);
# endif
- fprintf(stderr, "total: %i\n", total);
+ printf("total: %i\n", total);
printHexValues("Recv: ",buf,total);
# if PTIME
dt = (end.tv_sec - beg.tv_sec) * 1000000;
dt += end.tv_usec - beg.tv_usec;
- fprintf(stderr,"Read time %5.3f s\n",(double)dt/1000000);
+ printf("Read time %5.3f s\n",(double)dt/1000000);
# endif
}
if ( timeoutGot )
{
if ( debugD4 )
- fprintf(stderr,"Timeout 2 at readAnswer()\n");
+ printf("Timeout 2 at readAnswer()\n");
return -1;
}
return total;
@@ -595,14 +601,14 @@ static void _flushData(int fd)
errno = 0;
if (debugD4)
- fprintf(stderr, "flush data: length: %i\n", len);
+ printf("flush data: length: %i\n", len);
do
{
usleep(d4RdTimeout);
SET_TIMER(ti,oti, d4RdTimeout);
rd = read(fd, buf, len);
if (debugD4)
- fprintf(stderr, "flush: read: %i %s\n", rd,
+ printf("flush: read: %i %s\n", rd,
rd < 0 && errno != 0 ?strerror(errno) : "");
RESET_TIMER(ti,oti);
count--;
@@ -649,7 +655,7 @@ static int _readData(int fd, unsigned char *buf, int len)
if ( dt > d4RdTimeout*3 )
{
if ( debugD4 )
- fprintf(stderr,"Timeout at _readData(), dt = %ld ms\n", dt);
+ printf("Timeout at _readData(), dt = %ld ms\n", dt);
return -1;
break;
}
@@ -668,7 +674,7 @@ static int _readData(int fd, unsigned char *buf, int len)
{
toGet = (header[2] >> 8) + header[3] - 6;
if (debugD4)
- fprintf(stderr, "toGet: %i\n", toGet);
+ printf("toGet: %i\n", toGet);
total = 0;
gettimeofday(&beg, NULL);
while ( total < toGet )
@@ -684,7 +690,7 @@ static int _readData(int fd, unsigned char *buf, int len)
if ( dt > d4RdTimeout*3 )
{
if ( debugD4 )
- fprintf(stderr,"Timeout at _readData(), dt = %ld ms\n",dt);
+ printf("Timeout at _readData(), dt = %ld ms\n",dt);
return -1;
break;
}
@@ -733,7 +739,7 @@ static int sendReceiveCmd(int fd, unsigned char *cmd, int len, unsigned char *an
{
/* interrupted write call */
if ( debugD4 )
- fprintf(stderr,"interrupt received\n");
+ printf("interrupt received\n");
return -1;
}
else
@@ -790,10 +796,14 @@ Loop:
if ( rd == 0 )
{
/* no answer from device */
+ if (debugD4)
+ printf(">>>No answer from printer\n");
return 0;
}
else if ( rd < 0 )
{
+ if (debugD4)
+ printf(">>>Interrupted write\n");
/* interrupted write call */
return 0;
}
@@ -943,11 +953,11 @@ int OpenChannel(int fd, unsigned char sockId, int *sndSz, int *rcvSz)
if ( rd == -1 )
{
if (debugD4)
- fprintf(stderr, "OpenChannel %d fails, error %d\n", sockId, d4Errno);
+ printf("OpenChannel %d fails, error %d\n", sockId, d4Errno);
if (d4Errno == 6) /* channel already open */
{
if ( debugD4 )
- fprintf(stderr, "Channel %d already open, closing\n", sockId);
+ printf("Channel %d already open, closing\n", sockId);
CloseChannel(fd, sockId);
continue;
}
@@ -964,7 +974,7 @@ int OpenChannel(int fd, unsigned char sockId, int *sndSz, int *rcvSz)
else if ( buf[7] != 0 )
{
if (debugD4)
- fprintf(stderr, "OpenChannel %d fails, hard error\n", sockId);
+ printf("OpenChannel %d fails, hard error\n", sockId);
/* hard error */
return -1;
}
@@ -977,13 +987,13 @@ int OpenChannel(int fd, unsigned char sockId, int *sndSz, int *rcvSz)
if (d4Errno == 6) /* channel already open */
{
if ( debugD4 )
- fprintf(stderr, "Channel %d already open, closing\n", sockId);
+ printf("Channel %d already open, closing\n", sockId);
CloseChannel(fd, sockId);
continue;
}
/* at this stage we can only have an error */
if (debugD4)
- fprintf(stderr, "OpenChannel %d fails, wrong count %d\n", sockId, rd);
+ printf("OpenChannel %d fails, wrong count %d\n", sockId, rd);
return -1;
}
}
@@ -1140,7 +1150,7 @@ int askForCredit(int fd, unsigned char socketID, int *sndSize, int *rcvSize)
if ( Init(fd) )
{
if (debugD4)
- fprintf(stderr, "askForCredit init succeeded, now try to open\n");
+ printf("askForCredit init succeeded, now try to open\n");
OpenChannel(fd, socketID, sndSize, rcvSize);
}
}
@@ -1177,7 +1187,7 @@ int writeData(int fd, unsigned char socketID, const unsigned char *buf, int len,
static int bLen = 0;
if ( debugD4 )
{
- fprintf(stderr,"--- Send Data ---\n");
+ printf("--- Send Data ---\n");
gettimeofday(&beg, NULL);
}
len += 6;
@@ -1222,15 +1232,15 @@ int writeData(int fd, unsigned char socketID, const unsigned char *buf, int len,
dt = (end.tv_sec - beg.tv_sec) * 1000000;
dt += end.tv_usec - beg.tv_usec;
# endif
- fprintf(stderr,"Send: ");
+ printf("Send: ");
for ( ret = 0; (wr > 0) && (ret < ((wr > 20) ? 20 : wr)) ; ret++ )
- fprintf(stderr,"%02x ", buffer[ret]);
- fprintf(stderr,"\n ");
+ printf("%02x ", buffer[ret]);
+ printf("\n ");
for ( ret = 0; (wr > 0) && (ret < ((wr > 20) ? 20 : wr)) ; ret++ )
- fprintf(stderr,"%c ", isprint(buffer[ret])&&!isspace(buffer[ret])?buffer[ret]:' ');
- fprintf(stderr,"\n");
+ printf("%c ", isprint(buffer[ret])&&!isspace(buffer[ret])?buffer[ret]:' ');
+ printf("\n");
# if PTIME
- fprintf(stderr,"Write time %5.3f s\n",(double)dt/1000000);
+ printf("Write time %5.3f s\n",(double)dt/1000000);
# endif
}
@@ -1262,7 +1272,7 @@ int readData(int fd, unsigned char socketID, unsigned char *buf, int len)
if ( Credit(fd, socketID, 1) == 1 )
{
/* wait a little bit */
- usleep(1000);
+ usleep(d4RdDataTimeout);
ret = _readData(fd, buf, len);
return ret;
}
@@ -1313,7 +1323,7 @@ int writeAndReadData(int fd, unsigned char socketID,
/* wait a little bit */
do
{
- usleep(1000);
+ usleep(d4RdDataTimeout);
ret = _readData(fd, buf, len);
if (ret < 0)
return ret;
@@ -1340,14 +1350,14 @@ int writeAndReadData(int fd, unsigned char socketID,
void flushData(int fd, unsigned char socketID)
{
if (debugD4)
- fprintf(stderr, "flushData %d\n", socketID);
+ printf("flushData %d\n", socketID);
/* give credit */
if (socketID != (unsigned char) -1)
{
if ( Credit(fd, socketID, 1) == 1 )
{
/* wait a little bit */
- usleep(1000);
+ usleep(d4RdDataTimeout);
_flushData(fd);
}
}
diff --git a/src/escputil/escputil.c b/src/escputil/escputil.c
index cec0294..ffe4d19 100644
--- a/src/escputil/escputil.c
+++ b/src/escputil/escputil.c
@@ -1,5 +1,5 @@
/*
- * "$Id: escputil.c,v 1.102 2009/12/23 20:13:54 rlk Exp $"
+ * "$Id: escputil.c,v 1.104 2010/12/11 22:04:07 rlk Exp $"
*
* Printer maintenance utility for EPSON Stylus (R) printers
*
@@ -264,7 +264,7 @@ exit_packet_mode_old(int do_init)
{
static char hdr[] = "\000\000\000\033\001@EJL 1284.4\n@EJL \n\033@";
memcpy(printer_cmd + bufpos, hdr, sizeof(hdr) - 1); /* DON'T include null! */
- STP_DEBUG(fprintf(stderr, "Exit packet mode (%d)\n", do_init));
+ STP_DEBUG(printf("Exit packet mode (%d)\n", do_init));
bufpos += sizeof(hdr) - 1;
if (!do_init)
bufpos -= 2;
@@ -274,7 +274,7 @@ static void
initialize_print_cmd(int do_init)
{
bufpos = 0;
- STP_DEBUG(fprintf(stderr, "Initialize print command\n"));
+ STP_DEBUG(printf("Initialize print command\n"));
if (isnew)
exit_packet_mode_old(do_init);
}
@@ -283,7 +283,7 @@ static void
initialize_print_cmd_new(int do_init)
{
bufpos = 0;
- STP_DEBUG(fprintf(stderr, "Initialize print command (force new)\n"));
+ STP_DEBUG(printf("Initialize print command (force new)\n"));
exit_packet_mode_old(do_init);
}
@@ -445,15 +445,15 @@ print_debug_data(const char *buf, size_t count)
for (i = 0; i < count; i++)
{
if (i % 16 == 0)
- fprintf(stderr, "\n%4d: ", i);
+ printf("\n%4d: ", i);
else if (i % 4 == 0)
- fprintf(stderr, " ");
+ printf(" ");
if (isgraph(buf[i]))
- fprintf(stderr, " %c", (unsigned) ((unsigned char) buf[i]));
+ printf(" %c", (unsigned) ((unsigned char) buf[i]));
else
- fprintf(stderr, " %02x", (unsigned) ((unsigned char) buf[i]));
+ printf(" %02x", (unsigned) ((unsigned char) buf[i]));
}
- fprintf(stderr, "\n");
+ printf("\n");
}
int
@@ -498,7 +498,7 @@ do_print_cmd(void)
return 1;
}
}
- STP_DEBUG(fprintf(stderr, "Sending print command to %s:",
+ STP_DEBUG(printf("Sending print command to %s:",
raw_device ? raw_device : command));
STP_DEBUG(print_debug_data(printer_cmd, bufpos));
while (bytes < bufpos)
@@ -573,7 +573,7 @@ read_from_printer(int fd, char *buf, int bufsize, int quiet)
if (status > 0)
{
- STP_DEBUG(fprintf(stderr, "read_from_printer returns %d\n", status));
+ STP_DEBUG(printf("read_from_printer returns %d\n", status));
STP_DEBUG(print_debug_data(buf, status));
}
else if (status == 0 && retry == 0)
@@ -596,7 +596,7 @@ start_remote_sequence(void)
static char remote_hdr[] = "\033@\033(R\010\000\000REMOTE1";
memcpy(printer_cmd + bufpos, remote_hdr, sizeof(remote_hdr) - 1);
bufpos += sizeof(remote_hdr) - 1;
- STP_DEBUG(fprintf(stderr, "Start remote sequence\n"));
+ STP_DEBUG(printf("Start remote sequence\n"));
}
static void
@@ -605,7 +605,7 @@ end_remote_sequence(void)
static char remote_trailer[] = "\033\000\000\000\033\000";
memcpy(printer_cmd + bufpos, remote_trailer, sizeof(remote_trailer) - 1);
bufpos += sizeof(remote_trailer) - 1;
- STP_DEBUG(fprintf(stderr, "End remote sequence\n"));
+ STP_DEBUG(printf("End remote sequence\n"));
}
static void
@@ -617,21 +617,21 @@ do_remote_cmd(const char *cmd, int nargs, ...)
start_remote_sequence();
memcpy(printer_cmd + bufpos, cmd, 2);
- STP_DEBUG(fprintf(stderr, "Remote command: %s", cmd));
+ STP_DEBUG(printf("Remote command: %s", cmd));
bufpos += 2;
printer_cmd[bufpos] = nargs % 256;
printer_cmd[bufpos + 1] = (nargs >> 8) % 256;
- STP_DEBUG(fprintf(stderr, " %02x %02x",
+ STP_DEBUG(printf(" %02x %02x",
(unsigned) printer_cmd[bufpos],
(unsigned) printer_cmd[bufpos + 1]));
if (nargs > 0)
for (i = 0; i < nargs; i++)
{
printer_cmd[bufpos + 2 + i] = va_arg(args, int);
- STP_DEBUG(fprintf(stderr, " %02x",
+ STP_DEBUG(printf(" %02x",
(unsigned) printer_cmd[bufpos + 2 + i]));
}
- STP_DEBUG(fprintf(stderr, "\n"));
+ STP_DEBUG(printf("\n"));
bufpos += 2 + nargs;
end_remote_sequence();
}
@@ -644,21 +644,21 @@ do_remote_cmd_only(const char *cmd, int nargs, ...)
va_start(args, nargs);
memcpy(printer_cmd + bufpos, cmd, 2);
- STP_DEBUG(fprintf(stderr, "Remote command: %s", cmd));
+ STP_DEBUG(printf("Remote command: %s", cmd));
bufpos += 2;
printer_cmd[bufpos] = nargs % 256;
printer_cmd[bufpos + 1] = (nargs >> 8) % 256;
- STP_DEBUG(fprintf(stderr, " %02x %02x",
+ STP_DEBUG(printf(" %02x %02x",
(unsigned) printer_cmd[bufpos],
(unsigned) printer_cmd[bufpos + 1]));
if (nargs > 0)
for (i = 0; i < nargs; i++)
{
printer_cmd[bufpos + 2 + i] = va_arg(args, int);
- STP_DEBUG(fprintf(stderr, " %02x",
+ STP_DEBUG(printf(" %02x",
(unsigned) printer_cmd[bufpos + 2 + i]));
}
- STP_DEBUG(fprintf(stderr, "\n"));
+ STP_DEBUG(printf("\n"));
bufpos += 2 + nargs;
}
@@ -666,7 +666,7 @@ static void
add_resets(int count)
{
int i;
- STP_DEBUG(fprintf(stderr, "Add %d resets\n", count));
+ STP_DEBUG(printf("Add %d resets\n", count));
for (i = 0; i < count; i++)
{
printer_cmd[bufpos++] = '\033';
@@ -675,48 +675,76 @@ add_resets(int count)
}
static int
+send_nulls(int fd)
+{
+ char buf[16384];
+ (void) memset(buf, 0, sizeof(buf));
+ (void) write(fd, buf, sizeof(buf));
+}
+
+static int
init_packet(int fd, int force)
{
int status;
+ int tries = 0;
+ STP_DEBUG(printf("Init packet mode %d\n", force));
+ Loop:
if (!force)
{
- STP_DEBUG(fprintf(stderr, "Flushing data...\n"));
+ STP_DEBUG(printf("Flushing early data...\n"));
flushData(fd, (unsigned char) -1);
}
- STP_DEBUG(fprintf(stderr, "EnterIEEE...\n"));
+ STP_DEBUG(printf("EnterIEEE...\n"));
if (!EnterIEEE(fd))
{
+ STP_DEBUG(printf("EnterIEEE failed!\n"));
+ if (tries++ < 5)
+ {
+ STP_DEBUG(printf("Retrying\n"));
+ send_nulls(fd);
+ flushData(fd, (unsigned char) -1);
+ goto Loop;
+ }
return 1;
}
- STP_DEBUG(fprintf(stderr, "Init...\n"));
+ STP_DEBUG(printf("Init...\n"));
if (!Init(fd))
{
+ STP_DEBUG(printf("Init failed!\n"));
+ if (tries++ < 5)
+ {
+ STP_DEBUG(printf("Retrying\n"));
+ send_nulls(fd);
+ flushData(fd, (unsigned char) -1);
+ goto Loop;
+ }
return 1;
}
- STP_DEBUG(fprintf(stderr, "GetSocket...\n"));
+ STP_DEBUG(printf("GetSocket...\n"));
socket_id = GetSocketID(fd, "EPSON-CTRL");
if (!socket_id)
{
+ STP_DEBUG(printf("GetSocket failed!\n"));
return 1;
}
- STP_DEBUG(fprintf(stderr, "OpenChannel...\n"));
+ STP_DEBUG(printf("OpenChannel...\n"));
switch ( OpenChannel(fd, socket_id, &send_size, &receive_size) )
{
case -1:
- STP_DEBUG(fprintf(stderr,"Fatal Error return 1\n"));
+ STP_DEBUG(printf("Fatal Error return 1\n"));
return 1; /* unrecoverable error */
break;
case 0:
- STP_DEBUG(fprintf(stderr, "Error\n")); /* recoverable error ? */
+ STP_DEBUG(printf("Error\n")); /* recoverable error ? */
return 1;
break;
}
status = 1;
- STP_DEBUG(fprintf(stderr, "Flushing data...\n"));
+ STP_DEBUG(printf("Flushing data...\n"));
flushData(fd, socket_id);
return 0;
}
@@ -785,7 +813,7 @@ set_printer_model(void)
if (desc.p_type == STP_PARAMETER_TYPE_BOOLEAN)
interchangeable_inks = desc.deflt.boolean;
stp_parameter_description_destroy(&desc);
- STP_DEBUG(fprintf(stderr, "Found it! %s\n", printer_model));
+ STP_DEBUG(printf("Found it! %s\n", printer_model));
return;
}
}
@@ -842,14 +870,14 @@ initialize_printer(int quiet, int fail_if_not_found)
status = SafeWrite(fd, init_str, sizeof(init_str) - 1);
alarm(0);
signal(SIGALRM, SIG_DFL);
- STP_DEBUG(fprintf(stderr, "status %d alarm %d\n", status, alarm_interrupt));
+ STP_DEBUG(printf("status %d alarm %d\n", status, alarm_interrupt));
if (status != sizeof(init_str) - 1 && (status != -1 || !alarm_interrupt))
{
fprintf(stderr, _("Cannot write to %s: %s\n"), raw_device,
strerror(errno));
exit(1);
}
- STP_DEBUG(fprintf(stderr, "Try old command %d alarm %d\n",
+ STP_DEBUG(printf("Try old command %d alarm %d\n",
tries, alarm_interrupt));
status = read_from_printer(fd, (char*)buf, 1024, 1);
if (status <= 0 && tries > 0)
@@ -860,7 +888,7 @@ initialize_printer(int quiet, int fail_if_not_found)
if (!forced_packet_mode &&
status > 0 && !strstr((char *) buf, "@EJL ID") && tries < 3)
{
- STP_DEBUG(fprintf(stderr, "Found bad data: %s\n", buf));
+ STP_DEBUG(printf("Found bad data: %s\n", buf));
/*
* We know the printer's not dead. Try to turn off status
* and try again.
@@ -886,7 +914,7 @@ initialize_printer(int quiet, int fail_if_not_found)
(void) SafeWrite(fd, printer_cmd, bufpos);
flushData(fd, (unsigned char) -1);
forced_packet_mode = !init_packet(fd, 1);
- STP_DEBUG(fprintf(stderr, "Printer in packet mode....\n"));
+ STP_DEBUG(printf("Printer in packet mode....\n"));
packet_initialized = 1;
isnew = 1;
/* request status command */
@@ -902,21 +930,21 @@ initialize_printer(int quiet, int fail_if_not_found)
return NULL;
}
}
- STP_DEBUG(fprintf(stderr, "status: %i\n", status));
- STP_DEBUG(fprintf(stderr, "Buf: %s\n", buf));
+ STP_DEBUG(printf("status: %i\n", status));
+ STP_DEBUG(printf("Buf: %s\n", buf));
if (status > 0)
{
pos = strstr((char*)buf, "@EJL ID");
- STP_DEBUG(fprintf(stderr, "pos: %s\n", pos ? pos : "(null)"));
+ STP_DEBUG(printf("pos: %s\n", pos ? pos : "(null)"));
if (pos)
pos = strchr(pos, (int) ';');
- STP_DEBUG(fprintf(stderr, "pos: %s\n", pos ? pos : "(null)"));
+ STP_DEBUG(printf("pos: %s\n", pos ? pos : "(null)"));
if (pos)
pos = strchr(pos + 1, (int) ';');
- STP_DEBUG(fprintf(stderr, "pos: %s\n", pos ? pos : "(null)"));
+ STP_DEBUG(printf("pos: %s\n", pos ? pos : "(null)"));
if (pos)
pos = strchr(pos, (int) ':');
- STP_DEBUG(fprintf(stderr, "pos: %s\n", pos ? pos : "(null)"));
+ STP_DEBUG(printf("pos: %s\n", pos ? pos : "(null)"));
if (pos)
{
spos = strchr(pos, (int) ';');
@@ -944,12 +972,12 @@ initialize_printer(int quiet, int fail_if_not_found)
* However, make it clear that this is a dummy,
* so we don't actually try to print it out.
*/
- STP_DEBUG(fprintf(stderr, "Can't find printer name, assuming Stylus Photo\n"));
+ STP_DEBUG(printf("Can't find printer name, assuming Stylus Photo\n"));
printer_model = c_strdup("escp2-photo");
}
else
{
- STP_DEBUG(fprintf(stderr, "Can't get response to @EJL ID\n"));
+ STP_DEBUG(printf("Can't get response to @EJL ID\n"));
close(fd);
return NULL;
}
@@ -959,7 +987,7 @@ initialize_printer(int quiet, int fail_if_not_found)
if (spos)
*spos = '\000';
printer_model = pos + 1;
- STP_DEBUG(fprintf(stderr, "printer model: %s\n", printer_model));
+ STP_DEBUG(printf("printer model: %s\n", printer_model));
}
}
}
@@ -972,7 +1000,7 @@ initialize_printer(int quiet, int fail_if_not_found)
}
close(fd);
- STP_DEBUG(fprintf(stderr, "new? %s\n", isnew ? "yes" : "no"));
+ STP_DEBUG(printf("new? %s\n", isnew ? "yes" : "no"));
return the_printer_t;
}
@@ -985,7 +1013,7 @@ get_printer(int quiet, int fail_if_not_found)
{
const stp_printer_t *printer =
initialize_printer(quiet, fail_if_not_found);
- STP_DEBUG(fprintf(stderr, "init done, printer found? %s...\n",
+ STP_DEBUG(printf("init done, printer found? %s...\n",
printer ? "yes" : "no"));
return printer;
}
@@ -1275,10 +1303,9 @@ do_old_status(status_cmd_t cmd, const char *buf, const stp_printer_t *printer)
if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
{
color_list = stp_string_list_create_copy(desc.bounds.str);
- STP_DEBUG(fprintf(stderr,
- "Using color list from driver (%ld %ld)\n",
- (long)stp_string_list_count(desc.bounds.str),
- (long)stp_string_list_count(color_list)));
+ STP_DEBUG(printf("Using color list from driver (%ld %ld)\n",
+ (long)stp_string_list_count(desc.bounds.str),
+ (long)stp_string_list_count(color_list)));
stp_parameter_description_destroy(&desc);
}
}
@@ -1300,7 +1327,7 @@ do_old_status(status_cmd_t cmd, const char *buf, const stp_printer_t *printer)
if (cmd == CMD_STATUS)
printf("\n");
}
- STP_DEBUG(fprintf(stderr, "looking at %s\n", buf));
+ STP_DEBUG(printf("looking at %s\n", buf));
} while ((buf = find_group(buf)) != NULL);
}
@@ -1317,7 +1344,7 @@ do_new_status(status_cmd_t cmd, char *buf, int bytes,
stp_describe_parameter(printvars, "ChannelNames", &desc);
if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
color_list = desc.bounds.str;
- STP_DEBUG(fprintf(stderr, "New format bytes: %d bytes\n", bytes));
+ STP_DEBUG(printf("New format bytes: %d bytes\n", bytes));
if (cmd == CMD_STATUS)
printf(_("Printer Name: %s\n"),
printer ? stp_printer_get_long_name(printer) : _("Unknown"));
@@ -1326,7 +1353,7 @@ do_new_status(status_cmd_t cmd, char *buf, int bytes,
unsigned hdr = buf[i];
unsigned total_param_count = buf[i + 1];
unsigned param = buf[i + 2];
- STP_DEBUG(fprintf(stderr, "Header: %x param count: %d\n", hdr, total_param_count));
+ STP_DEBUG(printf("Header: %x param count: %d\n", hdr, total_param_count));
if (hdr == 0x0f) /* Always report ink */
{
size_t count = (total_param_count - 1) / param;
@@ -1336,21 +1363,30 @@ do_new_status(status_cmd_t cmd, char *buf, int bytes,
printf("%20s %20s\n", _("Ink color"), _("Percent remaining"));
for (j = 0; j < count; j++)
{
- STP_DEBUG(fprintf(stderr, " Ink %d: ind[0] %d ind[1] %d ind[2] %d interchangeable %d param %d count %d aux %d\n",
+ STP_DEBUG(printf(" Ink %d: ind[0] %d ind[1] %d ind[2] %d interchangeable %d param %d count %d aux %d\n",
j, ind[0], ind[1], ind[2], interchangeable_inks,
param, color_count, aux_color_count));
- if (ind[0] < color_count && param == 3 &&
+ if (ind[0] < color_count && param == 3 /* &&
(interchangeable_inks || ind[1] >= aux_color_count ||
- ! aux_colors[(int) ind[1]]))
- printf("%20s %20d\n",
- gettext(colors_new[(int) ind[0]]), ind[2]);
+ ! aux_colors[(int) ind[1]]) */)
+ {
+ STP_DEBUG(printf("Case 0\n"));
+ printf("%20s %20d\n",
+ gettext(colors_new[(int) ind[0]]), ind[2]);
+ }
else if (ind[1] < aux_color_count && aux_colors[(int) ind[1]])
- printf("%20s %20d\n",
- gettext(aux_colors[(int) ind[1]]), ind[2]);
+ {
+ STP_DEBUG(printf("Case 1\n"));
+ printf("%20s %20d\n",
+ gettext(aux_colors[(int) ind[1]]), ind[2]);
+ }
else
- printf("%8s 0x%02x 0x%02x %20d\n",
- _("Unknown"), (unsigned char) ind[0],
- (unsigned char) ind[1], ind[2]);
+ {
+ STP_DEBUG(printf("Case 2\n"));
+ printf("%8s 0x%02x 0x%02x %20d\n",
+ _("Unknown"), (unsigned char) ind[0],
+ (unsigned char) ind[1], ind[2]);
+ }
ind += param;
}
if (cmd == CMD_STATUS)
@@ -1421,10 +1457,10 @@ do_status_command_internal(status_cmd_t cmd)
exit(1);
}
- STP_DEBUG(fprintf(stderr, "%s...\n", cmd_name));
+ STP_DEBUG(printf("%s...\n", cmd_name));
printer = get_printer(1, 0);
if (!found_unknown_old_printer)
- STP_DEBUG(fprintf(stderr, "%s found %s%s\n", gettext(cmd_name),
+ STP_DEBUG(printf("%s found %s%s\n", gettext(cmd_name),
printer ? stp_printer_get_long_name(printer) :
printer_model ? printer_model : "(null)",
printer ? "" : "(Unknown model)"));
@@ -1523,12 +1559,12 @@ do_extended_ink_info(int extended_output)
{
stp_string_list_t *color_list = stp_string_list_create();
- if (printer)
+ if (printer && desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
{
- color_list = stp_string_list_create_copy(desc.bounds.str);
- STP_DEBUG(fprintf(stderr, "Using color list from driver (%ld %ld)\n",
+ STP_DEBUG(printf("Using color list from driver (%ld %ld)\n",
(long)stp_string_list_count(desc.bounds.str),
(long)stp_string_list_count(color_list)));
+ color_list = stp_string_list_create_copy(desc.bounds.str);
stp_parameter_description_destroy(&desc);
}
else
@@ -1554,7 +1590,7 @@ do_extended_ink_info(int extended_output)
buf[status] = '\0';
if ( buf[7] == '2' )
{
- STP_DEBUG(fprintf(stderr, "New format ink!\n"));
+ STP_DEBUG(printf("New format ink!\n"));
/* new binary format ! */
i = 10;
while (buf[i] != 0x0f && i < status)
@@ -1564,20 +1600,31 @@ do_extended_ink_info(int extended_output)
while (i < ind[1])
{
if (ind[i] < color_count)
- stp_string_list_add_string(color_list,
- colors_new[(int) ind[i]],
- colors_new[(int) ind[i]]);
+ {
+ STP_DEBUG(printf(" Case 0: Ink %d %d (%s)\n",
+ i, ind[i], colors_new[(int) ind[i]]));
+ stp_string_list_add_string(color_list,
+ colors_new[(int) ind[i]],
+ colors_new[(int) ind[i]]);
+ }
else if (ind[i] == 0x40 && ind[i + 1] < aux_color_count)
- stp_string_list_add_string(color_list,
- aux_colors[(int) ind[i + 1]],
- aux_colors[(int) ind[i + 1]]);
+ {
+ STP_DEBUG(printf(" Case 1: Ink %d %d (%s)\n",
+ i, ind[i+1], aux_colors[(int) ind[i+1]]));
+ stp_string_list_add_string(color_list,
+ aux_colors[(int) ind[i + 1]],
+ aux_colors[(int) ind[i + 1]]);
+ }
else
- stp_string_list_add_string(color_list, "Unknown",
- "Unknown");
+ {
+ STP_DEBUG(printf(" Case 2: Unknown\n"));
+ stp_string_list_add_string(color_list, "Unknown",
+ "Unknown");
+ }
i+=3;
}
}
- STP_DEBUG(fprintf(stderr, "Using color list from status message\n"));
+ STP_DEBUG(printf("Using color list from status message\n"));
}
for (i = 0; i < stp_string_list_count(color_list); i++)
@@ -1595,7 +1642,10 @@ do_extended_ink_info(int extended_output)
}
ind = strchr(buf, 'I');
if (!ind)
- printf("Cannot identify cartridge in slot %d\n", i);
+ {
+ STP_DEBUG(printf("Case 0: failure %i (%s)\n", i, buf));
+ printf("Cannot identify cartridge in slot %d\n", i);
+ }
else if (sscanf(ind,
"II:01;IQT:%x;TSH:%*4s;PDY:%x;PDM:%x;IC1:%x;IC2:%*x;IK1:%*x;IK2:%*x;TOV:%*x;TVU:%*x;LOG:EPSON;IQT:%x,%x,%x,%x,%x;TSH:%*4s;PDY:%x;PDM:%x;IC1:%x;IC2:%*xIK1:%*x;IK2;%*x;TOV:%*x;TVU:%*x;LOG:EPSON;",
&iv[0], &year, &month, &id,
@@ -1608,6 +1658,9 @@ do_extended_ink_info(int extended_output)
&year2, &month2, &id2) == 12)
{
int j;
+ STP_DEBUG(printf("Case 1: i %i iv %ud %ud %ud %ud %ud %ud year %ud %ud mo %ud %ud id %ud %ud\n",
+ i, iv[0], iv[1], iv[2], iv[3], iv[4], iv[5],
+ year, year2, month, month2, id, id2));
printf("%20s %20s %12s %7s\n",
_("Ink cartridge"), _("Percent remaining"), _("Part number"),
_("Date"));
@@ -1632,6 +1685,9 @@ do_extended_ink_info(int extended_output)
&year2, &month2, &id2) == 10)
{
int j;
+ STP_DEBUG(printf("Case 2: i %i iv %ud %ud %ud %ud year %ud %ud mo %ud %ud id %ud %ud\n",
+ i, iv[0], iv[1], iv[2], iv[3],
+ year, year2, month, month2, id, id2));
printf("%20s %20s %12s %7s\n",
_("Ink cartridge"), _("Percent remaining"), _("Part number"),
_("Date"));
@@ -1651,6 +1707,25 @@ do_extended_ink_info(int extended_output)
"II:01;IQT:%x;TSH:%*4s;PDY:%x;PDM:%x;IC1:%x;IC2:%*x;IK1:%*x;IK2:%*x;TOV:%*x;TVU:%*x;LOG:INKbyEPSON;",
&val, &year, &month, &id ) == 4)
{
+ STP_DEBUG(printf("Case 3: i %i val %ud year %ud mo %ud id %ud\n",
+ i, val, year, month, id));
+ if (i == 0)
+ printf("%20s %20s %12s %7s\n",
+ _("Ink cartridge"), _("Percent remaining"), _("Part number"),
+ _("Date"));
+ printf("%20s %20d T0%03d %2d%02d-%02d\n",
+ gettext(stp_string_list_param(color_list, i)->text),
+ val, id, (year > 80 ? 19 : 20), year, month);
+ }
+ else if (sscanf(ind,
+ "IQT:%x;TSH:%*4s;PDY:%x;PDM:%x;IC1:%x;IC2:%*x;IK1:%*x;IK2:%*x;TOV:%*x;TVU:%*x;LOG:EPSON;",
+ &val, &year, &month, &id ) == 4 ||
+ sscanf(ind,
+ "IQT:%x;TSH:%*4s;PDY:%x;PDM:%x;IC1:%x;IC2:%*x;IK1:%*x;IK2:%*x;TOV:%*x;TVU:%*x;LOG:INKbyEPSON;",
+ &val, &year, &month, &id ) == 4)
+ {
+ STP_DEBUG(printf("Case 4: i %i val %ud year %ud mo %ud id %ud\n",
+ i, val, year, month, id));
if (i == 0)
printf("%20s %20s %12s %7s\n",
_("Ink cartridge"), _("Percent remaining"), _("Part number"),
@@ -1661,6 +1736,7 @@ do_extended_ink_info(int extended_output)
}
else
{
+ STP_DEBUG(printf("Case 5: failure %i (%s)\n", i, ind));
printf("Cannot identify cartridge in slot %d\n", i);
}
}
@@ -2103,7 +2179,7 @@ do_get_input (const char *prompt)
fgets_status = fgets (input, BUFSIZ, stdin);
if (fgets_status == NULL)
{
- fprintf (stderr, _("Error in input\n"));
+ fprintf (stdout, _("Error in input\n"));
return (NULL);
}
else if (strlen (input) == 1 && input[0] == '\n')
diff --git a/src/foomatic/Makefile.in b/src/foomatic/Makefile.in
index 3b0fc9c..a1f28f3 100644
--- a/src/foomatic/Makefile.in
+++ b/src/foomatic/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -63,6 +65,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = foomatic-generator mk_printerlist
+CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_gutenprint_version_OBJECTS = gutenprint-version.$(OBJEXT)
gutenprint_version_OBJECTS = $(am_gutenprint_version_OBJECTS)
@@ -82,6 +85,7 @@ printers_DEPENDENCIES = $(GUTENPRINT_LIBS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -217,6 +221,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -338,14 +343,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/foomatic/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/foomatic/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/foomatic/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/foomatic/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -363,17 +368,20 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
foomatic-generator: $(top_builddir)/config.status $(srcdir)/foomatic-generator.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mk_printerlist: $(top_builddir)/config.status $(srcdir)/mk_printerlist.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
gutenprint-version$(EXEEXT): $(gutenprint_version_OBJECTS) $(gutenprint_version_DEPENDENCIES)
@rm -f gutenprint-version$(EXEEXT)
$(LINK) $(gutenprint_version_OBJECTS) $(gutenprint_version_LDADD) $(LIBS)
@@ -404,21 +412,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -434,14 +442,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -449,29 +457,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -492,13 +505,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -530,6 +547,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -552,6 +570,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -560,18 +580,28 @@ install-data-am: install-data-local
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -668,6 +698,7 @@ dist-hook:
$(top_builddir)/src/xml/xml-stamp:
cd $(top_builddir)/src/xml; $(MAKE) xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/foomatic/foomatic-generator.in b/src/foomatic/foomatic-generator.in
index 21d91d1..69a8e7e 100644
--- a/src/foomatic/foomatic-generator.in
+++ b/src/foomatic/foomatic-generator.in
@@ -1281,7 +1281,40 @@ sub qualityorder {
# Canon
"dmt",
"dpi_high",
- "dpi_draft"
+ "dpi_high2",
+ "dpi_high3",
+ "dpi_high4",
+ "dpi_highmono",
+ "dpi_highmono2",
+ "dpi_mono",
+ "dpi_draft",
+ "dpi_draft2",
+ "dpi_draft3",
+ "dpi_std2",
+ "dpi_std3",
+ "dpi_draftmono",
+ "dpi_draftmono2",
+ "dpi_glossphotohigh",
+ "dpi_photohigh",
+ "dpi_photohigh2",
+ "dpi_photohigh3",
+ "dpi_photohigh4",
+ "dpi_tshirt",
+ "dpi_photomed",
+ "dpi_photomed2",
+ "dpi_photo",
+ "dpi_photo2",
+ "dpi_photo3",
+ "dpi_photo4",
+ "dpi_photodraft",
+ "dpi_photodraft2",
+ "dpi_photodraft3",
+ "dpi_photomonohigh",
+ "dpi_photomonomed",
+ "dpi_photomono",
+ "dpi_photomonodraft",
+ "dpi_ohphigh",
+ "dpi_ohp"
);
my ($a, $b) = @_;
# Bring the suffixes to lower case
diff --git a/src/ghost/Makefile.in b/src/ghost/Makefile.in
index e1e89e0..52ec7dd 100644
--- a/src/ghost/Makefile.in
+++ b/src/ghost/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -58,8 +60,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am__ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES_DIST = \
ijsgutenprint.c
@@ -78,6 +80,7 @@ ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK = \
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -209,6 +212,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -313,14 +317,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/ghost/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/ghost/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/ghost/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/ghost/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -338,34 +342,50 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
ijsgutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT): $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES)
@rm -f ijsgutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT)
$(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK) $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS)
@@ -380,21 +400,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -410,14 +430,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -425,29 +445,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -468,13 +493,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -505,6 +534,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -526,6 +556,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -534,18 +566,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -600,6 +642,7 @@ $(top_builddir)/src/gutenprintui/libgutenprintui.la:
$(top_builddir)/src/gutenprintui2/libgutenprintui2.la:
cd $(top_builddir)/src/gutenprintui2; \
$(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/gimp2/Makefile.in b/src/gimp2/Makefile.in
index 9874a38..f059394 100644
--- a/src/gimp2/Makefile.in
+++ b/src/gimp2/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -59,8 +61,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(gimp2_plug_indir)"
-gimp2_plug_inPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(gimp2_plug_in_PROGRAMS)
am__objects_1 = print-image-gimp.$(OBJEXT) print.$(OBJEXT)
am_gutenprint_OBJECTS = $(am__objects_1) print-gutenprint.$(OBJEXT)
@@ -72,6 +74,7 @@ print_OBJECTS = $(am_print_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -203,6 +206,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -317,14 +321,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gimp2/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/gimp2/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gimp2/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/gimp2/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -342,34 +346,50 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-gimp2_plug_inPROGRAMS: $(gimp2_plug_in_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(gimp2_plug_indir)" || $(MKDIR_P) "$(DESTDIR)$(gimp2_plug_indir)"
- @list='$(gimp2_plug_in_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(gimp2_plug_inPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(gimp2_plug_indir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(gimp2_plug_inPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(gimp2_plug_indir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(gimp2_plug_in_PROGRAMS)'; test -n "$(gimp2_plug_indir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(gimp2_plug_indir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(gimp2_plug_indir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-gimp2_plug_inPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(gimp2_plug_in_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(gimp2_plug_indir)/$$f'"; \
- rm -f "$(DESTDIR)$(gimp2_plug_indir)/$$f"; \
- done
+ @list='$(gimp2_plug_in_PROGRAMS)'; test -n "$(gimp2_plug_indir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(gimp2_plug_indir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(gimp2_plug_indir)" && rm -f $$files
clean-gimp2_plug_inPROGRAMS:
- @list='$(gimp2_plug_in_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(gimp2_plug_in_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
gutenprint$(EXEEXT): $(gutenprint_OBJECTS) $(gutenprint_DEPENDENCIES)
@rm -f gutenprint$(EXEEXT)
$(LINK) $(gutenprint_OBJECTS) $(gutenprint_LDADD) $(LIBS)
@@ -390,21 +410,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -420,14 +440,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -435,29 +455,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -478,13 +503,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -516,6 +545,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -538,6 +568,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -546,18 +578,28 @@ install-data-am: install-gimp2_plug_inPROGRAMS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -612,6 +654,7 @@ $(top_builddir)/src/gutenprintui/libgutenprintui.la:
$(top_builddir)/src/gutenprintui2/libgutenprintui2.la:
cd $(top_builddir)/src/gutenprintui2; \
$(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/gutenprintui2/Makefile.in b/src/gutenprintui2/Makefile.in
index 61e955f..122ba64 100644
--- a/src/gutenprintui2/Makefile.in
+++ b/src/gutenprintui2/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -22,8 +23,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -59,15 +61,30 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = gutenprintui2.pc
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(pkgconfigdatadir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgutenprintui2_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
@@ -87,6 +104,7 @@ libgutenprintui2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -107,7 +125,6 @@ LTYACCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS)
SOURCES = $(libgutenprintui2_la_SOURCES)
DIST_SOURCES = $(libgutenprintui2_la_SOURCES)
-pkgconfigdataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfigdata_DATA)
ETAGS = etags
CTAGS = ctags
@@ -229,6 +246,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -367,14 +385,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gutenprintui2/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/gutenprintui2/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gutenprintui2/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/gutenprintui2/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -392,25 +410,30 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
gutenprintui2.pc: $(top_builddir)/config.status $(srcdir)/gutenprintui2.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -447,87 +470,87 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
libgutenprintui2_la-printrcy.lo: printrcy.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-printrcy.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-printrcy.Tpo -c -o libgutenprintui2_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-printrcy.Tpo $(DEPDIR)/libgutenprintui2_la-printrcy.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-printrcy.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-printrcy.Tpo -c -o libgutenprintui2_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-printrcy.Tpo $(DEPDIR)/libgutenprintui2_la-printrcy.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='printrcy.c' object='libgutenprintui2_la-printrcy.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c
libgutenprintui2_la-printrcl.lo: printrcl.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-printrcl.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-printrcl.Tpo -c -o libgutenprintui2_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-printrcl.Tpo $(DEPDIR)/libgutenprintui2_la-printrcl.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-printrcl.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-printrcl.Tpo -c -o libgutenprintui2_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-printrcl.Tpo $(DEPDIR)/libgutenprintui2_la-printrcl.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='printrcl.c' object='libgutenprintui2_la-printrcl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c
libgutenprintui2_la-panel.lo: panel.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-panel.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-panel.Tpo -c -o libgutenprintui2_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-panel.Tpo $(DEPDIR)/libgutenprintui2_la-panel.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-panel.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-panel.Tpo -c -o libgutenprintui2_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-panel.Tpo $(DEPDIR)/libgutenprintui2_la-panel.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='panel.c' object='libgutenprintui2_la-panel.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c
libgutenprintui2_la-plist.lo: plist.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-plist.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-plist.Tpo -c -o libgutenprintui2_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-plist.Tpo $(DEPDIR)/libgutenprintui2_la-plist.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-plist.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-plist.Tpo -c -o libgutenprintui2_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-plist.Tpo $(DEPDIR)/libgutenprintui2_la-plist.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='plist.c' object='libgutenprintui2_la-plist.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c
libgutenprintui2_la-ui-utils.lo: ui-utils.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-ui-utils.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-ui-utils.Tpo -c -o libgutenprintui2_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-ui-utils.Tpo $(DEPDIR)/libgutenprintui2_la-ui-utils.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-ui-utils.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-ui-utils.Tpo -c -o libgutenprintui2_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-ui-utils.Tpo $(DEPDIR)/libgutenprintui2_la-ui-utils.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ui-utils.c' object='libgutenprintui2_la-ui-utils.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c
libgutenprintui2_la-print-image-thumbnail.lo: print-image-thumbnail.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-print-image-thumbnail.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Tpo -c -o libgutenprintui2_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Tpo $(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-print-image-thumbnail.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Tpo -c -o libgutenprintui2_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Tpo $(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='print-image-thumbnail.c' object='libgutenprintui2_la-print-image-thumbnail.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c
libgutenprintui2_la-curve.lo: curve.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-curve.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-curve.Tpo -c -o libgutenprintui2_la-curve.lo `test -f 'curve.c' || echo '$(srcdir)/'`curve.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-curve.Tpo $(DEPDIR)/libgutenprintui2_la-curve.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-curve.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-curve.Tpo -c -o libgutenprintui2_la-curve.lo `test -f 'curve.c' || echo '$(srcdir)/'`curve.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-curve.Tpo $(DEPDIR)/libgutenprintui2_la-curve.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='curve.c' object='libgutenprintui2_la-curve.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-curve.lo `test -f 'curve.c' || echo '$(srcdir)/'`curve.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-curve.lo `test -f 'curve.c' || echo '$(srcdir)/'`curve.c
libgutenprintui2_la-gammacurve.lo: gammacurve.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-gammacurve.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-gammacurve.Tpo -c -o libgutenprintui2_la-gammacurve.lo `test -f 'gammacurve.c' || echo '$(srcdir)/'`gammacurve.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-gammacurve.Tpo $(DEPDIR)/libgutenprintui2_la-gammacurve.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-gammacurve.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-gammacurve.Tpo -c -o libgutenprintui2_la-gammacurve.lo `test -f 'gammacurve.c' || echo '$(srcdir)/'`gammacurve.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-gammacurve.Tpo $(DEPDIR)/libgutenprintui2_la-gammacurve.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gammacurve.c' object='libgutenprintui2_la-gammacurve.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-gammacurve.lo `test -f 'gammacurve.c' || echo '$(srcdir)/'`gammacurve.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-gammacurve.lo `test -f 'gammacurve.c' || echo '$(srcdir)/'`gammacurve.c
libgutenprintui2_la-typebuiltins.lo: typebuiltins.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-typebuiltins.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-typebuiltins.Tpo -c -o libgutenprintui2_la-typebuiltins.lo `test -f 'typebuiltins.c' || echo '$(srcdir)/'`typebuiltins.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui2_la-typebuiltins.Tpo $(DEPDIR)/libgutenprintui2_la-typebuiltins.Plo
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -MT libgutenprintui2_la-typebuiltins.lo -MD -MP -MF $(DEPDIR)/libgutenprintui2_la-typebuiltins.Tpo -c -o libgutenprintui2_la-typebuiltins.lo `test -f 'typebuiltins.c' || echo '$(srcdir)/'`typebuiltins.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgutenprintui2_la-typebuiltins.Tpo $(DEPDIR)/libgutenprintui2_la-typebuiltins.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='typebuiltins.c' object='libgutenprintui2_la-typebuiltins.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-typebuiltins.lo `test -f 'typebuiltins.c' || echo '$(srcdir)/'`typebuiltins.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui2_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui2_la-typebuiltins.lo `test -f 'typebuiltins.c' || echo '$(srcdir)/'`typebuiltins.c
.l.c:
$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
@@ -543,34 +566,37 @@ clean-libtool:
install-pkgconfigdataDATA: $(pkgconfigdata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdatadir)"
- @list='$(pkgconfigdata_DATA)'; for p in $$list; do \
+ @list='$(pkgconfigdata_DATA)'; test -n "$(pkgconfigdatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdatadir)/$$f'"; \
- $(pkgconfigdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdatadir)" || exit $$?; \
done
uninstall-pkgconfigdataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfigdata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdatadir)/$$f"; \
- done
+ @list='$(pkgconfigdata_DATA)'; test -n "$(pkgconfigdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdatadir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -578,29 +604,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -621,13 +652,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -658,6 +693,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -683,6 +719,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -691,18 +729,28 @@ install-data-am: install-pkgconfigdataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-libLTLIBRARIES
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -772,6 +820,7 @@ $(srcdir)/typebuiltins.c: $(typebuiltins_extra_deps)
--vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
$(stpui_public_h_sources) ) > $@.tmp
mv $@.tmp $@
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/gutenprintui2/printrcl.c b/src/gutenprintui2/printrcl.c
index 1c4d8e1..9e47848 100644
--- a/src/gutenprintui2/printrcl.c
+++ b/src/gutenprintui2/printrcl.c
@@ -1,67 +1,112 @@
-/* A lexical scanner generated by flex */
-/* Scanner skeleton version:
- * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
- */
+#line 3 "printrcl.c"
+
+#define YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with platform-specific or compiler-specific issues. */
+/* begin standard C headers. */
#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+/* end standard C headers. */
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
#endif
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t;
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
-#ifdef __cplusplus
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX (4294967295U)
+#endif
-#include <stdlib.h>
-#include <unistd.h>
+#endif /* ! FLEXINT_H */
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
+#ifdef __cplusplus
/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST
#else /* ! __cplusplus */
-#if __STDC__
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
-#define YY_USE_PROTOS
#define YY_USE_CONST
-#endif /* __STDC__ */
+#endif /* defined (__STDC__) */
#endif /* ! __cplusplus */
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
/* Returned upon end-of-file. */
#define YY_NULL 0
@@ -76,71 +121,70 @@
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
-#define BEGIN yy_start = 1 + 2 *
+#define BEGIN (yy_start) = 1 + 2 *
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
-#define YY_START ((yy_start - 1) / 2)
+#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
+#define YY_NEW_FILE yyrestart(yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
#define YY_BUF_SIZE 16384
+#endif
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
extern int yyleng;
+
extern FILE *yyin, *yyout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator). This
- * avoids problems with code like:
- *
- * if ( condition_holds )
- * yyless( 5 );
- * else
- * do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
+ #define YY_LESS_LINENO(n)
+
+/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
{ \
/* Undo effects of setting up yytext. */ \
- *yy_cp = yy_hold_char; \
+ int yyless_macro_arg = (n); \
+ YY_LESS_LINENO(yyless_macro_arg);\
+ *yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
- yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
+#define unput(c) yyunput( c, (yytext_ptr) )
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state
{
FILE *yy_input_file;
@@ -177,12 +221,16 @@ struct yy_buffer_state
*/
int yy_at_bol;
+ int yy_bs_lineno; /**< The line count. */
+ int yy_bs_column; /**< The column count. */
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
int yy_fill_buffer;
int yy_buffer_status;
+
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
/* When an EOF's been seen but there's still some text to process
@@ -196,28 +244,38 @@ struct yy_buffer_state
* just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
+
};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-static YY_BUFFER_STATE yy_current_buffer = 0;
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
* "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
*/
-#define YY_CURRENT_BUFFER yy_current_buffer
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+ : NULL)
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-
static int yy_n_chars; /* number of characters read into yy_ch_buf */
-
-
int yyleng;
/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1; /* whether we need to initialize */
+static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
/* Flag which is used to allow yywrap()'s to do buffer switches
@@ -225,69 +283,93 @@ static int yy_start = 0; /* start state number */
*/
static int yy_did_buffer_switch_on_eof;
-void yyrestart YY_PROTO(( FILE *input_file ));
+void yyrestart (FILE *input_file );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
+void yy_delete_buffer (YY_BUFFER_STATE b );
+void yy_flush_buffer (YY_BUFFER_STATE b );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
+void *yyalloc (yy_size_t );
+void *yyrealloc (void *,yy_size_t );
+void yyfree (void * );
#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_is_interactive = is_interactive; \
+ if ( ! YY_CURRENT_BUFFER ){ \
+ yyensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+ yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
#define yy_set_bol(at_bol) \
{ \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_at_bol = at_bol; \
+ if ( ! YY_CURRENT_BUFFER ){\
+ yyensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+ yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-#define yywrap() 1
+#define yywrap(n) 1
#define YY_SKIP_YYWRAP
+
typedef unsigned char YY_CHAR;
+
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
extern char *yytext;
#define yytext_ptr yytext
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[] );
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
- yytext_ptr = yy_bp; \
- yyleng = (int) (yy_cp - yy_bp); \
- yy_hold_char = *yy_cp; \
+ (yytext_ptr) = yy_bp; \
+ yyleng = (size_t) (yy_cp - yy_bp); \
+ (yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
- yy_c_buf_p = yy_cp;
+ (yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 40
#define YY_END_OF_BUFFER 41
-static yyconst short int yy_accept[335] =
+/* This struct is not used in this scanner,
+ but its presence is necessary. */
+struct yy_trans_info
+ {
+ flex_int32_t yy_verify;
+ flex_int32_t yy_nxt;
+ };
+static yyconst flex_int16_t yy_accept[336] =
{ 0,
0, 0, 41, 40, 37, 39, 40, 38, 40, 40,
31, 35, 35, 35, 35, 35, 35, 35, 35, 35,
@@ -303,32 +385,32 @@ static yyconst short int yy_accept[335] =
35, 35, 35, 35, 35, 0, 35, 35, 26, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 11,
34, 35, 38, 35, 35, 35, 35, 30, 35, 35,
- 35, 35, 35, 0, 35, 35, 10, 35, 35, 35,
- 35, 35, 35, 0, 35, 8, 38, 35, 35, 35,
- 35, 35, 35, 35, 27, 35, 0, 0, 35, 35,
- 35, 35, 35, 0, 35, 0, 25, 38, 35, 29,
- 35, 35, 0, 35, 35, 35, 9, 0, 0, 0,
- 23, 35, 0, 35, 35, 35, 0, 35, 0, 38,
- 35, 0, 0, 0, 35, 35, 35, 0, 0, 0,
-
- 35, 0, 35, 35, 3, 0, 5, 0, 38, 0,
- 0, 0, 0, 35, 35, 28, 0, 0, 0, 35,
- 0, 35, 15, 0, 0, 38, 0, 0, 0, 0,
- 35, 35, 0, 0, 0, 35, 0, 35, 0, 0,
- 38, 36, 0, 0, 0, 0, 35, 35, 0, 0,
- 0, 35, 0, 35, 16, 0, 0, 0, 0, 0,
- 35, 4, 0, 0, 0, 6, 0, 14, 0, 0,
- 20, 0, 0, 35, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 35, 0, 0, 0, 0, 0,
- 0, 0, 19, 35, 35, 0, 0, 0, 0, 0,
-
- 0, 1, 35, 35, 0, 0, 21, 17, 0, 0,
- 35, 35, 0, 0, 0, 0, 35, 12, 0, 0,
- 0, 0, 13, 0, 0, 0, 7, 22, 0, 0,
- 0, 2, 18, 0
+ 35, 35, 35, 0, 35, 34, 35, 10, 35, 35,
+ 35, 35, 35, 35, 0, 35, 8, 38, 35, 35,
+ 35, 35, 35, 35, 35, 27, 35, 0, 0, 35,
+ 35, 35, 35, 35, 0, 35, 0, 25, 38, 35,
+ 29, 35, 35, 0, 35, 35, 35, 9, 0, 0,
+ 0, 23, 35, 0, 35, 35, 35, 0, 35, 0,
+ 38, 35, 0, 0, 0, 35, 35, 35, 0, 0,
+
+ 0, 35, 0, 35, 35, 3, 0, 5, 0, 38,
+ 0, 0, 0, 0, 35, 35, 28, 0, 0, 0,
+ 35, 0, 35, 15, 0, 0, 38, 0, 0, 0,
+ 0, 35, 35, 0, 0, 0, 35, 0, 35, 0,
+ 0, 38, 36, 0, 0, 0, 0, 35, 35, 0,
+ 0, 0, 35, 0, 35, 16, 0, 0, 0, 0,
+ 0, 35, 4, 0, 0, 0, 6, 0, 14, 0,
+ 0, 20, 0, 0, 35, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 35, 35, 0, 0, 0, 0,
+ 0, 0, 0, 19, 35, 35, 0, 0, 0, 0,
+
+ 0, 0, 1, 35, 35, 0, 0, 21, 17, 0,
+ 0, 35, 35, 0, 0, 0, 0, 35, 12, 0,
+ 0, 0, 0, 13, 0, 0, 0, 7, 22, 0,
+ 0, 0, 2, 18, 0
} ;
-static yyconst int yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -336,14 +418,14 @@ static yyconst int yy_ec[256] =
1, 2, 1, 4, 5, 1, 1, 1, 6, 1,
1, 1, 7, 1, 8, 9, 1, 10, 10, 11,
11, 11, 10, 10, 10, 10, 10, 12, 1, 1,
- 1, 1, 1, 1, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 1, 1, 1, 1, 13, 1, 14, 15, 16, 17,
-
- 18, 19, 20, 21, 22, 23, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 1, 1, 1, 1, 38, 1, 39, 40, 41, 42,
+
+ 43, 44, 45, 46, 47, 22, 22, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -360,199 +442,271 @@ static yyconst int yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst int yy_meta[39] =
+static yyconst flex_int32_t yy_meta[63] =
{ 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 3,
3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3
} ;
-static yyconst short int yy_base[340] =
+static yyconst flex_int16_t yy_base[341] =
{ 0,
- 0, 0, 374, 375, 371, 375, 368, 343, 364, 29,
- 32, 336, 341, 18, 26, 21, 32, 343, 0, 340,
- 347, 19, 41, 331, 42, 32, 337, 360, 357, 375,
- 0, 330, 353, 55, 50, 68, 0, 326, 330, 331,
- 37, 324, 329, 320, 330, 334, 318, 325, 324, 320,
- 314, 326, 322, 311, 312, 319, 322, 325, 311, 307,
- 308, 302, 312, 311, 59, 70, 72, 305, 307, 305,
- 54, 297, 296, 309, 311, 291, 316, 293, 291, 303,
- 305, 0, 287, 300, 289, 302, 289, 281, 289, 277,
- 289, 298, 291, 276, 281, 275, 287, 290, 285, 284,
-
- 274, 278, 273, 274, 279, 276, 281, 276, 0, 279,
- 280, 265, 257, 264, 256, 269, 264, 277, 258, 375,
- 0, 271, 250, 259, 266, 253, 252, 0, 252, 250,
- 244, 256, 243, 248, 263, 246, 375, 237, 236, 249,
- 248, 257, 238, 249, 242, 375, 231, 222, 233, 241,
- 225, 77, 242, 233, 0, 242, 226, 224, 79, 237,
- 81, 218, 219, 222, 227, 222, 0, 229, 226, 0,
- 235, 234, 225, 212, 207, 211, 375, 222, 206, 204,
- 375, 202, 214, 200, 213, 218, 215, 216, 203, 192,
- 217, 192, 195, 195, 207, 198, 193, 204, 195, 198,
-
- 193, 192, 176, 182, 375, 186, 375, 202, 198, 178,
- 170, 176, 180, 184, 176, 0, 178, 175, 168, 172,
- 174, 169, 0, 178, 167, 191, 166, 164, 169, 165,
- 171, 162, 179, 154, 153, 158, 165, 164, 169, 166,
- 176, 375, 154, 159, 150, 161, 161, 161, 141, 153,
- 148, 157, 142, 155, 375, 138, 141, 152, 131, 136,
- 51, 375, 143, 130, 133, 375, 144, 375, 139, 148,
- 375, 137, 137, 135, 130, 119, 142, 129, 123, 117,
- 118, 115, 132, 121, 125, 109, 113, 108, 120, 129,
- 122, 123, 375, 114, 101, 110, 103, 118, 117, 97,
-
- 99, 375, 105, 104, 98, 91, 375, 375, 100, 103,
- 88, 107, 98, 95, 78, 85, 102, 375, 82, 85,
- 93, 98, 375, 97, 82, 76, 375, 375, 68, 84,
- 81, 375, 375, 375, 94, 97, 100, 89, 103
+ 0, 0, 653, 654, 650, 654, 647, 36, 644, 54,
+ 57, 37, 44, 45, 58, 47, 72, 50, 0, 53,
+ 63, 60, 86, 51, 98, 94, 66, 647, 644, 654,
+ 0, 81, 641, 117, 111, 139, 0, 99, 105, 108,
+ 107, 103, 114, 109, 121, 127, 120, 129, 130, 133,
+ 133, 147, 146, 139, 142, 151, 156, 161, 153, 151,
+ 154, 150, 154, 162, 175, 177, 192, 164, 171, 173,
+ 179, 179, 180, 196, 200, 183, 638, 188, 190, 204,
+ 209, 0, 194, 209, 201, 216, 206, 200, 211, 204,
+ 222, 633, 227, 215, 223, 221, 237, 245, 243, 244,
+
+ 238, 241, 240, 243, 250, 249, 259, 257, 0, 262,
+ 632, 252, 246, 255, 250, 265, 262, 635, 260, 654,
+ 0, 630, 261, 274, 283, 274, 280, 0, 283, 286,
+ 282, 280, 284, 291, 633, 0, 292, 654, 285, 287,
+ 302, 303, 632, 300, 313, 308, 654, 300, 294, 308,
+ 318, 311, 327, 331, 326, 0, 627, 323, 324, 78,
+ 342, 340, 326, 330, 336, 343, 341, 0, 351, 351,
+ 0, 630, 629, 354, 344, 341, 349, 654, 363, 350,
+ 350, 654, 352, 367, 356, 373, 617, 378, 614, 370,
+ 365, 615, 368, 374, 376, 393, 386, 384, 397, 392,
+
+ 397, 394, 398, 385, 393, 654, 401, 654, 614, 607,
+ 399, 393, 401, 407, 416, 411, 0, 415, 417, 412,
+ 418, 425, 422, 0, 434, 430, 614, 432, 432, 431,
+ 436, 447, 441, 607, 439, 440, 447, 458, 459, 599,
+ 466, 605, 654, 458, 469, 463, 476, 568, 591, 462,
+ 476, 473, 590, 473, 589, 654, 472, 477, 548, 472,
+ 479, 487, 654, 491, 481, 486, 654, 501, 654, 499,
+ 501, 654, 501, 506, 509, 506, 499, 479, 512, 513,
+ 509, 512, 512, 468, 511, 527, 514, 521, 519, 533,
+ 457, 538, 408, 654, 535, 525, 538, 534, 351, 316,
+
+ 535, 540, 654, 548, 551, 548, 544, 654, 654, 557,
+ 562, 551, 218, 564, 563, 550, 559, 215, 654, 559,
+ 565, 576, 212, 654, 112, 570, 566, 654, 654, 569,
+ 92, 69, 654, 654, 654, 624, 627, 630, 73, 633
} ;
-static yyconst short int yy_def[340] =
+static yyconst flex_int16_t yy_def[341] =
{ 0,
- 334, 1, 334, 334, 334, 334, 335, 336, 337, 334,
- 334, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 334, 335, 334,
- 336, 336, 337, 334, 334, 334, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 336, 334, 334, 334, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 338, 336, 338, 338, 338, 338, 338,
-
- 338, 338, 338, 338, 338, 334, 338, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 338, 334,
- 338, 338, 336, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 334, 338, 338, 334, 338, 338, 338,
- 338, 338, 338, 334, 338, 334, 336, 338, 338, 338,
- 338, 338, 338, 338, 338, 338, 334, 334, 338, 338,
- 338, 338, 338, 334, 338, 334, 338, 336, 338, 338,
- 338, 338, 334, 338, 338, 338, 334, 334, 334, 334,
- 334, 338, 334, 338, 338, 338, 334, 338, 334, 336,
- 338, 334, 334, 334, 338, 338, 338, 334, 334, 334,
-
- 338, 334, 338, 338, 334, 334, 334, 334, 336, 334,
- 334, 334, 334, 338, 338, 338, 334, 334, 334, 338,
- 334, 338, 338, 334, 334, 339, 334, 334, 334, 334,
- 338, 338, 334, 334, 334, 338, 334, 338, 334, 334,
- 339, 334, 334, 334, 334, 334, 338, 338, 334, 334,
- 334, 338, 334, 338, 334, 334, 334, 334, 334, 334,
- 338, 334, 334, 334, 334, 334, 334, 334, 334, 334,
- 334, 334, 334, 338, 338, 334, 334, 334, 334, 334,
- 334, 334, 334, 338, 338, 334, 334, 334, 334, 334,
- 334, 334, 334, 338, 338, 334, 334, 334, 334, 334,
-
- 334, 334, 338, 338, 334, 334, 334, 334, 334, 334,
- 338, 338, 334, 334, 334, 334, 338, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
- 334, 334, 334, 0, 334, 334, 334, 334, 334
+ 335, 1, 335, 335, 335, 335, 336, 337, 338, 335,
+ 335, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 335, 336, 335,
+ 337, 337, 338, 335, 335, 335, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 337, 335, 335, 335, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 337, 339, 339, 339, 339, 339,
+
+ 339, 339, 339, 339, 339, 335, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 335,
+ 339, 339, 337, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 335, 339, 339, 339, 335, 339, 339,
+ 339, 339, 339, 339, 335, 339, 335, 337, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 335, 335, 339,
+ 339, 339, 339, 339, 335, 339, 335, 339, 337, 339,
+ 339, 339, 339, 335, 339, 339, 339, 335, 335, 335,
+ 335, 335, 339, 335, 339, 339, 339, 335, 339, 335,
+ 337, 339, 335, 335, 335, 339, 339, 339, 335, 335,
+
+ 335, 339, 335, 339, 339, 335, 335, 335, 335, 337,
+ 335, 335, 335, 335, 339, 339, 339, 335, 335, 335,
+ 339, 335, 339, 339, 335, 335, 340, 335, 335, 335,
+ 335, 339, 339, 335, 335, 335, 339, 335, 339, 335,
+ 335, 340, 335, 335, 335, 335, 335, 339, 339, 335,
+ 335, 335, 339, 335, 339, 335, 335, 335, 335, 335,
+ 335, 339, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 339, 339, 335, 335, 335, 335,
+ 335, 335, 335, 335, 339, 339, 335, 335, 335, 335,
+ 335, 335, 335, 335, 339, 339, 335, 335, 335, 335,
+
+ 335, 335, 335, 339, 339, 335, 335, 335, 335, 335,
+ 335, 339, 339, 335, 335, 335, 335, 339, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 0, 335, 335, 335, 335, 335
} ;
-static yyconst short int yy_nxt[414] =
+static yyconst flex_int16_t yy_nxt[717] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 10, 4, 11,
- 11, 4, 4, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 19, 21, 19, 19, 22, 23, 24, 19,
- 25, 26, 27, 19, 19, 19, 19, 19, 34, 34,
- 35, 34, 34, 42, 40, 48, 46, 43, 53, 36,
- 41, 54, 44, 49, 55, 45, 47, 58, 61, 65,
- 65, 62, 59, 35, 34, 34, 71, 72, 65, 65,
- 56, 274, 36, 60, 66, 66, 36, 67, 67, 67,
- 67, 67, 67, 99, 173, 275, 180, 100, 183, 174,
- 181, 37, 333, 184, 29, 332, 29, 31, 331, 31,
-
- 33, 33, 33, 241, 241, 241, 330, 329, 328, 327,
- 326, 325, 324, 323, 322, 321, 320, 319, 318, 317,
- 316, 315, 314, 313, 312, 311, 310, 309, 308, 307,
- 306, 305, 304, 303, 302, 301, 300, 299, 298, 297,
- 296, 295, 294, 293, 292, 291, 290, 289, 288, 287,
- 286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
- 276, 273, 272, 271, 270, 269, 268, 267, 266, 265,
- 264, 263, 262, 261, 260, 259, 258, 257, 242, 256,
- 255, 254, 253, 252, 251, 250, 249, 248, 247, 246,
- 245, 244, 243, 242, 240, 239, 238, 237, 236, 235,
-
- 234, 233, 232, 231, 230, 229, 228, 227, 226, 225,
- 224, 223, 222, 221, 220, 219, 218, 217, 216, 215,
- 214, 213, 212, 211, 210, 209, 208, 207, 206, 205,
- 204, 203, 202, 201, 200, 199, 198, 197, 196, 195,
- 194, 193, 192, 191, 190, 189, 188, 187, 186, 185,
- 182, 179, 178, 177, 176, 175, 172, 171, 170, 169,
- 168, 167, 166, 165, 164, 163, 162, 161, 160, 159,
- 158, 157, 156, 155, 154, 153, 152, 151, 150, 149,
- 148, 147, 146, 145, 144, 143, 142, 141, 140, 139,
- 138, 137, 136, 121, 135, 134, 133, 132, 131, 130,
-
- 129, 128, 127, 126, 125, 124, 123, 122, 121, 120,
- 119, 118, 117, 116, 115, 114, 113, 112, 111, 110,
- 109, 108, 107, 106, 105, 104, 103, 102, 101, 98,
- 97, 96, 95, 94, 93, 92, 91, 90, 89, 88,
- 87, 86, 85, 84, 83, 82, 81, 80, 79, 78,
- 77, 76, 75, 74, 73, 70, 69, 68, 30, 64,
- 30, 28, 63, 57, 52, 51, 50, 39, 38, 30,
- 32, 30, 28, 334, 3, 334, 334, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
-
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
- 334, 334, 334
+ 11, 4, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 19, 21, 19, 19, 22, 23, 24, 19, 25,
+ 26, 27, 19, 19, 19, 19, 19, 4, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 19, 19,
+ 22, 23, 24, 19, 25, 26, 27, 19, 19, 19,
+ 19, 19, 32, 34, 34, 35, 34, 34, 38, 39,
+ 40, 46, 50, 36, 42, 37, 41, 51, 43, 52,
+ 334, 47, 57, 44, 48, 181, 45, 32, 53, 182,
+ 63, 54, 49, 38, 39, 40, 46, 50, 55, 36,
+
+ 42, 41, 51, 333, 43, 52, 47, 57, 44, 64,
+ 48, 45, 58, 53, 56, 63, 54, 59, 49, 61,
+ 65, 65, 62, 329, 55, 35, 34, 34, 60, 68,
+ 69, 70, 73, 36, 64, 71, 72, 74, 58, 56,
+ 75, 76, 77, 59, 61, 66, 66, 62, 67, 67,
+ 78, 79, 80, 60, 68, 69, 70, 73, 81, 36,
+ 71, 72, 74, 82, 83, 75, 84, 76, 77, 85,
+ 86, 87, 88, 89, 94, 78, 79, 80, 90, 91,
+ 92, 93, 95, 81, 65, 65, 67, 67, 82, 96,
+ 83, 36, 84, 97, 85, 86, 98, 87, 88, 89,
+
+ 94, 67, 67, 90, 91, 92, 93, 99, 95, 101,
+ 102, 100, 103, 104, 96, 105, 107, 36, 97, 108,
+ 109, 98, 110, 328, 111, 112, 324, 113, 114, 319,
+ 115, 116, 99, 117, 101, 102, 100, 118, 103, 104,
+ 105, 107, 119, 121, 108, 122, 109, 123, 110, 111,
+ 124, 112, 113, 125, 114, 115, 116, 126, 117, 127,
+ 128, 130, 118, 129, 131, 132, 133, 134, 119, 121,
+ 122, 135, 123, 136, 137, 124, 139, 140, 141, 125,
+ 142, 143, 144, 126, 146, 127, 128, 130, 129, 131,
+ 132, 148, 133, 134, 149, 150, 156, 135, 151, 136,
+
+ 137, 139, 140, 141, 152, 142, 153, 143, 144, 146,
+ 154, 155, 157, 158, 160, 161, 148, 162, 163, 164,
+ 149, 150, 156, 151, 166, 167, 168, 309, 169, 152,
+ 170, 153, 171, 172, 174, 154, 155, 157, 158, 160,
+ 161, 173, 162, 176, 163, 164, 177, 184, 179, 166,
+ 180, 167, 168, 169, 183, 170, 186, 171, 187, 172,
+ 188, 189, 308, 190, 175, 191, 173, 192, 195, 176,
+ 196, 197, 177, 179, 198, 180, 199, 185, 200, 201,
+ 183, 186, 202, 187, 203, 188, 204, 189, 190, 205,
+ 207, 191, 209, 192, 195, 196, 197, 210, 212, 198,
+
+ 213, 214, 199, 200, 201, 215, 216, 202, 217, 218,
+ 203, 204, 219, 220, 221, 205, 207, 209, 222, 303,
+ 223, 224, 210, 212, 225, 213, 214, 228, 229, 230,
+ 231, 215, 216, 217, 232, 218, 233, 234, 219, 220,
+ 221, 235, 236, 237, 222, 223, 224, 238, 239, 225,
+ 240, 246, 228, 229, 230, 231, 241, 244, 245, 247,
+ 232, 233, 234, 248, 301, 249, 235, 236, 237, 251,
+ 252, 253, 238, 239, 254, 255, 240, 246, 257, 294,
+ 258, 241, 244, 245, 247, 259, 288, 260, 261, 248,
+ 249, 264, 265, 266, 251, 252, 253, 268, 270, 271,
+
+ 254, 255, 273, 274, 257, 258, 275, 277, 282, 278,
+ 279, 259, 260, 280, 261, 281, 264, 283, 265, 266,
+ 276, 284, 268, 270, 271, 285, 286, 273, 274, 287,
+ 289, 295, 275, 277, 278, 279, 290, 291, 292, 280,
+ 293, 281, 296, 283, 297, 276, 298, 284, 299, 300,
+ 302, 285, 286, 304, 287, 305, 289, 295, 306, 272,
+ 307, 290, 291, 292, 310, 293, 311, 312, 296, 297,
+ 313, 298, 314, 299, 315, 300, 302, 316, 317, 304,
+ 305, 318, 320, 321, 306, 307, 322, 323, 325, 310,
+ 326, 311, 327, 312, 330, 331, 313, 314, 332, 315,
+
+ 269, 267, 263, 316, 317, 262, 318, 243, 320, 321,
+ 256, 322, 323, 325, 250, 326, 243, 227, 327, 330,
+ 331, 226, 211, 332, 29, 208, 29, 31, 206, 31,
+ 33, 33, 33, 242, 242, 242, 194, 193, 178, 165,
+ 159, 147, 145, 138, 120, 106, 30, 30, 28, 30,
+ 30, 28, 335, 3, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335
} ;
-static yyconst short int yy_chk[414] =
+static yyconst flex_int16_t yy_chk[717] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 10, 10,
- 11, 11, 11, 15, 14, 17, 16, 15, 22, 11,
- 14, 22, 15, 17, 23, 15, 16, 25, 26, 35,
- 35, 26, 25, 34, 34, 34, 41, 41, 65, 65,
- 23, 261, 34, 25, 36, 36, 65, 36, 36, 66,
- 66, 67, 67, 71, 152, 261, 159, 71, 161, 152,
- 159, 338, 331, 161, 335, 330, 335, 336, 329, 336,
-
- 337, 337, 337, 339, 339, 339, 326, 325, 324, 322,
- 321, 320, 319, 317, 316, 315, 314, 313, 312, 311,
- 310, 309, 306, 305, 304, 303, 301, 300, 299, 298,
- 297, 296, 295, 294, 292, 291, 290, 289, 288, 287,
- 286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
- 276, 275, 274, 273, 272, 270, 269, 267, 265, 264,
- 263, 260, 259, 258, 257, 256, 254, 253, 252, 251,
- 250, 249, 248, 247, 246, 245, 244, 243, 241, 240,
- 239, 238, 237, 236, 235, 234, 233, 232, 231, 230,
- 229, 228, 227, 226, 225, 224, 222, 221, 220, 219,
-
- 218, 217, 215, 214, 213, 212, 211, 210, 209, 208,
- 206, 204, 203, 202, 201, 200, 199, 198, 197, 196,
- 195, 194, 193, 192, 191, 190, 189, 188, 187, 186,
- 185, 184, 183, 182, 180, 179, 178, 176, 175, 174,
- 173, 172, 171, 169, 168, 166, 165, 164, 163, 162,
- 160, 158, 157, 156, 154, 153, 151, 150, 149, 148,
- 147, 145, 144, 143, 142, 141, 140, 139, 138, 136,
- 135, 134, 133, 132, 131, 130, 129, 127, 126, 125,
- 124, 123, 122, 119, 118, 117, 116, 115, 114, 113,
- 112, 111, 110, 108, 107, 106, 105, 104, 103, 102,
-
- 101, 100, 99, 98, 97, 96, 95, 94, 93, 92,
- 91, 90, 89, 88, 87, 86, 85, 84, 83, 81,
- 80, 79, 78, 77, 76, 75, 74, 73, 72, 70,
- 69, 68, 64, 63, 62, 61, 60, 59, 58, 57,
- 56, 55, 54, 53, 52, 51, 50, 49, 48, 47,
- 46, 45, 44, 43, 42, 40, 39, 38, 33, 32,
- 29, 28, 27, 24, 21, 20, 18, 13, 12, 9,
- 8, 7, 5, 3, 334, 334, 334, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
-
- 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
- 334, 334, 334
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 8, 10, 10, 11, 11, 11, 12, 13,
+ 14, 16, 18, 11, 15, 339, 14, 20, 15, 21,
+ 332, 16, 24, 15, 17, 160, 15, 8, 22, 160,
+ 27, 22, 17, 12, 13, 14, 16, 18, 23, 11,
+
+ 15, 14, 20, 331, 15, 21, 16, 24, 15, 32,
+ 17, 15, 25, 22, 23, 27, 22, 25, 17, 26,
+ 35, 35, 26, 325, 23, 34, 34, 34, 25, 38,
+ 39, 40, 42, 34, 32, 41, 41, 43, 25, 23,
+ 44, 45, 46, 25, 26, 36, 36, 26, 36, 36,
+ 47, 48, 49, 25, 38, 39, 40, 42, 50, 34,
+ 41, 41, 43, 51, 52, 44, 53, 45, 46, 54,
+ 55, 56, 57, 58, 63, 47, 48, 49, 59, 60,
+ 61, 62, 64, 50, 65, 65, 66, 66, 51, 68,
+ 52, 65, 53, 69, 54, 55, 70, 56, 57, 58,
+
+ 63, 67, 67, 59, 60, 61, 62, 71, 64, 72,
+ 73, 71, 74, 75, 68, 76, 78, 65, 69, 79,
+ 80, 70, 81, 323, 83, 84, 318, 85, 86, 313,
+ 87, 88, 71, 89, 72, 73, 71, 90, 74, 75,
+ 76, 78, 91, 93, 79, 94, 80, 95, 81, 83,
+ 96, 84, 85, 97, 86, 87, 88, 98, 89, 99,
+ 100, 102, 90, 101, 103, 104, 105, 106, 91, 93,
+ 94, 107, 95, 108, 110, 96, 112, 113, 114, 97,
+ 115, 116, 117, 98, 119, 99, 100, 102, 101, 103,
+ 104, 123, 105, 106, 124, 125, 132, 107, 126, 108,
+
+ 110, 112, 113, 114, 127, 115, 129, 116, 117, 119,
+ 130, 131, 133, 134, 137, 139, 123, 140, 141, 142,
+ 124, 125, 132, 126, 144, 145, 146, 300, 148, 127,
+ 149, 129, 150, 151, 153, 130, 131, 133, 134, 137,
+ 139, 152, 140, 154, 141, 142, 155, 162, 158, 144,
+ 159, 145, 146, 148, 161, 149, 163, 150, 164, 151,
+ 165, 166, 299, 167, 153, 169, 152, 170, 174, 154,
+ 175, 176, 155, 158, 177, 159, 179, 162, 180, 181,
+ 161, 163, 183, 164, 184, 165, 185, 166, 167, 186,
+ 188, 169, 190, 170, 174, 175, 176, 191, 193, 177,
+
+ 194, 195, 179, 180, 181, 196, 197, 183, 198, 199,
+ 184, 185, 200, 201, 202, 186, 188, 190, 203, 293,
+ 204, 205, 191, 193, 207, 194, 195, 211, 212, 213,
+ 214, 196, 197, 198, 215, 199, 216, 218, 200, 201,
+ 202, 219, 220, 221, 203, 204, 205, 222, 223, 207,
+ 225, 230, 211, 212, 213, 214, 226, 228, 229, 231,
+ 215, 216, 218, 232, 291, 233, 219, 220, 221, 235,
+ 236, 237, 222, 223, 238, 239, 225, 230, 241, 284,
+ 244, 226, 228, 229, 231, 245, 278, 246, 247, 232,
+ 233, 250, 251, 252, 235, 236, 237, 254, 257, 258,
+
+ 238, 239, 260, 261, 241, 244, 262, 264, 271, 265,
+ 266, 245, 246, 268, 247, 270, 250, 273, 251, 252,
+ 262, 274, 254, 257, 258, 275, 276, 260, 261, 277,
+ 279, 285, 262, 264, 265, 266, 280, 281, 282, 268,
+ 283, 270, 286, 273, 287, 262, 288, 274, 289, 290,
+ 292, 275, 276, 295, 277, 296, 279, 285, 297, 259,
+ 298, 280, 281, 282, 301, 283, 302, 304, 286, 287,
+ 305, 288, 306, 289, 307, 290, 292, 310, 311, 295,
+ 296, 312, 314, 315, 297, 298, 316, 317, 320, 301,
+ 321, 302, 322, 304, 326, 327, 305, 306, 330, 307,
+
+ 255, 253, 249, 310, 311, 248, 312, 242, 314, 315,
+ 240, 316, 317, 320, 234, 321, 227, 210, 322, 326,
+ 327, 209, 192, 330, 336, 189, 336, 337, 187, 337,
+ 338, 338, 338, 340, 340, 340, 173, 172, 157, 143,
+ 135, 122, 118, 111, 92, 77, 33, 29, 28, 9,
+ 7, 5, 3, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335
} ;
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
@@ -562,7 +716,6 @@ static char *yy_last_accepting_cpos;
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "printrcl.l"
-#define INITIAL 0
/* -*-Mode: C-*-
* "$Id: printrcl.l,v 1.1 2004/09/17 18:38:14 rleigh Exp $"
*
@@ -621,7 +774,52 @@ q_strdup(const char *s)
return g_strndup(s + 1, strlen(s) - 2);
}
-#line 625 "printrcl.c"
+#line 778 "printrcl.c"
+
+#define INITIAL 0
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+ These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy (void );
+
+int yyget_debug (void );
+
+void yyset_debug (int debug_flag );
+
+YY_EXTRA_TYPE yyget_extra (void );
+
+void yyset_extra (YY_EXTRA_TYPE user_defined );
+
+FILE *yyget_in (void );
+
+void yyset_in (FILE * in_str );
+
+FILE *yyget_out (void );
+
+void yyset_out (FILE * out_str );
+
+int yyget_leng (void );
+
+char *yyget_text (void );
+
+int yyget_lineno (void );
+
+void yyset_lineno (int line_number );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -629,65 +827,30 @@ q_strdup(const char *s)
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
+extern "C" int yywrap (void );
#else
-extern int yywrap YY_PROTO(( void ));
-#endif
+extern int yywrap (void );
#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif
+ static void yyunput (int c,char *buf_ptr );
+
#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+static void yy_flex_strncpy (char *,yyconst char *,int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+static int yy_flex_strlen (yyconst char * );
#endif
#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
+#ifdef __cplusplus
+static int yyinput (void );
#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
+static int input (void );
#endif
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines. This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
#endif
/* Amount of stuff to slurp up with each read. */
@@ -696,12 +859,11 @@ YY_MALLOC_DECL
#endif
/* Copy whatever the last rule matched to the standard output. */
-
#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -709,9 +871,10 @@ YY_MALLOC_DECL
*/
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
- if ( yy_current_buffer->yy_is_interactive ) \
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
- int c = '*', n; \
+ int c = '*'; \
+ int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -721,9 +884,22 @@ YY_MALLOC_DECL
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
- else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
- && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" );
+ else \
+ { \
+ errno=0; \
+ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ { \
+ if( errno != EINTR) \
+ { \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ break; \
+ } \
+ errno=0; \
+ clearerr(yyin); \
+ } \
+ }\
+\
+
#endif
/* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -744,12 +920,18 @@ YY_MALLOC_DECL
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif
+/* end tables serialization structures and prototypes */
+
/* Default declaration of generated scanner - a define so the user can
* easily add parameters.
*/
#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
@@ -766,27 +948,29 @@ YY_MALLOC_DECL
#define YY_RULE_SETUP \
YY_USER_ACTION
+/** The main scanner function which does all the work.
+ */
YY_DECL
- {
+{
register yy_state_type yy_current_state;
register char *yy_cp, *yy_bp;
register int yy_act;
-
+
#line 73 "printrcl.l"
-#line 779 "printrcl.c"
+#line 963 "printrcl.c"
- if ( yy_init )
+ if ( !(yy_init) )
{
- yy_init = 0;
+ (yy_init) = 1;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
- if ( ! yy_start )
- yy_start = 1; /* first start state */
+ if ( ! (yy_start) )
+ (yy_start) = 1; /* first start state */
if ( ! yyin )
yyin = stdin;
@@ -794,68 +978,68 @@ YY_DECL
if ( ! yyout )
yyout = stdout;
- if ( ! yy_current_buffer )
- yy_current_buffer =
- yy_create_buffer( yyin, YY_BUF_SIZE );
+ if ( ! YY_CURRENT_BUFFER ) {
+ yyensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+ yy_create_buffer(yyin,YY_BUF_SIZE );
+ }
- yy_load_buffer_state();
+ yy_load_buffer_state( );
}
while ( 1 ) /* loops until end-of-file is reached */
{
- yy_cp = yy_c_buf_p;
+ yy_cp = (yy_c_buf_p);
/* Support of yytext. */
- *yy_cp = yy_hold_char;
+ *yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
- yy_current_state = yy_start;
+ yy_current_state = (yy_start);
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 335 )
+ if ( yy_current_state >= 336 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 375 );
+ while ( yy_base[yy_current_state] != 654 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
if ( yy_act == 0 )
{ /* have to back up */
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
yy_act = yy_accept[yy_current_state];
}
YY_DO_BEFORE_ACTION;
-
do_action: /* This label is used only to access EOF actions. */
-
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
+ *yy_cp = (yy_hold_char);
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
goto yy_find_action;
case 1:
@@ -1019,6 +1203,7 @@ YY_RULE_SETUP
yylval.dval = strtod(yytext, NULL); DBG(tDOUBLE); return tDOUBLE;
YY_BREAK
case 33:
+/* rule 33 can match eol */
YY_RULE_SETUP
#line 109 "printrcl.l"
yylval.sval = q_strdup(yytext); DBG(tSTRING); return tSTRING;
@@ -1034,6 +1219,7 @@ YY_RULE_SETUP
yylval.sval = g_strdup(yytext); DBG(tWORD); return tWORD;
YY_BREAK
case 36:
+/* rule 36 can match eol */
YY_RULE_SETUP
#line 112 "printrcl.l"
DBG(PRINTRC_HDR); return PRINTRC_HDR;
@@ -1049,6 +1235,7 @@ YY_RULE_SETUP
DBG(comment1); /* Skip comments */
YY_BREAK
case 39:
+/* rule 39 can match eol */
YY_RULE_SETUP
#line 115 "printrcl.l"
DBG(newline); mylineno++;
@@ -1058,33 +1245,33 @@ YY_RULE_SETUP
#line 116 "printrcl.l"
ECHO;
YY_BREAK
-#line 1062 "printrcl.c"
+#line 1249 "printrcl.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
case YY_END_OF_BUFFER:
{
/* Amount of text matched not including the EOB char. */
- int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
/* Undo the effects of YY_DO_BEFORE_ACTION. */
- *yy_cp = yy_hold_char;
+ *yy_cp = (yy_hold_char);
YY_RESTORE_YY_MORE_OFFSET
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
* just pointed yyin at a new source and called
* yylex(). If so, then we have to assure
- * consistency between yy_current_buffer and our
+ * consistency between YY_CURRENT_BUFFER and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yy_current_buffer->yy_input_file = yyin;
- yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
}
/* Note that here we test for yy_c_buf_p "<=" to the position
@@ -1094,13 +1281,13 @@ case YY_STATE_EOF(INITIAL):
* end-of-buffer state). Contrast this with the test
* in input().
*/
- if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
{ /* This was really a NUL. */
yy_state_type yy_next_state;
- yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+ (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
- yy_current_state = yy_get_previous_state();
+ yy_current_state = yy_get_previous_state( );
/* Okay, we're now positioned to make the NUL
* transition. We couldn't have
@@ -1113,30 +1300,30 @@ case YY_STATE_EOF(INITIAL):
yy_next_state = yy_try_NUL_trans( yy_current_state );
- yy_bp = yytext_ptr + YY_MORE_ADJ;
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
if ( yy_next_state )
{
/* Consume the NUL. */
- yy_cp = ++yy_c_buf_p;
+ yy_cp = ++(yy_c_buf_p);
yy_current_state = yy_next_state;
goto yy_match;
}
else
{
- yy_cp = yy_c_buf_p;
+ yy_cp = (yy_c_buf_p);
goto yy_find_action;
}
}
- else switch ( yy_get_next_buffer() )
+ else switch ( yy_get_next_buffer( ) )
{
case EOB_ACT_END_OF_FILE:
{
- yy_did_buffer_switch_on_eof = 0;
+ (yy_did_buffer_switch_on_eof) = 0;
- if ( yywrap() )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
@@ -1147,7 +1334,7 @@ case YY_STATE_EOF(INITIAL):
* YY_NULL, it'll still work - another
* YY_NULL will get returned.
*/
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
yy_act = YY_STATE_EOF(YY_START);
goto do_action;
@@ -1155,30 +1342,30 @@ case YY_STATE_EOF(INITIAL):
else
{
- if ( ! yy_did_buffer_switch_on_eof )
+ if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
}
break;
}
case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p =
- yytext_ptr + yy_amount_of_matched_text;
+ (yy_c_buf_p) =
+ (yytext_ptr) + yy_amount_of_matched_text;
- yy_current_state = yy_get_previous_state();
+ yy_current_state = yy_get_previous_state( );
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
+ yy_cp = (yy_c_buf_p);
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
goto yy_match;
case EOB_ACT_LAST_MATCH:
- yy_c_buf_p =
- &yy_current_buffer->yy_ch_buf[yy_n_chars];
+ (yy_c_buf_p) =
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
- yy_current_state = yy_get_previous_state();
+ yy_current_state = yy_get_previous_state( );
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
+ yy_cp = (yy_c_buf_p);
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
goto yy_find_action;
}
break;
@@ -1189,8 +1376,7 @@ case YY_STATE_EOF(INITIAL):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
- } /* end of yylex */
-
+} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
*
@@ -1199,21 +1385,20 @@ case YY_STATE_EOF(INITIAL):
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position
* EOB_ACT_END_OF_FILE - end of file
*/
-
-static int yy_get_next_buffer()
- {
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
+static int yy_get_next_buffer (void)
+{
+ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ register char *source = (yytext_ptr);
register int number_to_move, i;
int ret_val;
- if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed" );
- if ( yy_current_buffer->yy_fill_buffer == 0 )
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
{ /* Don't try to fill the buffer, so this is an EOF. */
- if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
{
/* We matched a single character, the EOB, so
* treat this as a final EOF.
@@ -1233,34 +1418,30 @@ static int yy_get_next_buffer()
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
- yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
else
{
- int num_to_read =
- yy_current_buffer->yy_buf_size - number_to_move - 1;
+ int num_to_read =
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
- YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
/* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = yy_current_buffer;
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
int yy_c_buf_p_offset =
- (int) (yy_c_buf_p - b->yy_ch_buf);
+ (int) ((yy_c_buf_p) - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
@@ -1273,8 +1454,7 @@ static int yy_get_next_buffer()
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- yy_flex_realloc( (void *) b->yy_ch_buf,
- b->yy_buf_size + 2 );
+ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
@@ -1284,35 +1464,35 @@ static int yy_get_next_buffer()
YY_FATAL_ERROR(
"fatal error - scanner input buffer overflow" );
- yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+ (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
- num_to_read = yy_current_buffer->yy_buf_size -
+ num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1;
-#endif
+
}
if ( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE;
/* Read in more data. */
- YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
- yy_n_chars, num_to_read );
+ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+ (yy_n_chars), (size_t) num_to_read );
- yy_current_buffer->yy_n_chars = yy_n_chars;
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
}
- if ( yy_n_chars == 0 )
+ if ( (yy_n_chars) == 0 )
{
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
+ yyrestart(yyin );
}
else
{
ret_val = EOB_ACT_LAST_MATCH;
- yy_current_buffer->yy_buffer_status =
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
YY_BUFFER_EOF_PENDING;
}
}
@@ -1320,152 +1500,145 @@ static int yy_get_next_buffer()
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- yy_n_chars += number_to_move;
- yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
- yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+ if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ /* Extend the array by 50%, plus the number we really need. */
+ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ }
+
+ (yy_n_chars) += number_to_move;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
- yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+ (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
return ret_val;
- }
-
+}
/* yy_get_previous_state - get the state just before the EOB char was reached */
-static yy_state_type yy_get_previous_state()
- {
+ static yy_state_type yy_get_previous_state (void)
+{
register yy_state_type yy_current_state;
register char *yy_cp;
+
+ yy_current_state = (yy_start);
- yy_current_state = yy_start;
-
- for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 335 )
+ if ( yy_current_state >= 336 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
}
return yy_current_state;
- }
-
+}
/* yy_try_NUL_trans - try to make a transition on the NUL character
*
* synopsis
* next_state = yy_try_NUL_trans( current_state );
*/
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
- {
+ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
+{
register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
+ register char *yy_cp = (yy_c_buf_p);
register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 335 )
+ if ( yy_current_state >= 336 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 334);
+ yy_is_jam = (yy_current_state == 335);
return yy_is_jam ? 0 : yy_current_state;
- }
-
+}
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
- {
- register char *yy_cp = yy_c_buf_p;
+ static void yyunput (int c, register char * yy_bp )
+{
+ register char *yy_cp;
+
+ yy_cp = (yy_c_buf_p);
/* undo effects of setting up yytext */
- *yy_cp = yy_hold_char;
+ *yy_cp = (yy_hold_char);
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
- yy_current_buffer->yy_buf_size + 2];
+ register int number_to_move = (yy_n_chars) + 2;
+ register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
register char *source =
- &yy_current_buffer->yy_ch_buf[number_to_move];
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
- while ( source > yy_current_buffer->yy_ch_buf )
+ while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
*--dest = *--source;
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
- yy_current_buffer->yy_n_chars =
- yy_n_chars = yy_current_buffer->yy_buf_size;
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
}
*--yy_cp = (char) c;
+ (yytext_ptr) = yy_bp;
+ (yy_hold_char) = *yy_cp;
+ (yy_c_buf_p) = yy_cp;
+}
- yytext_ptr = yy_bp;
- yy_hold_char = *yy_cp;
- yy_c_buf_p = yy_cp;
- }
-#endif /* ifndef YY_NO_UNPUT */
-
-
+#ifndef YY_NO_INPUT
#ifdef __cplusplus
-static int yyinput()
+ static int yyinput (void)
#else
-static int input()
+ static int input (void)
#endif
- {
- int c;
- *yy_c_buf_p = yy_hold_char;
+{
+ int c;
+
+ *(yy_c_buf_p) = (yy_hold_char);
- if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
{
/* yy_c_buf_p now points to the character we want to return.
* If this occurs *before* the EOB characters, then it's a
* valid NUL; if not, then we've hit the end of the buffer.
*/
- if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
/* This was really a NUL. */
- *yy_c_buf_p = '\0';
+ *(yy_c_buf_p) = '\0';
else
{ /* need more input */
- int offset = yy_c_buf_p - yytext_ptr;
- ++yy_c_buf_p;
+ int offset = (yy_c_buf_p) - (yytext_ptr);
+ ++(yy_c_buf_p);
- switch ( yy_get_next_buffer() )
+ switch ( yy_get_next_buffer( ) )
{
case EOB_ACT_LAST_MATCH:
/* This happens because yy_g_n_b()
@@ -1479,16 +1652,16 @@ static int input()
*/
/* Reset buffer status. */
- yyrestart( yyin );
+ yyrestart(yyin );
- /* fall through */
+ /*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( yywrap() )
+ if ( yywrap( ) )
return EOF;
- if ( ! yy_did_buffer_switch_on_eof )
+ if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
#ifdef __cplusplus
return yyinput();
@@ -1498,90 +1671,92 @@ static int input()
}
case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext_ptr + offset;
+ (yy_c_buf_p) = (yytext_ptr) + offset;
break;
}
}
}
- c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
- *yy_c_buf_p = '\0'; /* preserve yytext */
- yy_hold_char = *++yy_c_buf_p;
-
+ c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
+ *(yy_c_buf_p) = '\0'; /* preserve yytext */
+ (yy_hold_char) = *++(yy_c_buf_p);
return c;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
- {
- if ( ! yy_current_buffer )
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+}
+#endif /* ifndef YY_NO_INPUT */
- yy_init_buffer( yy_current_buffer, input_file );
- yy_load_buffer_state();
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ *
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+ void yyrestart (FILE * input_file )
+{
+
+ if ( ! YY_CURRENT_BUFFER ){
+ yyensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+ yy_create_buffer(yyin,YY_BUF_SIZE );
}
+ yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+ yy_load_buffer_state( );
+}
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
- {
- if ( yy_current_buffer == new_buffer )
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ *
+ */
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
+{
+
+ /* TODO. We should be able to replace this entire function body
+ * with
+ * yypop_buffer_state();
+ * yypush_buffer_state(new_buffer);
+ */
+ yyensure_buffer_stack ();
+ if ( YY_CURRENT_BUFFER == new_buffer )
return;
- if ( yy_current_buffer )
+ if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
- *yy_c_buf_p = yy_hold_char;
- yy_current_buffer->yy_buf_pos = yy_c_buf_p;
- yy_current_buffer->yy_n_chars = yy_n_chars;
+ *(yy_c_buf_p) = (yy_hold_char);
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
}
- yy_current_buffer = new_buffer;
- yy_load_buffer_state();
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
* EOF (yywrap()) processing, but the only time this flag
* is looked at is after yywrap() is called, so it's safe
* to go ahead and always set it.
*/
- yy_did_buffer_switch_on_eof = 1;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
- {
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
- yyin = yy_current_buffer->yy_input_file;
- yy_hold_char = *yy_c_buf_p;
- }
+ (yy_did_buffer_switch_on_eof) = 1;
+}
+static void yy_load_buffer_state (void)
+{
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+ (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ (yy_hold_char) = *(yy_c_buf_p);
+}
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
- {
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ *
+ * @return the allocated buffer state.
+ */
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
+{
YY_BUFFER_STATE b;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+
+ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
@@ -1590,80 +1765,75 @@ int size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- yy_init_buffer( b, file );
+ yy_init_buffer(b,file );
return b;
- }
-
+}
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
- {
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ *
+ */
+ void yy_delete_buffer (YY_BUFFER_STATE b )
+{
+
if ( ! b )
return;
- if ( b == yy_current_buffer )
- yy_current_buffer = (YY_BUFFER_STATE) 0;
+ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- yy_flex_free( (void *) b->yy_ch_buf );
+ yyfree((void *) b->yy_ch_buf );
- yy_flex_free( (void *) b );
- }
-
-
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
+ yyfree((void *) b );
+}
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
- {
- yy_flush_buffer( b );
+{
+ int oerrno = errno;
+
+ yy_flush_buffer(b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
-#if YY_ALWAYS_INTERACTIVE
- b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
- b->yy_is_interactive = 0;
-#else
- b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
+ /* If b is the current buffer, then yy_init_buffer was _probably_
+ * called from yyrestart() or through yy_get_next_buffer.
+ * In that case, we don't want to reset the lineno or column.
+ */
+ if (b != YY_CURRENT_BUFFER){
+ b->yy_bs_lineno = 1;
+ b->yy_bs_column = 0;
+ }
+
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+
+ errno = oerrno;
+}
- {
- if ( ! b )
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ *
+ */
+ void yy_flush_buffer (YY_BUFFER_STATE b )
+{
+ if ( ! b )
return;
b->yy_n_chars = 0;
@@ -1680,29 +1850,125 @@ YY_BUFFER_STATE b;
b->yy_at_bol = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
- if ( b == yy_current_buffer )
- yy_load_buffer_state();
+ if ( b == YY_CURRENT_BUFFER )
+ yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ * the current state. This function will allocate the stack
+ * if necessary.
+ * @param new_buffer The new state.
+ *
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+ if (new_buffer == NULL)
+ return;
+
+ yyensure_buffer_stack();
+
+ /* This block is copied from yy_switch_to_buffer. */
+ if ( YY_CURRENT_BUFFER )
+ {
+ /* Flush out information for old buffer. */
+ *(yy_c_buf_p) = (yy_hold_char);
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+ }
+
+ /* Only push if top exists. Otherwise, replace top. */
+ if (YY_CURRENT_BUFFER)
+ (yy_buffer_stack_top)++;
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+ /* copied from yy_switch_to_buffer. */
+ yy_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ * The next element becomes the new top.
+ *
+ */
+void yypop_buffer_state (void)
+{
+ if (!YY_CURRENT_BUFFER)
+ return;
+
+ yy_delete_buffer(YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ if ((yy_buffer_stack_top) > 0)
+ --(yy_buffer_stack_top);
+
+ if (YY_CURRENT_BUFFER) {
+ yy_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
}
+}
+/* Allocates the stack if it does not exist.
+ * Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+ int num_to_alloc;
+
+ if (!(yy_buffer_stack)) {
+
+ /* First allocation is just for 2 elements, since we don't know if this
+ * scanner will even need a stack. We use 2 instead of 1 to avoid an
+ * immediate realloc on the next call.
+ */
+ num_to_alloc = 1;
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+ (num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+ memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+
+ (yy_buffer_stack_max) = num_to_alloc;
+ (yy_buffer_stack_top) = 0;
+ return;
+ }
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
- {
- YY_BUFFER_STATE b;
+ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+ /* Increase the buffer to prepare for a possible push. */
+ int grow_size = 8 /* arbitrary grow size */;
+
+ num_to_alloc = (yy_buffer_stack_max) + grow_size;
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+ ((yy_buffer_stack),
+ num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+ /* zero only the new slots.*/
+ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+ (yy_buffer_stack_max) = num_to_alloc;
+ }
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ *
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
+{
+ YY_BUFFER_STATE b;
+
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
return 0;
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
@@ -1716,56 +1982,51 @@ yy_size_t size;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- yy_switch_to_buffer( b );
+ yy_switch_to_buffer(b );
return b;
- }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
- {
- int len;
- for ( len = 0; yy_str[len]; ++len )
- ;
-
- return yy_scan_bytes( yy_str, len );
- }
-#endif
+}
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ *
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ * yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+{
+
+ return yy_scan_bytes(yystr,strlen(yystr) );
+}
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
- {
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ *
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
+{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
-
+
/* Get memory for full buffer, including space for trailing EOB's. */
- n = len + 2;
- buf = (char *) yy_flex_alloc( n );
+ n = _yybytes_len + 2;
+ buf = (char *) yyalloc(n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
- for ( i = 0; i < len; ++i )
- buf[i] = bytes[i];
+ for ( i = 0; i < _yybytes_len; ++i )
+ buf[i] = yybytes[i];
- buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = yy_scan_buffer( buf, n );
+ b = yy_scan_buffer(buf,n );
if ( ! b )
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
@@ -1775,148 +2036,196 @@ int len;
b->yy_is_our_buffer = 1;
return b;
- }
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
#endif
+static void yy_fatal_error (yyconst char* msg )
+{
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+}
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
- {
- if ( yy_start_stack_ptr >= yy_start_stack_depth )
- {
- yy_size_t new_size;
+/* Redefine yyless() so it works in section 3 code. */
- yy_start_stack_depth += YY_START_STACK_INCR;
- new_size = yy_start_stack_depth * sizeof( int );
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ int yyless_macro_arg = (n); \
+ YY_LESS_LINENO(yyless_macro_arg);\
+ yytext[yyleng] = (yy_hold_char); \
+ (yy_c_buf_p) = yytext + yyless_macro_arg; \
+ (yy_hold_char) = *(yy_c_buf_p); \
+ *(yy_c_buf_p) = '\0'; \
+ yyleng = yyless_macro_arg; \
+ } \
+ while ( 0 )
- if ( ! yy_start_stack )
- yy_start_stack = (int *) yy_flex_alloc( new_size );
+/* Accessor methods (get/set functions) to struct members. */
- else
- yy_start_stack = (int *) yy_flex_realloc(
- (void *) yy_start_stack, new_size );
+/** Get the current line number.
+ *
+ */
+int yyget_lineno (void)
+{
+
+ return yylineno;
+}
- if ( ! yy_start_stack )
- YY_FATAL_ERROR(
- "out of memory expanding start-condition stack" );
- }
+/** Get the input stream.
+ *
+ */
+FILE *yyget_in (void)
+{
+ return yyin;
+}
- yy_start_stack[yy_start_stack_ptr++] = YY_START;
+/** Get the output stream.
+ *
+ */
+FILE *yyget_out (void)
+{
+ return yyout;
+}
- BEGIN(new_state);
- }
-#endif
+/** Get the length of the current token.
+ *
+ */
+int yyget_leng (void)
+{
+ return yyleng;
+}
+/** Get the current token.
+ *
+ */
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
- {
- if ( --yy_start_stack_ptr < 0 )
- YY_FATAL_ERROR( "start-condition stack underflow" );
+char *yyget_text (void)
+{
+ return yytext;
+}
- BEGIN(yy_start_stack[yy_start_stack_ptr]);
- }
-#endif
+/** Set the current line number.
+ * @param line_number
+ *
+ */
+void yyset_lineno (int line_number )
+{
+
+ yylineno = line_number;
+}
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ *
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE * in_str )
+{
+ yyin = in_str ;
+}
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
- {
- return yy_start_stack[yy_start_stack_ptr - 1];
- }
-#endif
+void yyset_out (FILE * out_str )
+{
+ yyout = out_str ;
+}
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
+int yyget_debug (void)
+{
+ return yy_flex_debug;
+}
+
+void yyset_debug (int bdebug )
+{
+ yy_flex_debug = bdebug ;
+}
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
+static int yy_init_globals (void)
+{
+ /* Initialization is the same as for the non-reentrant scanner.
+ * This function is called from yylex_destroy(), so don't allocate here.
+ */
+
+ (yy_buffer_stack) = 0;
+ (yy_buffer_stack_top) = 0;
+ (yy_buffer_stack_max) = 0;
+ (yy_c_buf_p) = (char *) 0;
+ (yy_init) = 0;
+ (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+ yyin = stdin;
+ yyout = stdout;
#else
-static void yy_fatal_error( msg )
-char msg[];
+ yyin = (FILE *) 0;
+ yyout = (FILE *) 0;
#endif
- {
- (void) fprintf( stderr, "%s\n", msg );
- exit( YY_EXIT_FAILURE );
- }
+ /* For future reference: Set errno on error, since we are called by
+ * yylex_init()
+ */
+ return 0;
+}
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy (void)
+{
+
+ /* Pop the buffer stack, destroying each element. */
+ while(YY_CURRENT_BUFFER){
+ yy_delete_buffer(YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ yypop_buffer_state();
+ }
-/* Redefine yyless() so it works in section 3 code. */
+ /* Destroy the stack itself. */
+ yyfree((yy_buffer_stack) );
+ (yy_buffer_stack) = NULL;
-#undef yyless
-#define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- yytext[yyleng] = yy_hold_char; \
- yy_c_buf_p = yytext + n; \
- yy_hold_char = *yy_c_buf_p; \
- *yy_c_buf_p = '\0'; \
- yyleng = n; \
- } \
- while ( 0 )
+ /* Reset the globals. This is important in a non-reentrant scanner so the next time
+ * yylex() is called, initialization will occur. */
+ yy_init_globals( );
+ return 0;
+}
-/* Internal utility routines. */
+/*
+ * Internal utility routines.
+ */
#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
- {
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
register int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
- }
+}
#endif
#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
- {
+static int yy_flex_strlen (yyconst char * s )
+{
register int n;
for ( n = 0; s[n]; ++n )
;
return n;
- }
+}
#endif
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
- {
+void *yyalloc (yy_size_t size )
+{
return (void *) malloc( size );
- }
+}
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
- {
+void *yyrealloc (void * ptr, yy_size_t size )
+{
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
@@ -1925,23 +2234,13 @@ yy_size_t size;
* as though doing an assignment.
*/
return (void *) realloc( (char *) ptr, size );
- }
+}
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
- {
- free( ptr );
- }
+void yyfree (void * ptr )
+{
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
-#if YY_MAIN
-int main()
- {
- yylex();
- return 0;
- }
-#endif
#line 116 "printrcl.l"
diff --git a/src/gutenprintui2/printrcy.c b/src/gutenprintui2/printrcy.c
index d0a6c99..b455d3d 100644
--- a/src/gutenprintui2/printrcy.c
+++ b/src/gutenprintui2/printrcy.c
@@ -1,30 +1,39 @@
-/* A Bison parser, made by GNU Bison 1.875. */
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* A Bison parser, made by GNU Bison 2.4.1. */
- This program is free software; you can redistribute it and/or modify
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* Written by Richard Stallman by simplifying the original so called
- ``semantic'' parser. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
/* All symbols defined below should begin with yy or YY, to avoid
infringing on user name space. This should be done even for local
@@ -36,17 +45,85 @@
/* Identify Bison output. */
#define YYBISON 1
+/* Bison version. */
+#define YYBISON_VERSION "2.4.1"
+
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 0
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
+/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
+#line 23 "printrcy.y"
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gutenprint/gutenprint-intl-internal.h>
+#include <gutenprintui2/gutenprintui.h>
+#include "gutenprintui-internal.h"
+#include "printrc.h"
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+extern int mylineno;
+
+extern int yylex(void);
+char *quotestrip(const char *i);
+char *endstrip(const char *i);
+
+extern char* yytext;
+
+static int yyerror( const char *s )
+{
+ fprintf(stderr,"stdin:%d: %s before '%s'\n", mylineno, s, yytext);
+ return 0;
+}
+
+static stpui_plist_t *current_printer = NULL;
+
+
+
+/* Line 189 of yacc.c */
+#line 107 "printrcy.c"
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table. */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -93,6 +170,7 @@
pCURVE = 295
};
#endif
+/* Tokens. */
#define tINT 258
#define tDOUBLE 259
#define tDIMENSION 260
@@ -135,111 +213,183 @@
-/* Copy the first part of user declarations. */
-#line 23 "printrcy.y"
-
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-#ifdef HAVE_CONFIG_H
-#include <config.h>
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
#endif
-#include <gutenprint/gutenprint-intl-internal.h>
-#include <gutenprintui2/gutenprintui.h>
-#include "gutenprintui-internal.h"
-#include "printrc.h"
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern int mylineno;
-
-extern int yylex(void);
-char *quotestrip(const char *i);
-char *endstrip(const char *i);
-extern char* yytext;
+/* Copy the second part of user declarations. */
-static int yyerror( const char *s )
-{
- fprintf(stderr,"stdin:%d: %s before '%s'\n", mylineno, s, yytext);
- return 0;
-}
-static stpui_plist_t *current_printer = NULL;
+/* Line 264 of yacc.c */
+#line 228 "printrcy.c"
+#ifdef short
+# undef short
+#endif
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
#endif
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
#else
-# define YYERROR_VERBOSE 0
+typedef unsigned short int yytype_uint16;
#endif
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-typedef int YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
#endif
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# else
+# define YYSIZE_T unsigned int
+# endif
+#endif
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-/* Copy the second part of user declarations. */
+#ifndef YY_
+# if YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# endif
+# endif
+# ifndef YY_
+# define YY_(msgid) msgid
+# endif
+#endif
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
-/* Line 214 of yacc.c. */
-#line 199 "printrcy.c"
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+ int yyi;
+#endif
+{
+ return yyi;
+}
+#endif
-#if ! defined (yyoverflow) || YYERROR_VERBOSE
+#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
-# if YYSTACK_USE_ALLOCA
-# define YYSTACK_ALLOC alloca
-# else
-# ifndef YYSTACK_USE_ALLOCA
-# if defined (alloca) || defined (_ALLOCA_H)
-# define YYSTACK_ALLOC alloca
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
# else
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
# else
-# if defined (__STDC__) || defined (__cplusplus)
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined _STDLIB_H \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
# endif
-# define YYSTACK_ALLOC malloc
-# define YYSTACK_FREE free
# endif
-#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-#if (! defined (yyoverflow) \
- && (! defined (__cplusplus) \
- || (YYSTYPE_IS_TRIVIAL)))
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- short yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -247,24 +397,24 @@ union yyalloc
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
-# if 1 < __GNUC__
+# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
# define YYCOPY(To, From, Count) \
do \
{ \
- register YYSIZE_T yyi; \
+ YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
- while (0)
+ while (YYID (0))
# endif
# endif
@@ -273,48 +423,42 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
- while (0)
+ while (YYID (0))
#endif
-#if defined (__STDC__) || defined (__cplusplus)
- typedef signed char yysigned_char;
-#else
- typedef short yysigned_char;
-#endif
-
-/* YYFINAL -- State number of the termination state. */
+/* YYFINAL -- State number of the termination state. */
#define YYFINAL 10
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 75
-/* YYNTOKENS -- Number of terminals. */
+/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 41
-/* YYNNTS -- Number of nonterminals. */
+/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 42
-/* YYNRULES -- Number of rules. */
+/* YYNRULES -- Number of rules. */
#define YYNRULES 70
-/* YYNRULES -- Number of states. */
+/* YYNRULES -- Number of states. */
#define YYNSTATES 114
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 295
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const unsigned char yytranslate[] =
+static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -351,7 +495,7 @@ static const unsigned char yytranslate[] =
#if YYDEBUG
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
YYRHS. */
-static const unsigned char yyprhs[] =
+static const yytype_uint8 yyprhs[] =
{
0, 0, 3, 7, 10, 13, 16, 19, 22, 25,
28, 31, 34, 37, 40, 43, 46, 49, 52, 53,
@@ -363,8 +507,8 @@ static const unsigned char yyprhs[] =
189
};
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yysigned_char yyrhs[] =
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int8 yyrhs[] =
{
82, 0, -1, 12, 7, 7, -1, 13, 7, -1,
26, 7, -1, 27, 7, -1, 28, 7, -1, 29,
@@ -389,7 +533,7 @@ static const yysigned_char yyrhs[] =
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const unsigned short yyrline[] =
+static const yytype_uint16 yyrline[] =
{
0, 100, 100, 111, 118, 128, 138, 148, 158, 165,
172, 179, 186, 193, 200, 207, 228, 235, 242, 245,
@@ -402,37 +546,37 @@ static const unsigned short yyrline[] =
};
#endif
-#if YYDEBUG || YYERROR_VERBOSE
-/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "$end", "error", "$undefined", "tINT", "tDOUBLE", "tDIMENSION",
- "tBOOLEAN", "tSTRING", "tWORD", "tGSWORD", "CURRENT_PRINTER",
- "SHOW_ALL_PAPER_SIZES", "PRINTER", "DESTINATION", "SCALING",
- "ORIENTATION", "AUTOSIZE_ROLL_PAPER", "UNIT", "DRIVER", "LEFT", "TOP",
- "CUSTOM_PAGE_WIDTH", "CUSTOM_PAGE_HEIGHT", "OUTPUT_TYPE", "PRINTRC_HDR",
- "PARAMETER", "QUEUE_NAME", "OUTPUT_FILENAME", "EXTRA_PRINTER_OPTIONS",
- "CUSTOM_COMMAND", "COMMAND_TYPE", "GLOBAL_SETTINGS", "GLOBAL",
- "END_GLOBAL_SETTINGS", "pINT", "pSTRING_LIST", "pFILE", "pDOUBLE",
- "pDIMENSION", "pBOOLEAN", "pCURVE", "$accept", "Printer", "Destination",
- "Queue_Name", "Output_Filename", "Extra_Printer_Options",
- "Custom_Command", "Command_Type", "Scaling", "Orientation",
- "Autosize_Roll_Paper", "Unit", "Left", "Top", "Output_Type",
- "Custom_Page_Width", "Custom_Page_Height", "Empty", "Int_Param",
- "String_List_Param", "File_Param", "Double_Param", "Dimension_Param",
- "Boolean_Param", "Curve_Param", "Typed_Param", "Parameter",
- "Parameters", "Standard_Value", "Standard_Values", "A_Printer",
- "Printers", "Current_Printer", "Show_All_Paper_Sizes", "Global",
- "Old_Globals", "New_Global_Setting", "Global_Setting",
- "Global_Settings", "Global_Subblock", "Global_Block", "Thing", 0
+ "$end", "error", "$undefined", "tINT", "tDOUBLE", "tDIMENSION",
+ "tBOOLEAN", "tSTRING", "tWORD", "tGSWORD", "CURRENT_PRINTER",
+ "SHOW_ALL_PAPER_SIZES", "PRINTER", "DESTINATION", "SCALING",
+ "ORIENTATION", "AUTOSIZE_ROLL_PAPER", "UNIT", "DRIVER", "LEFT", "TOP",
+ "CUSTOM_PAGE_WIDTH", "CUSTOM_PAGE_HEIGHT", "OUTPUT_TYPE", "PRINTRC_HDR",
+ "PARAMETER", "QUEUE_NAME", "OUTPUT_FILENAME", "EXTRA_PRINTER_OPTIONS",
+ "CUSTOM_COMMAND", "COMMAND_TYPE", "GLOBAL_SETTINGS", "GLOBAL",
+ "END_GLOBAL_SETTINGS", "pINT", "pSTRING_LIST", "pFILE", "pDOUBLE",
+ "pDIMENSION", "pBOOLEAN", "pCURVE", "$accept", "Printer", "Destination",
+ "Queue_Name", "Output_Filename", "Extra_Printer_Options",
+ "Custom_Command", "Command_Type", "Scaling", "Orientation",
+ "Autosize_Roll_Paper", "Unit", "Left", "Top", "Output_Type",
+ "Custom_Page_Width", "Custom_Page_Height", "Empty", "Int_Param",
+ "String_List_Param", "File_Param", "Double_Param", "Dimension_Param",
+ "Boolean_Param", "Curve_Param", "Typed_Param", "Parameter", "Parameters",
+ "Standard_Value", "Standard_Values", "A_Printer", "Printers",
+ "Current_Printer", "Show_All_Paper_Sizes", "Global", "Old_Globals",
+ "New_Global_Setting", "Global_Setting", "Global_Settings",
+ "Global_Subblock", "Global_Block", "Thing", 0
};
#endif
# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
token YYLEX-NUM. */
-static const unsigned short yytoknum[] =
+static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
@@ -443,7 +587,7 @@ static const unsigned short yytoknum[] =
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const unsigned char yyr1[] =
+static const yytype_uint8 yyr1[] =
{
0, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
@@ -456,7 +600,7 @@ static const unsigned char yyr1[] =
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const unsigned char yyr2[] =
+static const yytype_uint8 yyr2[] =
{
0, 2, 3, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 0, 4,
@@ -471,7 +615,7 @@ static const unsigned char yyr2[] =
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
-static const unsigned char yydefact[] =
+static const yytype_uint8 yydefact[] =
{
0, 18, 0, 0, 18, 69, 0, 68, 67, 18,
1, 56, 65, 0, 0, 60, 55, 70, 0, 66,
@@ -487,8 +631,8 @@ static const unsigned char yydefact[] =
22, 23, 24, 25
};
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yysigned_char yydefgoto[] =
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
{
-1, 27, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 5, 85, 86,
@@ -500,7 +644,7 @@ static const yysigned_char yydefgoto[] =
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -26
-static const yysigned_char yypact[] =
+static const yytype_int8 yypact[] =
{
-22, -2, 6, 0, -26, -26, 5, -26, -26, -26,
-26, -26, -26, -7, 11, -26, -26, 7, 13, -26,
@@ -517,7 +661,7 @@ static const yysigned_char yypact[] =
};
/* YYPGOTO[NTERM-NUM]. */
-static const yysigned_char yypgoto[] =
+static const yytype_int8 yypgoto[] =
{
-26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
-26, -26, -26, -26, -26, -26, -26, -4, -26, -26,
@@ -531,7 +675,7 @@ static const yysigned_char yypgoto[] =
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -1
-static const unsigned char yytable[] =
+static const yytype_uint8 yytable[] =
{
12, 18, 1, 3, 14, 16, 10, 11, 3, 93,
94, 95, 96, 97, 98, 99, 14, 25, 84, 26,
@@ -543,7 +687,7 @@ static const unsigned char yytable[] =
108, 109, 110, 111, 113, 112
};
-static const yysigned_char yycheck[] =
+static const yytype_int8 yycheck[] =
{
4, 8, 24, 10, 11, 9, 0, 7, 10, 34,
35, 36, 37, 38, 39, 40, 11, 6, 8, 12,
@@ -557,7 +701,7 @@ static const yysigned_char yycheck[] =
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
-static const unsigned char yystos[] =
+static const yytype_uint8 yystos[] =
{
0, 24, 82, 10, 31, 58, 73, 76, 80, 81,
0, 7, 58, 79, 11, 74, 58, 72, 8, 33,
@@ -573,22 +717,6 @@ static const unsigned char yystos[] =
4, 3, 6, 7
};
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
@@ -596,7 +724,8 @@ static const unsigned char yystos[] =
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrlab1
+#define YYERROR goto yyerrorlab
+
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
@@ -613,30 +742,63 @@ do \
yychar = (Token); \
yylval = (Value); \
yytoken = YYTRANSLATE (yychar); \
- YYPOPSTACK; \
+ YYPOPSTACK (1); \
goto yybackup; \
} \
else \
- { \
- yyerror ("syntax error: cannot back up");\
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \
} \
-while (0)
+while (YYID (0))
+
#define YYTERROR 1
#define YYERRCODE 256
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
- are run). */
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- Current.first_line = Rhs[1].first_line; \
- Current.first_column = Rhs[1].first_column; \
- Current.last_line = Rhs[N].last_line; \
- Current.last_column = Rhs[N].last_column;
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (YYID (N)) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
#endif
+
/* YYLEX -- calling `yylex' with the right arguments. */
#ifdef YYLEX_PARAM
@@ -657,43 +819,100 @@ while (0)
do { \
if (yydebug) \
YYFPRINTF Args; \
-} while (0)
+} while (YYID (0))
-# define YYDSYMPRINT(Args) \
-do { \
- if (yydebug) \
- yysymprint Args; \
-} while (0)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (YYID (0))
-# define YYDSYMPRINTF(Title, Token, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yysymprint (stderr, \
- Token, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
+{
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
+# endif
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
+{
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+ YYFPRINTF (yyoutput, ")");
+}
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (cinluded). |
+| TOP (included). |
`------------------------------------------------------------------*/
-#if defined (__STDC__) || defined (__cplusplus)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (short *bottom, short *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- short *bottom;
- short *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (/* Nothing. */; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -701,45 +920,52 @@ yy_stack_print (bottom, top)
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
-} while (0)
+} while (YYID (0))
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if defined (__STDC__) || defined (__cplusplus)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
-yy_reduce_print (int yyrule)
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
#else
static void
-yy_reduce_print (yyrule)
+yy_reduce_print (yyvsp, yyrule)
+ YYSTYPE *yyvsp;
int yyrule;
#endif
{
+ int yynrhs = yyr2[yyrule];
int yyi;
- unsigned int yylineno = yyrline[yyrule];
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
- yyrule - 1, yylineno);
- /* Print the symbols being reduced, and their result. */
- for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
- YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
- YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+ unsigned long int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
+ YYFPRINTF (stderr, "\n");
+ }
}
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
- yy_reduce_print (Rule); \
-} while (0)
+ yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
@@ -754,13 +980,9 @@ int yydebug;
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
- SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
@@ -770,45 +992,47 @@ int yydebug;
#if YYERROR_VERBOSE
# ifndef yystrlen
-# if defined (__GLIBC__) && defined (_STRING_H)
+# if defined __GLIBC__ && defined _STRING_H
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
-# if defined (__STDC__) || defined (__cplusplus)
yystrlen (const char *yystr)
-# else
+#else
+static YYSIZE_T
yystrlen (yystr)
- const char *yystr;
-# endif
+ const char *yystr;
+#endif
{
- register const char *yys = yystr;
-
- while (*yys++ != '\0')
+ YYSIZE_T yylen;
+ for (yylen = 0; yystr[yylen]; yylen++)
continue;
-
- return yys - yystr - 1;
+ return yylen;
}
# endif
# endif
# ifndef yystpcpy
-# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
# define yystpcpy stpcpy
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static char *
-# if defined (__STDC__) || defined (__cplusplus)
yystpcpy (char *yydest, const char *yysrc)
-# else
+#else
+static char *
yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-# endif
+ char *yydest;
+ const char *yysrc;
+#endif
{
- register char *yyd = yydest;
- register const char *yys = yysrc;
+ char *yyd = yydest;
+ const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
@@ -818,84 +1042,204 @@ yystpcpy (yydest, yysrc)
# endif
# endif
-#endif /* !YYERROR_VERBOSE */
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+ if (*yystr == '"')
+ {
+ YYSIZE_T yyn = 0;
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ do_not_strip_quotes: ;
+ }
-
+ if (! yyres)
+ return yystrlen (yystr);
-#if YYDEBUG
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+ return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yysymprint (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
+/* Copy into YYRESULT an error message about the unexpected token
+ YYCHAR while in state YYSTATE. Return the number of bytes copied,
+ including the terminating null byte. If YYRESULT is null, do not
+ copy anything; just return the number of bytes that would be
+ copied. As a special case, return 0 if an ordinary "syntax error"
+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during
+ size calculation. */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
{
- /* Pacify ``unused variable'' warnings. */
- (void) yyvaluep;
+ int yyn = yypact[yystate];
- if (yytype < YYNTOKENS)
- {
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-# ifdef YYPRINT
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
- }
+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+ return 0;
else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
- switch (yytype)
{
- default:
- break;
+ int yytype = YYTRANSLATE (yychar);
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ int yysize_overflow = 0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ YY_("syntax error, unexpected %s");
+ YY_("syntax error, unexpected %s, expecting %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *yyfmt;
+ char const *yyf;
+ static char const yyunexpected[] = "syntax error, unexpected %s";
+ static char const yyexpecting[] = ", expecting %s";
+ static char const yyor[] = " or %s";
+ char yyformat[sizeof yyunexpected
+ + sizeof yyexpecting - 1
+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof yyor - 1))];
+ char const *yyprefix = yyexpecting;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 1;
+
+ yyarg[0] = yytname[yytype];
+ yyfmt = yystpcpy (yyformat, yyunexpected);
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ yyformat[sizeof yyunexpected - 1] = '\0';
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+ yyfmt = yystpcpy (yyfmt, yyprefix);
+ yyprefix = yyor;
+ }
+
+ yyf = YY_(yyformat);
+ yysize1 = yysize + yystrlen (yyf);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+
+ if (yysize_overflow)
+ return YYSIZE_MAXIMUM;
+
+ if (yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *yyp = yyresult;
+ int yyi = 0;
+ while ((*yyp = *yyf) != '\0')
+ {
+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyf += 2;
+ }
+ else
+ {
+ yyp++;
+ yyf++;
+ }
+ }
+ }
+ return yysize;
}
- YYFPRINTF (yyoutput, ")");
}
+#endif /* YYERROR_VERBOSE */
+
-#endif /* ! YYDEBUG */
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-#if defined (__STDC__) || defined (__cplusplus)
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
-yydestruct (int yytype, YYSTYPE *yyvaluep)
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
#else
static void
-yydestruct (yytype, yyvaluep)
+yydestruct (yymsg, yytype, yyvaluep)
+ const char *yymsg;
int yytype;
YYSTYPE *yyvaluep;
#endif
{
- /* Pacify ``unused variable'' warnings. */
- (void) yyvaluep;
+ YYUSE (yyvaluep);
+
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
switch (yytype)
{
default:
- break;
+ break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
+#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
-# else
+#else
int yyparse ();
-# endif
+#endif
#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
+#if defined __STDC__ || defined __cplusplus
int yyparse (void);
#else
int yyparse ();
@@ -903,7 +1247,6 @@ int yyparse ();
#endif /* ! YYPARSE_PARAM */
-
/* The lookahead symbol. */
int yychar;
@@ -915,19 +1258,23 @@ int yynerrs;
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM)
-# else
-int yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-# endif
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+#endif
#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
int
yyparse (void)
#else
@@ -937,60 +1284,68 @@ yyparse ()
#endif
#endif
{
-
- register int yystate;
- register int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken = 0;
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
- /* The state stack. */
- short yyssa[YYINITDEPTH];
- short *yyss = yyssa;
- register short *yyssp;
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- register YYSTYPE *yyvsp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
-#define YYPOPSTACK (yyvsp--, yyssp--)
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
- /* When reducing, the number of symbols on the RHS of the reduced
- rule. */
- int yylen;
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -1001,8 +1356,7 @@ yyparse ()
`------------------------------------------------------------*/
yynewstate:
/* In all cases, when you get here, the value and location stacks
- have just been pushed. so pushing a state here evens the stacks.
- */
+ have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
yysetstate:
@@ -1015,21 +1369,19 @@ yyparse ()
#ifdef yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
+ /* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
YYSTYPE *yyvs1 = yyvs;
- short *yyss1 = yyss;
-
+ yytype_int16 *yyss1 = yyss;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
- yyoverflow ("parser stack overflow",
+ yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -1037,24 +1389,23 @@ yyparse ()
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
- goto yyoverflowlab;
+ goto yyexhaustedlab;
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyoverflowlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH;
{
- short *yyss1 = yyss;
+ yytype_int16 *yyss1 = yyss;
union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
- goto yyoverflowlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -1065,7 +1416,6 @@ yyparse ()
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -1075,6 +1425,9 @@ yyparse ()
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -1082,12 +1435,10 @@ yyparse ()
`-----------*/
yybackup:
-/* Do appropriate processing given the current state. */
-/* Read a lookahead token if we need one and don't already have one. */
-/* yyresume: */
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
/* First try to decide what to do without reference to lookahead token. */
-
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
@@ -1109,7 +1460,7 @@ yybackup:
else
{
yytoken = YYTRANSLATE (yychar);
- YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
/* If the proper action on seeing token YYTOKEN is to reduce or to
@@ -1126,25 +1477,20 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
- /* Shift the lookahead token. */
- YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
-
- /* Discard the token being shifted unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
-
- *++yyvsp = yylval;
-
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
+ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
+
yystate = yyn;
+ *++yyvsp = yylval;
+
goto yynewstate;
@@ -1180,128 +1526,156 @@ yyreduce:
switch (yyn)
{
case 2:
+
+/* Line 1455 of yacc.c */
#line 101 "printrcy.y"
{
- current_printer = stpui_plist_create(yyvsp[-1].sval, yyvsp[0].sval);
- g_free(yyvsp[-1].sval);
- g_free(yyvsp[0].sval);
+ current_printer = stpui_plist_create((yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].sval));
+ g_free((yyvsp[(2) - (3)].sval));
+ g_free((yyvsp[(3) - (3)].sval));
}
break;
case 3:
+
+/* Line 1455 of yacc.c */
#line 112 "printrcy.y"
{
- if (yyvsp[0].sval)
- g_free(yyvsp[0].sval);
+ if ((yyvsp[(2) - (2)].sval))
+ g_free((yyvsp[(2) - (2)].sval));
}
break;
case 4:
+
+/* Line 1455 of yacc.c */
#line 119 "printrcy.y"
{
- if (current_printer && yyvsp[0].sval)
+ if (current_printer && (yyvsp[(2) - (2)].sval))
{
- stpui_plist_set_queue_name(current_printer, yyvsp[0].sval);
- g_free(yyvsp[0].sval);
+ stpui_plist_set_queue_name(current_printer, (yyvsp[(2) - (2)].sval));
+ g_free((yyvsp[(2) - (2)].sval));
}
}
break;
case 5:
+
+/* Line 1455 of yacc.c */
#line 129 "printrcy.y"
{
- if (current_printer && yyvsp[0].sval)
+ if (current_printer && (yyvsp[(2) - (2)].sval))
{
- stpui_plist_set_output_filename(current_printer, yyvsp[0].sval);
- g_free(yyvsp[0].sval);
+ stpui_plist_set_output_filename(current_printer, (yyvsp[(2) - (2)].sval));
+ g_free((yyvsp[(2) - (2)].sval));
}
}
break;
case 6:
+
+/* Line 1455 of yacc.c */
#line 139 "printrcy.y"
{
- if (current_printer && yyvsp[0].sval)
+ if (current_printer && (yyvsp[(2) - (2)].sval))
{
- stpui_plist_set_extra_printer_options(current_printer, yyvsp[0].sval);
- g_free(yyvsp[0].sval);
+ stpui_plist_set_extra_printer_options(current_printer, (yyvsp[(2) - (2)].sval));
+ g_free((yyvsp[(2) - (2)].sval));
}
}
break;
case 7:
+
+/* Line 1455 of yacc.c */
#line 149 "printrcy.y"
{
- if (current_printer && yyvsp[0].sval)
+ if (current_printer && (yyvsp[(2) - (2)].sval))
{
- stpui_plist_set_custom_command(current_printer, yyvsp[0].sval);
- g_free(yyvsp[0].sval);
+ stpui_plist_set_custom_command(current_printer, (yyvsp[(2) - (2)].sval));
+ g_free((yyvsp[(2) - (2)].sval));
}
}
break;
case 8:
+
+/* Line 1455 of yacc.c */
#line 159 "printrcy.y"
{
if (current_printer)
- stpui_plist_set_command_type(current_printer, yyvsp[0].ival);
+ stpui_plist_set_command_type(current_printer, (yyvsp[(2) - (2)].ival));
}
break;
case 9:
+
+/* Line 1455 of yacc.c */
#line 166 "printrcy.y"
{
if (current_printer)
- current_printer->scaling = yyvsp[0].dval;
+ current_printer->scaling = (yyvsp[(2) - (2)].dval);
}
break;
case 10:
+
+/* Line 1455 of yacc.c */
#line 173 "printrcy.y"
{
if (current_printer)
- current_printer->orientation = yyvsp[0].ival;
+ current_printer->orientation = (yyvsp[(2) - (2)].ival);
}
break;
case 11:
+
+/* Line 1455 of yacc.c */
#line 180 "printrcy.y"
{
if (current_printer)
- current_printer->auto_size_roll_feed_paper = yyvsp[0].ival;
+ current_printer->auto_size_roll_feed_paper = (yyvsp[(2) - (2)].ival);
}
break;
case 12:
+
+/* Line 1455 of yacc.c */
#line 187 "printrcy.y"
{
if (current_printer)
- current_printer->unit = yyvsp[0].ival;
+ current_printer->unit = (yyvsp[(2) - (2)].ival);
}
break;
case 13:
+
+/* Line 1455 of yacc.c */
#line 194 "printrcy.y"
{
if (current_printer)
- stp_set_left(current_printer->v, yyvsp[0].ival);
+ stp_set_left(current_printer->v, (yyvsp[(2) - (2)].ival));
}
break;
case 14:
+
+/* Line 1455 of yacc.c */
#line 201 "printrcy.y"
{
if (current_printer)
- stp_set_top(current_printer->v, yyvsp[0].ival);
+ stp_set_top(current_printer->v, (yyvsp[(2) - (2)].ival));
}
break;
case 15:
+
+/* Line 1455 of yacc.c */
#line 208 "printrcy.y"
{
if (current_printer)
{
- switch (yyvsp[0].ival)
+ switch ((yyvsp[(2) - (2)].ival))
{
case 0:
stp_set_string_parameter
@@ -1319,202 +1693,225 @@ yyreduce:
break;
case 16:
+
+/* Line 1455 of yacc.c */
#line 229 "printrcy.y"
{
if (current_printer)
- stp_set_page_width(current_printer->v, yyvsp[0].ival);
+ stp_set_page_width(current_printer->v, (yyvsp[(2) - (2)].ival));
}
break;
case 17:
+
+/* Line 1455 of yacc.c */
#line 236 "printrcy.y"
{
if (current_printer)
- stp_set_page_height(current_printer->v, yyvsp[0].ival);
+ stp_set_page_height(current_printer->v, (yyvsp[(2) - (2)].ival));
}
break;
case 19:
+
+/* Line 1455 of yacc.c */
#line 246 "printrcy.y"
{
if (current_printer)
{
- stp_set_int_parameter(current_printer->v, yyvsp[-3].sval, yyvsp[0].ival);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_int_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_int_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), (yyvsp[(4) - (4)].ival));
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_int_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_int_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_int_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
}
break;
case 20:
+
+/* Line 1455 of yacc.c */
#line 263 "printrcy.y"
{
if (current_printer)
{
- stp_set_string_parameter(current_printer->v, yyvsp[-3].sval, yyvsp[0].sval);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_string_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_string_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), (yyvsp[(4) - (4)].sval));
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_string_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_string_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_string_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
- g_free(yyvsp[0].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
+ g_free((yyvsp[(4) - (4)].sval));
}
break;
case 21:
+
+/* Line 1455 of yacc.c */
#line 281 "printrcy.y"
{
if (current_printer)
{
- stp_set_file_parameter(current_printer->v, yyvsp[-3].sval, yyvsp[0].sval);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_file_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_file_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), (yyvsp[(4) - (4)].sval));
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_file_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_file_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_file_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
- g_free(yyvsp[0].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
+ g_free((yyvsp[(4) - (4)].sval));
}
break;
case 22:
+
+/* Line 1455 of yacc.c */
#line 299 "printrcy.y"
{
if (current_printer)
{
- stp_set_float_parameter(current_printer->v, yyvsp[-3].sval, yyvsp[0].dval);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_float_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_float_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), (yyvsp[(4) - (4)].dval));
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_float_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_float_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_float_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
}
break;
case 23:
+
+/* Line 1455 of yacc.c */
#line 316 "printrcy.y"
{
if (current_printer)
{
- stp_set_dimension_parameter(current_printer->v, yyvsp[-3].sval, yyvsp[0].ival);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_dimension_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_dimension_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), (yyvsp[(4) - (4)].ival));
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_dimension_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_dimension_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_dimension_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
}
break;
case 24:
+
+/* Line 1455 of yacc.c */
#line 333 "printrcy.y"
{
if (current_printer)
{
- if (strcmp(yyvsp[0].sval, "False") == 0)
- stp_set_boolean_parameter(current_printer->v, yyvsp[-3].sval, 0);
+ if (strcmp((yyvsp[(4) - (4)].sval), "False") == 0)
+ stp_set_boolean_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), 0);
else
- stp_set_boolean_parameter(current_printer->v, yyvsp[-3].sval, 1);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_boolean_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_boolean_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), 1);
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_boolean_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_boolean_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_boolean_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
- g_free(yyvsp[0].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
+ g_free((yyvsp[(4) - (4)].sval));
}
break;
case 25:
+
+/* Line 1455 of yacc.c */
#line 354 "printrcy.y"
{
if (current_printer)
{
- stp_curve_t *curve = stp_curve_create_from_string(yyvsp[0].sval);
+ stp_curve_t *curve = stp_curve_create_from_string((yyvsp[(4) - (4)].sval));
if (curve)
{
- stp_set_curve_parameter(current_printer->v, yyvsp[-3].sval, curve);
- if (strcmp(yyvsp[-1].sval, "False") == 0)
- stp_set_curve_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_curve_parameter(current_printer->v, (yyvsp[(1) - (4)].sval), curve);
+ if (strcmp((yyvsp[(3) - (4)].sval), "False") == 0)
+ stp_set_curve_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_INACTIVE);
else
- stp_set_curve_parameter_active(current_printer->v, yyvsp[-3].sval,
+ stp_set_curve_parameter_active(current_printer->v, (yyvsp[(1) - (4)].sval),
STP_PARAMETER_ACTIVE);
stp_curve_destroy(curve);
}
}
- g_free(yyvsp[-3].sval);
- g_free(yyvsp[-1].sval);
- g_free(yyvsp[0].sval);
+ g_free((yyvsp[(1) - (4)].sval));
+ g_free((yyvsp[(3) - (4)].sval));
+ g_free((yyvsp[(4) - (4)].sval));
}
break;
case 56:
+
+/* Line 1455 of yacc.c */
#line 402 "printrcy.y"
- { stpui_printrc_current_printer = yyvsp[0].sval; }
+ { stpui_printrc_current_printer = (yyvsp[(2) - (2)].sval); }
break;
case 57:
+
+/* Line 1455 of yacc.c */
#line 406 "printrcy.y"
{
- if (strcmp(yyvsp[0].sval, "True") == 0)
+ if (strcmp((yyvsp[(2) - (2)].sval), "True") == 0)
stpui_show_all_paper_sizes = 1;
else
stpui_show_all_paper_sizes = 0;
- g_free(yyvsp[0].sval);
+ g_free((yyvsp[(2) - (2)].sval));
}
break;
case 61:
+
+/* Line 1455 of yacc.c */
#line 422 "printrcy.y"
{
- if (yyvsp[0].sval)
+ if ((yyvsp[(2) - (2)].sval))
{
- stpui_set_global_parameter(yyvsp[-1].sval, yyvsp[0].sval);
- g_free(yyvsp[0].sval);
+ stpui_set_global_parameter((yyvsp[(1) - (2)].sval), (yyvsp[(2) - (2)].sval));
+ g_free((yyvsp[(2) - (2)].sval));
}
- g_free(yyvsp[-1].sval);
+ g_free((yyvsp[(1) - (2)].sval));
}
break;
- }
-
-/* Line 991 of yacc.c. */
-#line 1507 "printrcy.c"
-
- yyvsp -= yylen;
- yyssp -= yylen;
+/* Line 1455 of yacc.c */
+#line 1905 "printrcy.c"
+ default: break;
+ }
+ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+ YYPOPSTACK (yylen);
+ yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -1538,54 +1935,41 @@ yyerrlab:
if (!yyerrstatus)
{
++yynerrs;
-#if YYERROR_VERBOSE
- yyn = yypact[yystate];
-
- if (YYPACT_NINF < yyn && yyn < YYLAST)
- {
- YYSIZE_T yysize = 0;
- int yytype = YYTRANSLATE (yychar);
- char *yymsg;
- int yyx, yycount;
-
- yycount = 0;
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- yysize += yystrlen (yytname[yyx]) + 15, yycount++;
- yysize += yystrlen ("syntax error, unexpected ") + 1;
- yysize += yystrlen (yytname[yytype]);
- yymsg = (char *) YYSTACK_ALLOC (yysize);
- if (yymsg != 0)
- {
- char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
- yyp = yystpcpy (yyp, yytname[yytype]);
-
- if (yycount < 5)
- {
- yycount = 0;
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *));
- yyx++)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- const char *yyq = ! yycount ? ", expecting " : " or ";
- yyp = yystpcpy (yyp, yyq);
- yyp = yystpcpy (yyp, yytname[yyx]);
- yycount++;
- }
- }
- yyerror (yymsg);
+#if ! YYERROR_VERBOSE
+ yyerror (YY_("syntax error"));
+#else
+ {
+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+ {
+ YYSIZE_T yyalloc = 2 * yysize;
+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+ yyalloc = YYSTACK_ALLOC_MAXIMUM;
+ if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
- }
- else
- yyerror ("syntax error; also virtual memory exhausted");
- }
- else
-#endif /* YYERROR_VERBOSE */
- yyerror ("syntax error");
+ yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+ if (yymsg)
+ yymsg_alloc = yyalloc;
+ else
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ }
+ }
+
+ if (0 < yysize && yysize <= yymsg_alloc)
+ {
+ (void) yysyntax_error (yymsg, yystate, yychar);
+ yyerror (yymsg);
+ }
+ else
+ {
+ yyerror (YY_("syntax error"));
+ if (yysize != 0)
+ goto yyexhaustedlab;
+ }
+ }
+#endif
}
@@ -1595,52 +1979,49 @@ yyerrlab:
/* If just tried and failed to reuse lookahead token after an
error, discard it. */
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- {
- /* Pop the error token. */
- YYPOPSTACK;
- /* Pop the rest of the stack. */
- while (yyss < yyssp)
- {
- YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
- yydestruct (yystos[*yyssp], yyvsp);
- YYPOPSTACK;
- }
- YYABORT;
- }
-
- YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
- yydestruct (yytoken, &yylval);
- yychar = YYEMPTY;
-
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
token. */
- goto yyerrlab2;
-
+ goto yyerrlab1;
-/*----------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action. |
-`----------------------------------------------------*/
-yyerrlab1:
- /* Suppress GCC warning that yyerrlab1 is unused when no action
- invokes YYERROR. */
-#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) \
- && !defined __cplusplus
- __attribute__ ((__unused__))
-#endif
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
- goto yyerrlab2;
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
-/*---------------------------------------------------------------.
-| yyerrlab2 -- pop states until the error token can be shifted. |
-`---------------------------------------------------------------*/
-yyerrlab2:
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
@@ -1661,22 +2042,20 @@ yyerrlab2:
if (yyssp == yyss)
YYABORT;
- YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
- yydestruct (yystos[yystate], yyvsp);
- yyvsp--;
- yystate = *--yyssp;
+ yydestruct ("Error: popping",
+ yystos[yystate], yyvsp);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
- YYDPRINTF ((stderr, "Shifting error token, "));
-
*++yyvsp = yylval;
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
yystate = yyn;
goto yynewstate;
@@ -1695,25 +2074,45 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
-/*----------------------------------------------.
-| yyoverflowlab -- parser overflow comes here. |
-`----------------------------------------------*/
-yyoverflowlab:
- yyerror ("parser stack overflow");
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (YY_("memory exhausted"));
yyresult = 2;
/* Fall through. */
#endif
yyreturn:
+ if (yychar != YYEMPTY)
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+ yystos[*yyssp], yyvsp);
+ YYPOPSTACK (1);
+ }
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
- return yyresult;
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
}
+
+/* Line 1675 of yacc.c */
#line 447 "printrcy.y"
diff --git a/src/gutenprintui2/printrcy.h b/src/gutenprintui2/printrcy.h
index afa662b..5a258ba 100644
--- a/src/gutenprintui2/printrcy.h
+++ b/src/gutenprintui2/printrcy.h
@@ -1,27 +1,37 @@
-/* A Bison parser, made by GNU Bison 1.875. */
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* A Bison parser, made by GNU Bison 2.4.1. */
- This program is free software; you can redistribute it and/or modify
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
@@ -69,6 +79,7 @@
pCURVE = 295
};
#endif
+/* Tokens. */
#define tINT 258
#define tDOUBLE 259
#define tDIMENSION 260
@@ -111,14 +122,12 @@
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-typedef int YYSTYPE;
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE yylval;
-
diff --git a/src/gutenprintui2/typebuiltins.c b/src/gutenprintui2/typebuiltins.c
index a44e5f7..4822675 100644
--- a/src/gutenprintui2/typebuiltins.c
+++ b/src/gutenprintui2/typebuiltins.c
@@ -1,5 +1,5 @@
-/* Generated data (by glib-mkenums) */
+
#include <gutenprintui2/gutenprintui.h>
@@ -54,5 +54,5 @@ stpui_curve_type_get_type (void)
return etype;
}
-/* Generated data ends here */
+
diff --git a/src/main/Makefile.in b/src/main/Makefile.in
index 4dc66db..4c520bb 100644
--- a/src/main/Makefile.in
+++ b/src/main/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -22,8 +23,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -58,16 +60,30 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = gutenprint.pc
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgmoduledir)" \
"$(DESTDIR)$(pkgconfigdatadir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-pkgmoduleLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES) $(pkgmodule_LTLIBRARIES)
color_traditional_la_LIBADD =
am_color_traditional_la_OBJECTS = print-color.lo color-conversions.lo
@@ -177,6 +193,7 @@ print_raw_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -196,7 +213,6 @@ DIST_SOURCES = $(color_traditional_la_SOURCES) \
$(print_dyesub_la_SOURCES) $(print_escp2_la_SOURCES) \
$(print_lexmark_la_SOURCES) $(print_pcl_la_SOURCES) \
$(print_ps_la_SOURCES) $(print_raw_la_SOURCES)
-pkgconfigdataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfigdata_DATA)
ETAGS = etags
CTAGS = ctags
@@ -318,6 +334,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -536,14 +553,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/main/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/main/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/main/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/main/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -561,25 +578,30 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
gutenprint.pc: $(top_builddir)/config.status $(srcdir)/gutenprint.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -593,20 +615,24 @@ clean-libLTLIBRARIES:
install-pkgmoduleLTLIBRARIES: $(pkgmodule_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(pkgmoduledir)" || $(MKDIR_P) "$(DESTDIR)$(pkgmoduledir)"
- @list='$(pkgmodule_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(pkgmodule_LTLIBRARIES)'; test -n "$(pkgmoduledir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkgmoduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkgmoduledir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkgmoduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkgmoduledir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgmoduledir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgmoduledir)"; \
+ }
uninstall-pkgmoduleLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(pkgmodule_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgmoduledir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgmoduledir)/$$p"; \
+ @list='$(pkgmodule_LTLIBRARIES)'; test -n "$(pkgmoduledir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgmoduledir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgmoduledir)/$$f"; \
done
clean-pkgmoduleLTLIBRARIES:
@@ -693,21 +719,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -720,34 +746,37 @@ clean-libtool:
install-pkgconfigdataDATA: $(pkgconfigdata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdatadir)"
- @list='$(pkgconfigdata_DATA)'; for p in $$list; do \
+ @list='$(pkgconfigdata_DATA)'; test -n "$(pkgconfigdatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdatadir)/$$f'"; \
- $(pkgconfigdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdatadir)" || exit $$?; \
done
uninstall-pkgconfigdataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfigdata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdatadir)/$$f"; \
- done
+ @list='$(pkgconfigdata_DATA)'; test -n "$(pkgconfigdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdatadir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -755,29 +784,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -798,13 +832,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -835,6 +873,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -857,6 +896,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -866,18 +907,28 @@ install-data-am: install-pkgconfigdataDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-libLTLIBRARIES
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -936,6 +987,7 @@ $(top_builddir)/src/gutenprintui/libgutenprintui.la:
$(top_builddir)/src/gutenprintui2/libgutenprintui2.la:
cd $(top_builddir)/src/gutenprintui2; \
$(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/main/canon-inks.h b/src/main/canon-inks.h
index 41e8796..90fbb1e 100644
--- a/src/main/canon-inks.h
+++ b/src/main/canon-inks.h
@@ -88,6 +88,8 @@ static const stp_dotsize_t dotsizes_2l[] = {
DECLARE_INK(1,2);
+/* test */
+DECLARE_INK(2,2);
static const stp_dotsize_t dotsizes_3l[] = {
{ 0x1, 0.5 },
@@ -106,16 +108,19 @@ static const stp_dotsize_t dotsizes_4l[] = {
DECLARE_INK(2,4);
-static const stp_dotsize_t dotsizes_7l[] = {
+/*under development*/
+DECLARE_INK(4,4);
+
+static const stp_dotsize_t dotsizes_5l[] = {
{ 0x1, 0.45 },
{ 0x2, 0.55 },
- { 0x3, 0.66 },
- { 0x4, 0.77 },
- { 0x5, 0.88 },
- { 0x6, 1.0 }
+ { 0x3, 0.68 },
+ { 0x4, 1.0 }
};
-DECLARE_INK(3,7);
+/*under development*/
+DECLARE_INK(4,5);
+DECLARE_INK_EXTENDED(4,5,INK_FLAG_5pixel_in_1byte);
static const stp_dotsize_t dotsizes_6l[] = {
{ 0x1, 0.2 },
@@ -125,7 +130,23 @@ static const stp_dotsize_t dotsizes_6l[] = {
{ 0x5, 1.0 }
};
+/*under development*/
DECLARE_INK(4,6);
+DECLARE_INK_EXTENDED(4,6,INK_FLAG_5pixel_in_1byte);
+
+static const stp_dotsize_t dotsizes_7l[] = {
+ { 0x1, 0.45 },
+ { 0x2, 0.55 },
+ { 0x3, 0.66 },
+ { 0x4, 0.77 },
+ { 0x5, 0.88 },
+ { 0x6, 1.0 }
+};
+
+DECLARE_INK(3,7);
+
+/*under development*/
+DECLARE_INK(4,7);
static const stp_dotsize_t dotsizes_8l[] = {
{ 0x1, 0.14 },
@@ -139,6 +160,21 @@ static const stp_dotsize_t dotsizes_8l[] = {
DECLARE_INK(4,8);
+static const stp_dotsize_t dotsizes_9l[] = {
+ { 0x1, 0.14 },
+ { 0x2, 0.29 },
+ { 0x3, 0.43 },
+ { 0x4, 0.55 },
+ { 0x5, 0.66 },
+ { 0x6, 0.71 },
+ { 0x7, 0.88 },
+ { 0x8, 1.00 }
+};
+
+/*under development*/
+DECLARE_INK(4,9);
+DECLARE_INK(8,9);
+
static const stp_dotsize_t dotsizes_16l[] = {
{ 0x1, 0.07 },
{ 0x2, 0.13 },
@@ -158,6 +194,7 @@ static const stp_dotsize_t dotsizes_16l[] = {
};
DECLARE_INK(4,16);
+DECLARE_INK(8,16);
/* A inkset is a list of inks and their (relative) densities
@@ -288,10 +325,22 @@ static const canon_inkset_t canon_7_C4M4Y4c4m4k4K4_inkset[] = {
{'K',1.0,&canon_2b_4l_ink},
};
-static const canon_inkset_t canon_9_C3M3Y2K2_inkset[] = {
+static const canon_inkset_t canon_9_C2M2Y2K2_inkset[] = {
+ {'C',1.0,&canon_1b_2l_ink},
+ {'M',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {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_9_C3M3Y2K2h_inkset[] = {
{'C',1.0,&canon_2b_3l_ink},
{'M',1.0,&canon_2b_3l_ink},
- {'Y',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_2b_2l_ink},
{'K',1.0,&canon_1b_2l_ink},
{0,0.0,NULL},
{0,0.0,NULL},
@@ -300,10 +349,10 @@ static const canon_inkset_t canon_9_C3M3Y2K2_inkset[] = {
{0,0.0,NULL},
};
-static const canon_inkset_t canon_9_C4M4Y4K2_inkset[] = {
- {'C',1.0,&canon_2b_4l_ink},
- {'M',1.0,&canon_2b_4l_ink},
- {'Y',1.0,&canon_2b_4l_ink},
+static const canon_inkset_t canon_9_C3M3Y2K2_inkset[] = {
+ {'C',1.0,&canon_2b_3l_ink},
+ {'M',1.0,&canon_2b_3l_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
{'K',1.0,&canon_1b_2l_ink},
{0,0.0,NULL},
{0,0.0,NULL},
@@ -350,6 +399,18 @@ static const canon_inkset_t canon_9_C3M3Y2K2k3_c_inkset[] = {
{0,0.0,NULL}
};
+static const canon_inkset_t canon_9_C3M3Y3K2c3m3_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',0.0,&canon_1b_2l_ink},
+ {'c',0.5,&canon_2b_3l_c_ink},
+ {'m',0.5,&canon_2b_3l_c_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
/* iP4000 mode used for Super Photo Paper (quality 1) */
static const canon_inkset_t canon_9_C3M3Y3K2c3m3k3_c_inkset[] = {
{'C',1.0,&canon_2b_3l_c_ink},
@@ -363,6 +424,18 @@ static const canon_inkset_t canon_9_C3M3Y3K2c3m3k3_c_inkset[] = {
{0,0.0,NULL}
};
+static const canon_inkset_t canon_9_C4M4Y4K2_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
/* iP4000 mode used for T-Shirt (quality 2) */
static const canon_inkset_t canon_9_C4M4Y4K2k4_inkset[] = {
{'C',1.0,&canon_2b_4l_ink},
@@ -376,7 +449,72 @@ static const canon_inkset_t canon_9_C4M4Y4K2k4_inkset[] = {
{0,0.0,NULL},
};
+static const canon_inkset_t canon_9_C4M4Y4K3_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_2b_3l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* check this one!!!! */
+static const canon_inkset_t canon_9_C4M4Y4K2c4m4_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',0.5,&canon_2b_4l_ink},
+ {'m',0.5,&canon_2b_4l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+static const canon_inkset_t canon_9_C4M4Y4K4_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_2b_4l_ink}, /* put K back in for OHP */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* check this one !!! */
+static const canon_inkset_t canon_9_C4M4Y4K4c4m4_inkset[] = {
+ {'C',1.0,&canon_4b_4l_ink},
+ {'M',1.0,&canon_4b_4l_ink},
+ {'Y',1.0,&canon_4b_4l_ink},
+ {'K',0.0,&canon_2b_4l_ink},
+ {'c',1.0,&canon_4b_4l_ink},
+ {'m',1.0,&canon_4b_4l_ink},
+ {'y',1.0,&canon_4b_4l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* check this one!!! */
+static const canon_inkset_t canon_9_C4M4Y4K2c4m4y4_inkset[] = {
+ {'C',1.0,&canon_4b_4l_ink},
+ {'M',1.0,&canon_4b_4l_ink},
+ {'Y',1.0,&canon_4b_4l_ink},
+ {'K',0.0,&canon_1b_2l_ink},
+ {'c',0.5,&canon_4b_4l_ink},
+ {'m',0.5,&canon_4b_4l_ink},
+ {'y',1.0,&canon_4b_4l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
/* iP4000 mode used for CD printing (quality 3) */
+/* Gernot: This is also the normal hi-quality mode for iP4000 at quality level 3 */
+/* The same inket is used at quality levels 4, 3 and 2 for CD printing */
static const canon_inkset_t canon_9_C4M4Y4K2c4m4k4_inkset[] = {
{'C',1.0,&canon_2b_4l_ink},
{'M',1.0,&canon_2b_4l_ink},
@@ -389,6 +527,53 @@ static const canon_inkset_t canon_9_C4M4Y4K2c4m4k4_inkset[] = {
{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},
+ {'Y',1.0,&canon_4b_5l_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_9_C5M5Y5K2_inkset[] = {
+ {'C',1.0,&canon_4b_5l_ink},
+ {'M',1.0,&canon_4b_5l_ink},
+ {'Y',1.0,&canon_4b_5l_ink},
+ {'K',0.0,&canon_1b_2l_ink}, /* for PPpro, so no use */
+ {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_9_C8M8Y4K4c8m8_inkset[] = {
+ {'C',1.0,&canon_4b_8l_ink},
+ {'M',1.0,&canon_4b_8l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',1.0,&canon_2b_4l_ink},
+ {'c',1.0,&canon_4b_8l_ink},
+ {'m',1.0,&canon_4b_8l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+static const canon_inkset_t canon_9_C8M8Y8c16m16_inkset[] = {
+ {'C',1.0,&canon_4b_8l_ink},
+ {'M',1.0,&canon_4b_8l_ink},
+ {'Y',1.0,&canon_4b_8l_ink},
+ {0,0.0,NULL},
+ {'c',0.5,&canon_8b_16l_ink},
+ {'m',0.5,&canon_8b_16l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
/* iP4000 mode used for Professional Photo Paper in Quality 4 */
static const canon_inkset_t canon_9_C8M8Y8c16m16k8_inkset[] = {
@@ -403,7 +588,47 @@ static const canon_inkset_t canon_9_C8M8Y8c16m16k8_inkset[] = {
{0,0.0,NULL}
};
-/* PIXMA Pro9500, PIXMA iP8500 */
+static const canon_inkset_t canon_9_C9M9Y9K2_inkset[] = {
+ {'C',1.0,&canon_4b_9l_ink},
+ {'M',1.0,&canon_4b_9l_ink},
+ {'Y',1.0,&canon_4b_9l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {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_9_C9M9Y9K2c9m9y9_inkset[] = {
+ {'C',1.0,&canon_4b_9l_ink},
+ {'M',1.0,&canon_4b_9l_ink},
+ {'Y',1.0,&canon_4b_9l_ink},
+ {'K',0.0,&canon_1b_2l_ink}, /* for PPpro, so no use */
+ {'c',1.0,&canon_4b_9l_ink},
+ {'m',1.0,&canon_4b_9l_ink},
+ {'y',1.0,&canon_4b_9l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+static const canon_inkset_t canon_9_c9m9y9_inkset[] = {
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_8b_9l_ink},
+ {'m',1.0,&canon_8b_9l_ink},
+ {'y',1.0,&canon_8b_9l_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},
+};
+
+/* PIXMA Pro9000, Pro9000 Mk.II, Pro9500, Pro9500 Mk.II, PIXMA iP8500 */
static const canon_inkset_t canon_11_C2M2Y2K2_inkset[] = {
{'C',1.0,&canon_1b_2l_ink},
{'M',1.0,&canon_1b_2l_ink},
@@ -418,6 +643,162 @@ static const canon_inkset_t canon_11_C2M2Y2K2_inkset[] = {
{0,0.0,NULL}
};
+/* Pro9000 */
+static const canon_inkset_t canon_11_C5M5Y5K5c5m5_c_inkset[] = {
+ {'C',1.0,&canon_4b_5l_c_ink},
+ {'M',1.0,&canon_4b_5l_c_ink},
+ {'Y',1.0,&canon_4b_5l_c_ink},
+ {'K',1.0,&canon_4b_5l_c_ink},
+ {'c',1.0,&canon_4b_5l_c_ink},
+ {'m',1.0,&canon_4b_5l_c_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* PIXMA Pro9000, Pro9000 Mk.II, Pro9500, Pro9500 Mk.II, PIXMA iP8500 */
+static const canon_inkset_t canon_11_C6M6Y6K6_c_inkset[] = {
+ {'C',1.0,&canon_4b_6l_c_ink},
+ {'M',1.0,&canon_4b_6l_c_ink},
+ {'Y',1.0,&canon_4b_6l_c_ink},
+ {'K',1.0,&canon_4b_6l_c_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},
+ {0,0.0,NULL}
+};
+
+/* Pro9000, Pro9000 Mk.II */
+static const canon_inkset_t canon_11_C6M6Y6K6c6m6_c_inkset[] = {
+ {'C',1.0,&canon_4b_6l_c_ink},
+ {'M',1.0,&canon_4b_6l_c_ink},
+ {'Y',1.0,&canon_4b_6l_c_ink},
+ {'K',1.0,&canon_4b_6l_c_ink},
+ {'c',1.0,&canon_4b_6l_c_ink},
+ {'m',1.0,&canon_4b_6l_c_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* Pro9000, Pro9000 Mk.II */
+static const canon_inkset_t canon_11_C6M6Y6K6c16m16_c_inkset[] = {
+ {'C',1.0,&canon_4b_6l_c_ink},
+ {'M',1.0,&canon_4b_6l_c_ink},
+ {'Y',1.0,&canon_4b_6l_c_ink},
+ {'K',1.0,&canon_4b_6l_c_ink},
+ {'c',1.0,&canon_4b_16l_ink},
+ {'m',1.0,&canon_4b_16l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* Pro9000, Pro9000 Mk.II, PIXMA iP8500 */
+static const canon_inkset_t canon_11_C6M6Y6K9c6m6_c_inkset[] = {
+ {'C',1.0,&canon_4b_6l_c_ink},
+ {'M',1.0,&canon_4b_6l_c_ink},
+ {'Y',1.0,&canon_4b_6l_c_ink},
+ {'K',1.0,&canon_4b_9l_ink},
+ {'c',1.0,&canon_4b_6l_c_ink},
+ {'m',1.0,&canon_4b_6l_c_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* PIXMA Pro9500, Pro9500 Mk.II */
+static const canon_inkset_t canon_11_C16M16Y16k16_inkset[] = {
+ {'C',1.0,&canon_4b_16l_ink},
+ {'M',1.0,&canon_4b_16l_ink},
+ {'Y',1.0,&canon_4b_16l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_4b_16l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* Pro9000 Mk.II */
+static const canon_inkset_t canon_11_C16M16Y16K16c16m16_inkset[] = {
+ {'C',1.0,&canon_4b_16l_ink},
+ {'M',1.0,&canon_4b_16l_ink},
+ {'Y',1.0,&canon_4b_16l_ink},
+ {'K',1.0,&canon_4b_16l_ink},
+ {'c',1.0,&canon_4b_16l_ink},
+ {'m',1.0,&canon_4b_16l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL}
+};
+
+/* Gernot: MP150 (MP170 for tests) greyscale */
+static const canon_inkset_t canon_13_K2_inkset[] = {
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* MP150 (MP250 for tests) greyscale */
+static const canon_inkset_t canon_13_K3_inkset[] = {
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'K',1.0,&canon_2b_3l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP2700, MP270 color cartridge only, plain fast mode */
+static const canon_inkset_t canon_13_C2M2Y2_inkset[] = {
+ {'C',1.0,&canon_1b_2l_ink},
+ {'M',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
static const canon_inkset_t canon_13_C2M2Y2K2_inkset[] = {
{'C',1.0,&canon_1b_2l_ink},
{'M',1.0,&canon_1b_2l_ink},
@@ -434,6 +815,7 @@ static const canon_inkset_t canon_13_C2M2Y2K2_inkset[] = {
{0,0.0,NULL},
};
+/* MX7600, iX7000 */
static const canon_inkset_t canon_13_C2M2Y2K2k2_inkset[] = {
{'C',1.0,&canon_1b_2l_ink},
{'M',1.0,&canon_1b_2l_ink},
@@ -441,8 +823,42 @@ static const canon_inkset_t canon_13_C2M2Y2K2k2_inkset[] = {
{'K',1.0,&canon_1b_2l_ink},
{0,0.0,NULL},
{0,0.0,NULL},
+ {'k',1.0,&canon_1b_2l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP2700, MP270 color cartridge only, plain mode */
+static const canon_inkset_t canon_13_C3M3Y2_inkset[] = {
+ {'C',1.0,&canon_2b_3l_ink},
+ {'M',1.0,&canon_2b_3l_ink},
+ {'Y',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP1900 color cartridge only, plain mode */
+static const canon_inkset_t canon_13_C3M3Y2b_inkset[] = {
+ {'C',1.0,&canon_2b_3l_ink},
+ {'M',1.0,&canon_2b_3l_ink},
+ {'Y',1.0,&canon_2b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
{0,0.0,NULL},
- {'k',1.0,&canon_1b_2l_ink},
{0,0.0,NULL},
{0,0.0,NULL},
{0,0.0,NULL},
@@ -466,6 +882,45 @@ static const canon_inkset_t canon_13_C3M3Y2K2_inkset[] = {
{0,0.0,NULL},
};
+/* iP1900, std mode, plain media */
+static const canon_inkset_t canon_13_C3M3Y2K2b_inkset[] = {
+ {'C',1.0,&canon_2b_3l_ink},
+ {'M',1.0,&canon_2b_3l_ink},
+ {'Y',1.0,&canon_2b_2l_ink},
+ {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: iP4500 standard mode changed from the compressed one below */
+/* iP4700 also uses this */
+/* iP4800 also uses this */
+/* MG5100, MG5200 */
+/* TODO: how to get both K and k working, for Hagaki and Env modes */
+static const canon_inkset_t canon_13_C3M3Y2K2y3_c_inkset[] = {
+ {'C',1.0,&canon_2b_3l_c_ink},
+ {'M',1.0,&canon_2b_3l_c_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',0.0,&canon_2b_3l_c_ink}, /* swap y for k, but in any case it is not in output for plain modes */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iX7000 */
static const canon_inkset_t canon_13_C3M3Y2K2k3_c_inkset[] = {
{'C',1.0,&canon_2b_3l_c_ink},
{'M',1.0,&canon_2b_3l_c_ink},
@@ -473,7 +928,24 @@ static const canon_inkset_t canon_13_C3M3Y2K2k3_c_inkset[] = {
{'K',1.0,&canon_1b_2l_ink},
{0,0.0,NULL},
{0,0.0,NULL},
- {'k',0.0,&canon_2b_3l_c_ink},
+ {'k',0.0,&canon_2b_3l_c_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: MP250, MP280 photo modes */
+static const canon_inkset_t canon_13_C4M4Y4_inkset[] = {
+ {'C',1.0,&canon_2b_4l_ink},
+ {'M',1.0,&canon_2b_4l_ink},
+ {'Y',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},
{0,0.0,NULL},
@@ -482,6 +954,212 @@ static const canon_inkset_t canon_13_C3M3Y2K2k3_c_inkset[] = {
{0,0.0,NULL},
};
+static const canon_inkset_t canon_13_C4M4Y4K2_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: MP250, MP270, MP280 high mode */
+static const canon_inkset_t canon_13_C4M4Y3K3_inkset[] = {
+ {'C',1.0,&canon_2b_4l_ink},
+ {'M',1.0,&canon_2b_4l_ink},
+ {'Y',1.0,&canon_2b_3l_ink},
+ {'K',1.0,&canon_2b_3l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+
+/* Gernot: MP150 (MP170 for tests) high-quality mode */
+static const canon_inkset_t canon_13_C4M4Y4K2c4m4y4_inkset[] = {
+ {'C',1.0,&canon_4b_4l_ink},
+ {'M',1.0,&canon_4b_4l_ink},
+ {'Y',1.0,&canon_4b_4l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {'c',1.0,&canon_4b_4l_ink},
+ {'m',1.0,&canon_4b_4l_ink},
+ {'y',1.0,&canon_4b_4l_ink}, /* output uses y */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* test on iP5300 --- swap y and k */
+static const canon_inkset_t canon_13_C4M4Y4K2c4m4k4_inkset[] = {
+ {'C',1.0,&canon_4b_4l_ink},
+ {'M',1.0,&canon_4b_4l_ink},
+ {'Y',1.0,&canon_4b_4l_ink},
+ {'K',0.0,&canon_1b_2l_ink}, /* do not use for photo modes */
+ {'c',1.0,&canon_4b_4l_ink},
+ {'m',1.0,&canon_4b_4l_ink},
+ {'k',1.0,&canon_4b_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},
+};
+
+/* iP2700 in user-defined highest quality mode for PPGlossPro paper */
+/* MP270 same for PPGpro */
+/* MP280 same for PPGproPlat */
+/* less 0x60 in bytes */
+static const canon_inkset_t canon_13_c3m3y3_inkset[] = {
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_2b_3l_ink},
+ {'m',1.0,&canon_2b_3l_ink},
+ {'y',1.0,&canon_2b_3l_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},
+};
+
+/* Gernot: MP150 (MP170 for tests) high-quality mode for
+ High Resolution Paper
+ Inkjet Hagaki
+ pro Photo Paper
+ super Photo Paper
+ super Photo Paper Double Sided
+ matte Photo Paper
+ other Photo Paper
+
+Also used for all modes of gloss Photo Paper
+*/
+static const canon_inkset_t canon_13_C4M4Y4c4m4y4_inkset[] = {
+ {'C',1.0,&canon_4b_4l_ink},
+ {'M',1.0,&canon_4b_4l_ink},
+ {'Y',1.0,&canon_4b_4l_ink},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_4b_4l_ink},
+ {'m',1.0,&canon_4b_4l_ink},
+ {'k',1.0,&canon_4b_4l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: MP150 (MP170 for tests) T-shirt transfers */
+static const canon_inkset_t canon_13_C5M5Y5_inkset[] = {
+ {'C',1.0,&canon_4b_5l_ink},
+ {'M',1.0,&canon_4b_5l_ink},
+ {'Y',1.0,&canon_4b_5l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: added for iP4700 CD printing */
+/* iP4800 also uses this */
+/* also MG5200 */
+static const canon_inkset_t canon_13_C5M5Y4y4_inkset[] = {
+ {'C',1.0,&canon_4b_5l_ink},
+ {'M',1.0,&canon_4b_5l_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}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iX7000 photo mode */
+static const canon_inkset_t canon_13_C6M6Y2K2k4_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_2l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_4l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: added for iP4700 photo standard quality */
+/* MG5100, MG5200 */
+static const canon_inkset_t canon_13_C6M6Y4y4_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}, /* set y to k for photo modes */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* Gernot: added for iP4500 high quality --- check the pos of k/y */
+/* iP4700 also uses this */
+/* iP4800 also uses this */
+/* MG5100, MG5200 */
+static const canon_inkset_t canon_13_C6M6Y4K2y4_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_4l_ink}, /* set y to k for photo modes */
+ {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_C6M6Y4K2k4_inkset[] = {
{'C',1.0,&canon_4b_6l_ink},
{'M',1.0,&canon_4b_6l_ink},
@@ -498,6 +1176,23 @@ static const canon_inkset_t canon_13_C6M6Y4K2k4_inkset[] = {
{0,0.0,NULL},
};
+/* MX7600, iX7000 */
+static const canon_inkset_t canon_13_C6M6Y4K3k4_c_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',1.0,&canon_2b_3l_c_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',0.0,&canon_2b_4l_ink},/* swapped y and k */
+ {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_C6M6Y4k4yask_inkset[] = {
{'C',1.0,&canon_4b_6l_ink},
{'M',1.0,&canon_4b_6l_ink},
@@ -514,6 +1209,26 @@ static const canon_inkset_t canon_13_C6M6Y4k4yask_inkset[] = {
{0,0.0,NULL},
};
+/* Gernot: iP4500 photo mode */
+/* iP4700 also uses this */
+/* iP4800 also uses this */
+/* MG5100, MG5200 */
+static const canon_inkset_t canon_13_C8M8Y4y4_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}, /* set y to k for photo modes */
+ {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_C8M8Y4K4k4_inkset[] = {
{'C',1.0,&canon_4b_8l_ink},
{'M',1.0,&canon_4b_8l_ink},
@@ -546,6 +1261,194 @@ static const canon_inkset_t canon_13_C8M8Y4k4yask_inkset[] = {
{0,0.0,NULL},
};
+/* Gernot: MP150 (MP170 for tests) high-quality mode for
+ High Resolution Paper
+ Inkjet Hagaki
+ pro Photo Paper
+ super Photo Paper
+ super Photo Paper Double Sided
+ matte Photo Paper
+ other Photo Paper
+
+ for some reason there is a hack for iP6700 appearing here which might make the y into a k (swapping)
+*/
+static const canon_inkset_t canon_13_c9m9y9_inkset[] = {
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_8b_9l_ink},
+ {'m',1.0,&canon_8b_9l_ink},
+ {'y',1.0,&canon_8b_9l_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},
+};
+
+/* MP980 uss 16 inks */
+static const canon_inkset_t canon_16_C8M8Y4k4_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}, /* y and k swapped */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_16_C6M6Y4K2k4_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_4l_ink}, /* y and k swapped */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_16_C6M6Y4k4_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}, /* y and k swapped */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_16_C5M5Y4k4_inkset[] = {
+ {'C',1.0,&canon_4b_5l_ink},
+ {'M',1.0,&canon_4b_5l_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}, /* y and k swapped */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_16_C3M3Y2K2k3_c_inkset[] = {
+ {'C',1.0,&canon_2b_3l_c_ink},
+ {'M',1.0,&canon_2b_3l_c_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_3l_c_ink}, /* y and k swapped */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_16_C2M2Y2K2_inkset[] = {
+ {'C',1.0,&canon_1b_2l_ink},
+ {'M',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_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},
+ {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_19_C2M2Y2K2_inkset[] = {
+ {'C',1.0,&canon_1b_2l_ink},
+ {'M',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP6700D Fast plain mode */
+static const canon_inkset_t canon_19_C2M2Y2k2_inkset[] = {
+ {'C',1.0,&canon_1b_2l_ink},
+ {'M',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_1b_2l_ink},/* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_19_C3M3Y3k3_inkset[] = {
{'C',1.0,&canon_2b_3l_ink},
{'M',1.0,&canon_2b_3l_ink},
@@ -553,7 +1456,77 @@ static const canon_inkset_t canon_19_C3M3Y3k3_inkset[] = {
{0,0.0,NULL},
{0,0.0,NULL},
{0,0.0,NULL},
- {'k',1.0,&canon_2b_3l_ink},
+ {'k',1.0,&canon_2b_3l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* works OK on MP960 */
+static const canon_inkset_t canon_19_C3M3Y3K2k3_inkset[] = {
+ {'C',1.0,&canon_2b_3l_ink},
+ {'M',1.0,&canon_2b_3l_ink},
+ {'Y',1.0,&canon_2b_3l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_3l_ink},/* need to swap y -> k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* photo mode iP6700D T-shirt transfers */
+static const canon_inkset_t canon_19_C4M4Y4k4_inkset[] = {
+ {'C',1.0,&canon_2b_4l_ink},
+ {'M',1.0,&canon_2b_4l_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}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* photo mode MP960 T-shirt transfers --- works OK! */
+static const canon_inkset_t canon_19_C4M4Y4K2k4_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_4l_ink}, /* change y to k */
+ {0,0.0,NULL},
{0,0.0,NULL},
{0,0.0,NULL},
{0,0.0,NULL},
@@ -565,6 +1538,285 @@ static const canon_inkset_t canon_19_C3M3Y3k3_inkset[] = {
{0,0.0,NULL},
{0,0.0,NULL},
{0,0.0,NULL},
+};
+
+/* photo mode MP960 CDs and iP6700D Photo High 2 [PPmatte, Coated] */
+static const canon_inkset_t canon_19_C4M4Y4c4m4k4_inkset[] = {
+ {'C',1.0,&canon_2b_4l_ink},
+ {'M',1.0,&canon_2b_4l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_2b_4l_ink},
+ {'m',1.0,&canon_2b_4l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* change y to k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* photo mode iP6700D CDs, position of cmk guessed */
+static const canon_inkset_t canon_19_C4M4Y4c4m4k4CD_inkset[] = {
+ {'C',1.0,&canon_2b_4l_ink},
+ {'M',1.0,&canon_2b_4l_ink},
+ {'Y',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},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_2b_4l_ink},
+ {'m',1.0,&canon_2b_4l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* photo mode MP960 PPmatte works! */
+static const canon_inkset_t canon_19_C4M4Y4K2c4m4k4_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}, /* works when K is set to 0 */
+ {'c',1.0,&canon_2b_4l_ink},
+ {'m',1.0,&canon_2b_4l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* change y to k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* MP960 HIGH works OK */
+static const canon_inkset_t canon_19_C6M6Y4K2_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP6700D Plain High: CMYk */
+static const canon_inkset_t canon_19_C6M6Y4c6m6k4_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},
+ {'c',0.0,&canon_4b_6l_ink}, /* not used */
+ {'m',0.0,&canon_4b_6l_ink}, /* not used */
+ {'k',1.0,&canon_2b_4l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP6700D Photo Std: CMYKcmk */
+static const canon_inkset_t canon_19_C6M6Y4c6m6k4photo_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},
+ {'c',1.0,&canon_4b_6l_ink},
+ {'m',1.0,&canon_4b_6l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* hagaki std & high MP960 : CMYKk*/
+static const canon_inkset_t canon_19_C6M6Y4K2c6m6k4hagaki_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',1.0,&canon_1b_2l_ink},
+ {'c',0.0,&canon_4b_6l_ink}, /* will not use, so have to set to 0 */
+ {'m',0.0,&canon_4b_6l_ink}, /* will not use, so have to set to 0 */
+ {'k',1.0,&canon_2b_4l_ink}, /* change y to k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* photo std mode MP960 and inkjet Hagaki Std: CMYcmk*/
+static const canon_inkset_t canon_19_C6M6Y4K2c6m6k4_inkset[] = {
+ {'C',1.0,&canon_4b_6l_ink},
+ {'M',1.0,&canon_4b_6l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',0.0,&canon_1b_2l_ink}, /* will not use K */
+ {'c',1.0,&canon_4b_6l_ink},
+ {'m',1.0,&canon_4b_6l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* change y to k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* iP6700D Photo High: CMYkcm */
+static const canon_inkset_t canon_19_C7M7Y4c7m7k4_inkset[] = {
+ {'C',1.0,&canon_4b_7l_ink},
+ {'M',1.0,&canon_4b_7l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {0,0.0,NULL},
+ {'c',1.0,&canon_4b_7l_ink},
+ {'m',1.0,&canon_4b_7l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* swap y and k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* photo high mode MP960 and inkjetHagaki High: CMYcmk */
+static const canon_inkset_t canon_19_C7M7Y4K2c7m7k4_inkset[] = {
+ {'C',1.0,&canon_4b_7l_ink},
+ {'M',1.0,&canon_4b_7l_ink},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {'K',0.0,&canon_1b_2l_ink}, /* will not use K */
+ {'c',1.0,&canon_4b_7l_ink},
+ {'m',1.0,&canon_4b_7l_ink},
+ {'k',1.0,&canon_2b_4l_ink}, /* change y to k */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_22_C2M2Y2K2_inkset[] = {
+ {'C',1.0,&canon_1b_2l_ink},
+ {'M',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_22_C3M3Y2K2_c_inkset[] = {
+ {'C',1.0,&canon_2b_3l_c_ink},
+ {'M',1.0,&canon_2b_3l_c_ink},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
{0,0.0,NULL},
};
@@ -593,10 +1845,61 @@ static const canon_inkset_t canon_22_C3M3Y2K2k3_c_inkset[] = {
{0,0.0,NULL},
};
-static const canon_inkset_t canon_22_C3M3Y2K2_c_inkset[] = {
+/* MP520 photo standard */
+static const canon_inkset_t canon_22_C3M3Y3K2c3m3_c_inkset[] = {
{'C',1.0,&canon_2b_3l_c_ink},
{'M',1.0,&canon_2b_3l_c_ink},
- {'Y',1.0,&canon_1b_2l_ink},
+ {'Y',1.0,&canon_2b_3l_c_ink},
+ {'K',0.0,&canon_1b_2l_ink}, /* set to 0 */
+ {'c',1.0,&canon_2b_3l_c_ink},
+ {'m',1.0,&canon_2b_3l_c_ink},
+ {0,0.0,NULL},
+ {'k',0.0,&canon_2b_3l_ink}, /* even though we won't use the photo black in this mode its parameters have to be set */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_22_C3M3Y3K2c3m3k3_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',0.0,&canon_1b_2l_ink}, /* set to 0 */
+ {'c',1.0,&canon_2b_3l_c_ink},
+ {'m',1.0,&canon_2b_3l_c_ink},
+ {0,0.0,NULL},
+ {'k',1.0,&canon_2b_3l_c_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_22_C4M4Y4K2_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},
{0,0.0,NULL},
{0,0.0,NULL},
@@ -618,6 +1921,58 @@ static const canon_inkset_t canon_22_C3M3Y2K2_c_inkset[] = {
{0,0.0,NULL},
};
+/* MP830 T-Shirt */
+static const canon_inkset_t canon_22_C4M4Y4K2k4_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},
+ {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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* MP520 high */
+static const canon_inkset_t canon_22_C4M4Y4K2c4m4_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}, /* set to 0 */
+ {'c',1.0,&canon_2b_4l_ink},
+ {'m',1.0,&canon_2b_4l_ink},
+ {0,0.0,NULL},
+ {'k',0.0,&canon_2b_4l_ink}, /* even though we won't use the photo black in this mode its parameters have to be set */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {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_22_C4M4Y4K2c4m4k4_inkset[] = {
{'C',1.0,&canon_2b_4l_ink},
{'M',1.0,&canon_2b_4l_ink},
@@ -629,8 +1984,8 @@ static const canon_inkset_t canon_22_C4M4Y4K2c4m4k4_inkset[] = {
{'k',0.0,&canon_2b_4l_ink}, /* even though we won't use the photo black in this mode its parameters have to be set */
{0,0.0,NULL},
{0,0.0,NULL},
- {0xa3,0.0,&canon_2b_4l_ink},
- {0xad,0.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},
@@ -643,11 +1998,132 @@ static const canon_inkset_t canon_22_C4M4Y4K2c4m4k4_inkset[] = {
{0,0.0,NULL},
};
-static const canon_inkset_t canon_22_C2M2Y2K2_inkset[] = {
+/* high */
+/* MP990, MG6100, MG800 */
+/* 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[] = {
+ {'K',1.0,&canon_1b_2l_ink},
+ {'C',1.0,&canon_4b_6l_ink},
+ {0,0.0,NULL},
+ {'M',1.0,&canon_4b_6l_ink},
+ {0,0.0,NULL},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {0,0.0,NULL},
+ {'k',0.0,&canon_2b_4l_ink}, /* will not use it, but need to specify it */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* standard */
+/* MP990, MG6100, MG800 */
+/* 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},
+ {'C',1.0,&canon_2b_3l_c_ink},
+ {0,0.0,NULL},
+ {'M',1.0,&canon_2b_3l_c_ink},
+ {0,0.0,NULL},
+ {'Y',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
+ {'k',0.0,&canon_2b_3l_c_ink}, /* will not use it, but need to specify it */
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* fast */
+/* MP990, MG6100, MG800 */
+/* 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_C2M2K2m2_inkset[] = {*/
+static const canon_inkset_t canon_30_K2C2M2Y2_inkset[] = {
+ {'K',1.0,&canon_1b_2l_ink},
{'C',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
{'M',1.0,&canon_1b_2l_ink},
+ {0,0.0,NULL},
{'Y',1.0,&canon_1b_2l_ink},
- {'K',1.0,&canon_1b_2l_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},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+ {0,0.0,NULL},
+};
+
+/* CD photo */
+/* 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_M5K5m4k4_inkset[] = {*/
+static const canon_inkset_t canon_30_C5M5Y4k4_inkset[] = {
+ {0,0.0,NULL},
+ {'C',1.0,&canon_4b_5l_ink},
+ {0,0.0,NULL},
+ {'M',1.0,&canon_4b_5l_ink},
+ {0,0.0,NULL},
+ {'Y',1.0,&canon_2b_4l_ink},
+ {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},
{0,0.0,NULL},
diff --git a/src/main/canon-media.h b/src/main/canon-media.h
index 0db683f..2f354ef 100644
--- a/src/main/canon-media.h
+++ b/src/main/canon-media.h
@@ -62,25 +62,123 @@ static const canon_slot_t canon_default_slots[] = {
};
DECLARE_SLOTS(canon_default);
-
+/* Gernot: changes 2010-10-02 */
static const canon_slot_t canon_PIXMA_iP4000_slots[] = {
- { "SelectKey", N_ ("Selected by Paper Select Key"), 3 },
- { "Auto", N_ ("Auto Sheet Feeder"), 4 },
+ { "SelectKey", N_ ("Selected by Paper Select Key"), 0x3 },
+ { "Auto", N_ ("Auto Sheet Feeder"), 0x4 },
{ "Cassette", N_ ("Cassette"), 0x8 },
- { "CD", N_ ("CD tray"), 10 },
- { "AutoSwitch", N_ ("Automatic Paper Source Switching"), 15 },
+ { "CD", N_ ("CD tray"), 0xa },
+ { "AutoSwitch", N_ ("Automatic Paper Source Switching"), 0xf },
+ { "AllocPaper", N_ ("PaperAllocation"), 0x15 },/*Paper allocation? no idea what this means compared to Continuous*/
};
DECLARE_SLOTS(canon_PIXMA_iP4000);
+static const canon_slot_t canon_PIXMA_iP3100_slots[] = {
+ { "SelectKey", N_ ("Selected by Paper Select Key"), 0x3 },
+ { "Auto", N_ ("Auto Sheet Feeder"), 0x4 },
+ { "Cassette", N_ ("Cassette"), 0x8 },
+ { "CD", N_ ("CD tray"), 0xa },
+ { "AutoSwitch", N_ ("Continuous Autofeed"), 0xf },
+};
+DECLARE_SLOTS(canon_PIXMA_iP3100);
+
+/* MP170, MP450, MP460, MX300 */
+static const canon_slot_t canon_MULTIPASS_MP170_slots[] = {
+ { "Auto", N_ ("Auto Sheet Feeder"), 0x4 },
+};
+DECLARE_SLOTS(canon_MULTIPASS_MP170);
+
+/* MP250 */
+/* iP2700 */
+/* iP1900 */
+static const canon_slot_t canon_MULTIPASS_MP250_slots[] = {
+ { "Rear", N_ ("Rear tray"), 0x4 },
+};
+DECLARE_SLOTS(canon_MULTIPASS_MP250);
+
+/* MX7600 */
+static const canon_slot_t canon_MULTIPASS_MX7600_slots[] = {
+ { "Cassette", N_ ("Cassette"), 0x8 },
+};
+DECLARE_SLOTS(canon_MULTIPASS_MX7600);
+
+static const canon_slot_t canon_PIXMA_iX7000_slots[] = {
+ { "Cassette", N_ ("Cassette"), 0x8 },
+ { "HandFeed", N_ ("Hand Feeding"), 0x1 },
+ { "Rear", N_ ("Rear tray"), 0x4 },
+};
+DECLARE_SLOTS(canon_PIXMA_iX7000);
+
+/* iP4500 */
+static const canon_slot_t canon_PIXMA_iP4500_slots[] = {
+ { "SelectKey", N_ ("Selected by Paper Select Key"), 0x3 },
+ { "Rear", N_ ("Rear tray"), 0x4 },
+ { "Cassette", N_ ("Cassette"), 0x8 },
+ { "Continuous", N_ ("Continuous Autofeed (both)"), 0xf }, /* no paper automatic change source*/
+ { "CD", N_ ("CD tray"), 0xa }, /* CD-R tray F */
+ { "AutoSwitch", N_ ("Automatic Paper Source Switching"), 15 },/*Paper alloction? no idea what this means compared to Continuous*/
+};
+DECLARE_SLOTS(canon_PIXMA_iP4500);
+
+/* MX850 */
+static const canon_slot_t canon_MULTIPASS_MX850_slots[] = {
+ { "SelectKey", N_ ("Selected by Paper Select Key"), 0x3 },
+ { "Rear", N_ ("Rear tray"), 0x4 },
+ { "Cassette", N_ ("Cassette"), 0x8 },
+ { "Continuous", N_ ("Continuous Autofeed (both)"), 0xf }, /* no paper automatic change source*/
+ { "CD", N_ ("CD tray"), 0xa }, /* CD-R tray F */
+};
+DECLARE_SLOTS(canon_MULTIPASS_MX850);
+
+static const canon_slot_t canon_MULTIPASS_MP520_slots[] = {
+ { "SelectKey", N_ ("Selected by Paper Select Key"), 0x3 },
+ { "Rear", N_ ("Rear tray"), 0x4 },
+ { "Front", N_ ("Front tray"), 0x8 },
+ /* There is also a "plain media only Front" option, but it seems to have same 0x8 when used, no idea whether it should take different values */
+};
+DECLARE_SLOTS(canon_MULTIPASS_MP520);
+
+/* iP4600, iP4700 */
static const canon_slot_t canon_PIXMA_iP4600_slots[] = {
{ "AutoSwitch", N_ ("Automatic Paper Source Switching"), 0xe },
{ "Rear", N_ ("Rear tray"), 0x4 },
{ "Cassette", N_ ("Cassette"), 0x8 },
- { "Continuous", N_ ("Continuous autofeed (both)"), 0xf },
+ { "Continuous", N_ ("Continuous Autofeed (both)"), 0xf },
{ "CD", N_ ("CD tray"), 0xa }
};
DECLARE_SLOTS(canon_PIXMA_iP4600);
+/* Pro9000, Pro9500 series */
+static const canon_slot_t canon_PIXMA_Pro9000_slots[] = {
+ { "Rear", N_ ("Rear tray"), 0x4 },
+ { "Front", N_ ("Front tray"), 0xb },
+ { "CD", N_ ("CD tray"), 0xa }
+};
+DECLARE_SLOTS(canon_PIXMA_Pro9000);
+
+
+/* Gernot --- added so check this*/
+static const canon_slot_t canon_PIXMA_MG5100_slots[] = {
+ { "AutoSwitch", N_ ("Automatic Paper Source Switching"), 0xe },
+ { "Rear", N_ ("Rear tray"), 0x4 },
+ { "Cassette", N_ ("Cassette"), 0x8 },
+ { "Continuous", N_ ("Continuous Autofeed (both)"), 0xf },
+ { "AllocPaper", N_ ("PaperAllocation"), 0x15 },/*Paper allocation? no idea what this means compared to Continuous*/
+};
+DECLARE_SLOTS(canon_PIXMA_MG5100);
+
+/* Gernot --- added so check this*/
+static const canon_slot_t canon_PIXMA_MG5200_slots[] = {
+ { "AutoSwitch", N_ ("Automatic Paper Source Switching"), 0xe },
+ { "Rear", N_ ("Rear tray"), 0x4 },
+ { "Cassette", N_ ("Cassette"), 0x8 },
+ { "Continuous", N_ ("Continuous Autofeed (both)"), 0xf },
+ { "AllocPaper", N_ ("PaperAllocation"), 0x15 },/*Paper allocation? no idea what this means compared to Continuous*/
+ { "CD", N_ ("CD tray"), 0xa }
+};
+DECLARE_SLOTS(canon_PIXMA_MG5200); /* also MG6100 */
+
+
/* media types */
typedef struct {
@@ -142,10 +240,704 @@ static const canon_paper_t canon_PIXMA_iP4000_papers[] = {
{ "CD", N_ ("CD"), 0x00,0x12,0x00,0.78, 0.25, 0.500, 0, 0, 0 },
/* FIXME media code for c) should be 0x0c for CD but this will restrict CD printing to a single, not well supported, resolution */
{ "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x00,0.78, 0.25, 0.500, 0, 0, 0 },
- { "PhotopaperPlusDouble", N_ ("Photoper Plus Double-Sided"), 0x10,0x15,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 },
};
DECLARE_PAPERS(canon_PIXMA_iP4000);
+static const canon_paper_t canon_PIXMA_iP3100_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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_ ("Photo Paper Matte"), 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 },
+ /* FIXME media code for c) should be 0x0c for CD but this will restrict CD printing to a single, not well supported, resolution */
+ { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x00,0.78, 0.25, 0.500, 0, 0, 0 },/* experiment */
+};
+DECLARE_PAPERS(canon_PIXMA_iP3100);
+
+static const canon_paper_t canon_PIXMA_iP1000_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x00,1.00, 1.00, 0.900, 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 },
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/*experiment*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/*experiment*/
+};
+DECLARE_PAPERS(canon_PIXMA_iP1000);
+
+static const canon_paper_t canon_PIXMA_iP1200_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x00,1.00, 1.00, 0.900, 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 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP1200);
+
+static const canon_paper_t canon_PIXMA_iP1500_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },/* experimental */
+ { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x01,1.00, 1.00, 0.900, 0, 0, 0 },/* experimental */
+};
+DECLARE_PAPERS(canon_PIXMA_iP1500);
+
+static const canon_paper_t canon_PIXMA_iP2200_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+ { "Transparency", N_ ("Transparencies"), 0x02,0x02,0x01,1.00, 1.00, 0.900, 0, 0, 0 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP2200);
+
+static const canon_paper_t canon_PIXMA_iP2600_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "PhotoPlusGLoss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGgold */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP2600);
+
+static const canon_paper_t canon_PIXMA_iP6100_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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_ ("Photo Paper Matte"), 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,0x07,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "CD", N_ ("CD"), 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 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP6100);
+
+/* iP6600D, Tray C for CD media */
+static const canon_paper_t canon_PIXMA_iP6600_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 },
+ { "PhotopaperPro", 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 },
+ { "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 },
+ { "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 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP6600);
+
+/* iP6700D, Tray C for CD media */
+static const canon_paper_t canon_PIXMA_iP6700_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 },
+ { "PhotopaperPro", 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"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x18,0x29,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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP6700);
+
+/* 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 },/*PPkinumecho*/
+ { "PhotopaperPro", 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 },/*check l*/
+ /* 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 },
+ { "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);
+
+/* PIXMA Pro9000 Mk.II */
+static const canon_paper_t canon_PIXMA_Pro9000mk2_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*/
+ { "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 },/*PP kinumecho*/
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 },/*PPGpro*/
+ { "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 },
+ { "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,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ /* 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 },
+ { "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_Pro9000mk2);
+
+/* PIXMA Pro9500 */
+/* added Envelope, glossy photo paper, coated, T-shirt, PhotopaperOther---must check printjobs if I forgot these ones */
+static const canon_paper_t canon_PIXMA_Pro9500_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*/
+ { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },/* check */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/*PP kinumecho*/
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 },/*PPGpro*/
+ { "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 },/* check */
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* check */
+ { "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 },/* check */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/* check */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ /* 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 },
+ { "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_Pro9500);
+
+/* PIXMA Pro9500 Mk.II */
+/* added Envelope, glossy photo paper, coated, T-shirt, PhotopaperOther---must check printjobs if I forgot these ones */
+static const canon_paper_t canon_PIXMA_Pro9500mk2_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*/
+ { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },/* check */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/*PP kinumecho*/
+ { "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 },/* check */
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/* check */
+ { "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 },/* check */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/* check */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ /* 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 },
+ { "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_Pro9500mk2);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MP150 so far */
+static const canon_paper_t canon_MULTIPASS_MP150_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP150);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MP170, MP450, MP460 */
+static const canon_paper_t canon_MULTIPASS_MP170_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 },
+ { "PhotopaperPro", 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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP170);
+
+/* MX300, MX310, MX700 */
+static const canon_paper_t canon_MULTIPASS_MX300_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 */
+ { "PhotopaperPro", 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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX300);
+
+/* MX330 */
+static const canon_paper_t canon_MULTIPASS_MX330_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "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 },
+ { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,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 }, /* PP kinumecho */
+ { "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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX330);
+
+/* MX340 --- MX350 is the same */
+static const canon_paper_t canon_MULTIPASS_MX340_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "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 },
+ { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,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 }, /* PP kinumecho */
+ { "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 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "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 },
+ { "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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX340);
+
+/* MX360 --- MX410 is the same */
+static const canon_paper_t canon_MULTIPASS_MX360_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 }, /* PPGproPlat */
+ { "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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "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 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "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 },
+ { "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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX360);
+
+/* MX420 */
+static const canon_paper_t canon_MULTIPASS_MX420_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 }, /* PPGproPlat */
+ { "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 },
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,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 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,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 },
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX420);
+
+/* MX850 */
+static const canon_paper_t canon_MULTIPASS_MX850_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 */
+ { "PhotopaperPro", 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 },
+ { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "PhotoSemiGloss",N_ ("Photo Paper Semi-gloss"), 0x0b,0x11,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho new !! */
+ { "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 },
+ { "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 },
+ { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX850);
+
+static const canon_paper_t canon_MULTIPASS_MX880_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 }, /* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, /* env */
+ { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* T-shirt */
+ { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP other */
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX880);
+
+/* MX7600 */
+static const canon_paper_t canon_MULTIPASS_MX7600_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 },/*OK*/
+ { "PhotoPlusGLoss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGgold */
+ { "PhotopaperPlus", N_ ("Photo Paper Plus Glossy"), 0x0b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/*check c*/
+ { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x18,0x29,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/*check c*/
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },/*check variations*/
+};
+DECLARE_PAPERS(canon_MULTIPASS_MX7600);
+
+/* iX7000 */
+static const canon_paper_t canon_PIXMA_iX7000_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 },
+ { "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 },/* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },/* PP kinumecho */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,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 },/* all hagaki */
+ { "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"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "FineArtOther", N_ ("Fine Art Other"), 0x13,0x18,0x29,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_iX7000);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MP250 */
+static const canon_paper_t canon_MULTIPASS_MP250_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "ProPhotoHagakiP", N_ ("Hagaki P (Pro Photo)"), 0x1f,0x25,0x37,0.78, 0.25, 0.500, 0, 0, 0 }, /* pro photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* 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_MP250);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MP280 */
+static const canon_paper_t canon_MULTIPASS_MP280_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 }, /* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* 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_MP280);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MP480 */
+static const canon_paper_t canon_MULTIPASS_MP480_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGproPlat */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP other */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* T-shirt */
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, /* env */
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP480);
+
+static const canon_paper_t canon_MULTIPASS_MP493_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, /* plain */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGproPlat */
+ { "PhotoPlusGLoss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGgold */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP other */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* T-shirt */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "ProPhotoHagakiO", N_ ("Hagaki Pro Photo"), 0x1f,0x25,0x37,0.78, 0.25, 0.500, 0, 0, 0 }, /* Pro photo hagaki*/
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, /* all hagaki */
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, /* env */
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP493);
+
+/* MP520 */
+static const canon_paper_t canon_MULTIPASS_MP520_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, /* plain */
+ { "PhotopaperPro", N_ ("Photo Paper Pro"), 0x09,0x0d,0x1a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPpro*/
+ { "PhotoPlusGLoss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGgold */
+ { "PhotopaperPlus", N_ ("Glossy Photo Paper Plus"), 0x0b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPsuper */
+ { "PhotopaperPlusDouble",N_ ("Photo Paper Plus Double Sided"),0x10,0x15,0x25,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPsuperDS */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPgloss */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPmatte */
+ { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPother */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* HiRes */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjetHagaki */
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* T-shirt */
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, /* env */
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP520);
+
+/* iP1900 series */
+static const canon_paper_t canon_PIXMA_iP1900_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "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 },
+ { "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 }, /* inkjet hagaki */
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* 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_PIXMA_iP1900);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MP600 */
+static const canon_paper_t canon_MULTIPASS_MP600_papers[] = {
+ { "Plain", N_ ("Plain Paper"), 0x00,0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, /* plain */
+ { "PhotopaperPro", 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 },
+ { "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 },
+ { "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 },
+ { "DiscCompat", N_ ("Printable Disc (recommended)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "DiscOthers", N_ ("Printable Disc (others)"), 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 },
+ { "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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP600);
+
+/* MP640 */
+static const canon_paper_t canon_MULTIPASS_MP630_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "DiscCompat", N_ ("Printable Disc (recommended)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "DiscOthers", N_ ("Printable Disc (others)"), 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 }, /* 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_MP630);
+
+/* MP640 */
+static const canon_paper_t canon_MULTIPASS_MP640_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "ProPhotoHagakiP", N_ ("Hagaki P (Pro Photo)"), 0x1f,0x25,0x37,0.78, 0.25, 0.500, 0, 0, 0 }, /* pro photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "DiscCompat", N_ ("Printable Disc (recommended)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "DiscOthers", N_ ("Printable Disc (others)"), 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 }, /* 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_MP640);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* iP2700 series */
+static const canon_paper_t canon_PIXMA_iP2700_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 */
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGpro */
+ { "PhotoProPlat", N_ ("Photo Paper Platinum"), 0x1e,0x24,0x33,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPGproPlat */
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 }, /* PPG */
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP matte */
+ { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, /* hi res paper */
+ { "HagakiA", N_ ("Hagaki A (address side)"), 0x08,0x09,0x38,0.78, 0.25, 0.500, 0, 0, 0 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* 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_PIXMA_iP2700);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* iP4500 */
+static const canon_paper_t canon_PIXMA_iP4500_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 */
+ { "PhotopaperPro", 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 },
+ { "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 },
+ { "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 },
+ { "DiscCompat", N_ ("Printable Disc (recommended)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "DiscOthers", N_ ("Printable Disc (others)"), 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 },
+ { "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 },
+};
+DECLARE_PAPERS(canon_PIXMA_iP4500);
static const canon_paper_t canon_PIXMA_iP4600_papers[] = { /* k_lower_scale *hue_adjustment *sat_adjustment */
/* Name Text (c (l (P Density k_upper *lum_adjustment */
@@ -167,6 +959,171 @@ static const canon_paper_t canon_PIXMA_iP4600_papers[] = { /*
};
DECLARE_PAPERS(canon_PIXMA_iP4600);
+static const canon_paper_t canon_PIXMA_iP4700_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 },
+ { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "HighResolution", 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 },/* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* Canon photo hagaki*/
+ { "OtherPhotoHagakiO",N_ ("Hagaki O (Other Photo)"), 0x1f,0x25,0x37,0.78, 0.25, 0.500, 0, 0, 0 },/* Other photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,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 },
+ { "TShirtTransfer", N_ ("T-Shirt Transfer"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Other", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }
+};
+DECLARE_PAPERS(canon_PIXMA_iP4700);
+
+static const canon_paper_t canon_MULTIPASS_MP960_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 },/*OK*/
+ { "GlossyPro", N_ ("Photo Paper Pro"), 0x09,0x0d,0x1a,1.00, 1.00, 0.999, 0, 0, 0 },/*check*/
+ { "PhotoSuper", N_ ("Photo Paper Super"), 0x1b,0x11,0x1d,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },/*check c*/
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "HighResolution", N_ ("High Resolution Paper"), 0x07,0x07,0x10,0.78, 0.25, 0.500, 0, 0, 0 },/*OK*/
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },/*check c*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 },/*check c*/
+ { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "TShirtTransfer", N_ ("T-Shirt Transfer"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },/*check c*/
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },/*check variations*/
+ { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x18,0x29,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "PhotopaperPlusDouble", N_ ("Photopaper Plus Double Sided"),0x10,0x15,0x25,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "Other", N_ ("Other Coated Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 } /*coated, OK*/
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP960);
+
+static const canon_paper_t canon_MULTIPASS_MP980_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 },
+ { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "MattePhoto", 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 },
+ { "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"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "FineArtOther", N_ ("Fine Art Other"), 0x13,0x18,0x29,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 },
+ { "TShirtTransfer", N_ ("T-Shirt Transfer"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Other", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP980);
+
+static const canon_paper_t canon_MULTIPASS_MP990_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 },
+ { "PhotoPlusGloss2", N_ ("Photo Paper Plus Glossy II"), 0x1d,0x23,0x32,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "PhotoPro2", N_ ("Photo Paper Pro II"), 0x1f,0x25,0x34,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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "GlossyPhoto", N_ ("Glossy Photo Paper"), 0x05,0x05,0x16,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "MattePhoto", N_ ("Matte Photo Paper"), 0x0a,0x10,0x1c,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "Other", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "TShirtTransfer", N_ ("T-Shirt Transfer"), 0x03,0x03,0x12,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 },/*check*/
+ { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x18,0x29,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "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 },
+ { "HighResolution", 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 },/* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 },
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 },/* Canon photo hagaki*/
+ { "OtherPhotoHagakiO",N_ ("Hagaki O (Other Photo)"), 0x1f,0x25,0x37,0.78, 0.25, 0.500, 0, 0, 0 },/* Other photo hagaki*/
+ { "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 },
+};
+DECLARE_PAPERS(canon_MULTIPASS_MP990);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MG5100 series */
+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 }, /* 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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "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 },
+ { "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 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* 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_PIXMA_MG5100);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MG5200 series */
+static const canon_paper_t canon_PIXMA_MG5200_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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "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 },
+ { "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 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* 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_PIXMA_MG5200);
+
+/* Gernot: added ---- note: ESC ( P code not used at all yet, check print-canon.c */
+/* MG6100 series */
+static const canon_paper_t canon_PIXMA_MG6100_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 },
+ { "PhotoProSemiGloss",N_ ("Photo Paper Plus Semi-gloss"), 0x1a,0x1f,0x2a,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP kinumecho */
+ { "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 },
+ { "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 }, /* all hagaki */
+ { "InkJetHagaki", N_ ("Ink Jet Hagaki"), 0x0d,0x09,0x1b,0.78, 0.25, 0.500, 0, 0, 0 }, /* inkjet hagaki */
+ { "CanonPhotoHagakiK",N_ ("Hagaki K (Canon Photo)"), 0x05,0x05,0x36,0.78, 0.25, 0.500, 0, 0, 0 }, /* Canon photo hagaki*/
+ { "Hagaki", N_ ("Hagaki"), 0x08,0x09,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, /* hagaki*/
+ { "DiscCompat", N_ ("Printable Disc (Compatible)"), 0x0c,0x12,0x1f,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "DiscOthers", N_ ("Printable Disc (Other)"), 0x0c,0x12,0x20,0.78, 0.25, 0.500, 0, 0, 0 },/*check c,l*/
+ { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0x12,0.78, 0.25, 0.500, 0, 0, 0 }, /* T-shirt */
+ { "Envelope", N_ ("Envelope"), 0x08,0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, /* env */
+ { "FineArtPhotoRag", N_ ("Fine Art Photo Rag"), 0x13,0x18,0x28,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "FineArtOther", N_ ("Fine Art Other"), 0x16,0x18,0x29,0.78, 0.25, 0.500, 0, 0, 0 },/*check*/
+ { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0x24,0.78, 0.25, 0.500, 0, 0, 0 }, /* PP other */
+};
+DECLARE_PAPERS(canon_PIXMA_MG6100);
#endif
+/*
+Plain: Plain Paper, Canon High Resolution Paper;
+Super High Gloss: Photo Paper Pro Platinum;
+Glossy: Photo Paper Plus Glossy II, Photo Paper Glossy;
+Semi-Gloss: Photo Paper Plus Semi-Gloss;
+Matte: Canon Matte Photo Paper;
+Fine Art: Canon Fine Art Paper "Photo Rag";
+Envelope: U.S.# 10 Envelope
+*/
diff --git a/src/main/canon-modes.h b/src/main/canon-modes.h
index 075350d..b5d8e25 100644
--- a/src/main/canon-modes.h
+++ b/src/main/canon-modes.h
@@ -104,7 +104,7 @@ typedef struct {
#define MODE_FLAG_WEAVE 0x1 /* this mode requires weaving */
#define MODE_FLAG_EXTENDED_T 0x2 /* this mode requires extended color settings in the esc t) command */
#define MODE_FLAG_CD 0x4 /* this mode can be used to print to cds */
-#define MODE_FLAG_PRO 0x8 /* special ink settings for the PIXMA Pro9500 */
+#define MODE_FLAG_PRO 0x8 /* special ink settings for the PIXMA Pro9500 not sure of this... maybe 0x4 */
#define MODE_FLAG_IP8500 0x10 /* special ink settings for the PIXMA iP8500 */
const canon_delay_t* delay; /* delay settings for this printmode */
const double density; /* density multiplier */
@@ -287,85 +287,1096 @@ static const canon_mode_t canon_S500_modes[] = {
};
DECLARE_MODES(canon_S500,2);
-static const canon_mode_t canon_PIXMA_iP2000_modes[] = {
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,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),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2h),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DRAFT DPI"),INKSET(9_C3M3Y2K2h),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(9_C2M2Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(9_C2M2Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(9_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(9_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(9_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_iP1000,4);
+
+/* testing */
+static const canon_mode_t canon_PIXMA_iP1200_modes[] = {
+ /* both cartridges */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2b),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DRAFT DPI"),INKSET(13_C3M3Y2K2b),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* mono modes */
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* color only modes*/
+ { 1200, 1200,CANON_INK_CMY,"1200x1200dpi",N_("1200x1200 DPI PHOTO"),INKSET(13_c3m3y3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* removed black */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high4",N_("600x600 DPI HIGH 4"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high3",N_("600x600 DPI HIGH 3"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std3",N_("600x600 DPI 3"),INKSET(13_C3M3Y2b),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_draft2",N_("600x600 DPI DRAFT 2"),INKSET(13_C3M3Y2b),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_PIXMA_iP1200,4);
+
+static const canon_mode_t canon_PIXMA_iP1500_modes[] = {
+ /* plain modes */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C9M9Y9K2),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(9_C3M3Y2K2h),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(9_C2M2Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(9_C2M2Y2K2),MODE_FLAG_EXTENDED_T,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_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* photo */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(9_C9M9Y9K2c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C9M9Y9K2c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(9_C9M9Y9K2c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(9_C5M5Y5K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
-DECLARE_MODES(canon_PIXMA_iP2000,0);
+DECLARE_MODES(canon_PIXMA_iP1500,3);
+
+/* testing */
+static const canon_mode_t canon_PIXMA_iP1900_modes[] = {
+ /* plain, Hagaki, Env */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2b),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* mono */
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* photo high --- unlikely to work */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* photo std --- unlikely to work */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* photo high 2 --- unlikely to work */
+ { 1200, 1200,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH2"),INKSET(13_c3m3y3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ /* photo draft */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* color only plain, hagaki, Env*/
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2b),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_2",N_("300x300 DPI 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_PIXMA_iP1900,2);
+
+static const canon_mode_t canon_PIXMA_iP2000_modes[] = {
+ /* plain modes */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(9_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C3M3Y2K2),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(9_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(9_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,1},/* 1-bpp, ignore other inks */
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,0},/* 1-bpp, ignore other inks */
+ /* photo */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(9_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(9_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(9_C5M5Y5K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(9_C5M5Y5K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* OHP */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(9_C4M4Y4K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+};
+DECLARE_MODES(canon_PIXMA_iP2000,5);
static const canon_mode_t canon_PIXMA_iP3000_modes[] = {
- { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_high",N_("300x300 DPI HIGH"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_ohphigh",N_("600x600 DPI OHP HIGH"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_ohp",N_("600x600 DPI OHP"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
DECLARE_MODES(canon_PIXMA_iP3000,1);
+static const canon_mode_t canon_PIXMA_iP3100_modes[] = {
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(9_C4M4Y4K2c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C4M4Y4K2c4m4),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(9_C3M3Y2K2_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_high",N_("300x300 DPI HIGH"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},/* 1-bpp, ignore other inks [don't list] */
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,1},/* 1-bpp, ignore other inks [don't list] */
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,0},/* 1-bpp, ignore other inks [don't list] */
+ /* photo */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(9_C8M8Y8c16m16),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(9_C4M4Y4K2c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(9_C4M4Y4K2c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(9_C3M3Y3K2c3m3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(9_C3M3Y3K2c3m3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT"),INKSET(9_C3M3Y2K2_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* TST */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(9_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_PIXMA_iP3100,5);
static const canon_mode_t canon_PIXMA_iP4000_modes[] = {
- { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
- { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_high",N_("300x300 DPI HIGH"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK | CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(9_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /*Gernot adding the normal hi-quality mode for iP4000 here*/
+/* { 600, 600,CANON_INK_CMYK | CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, */
/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(9_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL},*/ /* this mode is used for CD printing, K is ignored by the printer then, the seperation between the small and large dot inks needs more work */
-/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_superphoto",N_("600x600 DPI Superphoto"),INKSET(9_C8M8Y8c16m16k8),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL}, */
+/* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_superphoto",N_("600x600 DPI Superphoto"),INKSET(9_C8M8Y8c16m16k8),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,4}, */
+/* T-Shirt */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(9_C4M4Y4K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+/* not sure yet about CMYKk modes, so not inserting yet */
};
-DECLARE_MODES(canon_PIXMA_iP4000,2);
-
+DECLARE_MODES(canon_PIXMA_iP4000,3);
+/* Gernot: I added iP8500 flag to 300dpi modes since that appears to be needed according to the pixma_parse output */
+/* Also added B/W functionality to the standard plain modes */
+/* CD mode is not the one the printer driver uses. Given here is actually the plain media High quality mode (now added). */
+/* But for CD should be CMYcmk output inks, which I am not sure how to set */
+/* For plain media output inks for high quality mode are CMYKcmk which again I am not sure how to set */
static const canon_mode_t canon_PIXMA_iP4200_modes[] = {
/* Q0 - fastest mode (in windows driver it's Q5, printer uses 50% of ink ( I think )) */
- { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,iP4200_300dpi_draft_lum_adjustment,NULL,NULL,0},
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,iP4200_300dpi_draft_lum_adjustment,NULL,NULL,0},
/* Q1 - normal 300x300 mode (in windows driver it's Q4 - normal darkness of printout ) */
- { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,iP4200_300dpi_lum_adjustment,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,iP4200_300dpi_lum_adjustment,NULL,NULL,1},
/* Q2 - standard mode for this driver (in windows driver it's Q3) */
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(22_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
- /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(22_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL}, */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(22_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(22_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 600, 600,CANON_INK_CcMmYyK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(22_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+/* { 600, 600,CANON_INK_CcMmYyK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(22_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL}, */
};
DECLARE_MODES(canon_PIXMA_iP4200,2);
static const canon_mode_t canon_PIXMA_iP6000_modes[] = {
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high3",N_("600x600 DPI HIGHEST"),INKSET(9_C4M4Y4K4c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH / PHOTO HIGH"),INKSET(9_C4M4Y4K4c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH (DS)"),INKSET(9_C4M4Y4K4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(9_C3M3Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* photo modes */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGHEST / CD"),INKSET(9_C8M8Y4K4c8m8),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH 2 / CD"),INKSET(9_C8M8Y4K4c8m8),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO / CD"),INKSET(9_C4M4Y4K4c4m4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,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_C4M4Y4K4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* OHP */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_ohphigh",N_("600x600 DPI OHP HIGH"),INKSET(9_C4M4Y4K4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_ohp",N_("600x600 DPI OHP"),INKSET(9_C4M4Y4K4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
-DECLARE_MODES(canon_PIXMA_iP6000,0);
+DECLARE_MODES(canon_PIXMA_iP6000,4);
static const canon_mode_t canon_PIXMA_iP6700_modes[] = {
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(19_C6M6Y4c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(19_C3M3Y3k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(19_C2M2Y2k2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(19_C2M2Y2k2),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(19_C7M7Y4c7m7k4),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(19_C6M6Y4c6m6k4photo),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH matte/coated"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO matte/coated"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* Hagaki, Envelope */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH Hagaki/Env"),INKSET(19_C6M6Y4c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI Hagaki/Env"),INKSET(19_C6M6Y4c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft2",N_("600x600 DPI DRAFT Hagaki/Env"),INKSET(19_C3M3Y3k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* CD media */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH CD"),INKSET(19_C4M4Y4c4m4k4CD),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO CD"),INKSET(19_C4M4Y4c4m4k4CD),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT CD"),INKSET(19_C4M4Y4c4m4k4CD),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* T-shirt */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(19_C4M4Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
DECLARE_MODES(canon_PIXMA_iP6700,0);
-
static const canon_mode_t canon_MULTIPASS_MP150_modes[] = {
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, */ /* need to check cmy */
{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ /* { 600, 600,CANON_INK_CMY,"600x600dpi_glossphotohigh",N_("600x600 DPI GLOSSPHOTO HIGH"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, */ /* need to check cmy */
+ /* { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, */ /* need to check cmy */
+ /* { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, */ /* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI TSHIRT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
};
DECLARE_MODES(canon_MULTIPASS_MP150,0);
+/* Gernot: add modes here: high & draft */
+static const canon_mode_t canon_MULTIPASS_MP170_modes[] = {
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* need to check cmy */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_glossphotohigh",N_("600x600 DPI GLOSSPHOTO HIGH"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI TSHIRT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+/*plenty of other photo paper modes to add here*/
+DECLARE_MODES(canon_MULTIPASS_MP170,3);
+
+static const canon_mode_t canon_MULTIPASS_MX300_modes[] = {
+ /* plain media */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* need to check cmy */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 1200, 1200,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_c3m3y3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_c9m9y9),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* the following should work fine */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI TSHIRT"),INKSET(13_C5M5Y5),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+
+/* color only cartridge plain */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C4M4Y4c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* need to check cmy */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MX300,3);
+
+static const canon_mode_t canon_MULTIPASS_MX330_modes[] = {
+ /* plain media */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono2",N_("600x600 DPI HIGH MONO 2"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+/* color only cartridge plain */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high3",N_("600x600 DPI HIGH 3"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MX330,4);
+
+static const canon_mode_t canon_MULTIPASS_MX340_modes[] = {
+ /* plain media */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono2",N_("600x600 DPI HIGH MONO 2"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+/* color only cartridge plain */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high3",N_("600x600 DPI HIGH 3"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MX340,4);
+
+static const canon_mode_t canon_MULTIPASS_MX360_modes[] = {
+ /* plain media */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono2",N_("600x600 DPI HIGH MONO 2"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_K,"600x600dpi_mono",N_("600x600 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ /*{ 1200, 600,CANON_INK_cmy,"1200x1200dpi_photohigh",N_("1200x1200 DPI PHOTO HIGH"),INKSET(13_c3m3y3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+/* color only cartridge plain */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high3",N_("600x600 DPI HIGH 3"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_draft2",N_("600x600 DPI DRAFT"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MX360,4);
+
+/* Gernot: add modes here: high & draft */
+static const canon_mode_t canon_MULTIPASS_MP250_modes[] = {
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),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(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_MULTIPASS_MP250,12);
+
+/* still need to add 1200dpi mode user-defined */
+static const canon_mode_t canon_MULTIPASS_MP280_modes[] = {
+ /* plain hi */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* plain std */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* plain fast */
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),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(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /*end in color mode */
+ /* color-only cartridge modes for plain, allHagaki, Hagaki, Env */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MP280,4);
+
+/* still need to add 1200dpi mode user-defined */
+static const canon_mode_t canon_MULTIPASS_MP480_modes[] = {
+ /* plain hi */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* plain std */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* plain fast */
+ { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add some B/W modes*/
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),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(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_draftmono",N_("300x300 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /*add photo paper modes */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /*end in color mode */
+ /* color-only cartridge modes for plain, Hagaki, Env */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_draft2",N_("300x300 DPI DRAFT 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MP480,4);
+
+/* same family: iP3300, iP3500, MX700, MP510, MP520, MP600 */
+/* on photo media, same modes do not use K ink */
+static const canon_mode_t canon_MULTIPASS_MP520_modes[] = {
+ { 600, 600,CANON_INK_K|CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(22_C4M4Y4K2c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3}, /* 16 CMYKcm, mono: 16 K */
+ /* only the standard 600dpi mode was there before */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(22_C3M3Y2K2_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2}, /* 16 CMYK, mono: 16 K */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1}, /* 8 CMYK, mono: 8 K */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0}, /* 8 CMYK, mono: 8 K */
+ /* photo modes --- do not work because cannot deal with no k or K */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(22_C4M4Y4K2c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/ /* 16 CMYcm */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(22_C4M4Y4K2c4m4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* 16 CMYcm */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(22_C3M3Y3K2c3m3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/ /* 16 CMYcm */
+};
+DECLARE_MODES(canon_MULTIPASS_MP520,1);
+
+/* similar to iP4500 */
+/* Hagaki, Envelope use plain mode but adds k to output inks */
+static const canon_mode_t canon_MULTIPASS_MP540_modes[] = {
+ /* high mode -- B/W also */
+ /* TODO: std to output CMYKk as well as CMYK */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoStd mode */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* mode for inkjet Hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH HAGAKI"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO HAGAKI"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_MULTIPASS_MP540,3);
+
+/* TODO: get std to output CMYKk as well as CMYK */
+static const canon_mode_t canon_MULTIPASS_MP640_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoStd mode */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* mode for inkjet Hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH HAGAKI / CD"),INKSET(13_C5M5Y4y4),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 PHOTO HAGAKI / CD"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_MULTIPASS_MP640,3);
+
+/* user-defined highest quality mode not yet supported */
+/* Note: printer does not accept quality setting of 0 */
+static const canon_mode_t canon_PIXMA_iP2700_modes[] = {
+ /* user-defined mode: highest resolution, no mono */
+ /*{ 1200, 1200,CANON_INK_CMYK,"1200x1200dpi_high",N_("1200x1200 DPI HIGH"),INKSET(13_c3m3y3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C4M4Y3K3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),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(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C4M4Y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* Std mode using only color cartridge */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMY,"600x600dpi_std2",N_("600x600 DPI STANDARD 2"),INKSET(13_C3M3Y2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 300, 300,CANON_INK_CMY,"300x300dpi_std2",N_("300x300 DPI STANDARD 2"),INKSET(13_C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* B/W modes */
+ { 600, 600,CANON_INK_K,"600x600dpi_highmono",N_("600x600 DPI HIGH MONO"),INKSET(13_K3),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(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_K,"600x600dpi_draftmono",N_("600x600 DPI DRAFT MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 300, 300,CANON_INK_K,"300x300dpi_mono",N_("300x300 DPI MONO"),INKSET(13_K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_iP2700,13);
+
+/* Gernot: added modes for iP4500.
+ I noticed that the monochrome modes use all inks but only K is sent in the printjob,
+ so the bw=1 flag does somehow do something even if the inkset contains all colors.
+ TODO: figure out how to set color setting for modes in order to use inkset for mono.
+*/
+static const canon_mode_t canon_PIXMA_iP4500_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi2 mode for CDs, some photo papers, Tshirt */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4K2c4m4y4),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_C4M4Y4K2c4m4y4),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(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_iP4500,3);
+
+/* MX860 --- similar to iP4500 */
+static const canon_mode_t canon_MULTIPASS_MX860_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi2 mode for CDs, some photo papers, Tshirt */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C4M4Y4K2c4m4y4),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_C4M4Y4K2c4m4y4),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(13_C4M4Y4K2c4m4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_MULTIPASS_MX860,3);
+
+/* MX870 --- similar to iP4500 */
+static const canon_mode_t canon_MULTIPASS_MX870_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4y4),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_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C6M6Y4y4),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(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi3 for inkjet Hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_MULTIPASS_MX870,3);
+
+static const canon_mode_t canon_MULTIPASS_MX7600_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K3k4_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2k2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2k2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+};
+DECLARE_MODES(canon_MULTIPASS_MX7600,3);
+
+/* Gernot: added modes for iP4700.
+ this appears to be same in iP4800 family.
+ y is swapped for k on all modes that use them.
+*/
+static const canon_mode_t canon_PIXMA_iP4700_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4y4),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_C8M8Y4y4),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(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoStd mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi3 mode for CDs, inkjet hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_iP4700,13);
+
static const canon_mode_t canon_PIXMA_iP5300_modes[] = {
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* plain paper modes -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* Photo modes */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4y4),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_C8M8Y4y4),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(13_C8M8Y4y4),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 2"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* T-shirt: uses same Photo mode by CMYk output---can this work? */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
-DECLARE_MODES(canon_PIXMA_iP5300,0);
+DECLARE_MODES(canon_PIXMA_iP5300,4);
+
+static const canon_mode_t canon_MULTIPASS_MP800_modes[] = {
+ /* plain modes --- for inkjet std outputs CMYk, for env CMYKk, no idea yet how to get this, or what masks */
+ { 600, 600,CANON_INK_CcMmYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(22_C4M4Y4K2c4m4k4),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(22_C3M3Y2K2k3_c),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(22_C2M2Y2K2),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(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* Fast Photo paper mode */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(22_C3M3Y3K2c3m3k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(22_C3M3Y3K2c3m3k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* T-shirt --- Gernot: actually this should use CMYk but I don't know how to get this yet */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(22_C4M4Y4K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_MULTIPASS_MP800,0);
+
+/* like iP5300 plus CD */
+/* try to find way to output CMYK, CMYKk, and CMYk from plain modes */
+static const canon_mode_t canon_MULTIPASS_MP810_modes[] = {
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* plain paper modes -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* Photo modes */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4y4),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_C8M8Y4y4),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(13_C8M8Y4y4),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 2"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* T-shirt: uses same Photo mode by CMYk output---can this work? */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_MULTIPASS_MP810,4);
static const canon_mode_t canon_MULTIPASS_MP830_modes[] = {
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* not a real mode of the printer */
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* real modes */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(22_C3M3Y2K2k3_c),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(22_C2M2Y2K2),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(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* Fast Photo paper mode */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(22_C3M3Y3K2c3m3k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* T-shirt --- Gernot: actually this should use CMYk but I don't know how to get this yet */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(22_C4M4Y4K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
DECLARE_MODES(canon_MULTIPASS_MP830,0);
+static const canon_mode_t canon_MULTIPASS_MP950_modes[] = {
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(19_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(19_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(19_C3M3Y3K2k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(19_C6M6Y4K2c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+};
+DECLARE_MODES(canon_MULTIPASS_MP950,3);
+
+static const canon_mode_t canon_MULTIPASS_MP960_modes[] = {
+ /* 300 dpi plain modes (also mono) */
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(19_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(19_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* 600dpi plain modes (also mono) */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(19_C3M3Y3K2k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* hagaki fast uses this with output CMYKk (quality 2) */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI STD / HAGAKI DRAFT"),INKSET(19_C3M3Y3K2k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(19_C6M6Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* PPpro, inkjet Hagaki High CMYcmk --- no 0x60 additions to c,m */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH / INKJET HAGAKI HIGH"),INKSET(19_C7M7Y4K2c7m7k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* CMYcmk */
+ /* hagaki high CMYKk (quality 4) OK! */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh4",N_("600x600 DPI HAGAKI HIGH"),INKSET(19_C6M6Y4K2c6m6k4hagaki),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ /* hagaki std CMYKk (quality 3) OK! */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo4",N_("600x600 DPI HAGAKI STD"),INKSET(19_C6M6Y4K2c6m6k4hagaki),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* Inkjet Hagaki Std CMYcmk --- no 0x60 additions to c,m */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo",N_("600x600 DPI PHOTO / INKJET HAGAKI STD"),INKSET(19_C6M6Y4K2c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* CMYcmk */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(19_C6M6Y4K2c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PPmatte */
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(19_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(19_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(19_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/
+ /* CD */
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* T-shirt transfers CMYk --- works great! OK */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high2",N_("600x600 DPI T-SHIRT TRANSFERS"),INKSET(19_C4M4Y4K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* photo modes high & std (600dpi) CMYcmk */
+ /* photo mode 2 (600dpi) CMYcmk --- works, but c,m may need a bit of tone/density adjusting */
+ /* photo mode 3 CD (600dpi) CMYcmk --- c,m too light, may need adjusting tone/density */
+ /* inkjet hagaki outputs in CMYcmk std, hi --- c,m too light, may need adjusting tone/density */
+ /* hagaki outputs in CMYKk draft, std, high (OK) */
+ /* T-shirt transfer mode (600dpi) CMYk (OK) */
+};
+DECLARE_MODES(canon_MULTIPASS_MP960,3);
+
static const canon_mode_t canon_MULTIPASS_MP970_modes[] = {
- { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(7_C4M4Y4c4m4k4K4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(7_C4M4Y4c4m4k4K4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,1},*/
+ /* 300 dpi plain modes (also mono) */
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi_draft",N_("300x300 DPI DRAFT"),INKSET(19_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(19_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* 600dpi plain modes (also mono) */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(19_C3M3Y3K2k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* hagaki fast uses this with output CMYKk (quality 2) */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI STD / HAGAKI DRAFT"),INKSET(19_C3M3Y3K2k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(19_C6M6Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* PPpro, inkjet Hagaki High CMYcmk --- no 0x60 additions to c,m */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH / INKJET HAGAKI HIGH"),INKSET(19_C7M7Y4K2c7m7k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},/* CMYcmk */
+ /* hagaki high CMYKk (quality 4) OK! */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh4",N_("600x600 DPI HAGAKI HIGH"),INKSET(19_C6M6Y4K2c6m6k4hagaki),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ /* hagaki std CMYKk (quality 3) OK! */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo4",N_("600x600 DPI HAGAKI STD"),INKSET(19_C6M6Y4K2c6m6k4hagaki),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* Inkjet Hagaki Std CMYcmk --- no 0x60 additions to c,m */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo",N_("600x600 DPI PHOTO / INKJET HAGAKI STD"),INKSET(19_C6M6Y4K2c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* CMYcmk */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(19_C6M6Y4K2c6m6k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PPmatte */
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(19_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(19_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(19_C4M4Y4K2c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/
+ /* CD */
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},*/
+ /* CMYcmk --- no cyan */
+ /* { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(19_C4M4Y4c4m4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+ /* T-shirt transfers CMYk --- works great! OK */
+ { 600, 600,CANON_INK_CcMmYyK,"600x600dpi_high2",N_("600x600 DPI T-SHIRT TRANSFERS"),INKSET(19_C4M4Y4K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* photo modes high & std (600dpi) CMYcmk */
+ /* photo mode 2 (600dpi) CMYcmk --- works, but c,m may need a bit of tone/density adjusting */
+ /* photo mode 3 CD (600dpi) CMYcmk --- c,m too light, may need adjusting tone/density */
+ /* inkjet hagaki outputs in CMYcmk std, hi --- c,m too light, may need adjusting tone/density */
+ /* hagaki outputs in CMYKk draft, std, high (OK) */
+ /* T-shirt transfer mode (600dpi) CMYk (OK) */
};
DECLARE_MODES(canon_MULTIPASS_MP970,0);
+/* most photo modes use H (grey) so unsupported presently */
+/* TODO: stad mode ouput CMYKk for Hagaki and Envelope */
+static const canon_mode_t canon_MULTIPASS_MP980_modes[] = {
+ /* normal modes */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high2",N_("600x600 DPI HIGH 2"),INKSET(16_C6M6Y4K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH (DS)"),INKSET(16_C3M3Y2K2k3_c),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(16_C3M3Y2K2k3_c),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(16_C2M2Y2K2),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(16_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* Photo modes: matte, high resolution, CD */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3 / CD"),INKSET(16_C8M8Y4k4),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 PHOTO 3 / CD"),INKSET(16_C8M8Y4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* Photo modes: inkjet Hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH 2"),INKSET(16_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO 2"),INKSET(16_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* Photo modes: other */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(16_C6M6Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_MULTIPASS_MP980,0);
+
+static const canon_mode_t canon_MULTIPASS_MP990_modes[] = {
+ /* normal modes */
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(30_K2C6M6Y4k4),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(30_K2C3M3Y2k3_c),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(30_K2C3M3Y2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},*/
+ { 300, 300,CANON_INK_CMYK|CANON_INK_K,"300x300dpi",N_("300x300 DPI"),INKSET(30_K2C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD|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(30_K2C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},*/
+ /* PhotoHi3 mode for CDs, inkjet hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_MULTIPASS_MP990,0);
+
static const canon_mode_t canon_PIXMA_iX5000_modes[] = {
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(22_C3M3Y2K2_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK|CANON_INK_K,"600x600dpi",N_("600x600 DPI"),INKSET(22_C3M3Y2K2_c),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(22_C2M2Y2K2),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(22_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* TST mode */
+ { 600, 600,CANON_INK_CMY,"600x600dpi_tshirt",N_("600x600 DPI T-SHIRT"),INKSET(22_C4M4Y4K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
};
DECLARE_MODES(canon_PIXMA_iX5000,0);
+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),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_C3M3Y2K2k3_c),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_C2M2Y2K2k2),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_C2M2Y2K2k2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* photo - no mono: all output CMYKk */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C6M6Y2K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo",N_("600x600 DPI PHOTO"),INKSET(13_C6M6Y2K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(13_C6M6Y2K2k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+};
+DECLARE_MODES(canon_PIXMA_iX7000,0);
+
+/* format: 0x90 */
+/* ink : 0x4 */
+/* Not sure why MODE_FLAG_PRO is needed for Fast mode, or if it even works. Driver Fast mode uses iP8500 flag instead */
+static const canon_mode_t canon_PIXMA_Pro9000_modes[] = {
+/* original mode entered here */
+/* { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},*/
+/* Plain Modes */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high2",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),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 HIGH (Hagaki)"),INKSET(11_C6M6Y6K6_c),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),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),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),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),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+/* Plain Modes Mono */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_highmono",N_("600x600 DPI MONO HIGH"),INKSET(11_C6M6Y6K6_c),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),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),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),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_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(11_C6M6Y6K6c16m16_c),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 / CD"),INKSET(11_C6M6Y6K6c6m6_c),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_photomed2",N_("600x600 DPI PHOTO MEDIUM 2"),INKSET(11_C6M6Y6K6c16m16_c),MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM"),INKSET(11_C6M6Y6K6c6m6_c),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 STD / CD"),INKSET(11_C6M6Y6K6c6m6_c),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 DRAFT"),INKSET(11_C6M6Y6K6c6m6_c),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 2"),INKSET(11_C5M5Y5K5c5m5_c),MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},
+/* Photo Modes Mono */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO MONO HIGH / CD"),INKSET(11_C6M6Y6K6c6m6_c),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),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 STD / CD"),INKSET(11_C6M6Y6K6c6m6_c),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),MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_Pro9000,0);
+
+/* all use normal BJ format and ink codes */
+static const canon_mode_t canon_PIXMA_Pro9000mk2_modes[] = {
+ /* plain */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),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),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),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),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),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),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),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),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 2"),INKSET(11_C6M6Y6K6c16m16_c),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 / CD"),INKSET(11_C6M6Y6K6c6m6_c),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomed",N_("600x600 DPI PHOTO MEDIUM"),INKSET(11_C6M6Y6K6c16m16_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photo",N_("600x600 DPI PHOTO / CD"),INKSET(11_C6M6Y6K6c6m6_c),MODE_FLAG_EXTENDED_T|MODE_FLAG_CD,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photodraft",N_("600x600 DPI PHOTO DRAFT"),INKSET(11_C6M6Y6K6c6m6_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* photo mono */
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_photomonohigh",N_("600x600 DPI PHOTO MONO HIGH / CD"),INKSET(11_C16M16Y16K16c16m16),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),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),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),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,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 */
+/* the Pro9500 has fewer quality settings in the driver than the Pro9500 Mk.II but I put the "missing" ones in anyway */
static const canon_mode_t canon_PIXMA_Pro9500_modes[] = {
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_PRO,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ /* plain mode: fast, 1 only but maybe accept 2 and 0 quality settings too */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+/* 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),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),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),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),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),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 */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_monophoto",N_("600x600 DPI MONO PHOTO"),INKSET(11_C16M16Y16k16),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
};
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 */
+static const canon_mode_t canon_PIXMA_Pro9500mk2_modes[] = {
+/* plain: 3 variations on the Fast mode: 600/1 and 600/0 are supported, but perhaps 600/2 is also possible */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+/* 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),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),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),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),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),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 */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_monophoto",N_("600x600 DPI MONO PHOTO"),INKSET(11_C16M16Y16k16),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+};
+DECLARE_MODES(canon_PIXMA_Pro9500mk2,0);
+
+/* iP8500 */
+/* ESC R command is 0x64 but another one befor data is sent: ESC R) 0x62 0x0 */
+/* Photo modes and CD mode have unsupported format 0x90, unsupported ink settings 0x4 --- need to debug this */
static const canon_mode_t canon_PIXMA_iP8500_modes[] = {
- { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CcMmYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(11_C6M6Y6K9c6m6_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,4},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_std",N_("600x600 DPI"),INKSET(11_C6M6Y6K6_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_std2",N_("600x600 DPI 2"),INKSET(11_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,2}, /* original single mode, but printer does not even use this via the driver! */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(11_C2M2Y2K2),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),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* Transparency */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_std3",N_("600x600 DPI OHP"),INKSET(11_C6M6Y6K6_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_draft3",N_("600x600 DPI DRAFT OHP"),INKSET(11_C6M6Y6K6_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_iP8500,3);
+
+/* Gernot: added modes for MG5100.
+ I noticed that the monochrome modes use all inks but only K is sent in the printjob,
+ so the bw=1 flag does somehow do something even if the inkset contains all colors.
+ TODO: figure out how to set color setting for modes in order to use inkset for mono.
+*/
+static const canon_mode_t canon_PIXMA_MG5100_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4y4),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_C8M8Y4y4),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(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoStd mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi3 mode for inkjet hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
};
-DECLARE_MODES(canon_PIXMA_iP8500,0);
+DECLARE_MODES(canon_PIXMA_MG5100,13);
+
+static const canon_mode_t canon_PIXMA_MG5200_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(13_C6M6Y4K2y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(13_C3M3Y2K2y3_c),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(13_C3M3Y2K2y3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|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(13_C2M2Y2K2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh",N_("600x600 DPI PHOTO HIGH"),INKSET(13_C8M8Y4y4),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_C8M8Y4y4),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(13_C8M8Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoStd mode for high quality photo papers */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh2",N_("600x600 DPI PHOTO HIGH 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo2",N_("600x600 DPI PHOTO 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft2",N_("600x600 DPI PHOTO DRAFT 2"),INKSET(13_C6M6Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* PhotoHi3 mode for CDs, inkjet hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(13_C5M5Y4y4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_MG5200,13);
+
+/* for this printer the photo modes (except for CDs) have unknown inks, so these modes are not added. Now we get plain paper, non-photo hagaki, and CDs. */
+static const canon_mode_t canon_PIXMA_MG6100_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(30_K2C6M6Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(30_K2C3M3Y2k3_c),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(30_K2C3M3Y2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(30_K2C2M2Y2),MODE_FLAG_EXTENDED_T|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(30_K2C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi3 mode for CDs, inkjet hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_MG6100,7);
+
+/* for this printer the photo modes have unknown inks, so these modes are not added. Now we get plain paper and non-photo hagaki. */
+static const canon_mode_t canon_PIXMA_MG8100_modes[] = {
+ /* high mode -- B/W also */
+ { 600, 600,CANON_INK_K|CANON_INK_CMYK,"600x600dpi_high",N_("600x600 DPI HIGH"),INKSET(30_K2C6M6Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ /* standard mode -- B/W also */
+ /*{ 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2k3_c),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(30_K2C3M3Y2k3_c),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(30_K2C3M3Y2k3_c),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+ /* draft modes -- B/W also */
+ { 300, 300,CANON_INK_K|CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(30_K2C2M2Y2),MODE_FLAG_EXTENDED_T|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(30_K2C2M2Y2),MODE_FLAG_EXTENDED_T|MODE_FLAG_IP8500,NULL,1.0,1.0,NULL,NULL,NULL,0},
+ /* PhotoHi3 mode for CDs, inkjet hagaki */
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photohigh3",N_("600x600 DPI PHOTO HIGH 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,3},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photo3",N_("600x600 DPI PHOTO 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,2},
+ { 600, 600,CANON_INK_CMYK,"600x600dpi_photodraft3",N_("600x600 DPI PHOTO DRAFT 3"),INKSET(30_C5M5Y4k4),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1},
+};
+DECLARE_MODES(canon_PIXMA_MG8100,4);
+
#endif
diff --git a/src/main/canon-printers.h b/src/main/canon-printers.h
index 713987f..4e8f6be 100644
--- a/src/main/canon-printers.h
+++ b/src/main/canon-printers.h
@@ -159,13 +159,19 @@ static const char* control_cmd_PIXMA_iP4200[] = {
"PEdgeDetection=ON",
NULL
};
-
+
static const char* control_cmd_MULTIPASS_MP150[] = {
"AckTime=Short",
"MediaDetection=ON",
NULL
};
+static const char* control_cmd_PIXMA_iP2700[] = {
+/*"SetTime=20060722092503", */ /*what is this for?*/
+ "SetSilent=OFF",
+ NULL
+};
+
static const char iP4500_channel_order[STP_NCOLORS] = {1,2,3,0}; /* CMYK */
static const canon_cap_t canon_model_capabilities[] =
@@ -177,14 +183,72 @@ static const canon_cap_t canon_model_capabilities[] =
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150, /*features */
+ /* CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150, */ /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_MULTIPASS_MP150, /*features */
&canon_MULTIPASS_MP830_modelist,
+ /* &canon_PIXMA_iP4000_paperlist, */
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP800 */
+ "PIXMA MP800", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP800_modelist,
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP810 */
+ "PIXMA MP810", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP810_modelist,
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP950 */
+ "PIXMA MP950", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /* features */
+ &canon_MULTIPASS_MP950_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL,
NULL
},
+ { /* Canon PIXMA MP960 */
+ "PIXMA MP960", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist, /* changed from iP4000 */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /* features */
+ &canon_MULTIPASS_MP960_modelist,
+ &canon_PIXMA_iP4600_paperlist, /* changed from iP4000 */
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
{ /* Canon PIXMA MP970 */
"PIXMA MP970", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
@@ -199,6 +263,35 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA MP980 */
+ "PIXMA MP980", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP980_modelist,
+ &canon_MULTIPASS_MP980_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP990 --- uses XML */
+ "PIXMA MP990", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP990_modelist,
+ &canon_MULTIPASS_MP990_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+
/* ******************************** */
/* */
/* tested and color-adjusted models */
@@ -601,6 +694,76 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA iP1000 */
+ "PIXMA iP1000", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1000_modelist,
+ &canon_PIXMA_iP1000_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1200 --- iP1300 same */
+ "PIXMA iP1200", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1200_modelist,
+ &canon_PIXMA_iP1200_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1500 */
+ "PIXMA iP1500", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1500_modelist,
+ &canon_PIXMA_iP1500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1600 */
+ "PIXMA iP1600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP170_modelist,
+ &canon_PIXMA_iP1500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1900 */
+ "PIXMA iP1900", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* rear only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP1900_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
{ /* Canon PIXMA iP2000 */
"PIXMA iP2000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
@@ -615,13 +778,69 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA iP2200 */
+ "PIXMA iP2200", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP2200_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP2500 */
+ "PIXMA iP2500", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP2200_paperlist,/* OHP experimental */
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP2600 */
+ "PIXMA iP2600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP2600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP2700 */
+ "PIXMA iP2700", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* rear only */
+ CANON_CAP_STD0|CANON_CAP_P|CANON_CAP_I|CANON_CAP_px|CANON_CAP_T|CANON_CAP_XML,0,control_cmd_PIXMA_iP2700, /*features */
+ &canon_PIXMA_iP2700_modelist,
+ &canon_PIXMA_iP2700_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
{ /* Canon PIXMA iP3000 */
"PIXMA iP3000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP3000_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
@@ -629,6 +848,20 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA iP3100 */
+ "PIXMA iP3100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP3100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP3100_modelist,
+ &canon_PIXMA_iP3100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
{ /* Canon PIXMA iP4000 */
"PIXMA iP4000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
@@ -665,7 +898,8 @@ 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,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP5300_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ /*&canon_PIXMA_iP4000_paperlist,*/
+ &canon_MULTIPASS_MP600_paperlist,
NULL,
NULL,
NULL,
@@ -685,15 +919,29 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
iP4500_channel_order
},
- { /* Canon PIXMA iP4500 */
+ { /* Canon PIXMA iP4500 CD-R tray F */
"PIXMA iP4500", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150, /*features */
- &canon_PIXMA_iP5300_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_iP4500_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_iP4500_modelist, /* changed from iP5300 */
+ &canon_PIXMA_iP4500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP4700 CD-R tray G */
+ "PIXMA iP4700", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist, /* there is some ESC (r 0x65 command for CD tray also, not sure why */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_iP4700_modelist,
+ &canon_PIXMA_iP4700_paperlist,
NULL,
NULL,
NULL,
@@ -710,9 +958,24 @@ static const canon_cap_t canon_model_capabilities[] =
&canon_PIXMA_iP4000_paperlist,
iP4200_lum_adjustment,
iP4200_hue_adjustment,
- iP4200_sat_adjustment
+ iP4200_sat_adjustment,
+ NULL
},
- { /* Canon PIXMA iP6700 */
+ { /* Canon PIXMA iP4800 CD-R tray G */
+ "PIXMA iP4800", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist, /* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_iP4700_modelist,/* same for iP4800 */
+ &canon_PIXMA_iP4700_paperlist,/* same for iP4800 */
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP6000 */
"PIXMA iP6000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
@@ -724,7 +987,35 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL,
NULL,
- NULL
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP6100 */
+ "PIXMA iP6100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP6000_modelist,
+ &canon_PIXMA_iP6100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP6600 */
+ "PIXMA iP6600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP6700_modelist,
+ &canon_PIXMA_iP6600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
},
{ /* Canon PIXMA iP6700 */
"PIXMA iP6700", 3, /*model, model_id*/
@@ -732,23 +1023,66 @@ static const canon_cap_t canon_model_capabilities[] =
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP6700_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_iP6700_paperlist,
NULL,
NULL,
NULL,
- NULL
+ iP4500_channel_order
},
{ /* Canon PIXMA iX5000 */
"PIXMA iX5000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP170_slotlist,
+ /* CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_PIXMA_iP4000, */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I,0,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iX5000_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_iP1500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iX6500 --- with XML */
+ "PIXMA iX6500", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP540_modelist,
+ &canon_MULTIPASS_MX880_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iX7000 --- with XML */
+ "PIXMA iX7000", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iX7000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_PIXMA_iX7000_modelist,
+ &canon_PIXMA_iX7000_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP510 --- like MP520 but without PPGgold paper support */
+ "PIXMA MP510", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP520_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I,0,control_cmd_PIXMA_iP2700, /*features */
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MP520_paperlist, /* Windows driver lacks PPGgold, but let us try anyway */
NULL,
NULL,
NULL,
@@ -759,10 +1093,108 @@ static const canon_cap_t canon_model_capabilities[] =
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_PIXMA_iP4000, /*features */
- &canon_PIXMA_iX5000_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_MULTIPASS_MP520_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I,0,control_cmd_PIXMA_iP2700, /*features */
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MP520_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP540 */
+ "PIXMA MP540", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r,0x64,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP540_modelist,
+ &canon_MULTIPASS_MX330_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP550 ---wth XML */
+ "PIXMA MP550", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP540_modelist, /* seems to have same modes */
+ &canon_MULTIPASS_MP250_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP600 */
+ "PIXMA MP600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MX850_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP630 */
+ "PIXMA MP630", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP640_modelist,
+ &canon_MULTIPASS_MP630_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP640 */
+ "PIXMA MP640", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_r,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP640_modelist,
+ &canon_MULTIPASS_MP640_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA Pro9000 */
+ "PIXMA Pro9000", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9000_modelist,
+ &canon_PIXMA_Pro9000_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA Pro9000 Mk.II */
+ "PIXMA Pro9002", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9000mk2_modelist,
+ &canon_PIXMA_Pro9000mk2_paperlist,
NULL,
NULL,
NULL,
@@ -773,10 +1205,24 @@ static const canon_cap_t canon_model_capabilities[] =
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_Pro9500_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_Pro9500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA Pro9500 Mk.II */
+ "PIXMA Pro9502", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9500mk2_modelist,
+ &canon_PIXMA_Pro9500mk2_paperlist,
NULL,
NULL,
NULL,
@@ -788,7 +1234,8 @@ static const canon_cap_t canon_model_capabilities[] =
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */
+ /*CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000,*/ /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP8500_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
@@ -801,15 +1248,341 @@ static const canon_cap_t canon_model_capabilities[] =
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150, /*features */
+ /* &canon_PIXMA_iP4000_slotlist, */
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ /* CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_T|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150, */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
&canon_MULTIPASS_MP150_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ /* &canon_PIXMA_iP4000_paperlist, */
+ &canon_MULTIPASS_MP150_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP170 */
+ "PIXMA MP170", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP170_modelist,
+ &canon_MULTIPASS_MP170_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP450 */
+ "PIXMA MP450", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP170_modelist,
+ &canon_MULTIPASS_MP170_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP480 --- no XML */
+ "PIXMA MP480", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP480_modelist,
+ &canon_MULTIPASS_MP480_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP493: new model after MP480(?) --- with XML */
+ "PIXMA MP493", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP480_modelist,
+ &canon_MULTIPASS_MP493_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP495 identical to MP280 it seems --- with XML */
+ "PIXMA MP495", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear 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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP280_modelist,
+ &canon_MULTIPASS_MP280_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP250 */
+ "PIXMA MP250", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &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_XML,0x61,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP250_modelist,
+ &canon_MULTIPASS_MP250_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP270 */
+ "PIXMA MP270", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &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_XML,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP250_modelist,
+ &canon_MULTIPASS_MP250_paperlist,
NULL,
NULL,
NULL,
NULL
},
+ { /* Canon MULTIPASS MP280 */
+ "PIXMA MP280", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features Also uses CAP_T. MP280 no duplex, no 0x61 */
+ &canon_MULTIPASS_MP280_modelist,
+ &canon_MULTIPASS_MP280_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MG5100 */
+ "PIXMA MG5100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG5100_modelist,
+ &canon_PIXMA_MG5100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA MG5200 --- like MG5100, plus CD tray */
+ "PIXMA MG5200", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG5200_modelist,/* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ &canon_PIXMA_MG5200_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA MG6100 */
+ "PIXMA MG6100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist, /* same as MG5200 */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG6100_modelist,/* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ &canon_PIXMA_MG6100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA MG8100 */
+ "PIXMA MG8100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist, /* same as MG5200 */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG8100_modelist,/* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ &canon_PIXMA_MG6100_paperlist, /* same as MG6100 */
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ /* MX series */
+ { /* Canon MULTIPASS MX300 --- MX310 is the same */
+ "PIXMA MX300", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX300_modelist,
+ &canon_MULTIPASS_MX300_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX330 */
+ "PIXMA MX330", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX330_modelist,
+ &canon_MULTIPASS_MX330_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX340 */
+ "PIXMA MX340", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX340_modelist,
+ &canon_MULTIPASS_MX340_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX360 -- with XML */
+ "PIXMA MX360", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX360_modelist,
+ &canon_MULTIPASS_MX360_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX420 --- with XML */
+ "PIXMA MX420", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &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,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP480_modelist,
+ &canon_MULTIPASS_MX420_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MX700 */
+ "PIXMA MX700", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP520_slotlist, /* front, rear, button, and front/plain-only */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MX300_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX850 */
+ "PIXMA MX850", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MX850_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_PIXMA_iP4500_modelist, /* same inksets as iP4500 */
+ &canon_MULTIPASS_MX850_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX860 */
+ "PIXMA MX860", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_MULTIPASS_MX860_modelist,
+ &canon_MULTIPASS_MX330_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX870 --- with XML */
+ "PIXMA MX870", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &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,0x64,control_cmd_MULTIPASS_MP150, /*features*/
+ &canon_MULTIPASS_MX870_modelist,
+ &canon_MULTIPASS_MX340_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX880 --- with XML */
+ "PIXMA MX880", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features*/
+ &canon_MULTIPASS_MP540_modelist,
+ &canon_MULTIPASS_MX880_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX7600 */
+ "PIXMA MX7600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MX7600_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_MULTIPASS_MX7600_modelist,
+ &canon_MULTIPASS_MX7600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
};
#endif
diff --git a/src/main/channel.c b/src/main/channel.c
index 96043a2..4bea5e2 100644
--- a/src/main/channel.c
+++ b/src/main/channel.c
@@ -1,5 +1,5 @@
/*
- * "$Id: channel.c,v 1.32 2009/03/01 17:14:15 rlk Exp $"
+ * "$Id: channel.c,v 1.34 2011/04/16 15:48:20 rlk Exp $"
*
* Dither routine entrypoints
*
@@ -94,6 +94,14 @@ typedef struct
} stpi_channel_group_t;
+static stpi_channel_group_t *
+get_channel_group(const stp_vars_t *v)
+{
+ stpi_channel_group_t *cg =
+ ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ return cg;
+}
+
static void
clear_a_channel(stpi_channel_group_t *cg, int channel)
{
@@ -139,8 +147,7 @@ stpi_channel_clear(void *vc)
void
stp_channel_reset(stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (cg)
stpi_channel_clear(cg);
}
@@ -148,8 +155,7 @@ stp_channel_reset(stp_vars_t *v)
void
stp_channel_reset_channel(stp_vars_t *v, int channel)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (cg)
clear_a_channel(cg, channel);
}
@@ -164,8 +170,7 @@ stpi_channel_free(void *vc)
static stpi_subchannel_t *
get_channel(stp_vars_t *v, unsigned channel, unsigned subchannel)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (!cg)
return NULL;
if (channel >= cg->channel_count)
@@ -179,21 +184,25 @@ void
stp_channel_add(stp_vars_t *v, unsigned channel, unsigned subchannel,
double value)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
stpi_channel_t *chan;
+ stp_dprintf(STP_DBG_INK, v, "Add channel %d, %d, %f\n",
+ channel, subchannel, value);
if (!cg)
{
cg = stp_zalloc(sizeof(stpi_channel_group_t));
cg->black_channel = -1;
cg->gloss_channel = -1;
stp_allocate_component_data(v, "Channel", NULL, stpi_channel_free, cg);
+ stp_dprintf(STP_DBG_INK, v, "*** Set up channel data ***\n");
}
if (channel >= cg->channel_count)
{
unsigned oc = cg->channel_count;
cg->c = stp_realloc(cg->c, sizeof(stpi_channel_t) * (channel + 1));
memset(cg->c + oc, 0, sizeof(stpi_channel_t) * (channel + 1 - oc));
+ stp_dprintf(STP_DBG_INK, v, "*** Increment channel count from %d to %d\n",
+ oc, channel + 1);
if (channel >= cg->channel_count)
cg->channel_count = channel + 1;
}
@@ -206,6 +215,9 @@ stp_channel_add(stp_vars_t *v, unsigned channel, unsigned subchannel,
(void) memset
(chan->sc + oc, 0, sizeof(stpi_subchannel_t) * (subchannel + 1 - oc));
chan->sc[subchannel].value = value;
+ stp_dprintf(STP_DBG_INK, v,
+ "*** Increment subchannel count for %d from %d to %d\n",
+ channel, oc, subchannel + 1);
if (subchannel >= chan->subchannel_count)
chan->subchannel_count = subchannel + 1;
}
@@ -261,71 +273,76 @@ stp_channel_get_density_adjustment(stp_vars_t *v, int color, int subchannel)
void
stp_channel_set_ink_limit(stp_vars_t *v, double limit)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
stp_dprintf(STP_DBG_INK, v, "ink_limit %f\n", limit);
- if (limit > 0)
+ if (cg && limit > 0)
cg->ink_limit = 65535 * limit;
}
double
stp_channel_get_ink_limit(stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
+ if (!cg)
+ return 0.0;
return cg->ink_limit / 65535.0;
}
void
stp_channel_set_black_channel(stp_vars_t *v, int channel)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
stp_dprintf(STP_DBG_INK, v, "black_channel %d\n", channel);
- cg->black_channel = channel;
+ if (cg)
+ cg->black_channel = channel;
}
int
stp_channel_get_black_channel(stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
- return cg->black_channel;
+ stpi_channel_group_t *cg = get_channel_group(v);
+ if (cg)
+ return cg->black_channel;
+ else
+ return -1;
}
void
stp_channel_set_gloss_channel(stp_vars_t *v, int channel)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
stp_dprintf(STP_DBG_INK, v, "gloss_channel %d\n", channel);
- cg->gloss_channel = channel;
+ if (cg)
+ cg->gloss_channel = channel;
}
int
stp_channel_get_gloss_channel(stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
- return cg->gloss_channel;
+ stpi_channel_group_t *cg = get_channel_group(v);
+ if (cg)
+ return cg->gloss_channel;
+ else
+ return -1;
}
void
stp_channel_set_gloss_limit(stp_vars_t *v, double limit)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
stp_dprintf(STP_DBG_INK, v, "gloss_limit %f\n", limit);
- if (limit > 0)
+ if (cg && limit > 0)
cg->gloss_limit = 65535 * limit;
}
double
stp_channel_get_gloss_limit(stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
- return cg->gloss_limit / 65535.0;
+ stpi_channel_group_t *cg = get_channel_group(v);
+ if (cg)
+ return cg->gloss_limit / 65535.0;
+ else
+ return 0;
}
void
@@ -353,8 +370,7 @@ stp_channel_get_cutoff_adjustment(stp_vars_t *v, int color, int subchannel)
void
stp_channel_set_gcr_curve(stp_vars_t *v, const stp_curve_t *curve)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (!cg)
return;
stp_dprintf(STP_DBG_INK, v, "set_gcr_curve\n");
@@ -367,8 +383,7 @@ stp_channel_set_gcr_curve(stp_vars_t *v, const stp_curve_t *curve)
const stp_curve_t *
stp_channel_get_gcr_curve(stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (!cg)
return NULL;
stp_dprintf(STP_DBG_INK, v, "set_gcr_curve\n");
@@ -379,8 +394,7 @@ void
stp_channel_set_curve(stp_vars_t *v, int color, const stp_curve_t *curve)
{
stpi_channel_t *ch;
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (!cg || color >= cg->channel_count)
return;
ch = &(cg->c[color]);
@@ -398,8 +412,7 @@ const stp_curve_t *
stp_channel_get_curve(stp_vars_t *v, int color)
{
stpi_channel_t *ch;
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
if (!cg || color >= cg->channel_count)
return NULL;
ch = &(cg->c[color]);
@@ -458,8 +471,7 @@ void
stp_channel_initialize(stp_vars_t *v, stp_image_t *image,
int input_channel_count)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
int width = stp_image_width(image);
int curve_count = 0;
int i, j, k;
@@ -723,10 +735,9 @@ limit_ink(const stp_vars_t *v)
{
int i;
int retval = 0;
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
unsigned short *ptr = cg->output_data;
- if (cg->ink_limit == 0 || cg->ink_limit >= cg->max_density)
+ if (!cg || cg->ink_limit == 0 || cg->ink_limit >= cg->max_density)
return 0;
for (i = 0; i < cg->width; i++)
{
@@ -776,11 +787,14 @@ short_copy(unsigned short *out, const unsigned short *in, size_t count)
static void
copy_channels(const stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
int i, j, k;
- const unsigned short *input = cg->input_data;
- unsigned short *output = cg->output_data;
+ const unsigned short *input;
+ unsigned short *output;
+ if (!cg)
+ return;
+ input = cg->input_data;
+ output = cg->output_data;
for (i = 0; i < cg->width; i++)
{
for (j = 0; j < cg->channel_count; j++)
@@ -830,15 +844,20 @@ interpolate_value(const double *vec, double val)
static void
generate_special_channels(const stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
int i, j;
const unsigned short *input_cache = NULL;
const unsigned short *output_cache = NULL;
- const unsigned short *input = cg->input_data;
- unsigned short *output = cg->multi_tmp;
- int offset = (cg->black_channel >= 0 ? 0 : -1);
- int outbytes = cg->aux_output_channels * sizeof(unsigned short);
+ const unsigned short *input;
+ unsigned short *output;
+ int offset;
+ int outbytes;
+ if (!cg)
+ return;
+ input = cg->input_data;
+ output = cg->multi_tmp;
+ offset = (cg->black_channel >= 0 ? 0 : -1);
+ outbytes = cg->aux_output_channels * sizeof(unsigned short);
for (i = 0; i < cg->width;
input += cg->input_channels, output += cg->aux_output_channels, i++)
{
@@ -900,15 +919,19 @@ generate_special_channels(const stp_vars_t *v)
static void
split_channels(const stp_vars_t *v, unsigned *zero_mask)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
int i, j, k;
int nz[STP_CHANNEL_LIMIT];
- int outbytes = cg->total_channels * sizeof(unsigned short);
+ int outbytes;
const unsigned short *input_cache = NULL;
const unsigned short *output_cache = NULL;
- const unsigned short *input = cg->split_input;
- unsigned short *output = cg->output_data;
+ const unsigned short *input;
+ unsigned short *output;
+ if (!cg)
+ return;
+ outbytes = cg->total_channels * sizeof(unsigned short);
+ input = cg->split_input;
+ output = cg->output_data;
for (i = 0; i < cg->total_channels; i++)
nz[i] = 0;
for (i = 0; i < cg->width; i++)
@@ -996,10 +1019,11 @@ split_channels(const stp_vars_t *v, unsigned *zero_mask)
static void
scale_channels(const stp_vars_t *v, unsigned *zero_mask)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
int i, j;
int physical_channel = 0;
+ if (!cg)
+ return;
if (zero_mask)
*zero_mask = 0;
for (i = 0; i < cg->channel_count; i++)
@@ -1040,12 +1064,11 @@ scale_channels(const stp_vars_t *v, unsigned *zero_mask)
static void
generate_gloss(const stp_vars_t *v, unsigned *zero_mask)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
unsigned short *output = cg->output_data;
unsigned gloss_mask;
int i, j, k;
- if (cg->gloss_channel == -1 || cg->gloss_limit <= 0)
+ if (!cg || cg->gloss_channel == -1 || cg->gloss_limit <= 0)
return;
gloss_mask = ~(1 << cg->gloss_physical_channel);
for (i = 0; i < cg->width; i++)
@@ -1084,13 +1107,16 @@ generate_gloss(const stp_vars_t *v, unsigned *zero_mask)
static void
do_gcr(const stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
const unsigned short *gcr_lookup;
- unsigned short *output = cg->gcr_data;
+ unsigned short *output;
size_t count;
int i;
+ if (!cg)
+ return;
+
+ output = cg->gcr_data;
stp_curve_resample(cg->gcr_curve, 65536);
gcr_lookup = stp_curve_get_ushort_data(cg->gcr_curve, &count);
for (i = 0; i < cg->width; i++)
@@ -1132,15 +1158,17 @@ stp_channel_convert(const stp_vars_t *v, unsigned *zero_mask)
unsigned short *
stp_channel_get_input(const stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
+ if (!cg)
+ return NULL;
return (unsigned short *) cg->input_data;
}
unsigned short *
stp_channel_get_output(const stp_vars_t *v)
{
- stpi_channel_group_t *cg =
- ((stpi_channel_group_t *) stp_get_component_data(v, "Channel"));
+ stpi_channel_group_t *cg = get_channel_group(v);
+ if (!cg)
+ return NULL;
return cg->output_data;
}
diff --git a/src/main/dither-main.c b/src/main/dither-main.c
index 719421c..cd614d6 100644
--- a/src/main/dither-main.c
+++ b/src/main/dither-main.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dither-main.c,v 1.62 2010/08/04 00:33:56 rlk Exp $"
+ * "$Id: dither-main.c,v 1.63 2010/12/05 21:38:14 rlk Exp $"
*
* Dither routine entrypoints
*
@@ -41,9 +41,9 @@
static const stpi_dither_algorithm_t dither_algos[] =
{
+ { "None", N_ ("Default"), -1 },
/* TRANSLATORS: "EvenTone" is the proper name, rather than a */
/* descriptive name, of this algorithm. */
- { "None", N_ ("Default"), -1 },
{ "EvenTone", N_ ("EvenTone"), D_EVENTONE },
{ "HybridEvenTone", N_ ("Hybrid EvenTone"), D_HYBRID_EVENTONE },
/* Placeholders for future implementation of EvenBetter Screening */
@@ -88,7 +88,7 @@ static const unsigned sq2[] =
static const stp_parameter_t dither_parameters[] =
{
{
- "Density", N_("Density"), N_("Output Level Adjustment"),
+ "Density", N_("Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the density (amount of ink) of the print. "
"Reduce the density if the ink bleeds through the "
"paper or smears; increase the density if black "
@@ -97,7 +97,7 @@ static const stp_parameter_t dither_parameters[] =
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "DitherAlgorithm", N_("Dither Algorithm"), N_("Screening Adjustment"),
+ "DitherAlgorithm", N_("Dither Algorithm"), "Color=Yes,Category=Screening Adjustment",
N_("Choose the dither algorithm to be used.\n"
"Adaptive Hybrid usually produces the best all-around quality.\n"
"EvenTone is a new, experimental algorithm that often produces excellent results.\n"
diff --git a/src/main/escp2-channels.c b/src/main/escp2-channels.c
index ac607c0..be98302 100644
--- a/src/main/escp2-channels.c
+++ b/src/main/escp2-channels.c
@@ -1,5 +1,5 @@
/*
- * "$Id: escp2-channels.c,v 1.90 2010/08/04 00:33:56 rlk Exp $"
+ * "$Id: escp2-channels.c,v 1.91 2010/12/19 02:51:37 rlk Exp $"
*
* Print plug-in EPSON ESC/P2 driver for the GIMP.
*
@@ -155,7 +155,8 @@ load_channel(stp_mxml_node_t *node, stp_mxml_node_t *root, ink_channel_t *icl)
}
static void
-load_inkname(stp_mxml_node_t *node, stp_mxml_node_t *root, inkname_t *inl)
+load_inkname(stp_mxml_node_t *node, stp_mxml_node_t *root, inkname_t *inl,
+ inklist_t *ikl)
{
const char *name;
stp_mxml_node_t *child = node->child;
@@ -283,6 +284,12 @@ load_inkname(stp_mxml_node_t *node, stp_mxml_node_t *root, inkname_t *inl)
cchild = cchild->next;
}
}
+ else if (!strcmp(child->value.element.name, "initSequence") &&
+ child->child && child->child->type == STP_MXML_TEXT)
+ ikl->init_sequence = stp_xmlstrtoraw(child->child->value.text.string);
+ else if (!strcmp(child->value.element.name, "deinitSequence") &&
+ child->child && child->child->type == STP_MXML_TEXT)
+ ikl->deinit_sequence = stp_xmlstrtoraw(child->child->value.text.string);
}
child = child->next;
}
@@ -349,9 +356,17 @@ load_inklist(stp_mxml_node_t *node, stp_mxml_node_t *root, inklist_t *ikl)
while (child)
{
- if (child->type == STP_MXML_ELEMENT &&
- !strcmp(child->value.element.name, "InkName"))
- count++;
+ if (child->type == STP_MXML_ELEMENT)
+ {
+ if (!strcmp(child->value.element.name, "InkName"))
+ count++;
+ else if (!strcmp(child->value.element.name, "initSequence") &&
+ child->child && child->child->type == STP_MXML_TEXT)
+ ikl->init_sequence = stp_xmlstrtoraw(child->child->value.text.string);
+ else if (!strcmp(child->value.element.name, "deinitSequence") &&
+ child->child && child->child->type == STP_MXML_TEXT)
+ ikl->deinit_sequence = stp_xmlstrtoraw(child->child->value.text.string);
+ }
child = child->next;
}
name = stp_mxmlElementGetAttr(node, "name");
@@ -369,7 +384,12 @@ load_inklist(stp_mxml_node_t *node, stp_mxml_node_t *root, inklist_t *ikl)
if (child->type == STP_MXML_ELEMENT)
{
if (!strcmp(child->value.element.name, "InkName"))
- load_inkname(child, root, &(ikl->inknames[count++]));
+ {
+ inkname_t *inl = &(ikl->inknames[count++]);
+ inl->init_sequence = ikl->init_sequence;
+ inl->deinit_sequence = ikl->deinit_sequence;
+ load_inkname(child, root, inl, ikl);
+ }
else if (!strcmp(child->value.element.name, "Shades"))
load_shades(child, root, ikl);
}
diff --git a/src/main/escp2-driver.c b/src/main/escp2-driver.c
index fe964ec..a2fc23e 100644
--- a/src/main/escp2-driver.c
+++ b/src/main/escp2-driver.c
@@ -1,5 +1,5 @@
/*
- * "$Id: escp2-driver.c,v 1.56 2010/06/26 20:02:02 rlk Exp $"
+ * "$Id: escp2-driver.c,v 1.57 2010/12/19 02:51:37 rlk Exp $"
*
* Print plug-in EPSON ESC/P2 driver for the GIMP.
*
@@ -294,6 +294,8 @@ escp2_set_remote_sequence(stp_vars_t *v)
if (pd->borderless_sequence)
stp_write_raw(pd->borderless_sequence, v);
}
+ if (pd->inkname->init_sequence)
+ stp_write_raw(pd->inkname->init_sequence, v);
/* Exit remote mode */
stp_send_command(v, "\033", "ccc", 0, 0, 0);
@@ -627,6 +629,8 @@ stpi_escp2_deinit_printer(stp_vars_t *v)
if (pd->advanced_command_set || pd->input_slot)
{
stp_send_command(v, "\033(R", "bcs", 0, "REMOTE1");
+ if (pd->inkname->deinit_sequence)
+ stp_write_raw(pd->inkname->deinit_sequence, v);
if (pd->input_slot && pd->input_slot->deinit_sequence)
stp_write_raw(pd->input_slot->deinit_sequence, v);
/* Load settings from NVRAM */
diff --git a/src/main/generic-options.c b/src/main/generic-options.c
index d0e52da..1c7b674 100644
--- a/src/main/generic-options.c
+++ b/src/main/generic-options.c
@@ -1,5 +1,5 @@
/*
- * "$Id: generic-options.c,v 1.11 2008/07/04 14:29:29 rlk Exp $"
+ * "$Id: generic-options.c,v 1.12 2010/12/05 21:38:14 rlk Exp $"
*
* Copyright 2003 Robert Krawitz (rlk@alum.mit.edu)
*
@@ -59,25 +59,25 @@ static const stpi_job_mode_t standard_job_modes[] =
static const stp_parameter_t the_parameters[] =
{
{
- "Quality", N_("Print Quality"), N_("Basic Output Adjustment"),
+ "Quality", N_("Print Quality"), "Color=Yes,Category=Basic Output Adjustment",
N_("Print Quality"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "ImageType", N_("Image Type"), N_("Basic Image Adjustment"),
+ "ImageType", N_("Image Type"), "Color=Yes,Category=Basic Image Adjustment",
N_("Type of image being printed"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "JobMode", N_("Job Mode"), N_("Job Mode"),
+ "JobMode", N_("Job Mode"), "Color=No,Category=Job Mode",
N_("Job vs. page mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "PageNumber", N_("Page Number"), N_("Job Mode"),
+ "PageNumber", N_("Page Number"), "Color=No,Category=Job Mode",
N_("Page number"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 0, 1, STP_CHANNEL_NONE, 1, 0
diff --git a/src/main/print-canon.c b/src/main/print-canon.c
index 149202e..c824474 100644
--- a/src/main/print-canon.c
+++ b/src/main/print-canon.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-canon.c,v 1.230 2008/12/21 10:49:50 faust3 Exp $"
+ * "$Id: print-canon.c,v 1.249 2011/05/01 07:40:55 gernot2270 Exp $"
*
* Print plug-in CANON BJL driver for the GIMP.
*
@@ -120,8 +120,11 @@ pack_pixels(unsigned char* buf,int len)
#define CANON_CAP_px 0x2000ul
#define CANON_CAP_rr 0x4000ul
#define CANON_CAP_I 0x8000ul
+#define CANON_CAP_T 0x10000ul /* not sure of this yet! */
#define CANON_CAP_P 0x20000ul
#define CANON_CAP_DUPLEX 0x40000ul
+#define CANON_CAP_XML 0x80000ul /* not sure of this yet */
+#define CANON_CAP_CARTRIDGE 0x100000ul /* not sure of this yet */
#define CANON_CAP_STD0 (CANON_CAP_b|CANON_CAP_c|CANON_CAP_d|\
CANON_CAP_l|CANON_CAP_q|CANON_CAP_t)
@@ -196,85 +199,85 @@ static void canon_write_multiraster(stp_vars_t *v,canon_privdata_t* pd,int y);
static const stp_parameter_t the_parameters[] =
{
{
- "PageSize", N_("Page Size"), N_("Basic Printer Setup"),
+ "PageSize", N_("Page Size"), "Color=No,Category=Basic Printer Setup",
N_("Size of the paper being printed to"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "MediaType", N_("Media Type"), N_("Basic Printer Setup"),
+ "MediaType", N_("Media Type"), "Color=Yes,Category=Basic Printer Setup",
N_("Type of media (plain paper, photo paper, etc.)"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InputSlot", N_("Media Source"), N_("Basic Printer Setup"),
+ "InputSlot", N_("Media Source"), "Color=No,Category=Basic Printer Setup",
N_("Source (input slot) of the media"),
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"), N_("Basic Printer Setup"),
+ "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,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDOuterDiameter", N_("CD Size (Custom)"), N_("Basic Printer Setup"),
+ "CDOuterDiameter", N_("CD Size (Custom)"), "Color=No,Category=Basic Printer Setup",
N_("Variable adjustment for the outer diameter of CD"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDInnerDiameter", N_("CD Hub Size (Custom)"), N_("Basic Printer Setup"),
+ "CDInnerDiameter", N_("CD Hub Size (Custom)"), "Color=No,Category=Basic Printer Setup",
N_("Variable adjustment to the inner hub of the CD"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDXAdjustment", N_("CD Horizontal Fine Adjustment"), N_("Advanced Printer Setup"),
+ "CDXAdjustment", N_("CD Horizontal Fine Adjustment"), "Color=No,Category=Advanced Printer Setup",
N_("Fine adjustment to horizontal position for CD printing"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDYAdjustment", N_("CD Vertical Fine Adjustment"), N_("Advanced Printer Setup"),
+ "CDYAdjustment", N_("CD Vertical Fine Adjustment"), "Color=No,Category=Advanced Printer Setup",
N_("Fine adjustment to horizontal position for CD printing"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Resolution", N_("Resolution"), N_("Basic Printer Setup"),
+ "Resolution", N_("Resolution"), "Color=Yes,Category=Basic Printer Setup",
N_("Resolution and quality of the print"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkType", N_("Ink Type"), N_("Advanced Printer Setup"),
+ "InkType", N_("Ink Type"), "Color=Yes,Category=Advanced Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkChannels", N_("Ink Channels"), N_("Advanced Printer Functionality"),
+ "InkChannels", N_("Ink Channels"), "Color=Yes,Category=Advanced Printer Functionality",
N_("Ink Channels"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Duplex", N_("Double-Sided Printing"), N_("Basic Printer Setup"),
+ "Duplex", N_("Double-Sided Printing"), "Color=No,Category=Basic Printer Setup",
N_("Duplex/Tumble Setting"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Quality", N_("Print Quality"), N_("Basic Output Adjustment"),
+ "Quality", N_("Print Quality"), "Color=Yes,Category=Basic Output Adjustment",
N_("Print Quality"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
@@ -297,7 +300,7 @@ static const float_param_t float_parameters[] =
{
{
{
- "CyanDensity", N_("Cyan Density"), N_("Output Level Adjustment"),
+ "CyanDensity", N_("Cyan Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the cyan density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 1, 1, 0
@@ -305,7 +308,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "MagentaDensity", N_("Magenta Density"), N_("Output Level Adjustment"),
+ "MagentaDensity", N_("Magenta Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the magenta density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 2, 1, 0
@@ -313,7 +316,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "YellowDensity", N_("Yellow Density"), N_("Output Level Adjustment"),
+ "YellowDensity", N_("Yellow Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the yellow density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 3, 1, 0
@@ -321,7 +324,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackDensity", N_("Black Density"), N_("Output Level Adjustment"),
+ "BlackDensity", N_("Black Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the black density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 0, 1, 0
@@ -329,7 +332,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightCyanTrans", N_("Light Cyan Transition"), N_("Advanced Ink Adjustment"),
+ "LightCyanTrans", N_("Light Cyan Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Cyan Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -337,7 +340,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightMagentaTrans", N_("Light Magenta Transition"), N_("Advanced Ink Adjustment"),
+ "LightMagentaTrans", N_("Light Magenta Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Magenta Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -345,7 +348,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightYellowTrans", N_("Light Yellow Transition"), N_("Advanced Ink Adjustment"),
+ "LightYellowTrans", N_("Light Yellow Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Yellow Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -396,7 +399,9 @@ static const char* canon_families[] = {
"PIXMA iX",
"PIXMA MP",
"PIXUS",
- "PIXMA Pro"
+ "PIXMA Pro",
+ "PIXMA MG",
+ "PIXMA MX",
};
/* canon model ids look like the following
@@ -538,17 +543,32 @@ canon_size_type(const stp_vars_t *v, const canon_cap_t * caps)
{
const char *name = pp->name;
/* used internally: do not translate */
- /* built ins: */
+ /* built ins: Japanese driver notation */
if (!strcmp(name,"A5")) return 0x01;
if (!strcmp(name,"A4")) return 0x03;
- if (!strcmp(name,"B5")) return 0x08;
+ if (!strcmp(name,"A3")) return 0x05;
+ if (!strcmp(name,"B5")) return 0x08;
+ if (!strcmp(name,"B4")) return 0x0a;
if (!strcmp(name,"Letter")) return 0x0d;
if (!strcmp(name,"Legal")) return 0x0f;
- if (!strcmp(name,"COM10")) return 0x16;
- if (!strcmp(name,"DL")) return 0x17;
- if (!strcmp(name,"LetterExtra")) return 0x2a;
- if (!strcmp(name,"A4Extra")) return 0x2b;
- if (!strcmp(name,"w288h144")) return 0x2d;
+ if (!strcmp(name,"Tabloid")) return 0x11; /* 11x17 */
+ if (!strcmp(name,"w283h420")) return 0x14; /* Hagaki */
+ if (!strcmp(name,"COM10")) return 0x16;
+ if (!strcmp(name,"DL")) return 0x17;
+ if (!strcmp(name,"LetterExtra")) return 0x2a;
+ if (!strcmp(name,"A4Extra")) return 0x2b;
+ if (!strcmp(name,"A3plus")) return 0x2c; /* A3navi --- A3+ */
+ if (!strcmp(name,"w288h144")) return 0x2d;
+ if (!strcmp(name,"w252h360J")) return 0x32; /* L --- similar to US 3.5x5 size */
+ if (!strcmp(name,"w360h504J")) return 0x33; /* 2L --- similar to US5x7 */
+ if (!strcmp(name,"w288h432J")) return 0x34; /* KG --- same size as US 4x6 */
+ if (!strcmp(name,"w360h504")) return 0x37; /* US5x7 */
+ if (!strcmp(name,"w420h567")) return 0x39; /* Ofuku Hagaki */
+ if (!strcmp(name,"w288h576")) return 0x46; /* US4x8 */
+ if (!strcmp(name,"w1008h1224J")) return 0x47; /* HanKire --- 14in x 17in */
+ if (!strcmp(name,"720h864J")) return 0x48; /* YonKire --- 10in x 12 in*/
+ if (!strcmp(name,"c8x10J")) return 0x49; /* RokuKire --- same size as 8x10 */
+ if (!strcmp(name,"w288h512")) return 0x52; /* Wide101.6x180.6 */
/* custom */
stp_deprintf(STP_DBG_CANON,"canon: Unknown paper size '%s' - using custom\n",name);
@@ -833,6 +853,30 @@ canon_parameters(const stp_vars_t *v, const char *name,
_("Standard"));
description->deflt.str = "Standard";
}
+ /* Cartridge selection for those printers that have it */
+ else if (strcmp(name, "Cartridge") == 0)
+ {
+ int offer_cartridge_selection = 0;
+ description->bounds.str = stp_string_list_create();
+ stp_string_list_add_string(description->bounds.str, "Both",
+ _("Both"));
+ stp_string_list_add_string(description->bounds.str, "Color",
+ _("Color"));
+ stp_string_list_add_string(description->bounds.str, "Black",
+ _("Black"));
+
+ /* description->deflt.str = "Both"; */
+ /* Note: not necessary set cartridge if Mono mode */
+
+ if (caps->features & CANON_CAP_CARTRIDGE)
+ {
+ description->deflt.str =
+ stp_string_list_param(description->bounds.str, 0)->name;
+ }
+ else
+ description->is_active = 0;
+ }
+
}
@@ -1248,13 +1292,53 @@ canon_init_setPageMargins2(const stp_vars_t *v, const canon_privdata_t *init)
}
/* ESC (P -- 0x50 -- unknown -- :
- */
+ seems to set media and page information. Different byte lengths depending on printer model. */
static void
canon_init_setESC_P(const stp_vars_t *v, const canon_privdata_t *init)
{
- if(!(init->caps->features & CANON_CAP_P))
- return;
- canon_cmd( v,ESC28,0x50,4,0x00,0x03,0x00,0x00 );
+ unsigned char arg_ESCP_2;
+ if(!(init->caps->features & CANON_CAP_P))
+ return;
+
+ arg_ESCP_2 = (init->pt) ? init->pt->media_code_P: 0x00;
+
+ /* models that add two more bytes "1 0" to the end of the usual 4-byte sequence: */
+ /* iP2700 */
+ /* MX340 */
+ /* MX350 --- same driver as MX340 */
+ /* MX360 */
+ /* MX410 --- same driver as MX360 */
+ /* MX420 */
+ /* MX870 */
+ /* MX880 */
+ /* MP493 */
+ /* MP550 */
+ /* MP640 */
+ /* iX6500 */
+ /* iX7000 */
+ if ( (!strcmp(init->caps->name,"iP2700")) || (!strcmp(init->caps->name,"MX340")) || (!strcmp(init->caps->name,"MX360")) || (!strcmp(init->caps->name,"MX410")) || (!strcmp(init->caps->name,"MX420")) || (!strcmp(init->caps->name,"MX870")) || (!strcmp(init->caps->name,"MX880")) || (!strcmp(init->caps->name,"MP550")) || (!strcmp(init->caps->name,"MP493")) || (!strcmp(init->caps->name,"MP640")) || (!strcmp(init->caps->name,"iX6500")) || (!strcmp(init->caps->name,"iX7000")) || (!strcmp(init->caps->name,"iP4700")) || (!strcmp(init->caps->name,"iP4800")) )
+ /* add a lot more here: try if(init->caps->model_id >= 3) how to guess for 4 bytes or more */
+ {/* the 4th of the 6 bytes is the media type. 2nd byte is media size. Both read from canon-media array. */
+
+ /* arg_ESCP_1 = 0x03; */ /* A4 size */
+ /* arg_ESCP_2 = 0x00; */ /* plain media */
+ /* size media */
+ canon_cmd( v,ESC28,0x50,6,0x00,0x03,0x00,arg_ESCP_2,0x01,0x00);
+ }
+ else
+ /* size media */
+ canon_cmd( v,ESC28,0x50,4,0x00,0x03,0x00,arg_ESCP_2 );
+}
+
+/* ESC (T -- 0x54 -- setCartridge -- :
+ */
+static void
+canon_init_setCartridge(const stp_vars_t *v, const canon_privdata_t *init)
+{
+ if (!(init->caps->features & CANON_CAP_T))
+ return;
+
+ canon_cmd(v,ESC28,0x54,3,0x03,0x04,0x04); /* default: both cartridges */
}
/* ESC (q -- 0x71 -- setPageID -- :
@@ -1313,7 +1397,7 @@ canon_init_setImage(const stp_vars_t *v, const canon_privdata_t *init)
unsigned char* buf = stp_zalloc(length);
buf[0]=0x80;
if(init->mode->flags & MODE_FLAG_PRO){
- buf[1]=0x10;
+ buf[1]=0x90; /* was 0x10, but this should probably be 0x90 */
buf[2]=0x4;
}else if(init->mode->flags & MODE_FLAG_IP8500){
buf[1]=0x00;
@@ -1326,9 +1410,25 @@ canon_init_setImage(const stp_vars_t *v, const canon_privdata_t *init)
if(init->mode->inks[i].ink){
if(init->mode->inks[i].ink->flags & INK_FLAG_5pixel_in_1byte)
buf[3+i*3+0]=(1<<5)|init->mode->inks[i].ink->bits; /*info*/
+ /*else if(init->mode->inks[i].ink->flags & INK_FLAG_lowresmode)
+ {
+ buf[3+i*3+1]=0x01;
+ buf[3+i*3+0]=init->mode->inks[i].ink->bits;
+ }*/
else
buf[3+i*3+0]=init->mode->inks[i].ink->bits;
+
+ /* workaround for now on the 4-4 inkset and others */
+ /*if (init->mode->inks[i].ink->bits == 4)
+ buf[3+i*3+2] = 0x04;*/
+ /*else if (init->mode->inks[i].ink->bits == 2)
+ buf[3+i*3+2] = 0x04;*/
+ /*else if (init->mode->inks[i].ink->bits == 1)
+ buf[3+i*3+2] = 0x02;*/
buf[3+i*3+2]= init->mode->inks[i].ink->numsizes+1;/*level*/
+ /*else
+ buf[3+i*3+2] = 0x00;*/
+ /* this should show that there is an error */
}
}
stp_zfwrite(ESC28,2,1,v);
@@ -1383,6 +1483,9 @@ canon_init_setImage(const stp_vars_t *v, const canon_privdata_t *init)
static void
canon_init_setMultiRaster(const stp_vars_t *v, const canon_privdata_t *init){
+ int i; /* introduced for channel counting */
+ char* raster_channel_order; /* introduced for channel counting */
+
if(!(init->caps->features & CANON_CAP_I))
return;
@@ -1392,7 +1495,26 @@ canon_init_setMultiRaster(const stp_vars_t *v, const canon_privdata_t *init){
/* set the color sequence */
stp_zfwrite("\033(L", 3, 1, v);
stp_put16_le(init->num_channels, v);
- stp_zfwrite((const char *)init->channel_order,init->num_channels, 1, 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,"MP450"))*/
+ {
+ /* if cmy there, add 0x60 to each --- this is not yet correct, some modes do not require it! */
+ /* if (init->num_channels==7) {*/
+ for(i=0;i<init->num_channels;i++){
+ switch(init->channel_order[i]){
+ /* case 'c':raster_channel_order[i]+=0x60; break;;*/
+ /* case 'm':raster_channel_order[i]+=0x60; break;;*/
+ /* case 'y':raster_channel_order[i]+=0x60; break;;*/
+ }
+ }
+ /*}*/
+ stp_zfwrite((const char *)raster_channel_order,init->num_channels, 1, v);
+ }
+ /* else
+ {
+ stp_zfwrite((const char *)init->channel_order,init->num_channels, 1, v);
+ }*/
}
@@ -1416,7 +1538,8 @@ canon_init_printer(const stp_vars_t *v, const canon_privdata_t *init)
canon_init_setColor(v,init); /* ESC (c */
canon_init_setPageMargins(v,init); /* ESC (g */
canon_init_setPageMargins2(v,init); /* ESC (p */
- canon_init_setESC_P(v,init); /* ESD (P */
+ canon_init_setESC_P(v,init); /* ESC (P */
+ canon_init_setCartridge(v,init); /* ESC (T */
canon_init_setTray(v,init); /* ESC (l */
canon_init_setX72(v,init); /* ESC (r */
canon_init_setMultiRaster(v,init); /* ESC (I (J (L */
@@ -1447,13 +1570,25 @@ canon_deinit_printer(const stp_vars_t *v, const canon_privdata_t *init)
static int
canon_start_job(const stp_vars_t *v, stp_image_t *image)
{
+ const canon_cap_t * caps = canon_get_model_capabilities(v);
+ /* output XML for iP2700 and other devices */
+ if (caps->features & CANON_CAP_XML) {
+ int length=strlen(prexml_iP2700); /* 680 */
+ stp_zfwrite((const char*)prexml_iP2700,length,1,v);
+ }
return 1;
}
static int
canon_end_job(const stp_vars_t *v, stp_image_t *image)
{
+ const canon_cap_t * caps = canon_get_model_capabilities(v);
canon_cmd(v,ESC40,0,0);
+ /* output XML for iP2700 and other devices */
+ if (caps->features & CANON_CAP_XML) {
+ int length=strlen(postxml_iP2700); /* 263 */
+ stp_zfwrite((const char*)postxml_iP2700,length,1,v);
+ }
return 1;
}
@@ -1578,7 +1713,7 @@ static int canon_setup_channel(stp_vars_t *v,canon_privdata_t* privdata,int chan
current->props = ink->ink;
current->delay = delay;
/* calculate buffer length */
- current->buf_length = ((privdata->length * current->props->bits)+1)*(delay + 1);
+ current->buf_length = ((privdata->length * current->props->bits)+1)*(delay + 1);
/* update maximum buffer length */
if(current->buf_length > privdata->buf_length_max)
privdata->buf_length_max = current->buf_length;
@@ -1633,6 +1768,7 @@ static void canon_setup_channels(stp_vars_t *v,canon_privdata_t* privdata){
int i;
unsigned int subchannel = 0;
stp_shade_t* shades = NULL;
+ int is_black_channel = 0;
channel = channel_order[channel_idx];
if(channel == STP_ECOLOR_K && privdata->used_inks & CANON_INK_K_MASK){ /* black channel */
/* find K and k inks */
@@ -1641,7 +1777,7 @@ static void canon_setup_channels(stp_vars_t *v,canon_privdata_t* privdata){
if(ink->channel == primary[channel] || ink->channel == secondary[channel])
subchannel += canon_setup_channel(v,privdata,channel,subchannel,ink,&shades);
}
- stp_channel_set_black_channel(v, STP_ECOLOR_K);
+ is_black_channel = 1;
}else if(channel != STP_ECOLOR_K && privdata->used_inks & CANON_INK_CMY_MASK){ /* color channels */
for(i=0;i<privdata->mode->num_inks;i++){
const canon_inkset_t* ink = &privdata->mode->inks[i];
@@ -1652,17 +1788,18 @@ static void canon_setup_channels(stp_vars_t *v,canon_privdata_t* privdata){
/* set inks and density */
if(shades){
- stp_dither_set_inks_full(v,channel, subchannel, shades, 1.0,ink_darkness[channel]);
- for(i=0;i<subchannel;i++){
- double density = get_double_param(v, primary_density_control[channel]) * get_double_param(v, "Density");
- if(i > 0 && secondary_density_control[channel])
- density *= get_double_param(v, secondary_density_control[channel]);
- stp_channel_set_density_adjustment(v,channel,subchannel,density);
- }
- stp_free(shades);
- }
+ stp_dither_set_inks_full(v,channel, subchannel, shades, 1.0, ink_darkness[channel]);
+ for(i=0;i<subchannel;i++){
+ double density = get_double_param(v, primary_density_control[channel]) * get_double_param(v, "Density");
+ if(i > 0 && secondary_density_control[channel])
+ density *= get_double_param(v, secondary_density_control[channel]);
+ stp_channel_set_density_adjustment(v,channel,subchannel,density);
+ }
+ if (is_black_channel)
+ stp_channel_set_black_channel(v, channel);
+ stp_free(shades);
+ }
}
-
}
diff --git a/src/main/print-canon.h b/src/main/print-canon.h
index 812d3c1..26607ed 100644
--- a/src/main/print-canon.h
+++ b/src/main/print-canon.h
@@ -135,4 +135,8 @@ static const unsigned char tentoeight[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
+const char* prexml_iP2700 ="<?xml version=\"1.0\" encoding=\"utf-8\" ?><cmd xmlns:ivec=\"http://www.canon.com/ns/cmd/2008/07/common/\"><ivec:contents><ivec:operation>StartJob</ivec:operation><ivec:param_set servicetype=\"print\"><ivec:jobID>00000001</ivec:jobID><ivec:bidi>0</ivec:bidi></ivec:param_set></ivec:contents></cmd><?xml version=\"1.0\" encoding=\"utf-8\" ?><cmd xmlns:ivec=\"http://www.canon.com/ns/cmd/2008/07/common/\" xmlns:vcn=\"http://www.canon.com/ns/cmd/2008/07/canon/\"><ivec:contents><ivec:operation>VendorCmd</ivec:operation><ivec:param_set servicetype=\"print\"><vcn:ijoperation>ModeShift</vcn:ijoperation><vcn:ijmode>1</vcn:ijmode><ivec:jobID>00000001</ivec:jobID></ivec:param_set></ivec:contents></cmd>";
+
+const char* postxml_iP2700 ="<?xml version=\"1.0\" encoding=\"utf-8\" ?><cmd xmlns:ivec=\"http://www.canon.com/ns/cmd/2008/07/common/\"><ivec:contents><ivec:operation>EndJob</ivec:operation><ivec:param_set servicetype=\"print\"><ivec:jobID>00000001</ivec:jobID></ivec:param_set></ivec:contents></cmd>";
+
#endif
diff --git a/src/main/print-color.c b/src/main/print-color.c
index aa91432..e663420 100644
--- a/src/main/print-color.c
+++ b/src/main/print-color.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-color.c,v 1.141 2010/08/04 00:33:56 rlk Exp $"
+ * "$Id: print-color.c,v 1.143 2011/03/08 13:03:05 rlk Exp $"
*
* Gutenprint color management module - traditional Gutenprint algorithm.
*
@@ -159,21 +159,21 @@ typedef struct
int is_rgb;
} float_param_t;
-#define RAW_GAMMA_CHANNEL(channel) \
- { \
- { \
- "GammaCh" #channel, N_("Channel " #channel " Gamma"), N_("Gamma"), \
- N_("Gamma for raw channel " #channel), \
- STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT, \
- STP_PARAMETER_LEVEL_INTERNAL, 0, 1, channel, 1, 0 \
- }, 0.1, 4.0, 1.0, CMASK_RAW, 0, -1 \
+#define RAW_GAMMA_CHANNEL(channel) \
+ { \
+ { \
+ "GammaCh" #channel, N_("Channel " #channel " Gamma"), "Color=Yes,Category=Gamma", \
+ N_("Gamma for raw channel " #channel), \
+ STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT, \
+ STP_PARAMETER_LEVEL_INTERNAL, 0, 1, channel, 1, 0 \
+ }, 0.1, 4.0, 1.0, CMASK_RAW, 0, -1 \
}
static const float_param_t float_parameters[] =
{
{
{
- "ColorCorrection", N_("Color Correction"), N_("Basic Image Adjustment"),
+ "ColorCorrection", N_("Color Correction"), "Color=Yes,Category=Basic Image Adjustment",
N_("Color correction to be applied"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_BASIC, 1, 1, -1, 1, 0
@@ -181,7 +181,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "ChannelBitDepth", N_("Channel Bit Depth"), N_("Core Parameter"),
+ "ChannelBitDepth", N_("Channel Bit Depth"), "Color=Yes,Category=Core Parameter",
N_("Bit depth per channel"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, -1, 1, 0
@@ -189,7 +189,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "InputImageType", N_("Input Image Type"), N_("Core Parameter"),
+ "InputImageType", N_("Input Image Type"), "Color=Yes,Category=Core Parameter",
N_("Input image type"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, -1, 1, 0
@@ -197,7 +197,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "STPIOutputType", N_("Output Image Type"), N_("Core Parameter"),
+ "STPIOutputType", N_("Output Image Type"), "Color=Yes,Category=Core Parameter",
N_("Output image type"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_INTERNAL, 1, 1, -1, 1, 0
@@ -205,7 +205,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "STPIRawChannels", N_("Raw Channels"), N_("Core Parameter"),
+ "STPIRawChannels", N_("Raw Channels"), "Color=Yes,Category=Core Parameter",
N_("Raw Channels"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_INTERNAL, 1, 1, -1, 1, 0
@@ -213,7 +213,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "SimpleGamma", N_("SimpleGamma"), N_("Gamma"),
+ "SimpleGamma", N_("SimpleGamma"), "Color=Yes,Category=Gamma",
N_("Do not correct for screen gamma"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_INTERNAL, 0, 1, -1, 1, 0
@@ -221,7 +221,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Brightness", N_("Brightness"), N_("Basic Image Adjustment"),
+ "Brightness", N_("Brightness"), "Color=Yes,Category=Basic Image Adjustment",
N_("Brightness of the print"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_BASIC, 1, 1, -1, 1, 0
@@ -229,7 +229,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Contrast", N_("Contrast"), N_("Basic Image Adjustment"),
+ "Contrast", N_("Contrast"), "Color=Yes,Category=Basic Image Adjustment",
N_("Contrast of the print (0 is solid gray)"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_BASIC, 1, 1, -1, 1, 0
@@ -237,7 +237,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LinearContrast", N_("Linear Contrast Adjustment"), N_("Advanced Image Control"),
+ "LinearContrast", N_("Linear Contrast Adjustment"), "Color=Yes,Category=Advanced Image Control",
N_("Use linear vs. fixed end point contrast adjustment"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED3, 1, 1, -1, 1, 0
@@ -245,7 +245,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gamma", N_("Composite Gamma"), N_("Gamma"),
+ "Gamma", N_("Composite Gamma"), "Color=Yes,Category=Gamma",
N_("Adjust the gamma of the print. Larger values will "
"produce a generally brighter print, while smaller "
"values will produce a generally darker print. "),
@@ -255,7 +255,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "AppGamma", N_("AppGamma"), N_("Gamma"),
+ "AppGamma", N_("AppGamma"), "Color=Yes,Category=Gamma",
N_("Gamma value assumed by application"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_INTERNAL, 0, 1, -1, 1, 0
@@ -263,7 +263,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "CyanGamma", N_("Cyan"), N_("Gamma"),
+ "CyanGamma", N_("Cyan"), "Color=Yes,Category=Gamma",
N_("Adjust the cyan gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 1, 1, 0
@@ -271,7 +271,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "MagentaGamma", N_("Magenta"), N_("Gamma"),
+ "MagentaGamma", N_("Magenta"), "Color=Yes,Category=Gamma",
N_("Adjust the magenta gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 2, 1, 0
@@ -279,7 +279,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "YellowGamma", N_("Yellow"), N_("Gamma"),
+ "YellowGamma", N_("Yellow"), "Color=Yes,Category=Gamma",
N_("Adjust the yellow gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 3, 1, 0
@@ -287,7 +287,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "RedGamma", N_("Red"), N_("Gamma"),
+ "RedGamma", N_("Red"), "Color=Yes,Category=Gamma",
N_("Adjust the red gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 1, 1, 0
@@ -295,7 +295,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GreenGamma", N_("Green"), N_("Gamma"),
+ "GreenGamma", N_("Green"), "Color=Yes,Category=Gamma",
N_("Adjust the green gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 2, 1, 0
@@ -303,7 +303,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlueGamma", N_("Blue"), N_("Gamma"),
+ "BlueGamma", N_("Blue"), "Color=Yes,Category=Gamma",
N_("Adjust the blue gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 3, 1, 0
@@ -311,7 +311,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackGamma", N_("Black"), N_("Gamma"),
+ "BlackGamma", N_("Black"), "Color=Yes,Category=Gamma",
N_("Adjust the black gamma"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 3, 1, 0
@@ -319,7 +319,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "CyanBalance", N_("Cyan Balance"), N_("GrayBalance"),
+ "CyanBalance", N_("Cyan Balance"), "Color=Yes,Category=GrayBalance",
N_("Adjust the cyan gray balance"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 1, 1, 0
@@ -327,7 +327,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "MagentaBalance", N_("Magenta Balance"), N_("GrayBalance"),
+ "MagentaBalance", N_("Magenta Balance"), "Color=Yes,Category=GrayBalance",
N_("Adjust the magenta gray balance"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 2, 1, 0
@@ -335,7 +335,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "YellowBalance", N_("Yellow Balance"), N_("GrayBalance"),
+ "YellowBalance", N_("Yellow Balance"), "Color=Yes,Category=GrayBalance",
N_("Adjust the yellow gray balance"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED1, 0, 1, 3, 1, 0
@@ -343,7 +343,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Saturation", N_("Saturation"), N_("Basic Image Adjustment"),
+ "Saturation", N_("Saturation"), "Color=Yes,Category=Basic Image Adjustment",
N_("Adjust the saturation (color balance) of the print\n"
"Use zero saturation to produce grayscale output "
"using color and black inks"),
@@ -354,7 +354,7 @@ static const float_param_t float_parameters[] =
/* Need to think this through a bit more -- rlk 20030712 */
{
{
- "InkLimit", N_("Ink Limit"), N_("Advanced Output Control"),
+ "InkLimit", N_("Ink Limit"), "Color=Yes,Category=Advanced Output Control",
N_("Limit the total ink printed to the page"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, -1, 0, 0
@@ -362,7 +362,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackTrans", N_("GCR Transition"), N_("Advanced Output Control"),
+ "BlackTrans", N_("GCR Transition"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the gray component transition rate"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
@@ -370,7 +370,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GCRLower", N_("GCR Lower Bound"), N_("Advanced Output Control"),
+ "GCRLower", N_("GCR Lower Bound"), "Color=Yes,Category=Advanced Output Control",
N_("Lower bound of gray component reduction"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
@@ -378,7 +378,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GCRUpper", N_("GCR Upper Bound"), N_("Advanced Output Control"),
+ "GCRUpper", N_("GCR Upper Bound"), "Color=Yes,Category=Advanced Output Control",
N_("Upper bound of gray component reduction"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
@@ -448,21 +448,22 @@ static stp_curve_t *color_curve_bounds = NULL;
static stp_curve_t *gcr_curve_bounds = NULL;
-#define RAW_CURVE_CHANNEL(channel) \
- { \
- { \
- "CurveCh" #channel, N_("Channel " #channel " Curve"), \
- N_("Output Curves"), N_("Curve for raw channel " #channel), \
- STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT, \
- STP_PARAMETER_LEVEL_INTERNAL, 0, 1, channel, 1, 0 \
- }, &color_curve_bounds, CMASK_RAW, 0, 0, -1 \
+#define RAW_CURVE_CHANNEL(channel) \
+ { \
+ { \
+ "CurveCh" #channel, N_("Channel " #channel " Curve"), \
+ "Color=Yes,Category=Output Curves", \
+ N_("Curve for raw channel " #channel), \
+ STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT, \
+ STP_PARAMETER_LEVEL_INTERNAL, 0, 1, channel, 1, 0 \
+ }, &color_curve_bounds, CMASK_RAW, 0, 0, -1 \
}
static curve_param_t curve_parameters[] =
{
{
{
- "CyanCurve", N_("Cyan Curve"), N_("Output Curves"),
+ "CyanCurve", N_("Cyan Curve"), "Color=Yes,Category=Output Curves",
N_("Cyan curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 1, 1, 0
@@ -470,7 +471,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "MagentaCurve", N_("Magenta Curve"), N_("Output Curves"),
+ "MagentaCurve", N_("Magenta Curve"), "Color=Yes,Category=Output Curves",
N_("Magenta curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 2, 1, 0
@@ -478,7 +479,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "YellowCurve", N_("Yellow Curve"), N_("Output Curves"),
+ "YellowCurve", N_("Yellow Curve"), "Color=Yes,Category=Output Curves",
N_("Yellow curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 3, 1, 0
@@ -486,7 +487,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "BlackCurve", N_("Black Curve"), N_("Output Curves"),
+ "BlackCurve", N_("Black Curve"), "Color=Yes,Category=Output Curves",
N_("Black curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 0, 1, 0
@@ -494,7 +495,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "RedCurve", N_("Red Curve"), N_("Output Curves"),
+ "RedCurve", N_("Red Curve"), "Color=Yes,Category=Output Curves",
N_("Red curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 1, 1, 0
@@ -502,7 +503,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "GreenCurve", N_("Green Curve"), N_("Output Curves"),
+ "GreenCurve", N_("Green Curve"), "Color=Yes,Category=Output Curves",
N_("Green curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 2, 1, 0
@@ -510,7 +511,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "BlueCurve", N_("Blue Curve"), N_("Output Curves"),
+ "BlueCurve", N_("Blue Curve"), "Color=Yes,Category=Output Curves",
N_("Blue curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 3, 1, 0
@@ -518,7 +519,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "WhiteCurve", N_("White Curve"), N_("Output Curves"),
+ "WhiteCurve", N_("White Curve"), "Color=Yes,Category=Output Curves",
N_("White curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, 1, 1, 0
@@ -526,7 +527,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "HueMap", N_("Hue Map"), N_("Advanced HSL Curves"),
+ "HueMap", N_("Hue Map"), "Color=Yes,Category=Advanced HSL Curves",
N_("Hue adjustment curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, -1, 1, 0
@@ -534,7 +535,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "SatMap", N_("Saturation Map"), N_("Advanced HSL Curves"),
+ "SatMap", N_("Saturation Map"), "Color=Yes,Category=Advanced HSL Curves",
N_("Saturation adjustment curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, -1, 1, 0
@@ -542,7 +543,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "LumMap", N_("Luminosity Map"), N_("Advanced HSL Curves"),
+ "LumMap", N_("Luminosity Map"), "Color=Yes,Category=Advanced HSL Curves",
N_("Luminosity adjustment curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, -1, 1, 0
@@ -550,7 +551,7 @@ static curve_param_t curve_parameters[] =
},
{
{
- "GCRCurve", N_("Gray Component Reduction"), N_("Advanced Output Control"),
+ "GCRCurve", N_("Gray Component Reduction"), "Color=Yes,Category=Advanced Output Control",
N_("Gray component reduction curve"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
diff --git a/src/main/print-escp2.c b/src/main/print-escp2.c
index c5d9957..2fd9083 100644
--- a/src/main/print-escp2.c
+++ b/src/main/print-escp2.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-escp2.c,v 1.431 2010/08/04 00:33:57 rlk Exp $"
+ * "$Id: print-escp2.c,v 1.433 2010/12/11 22:04:07 rlk Exp $"
*
* Print plug-in EPSON ESC/P2 driver for the GIMP.
*
@@ -102,25 +102,28 @@ static const double ink_darknesses[] =
#define INCH(x) (72 * x)
-#define PARAMETER_INT(s) \
-{ \
- "escp2_" #s, "escp2_" #s, N_("Advanced Printer Functionality"), NULL, \
- STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE, \
- STP_PARAMETER_LEVEL_INTERNAL, 0, 1, STP_CHANNEL_NONE, 1, 0 \
+#define PARAMETER_INT(s) \
+{ \
+ "escp2_" #s, "escp2_" #s, \
+ "Color=Yes,Category=Advanced Printer Functionality", NULL, \
+ STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE, \
+ STP_PARAMETER_LEVEL_INTERNAL, 0, 1, STP_CHANNEL_NONE, 1, 0 \
}
-#define PARAMETER_INT_RO(s) \
-{ \
- "escp2_" #s, "escp2_" #s, N_("Advanced Printer Functionality"), NULL, \
- STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE, \
- STP_PARAMETER_LEVEL_INTERNAL, 0, 1, STP_CHANNEL_NONE, 1, 1 \
+#define PARAMETER_INT_RO(s) \
+{ \
+ "escp2_" #s, "escp2_" #s, \
+ "Color=Yes,Category=Advanced Printer Functionality", NULL, \
+ STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE, \
+ STP_PARAMETER_LEVEL_INTERNAL, 0, 1, STP_CHANNEL_NONE, 1, 1 \
}
-#define PARAMETER_RAW(s) \
-{ \
- "escp2_" #s, "escp2_" #s, N_("Advanced Printer Functionality"), NULL, \
- STP_PARAMETER_TYPE_RAW, STP_PARAMETER_CLASS_FEATURE, \
- STP_PARAMETER_LEVEL_INTERNAL, 0, 1, STP_CHANNEL_NONE, 1, 0 \
+#define PARAMETER_RAW(s) \
+{ \
+ "escp2_" #s, "escp2_" #s, \
+ "Color=Yes,Category=Advanced Printer Functionality", NULL, \
+ STP_PARAMETER_TYPE_RAW, STP_PARAMETER_CLASS_FEATURE, \
+ STP_PARAMETER_LEVEL_INTERNAL, 0, 1, STP_CHANNEL_NONE, 1, 0 \
}
typedef struct
@@ -144,7 +147,7 @@ static const stp_parameter_t the_parameters[] =
{
#if 0
{
- "AutoMode", N_("Automatic Printing Mode"), N_("Basic Output Adjustment"),
+ "AutoMode", N_("Automatic Printing Mode"), "Color=Yes,Category=Basic Output Adjustment",
N_("Automatic printing mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
@@ -156,73 +159,73 @@ static const stp_parameter_t the_parameters[] =
* files that don't have constraints set up.
*/
{
- "Quality", N_("Print Quality"), N_("Basic Output Adjustment"),
+ "Quality", N_("Print Quality"), "Color=Yes,Category=Basic Output Adjustment",
N_("Print Quality"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "PageSize", N_("Page Size"), N_("Basic Printer Setup"),
+ "PageSize", N_("Page Size"), "Color=No,Category=Basic Printer Setup",
N_("Size of the paper being printed to"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "MediaType", N_("Media Type"), N_("Basic Printer Setup"),
+ "MediaType", N_("Media Type"), "Color=Yes,Category=Basic Printer Setup",
N_("Type of media (plain paper, photo paper, etc.)"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InputSlot", N_("Media Source"), N_("Basic Printer Setup"),
+ "InputSlot", N_("Media Source"), "Color=No,Category=Basic Printer Setup",
N_("Source (input slot) of the media"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Duplex", N_("Double-Sided Printing"), N_("Basic Printer Setup"),
+ "Duplex", N_("Double-Sided Printing"), "Color=No,Category=Basic Printer Setup",
N_("Duplex/Tumble Setting"),
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"), N_("Basic Printer Setup"),
+ "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,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDOuterDiameter", N_("CD Size (Custom)"), N_("Basic Printer Setup"),
+ "CDOuterDiameter", N_("CD Size (Custom)"), "Color=No,Category=Basic Printer Setup",
N_("Variable adjustment for the outer diameter of CD"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDInnerDiameter", N_("CD Hub Size (Custom)"), N_("Basic Printer Setup"),
+ "CDInnerDiameter", N_("CD Hub Size (Custom)"), "Color=No,Category=Basic Printer Setup",
N_("Variable adjustment to the inner hub of the CD"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDXAdjustment", N_("CD Horizontal Fine Adjustment"), N_("Advanced Printer Setup"),
+ "CDXAdjustment", N_("CD Horizontal Fine Adjustment"), "Color=No,Category=Advanced Printer Setup",
N_("Fine adjustment to horizontal position for CD printing"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDYAdjustment", N_("CD Vertical Fine Adjustment"), N_("Advanced Printer Setup"),
+ "CDYAdjustment", N_("CD Vertical Fine Adjustment"), "Color=No,Category=Advanced Printer Setup",
N_("Fine adjustment to horizontal position for CD printing"),
STP_PARAMETER_TYPE_DIMENSION, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CDAllowOtherMedia", N_("CD Allow Other Media Sizes"), N_("Advanced Printer Setup"),
+ "CDAllowOtherMedia", N_("CD Allow Other Media Sizes"), "Color=No,Category=Advanced Printer Setup",
N_("Allow non-CD media sizes when printing to CD"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Resolution", N_("Resolution"), N_("Basic Printer Setup"),
+ "Resolution", N_("Resolution"), "Color=Yes,Category=Basic Printer Setup",
N_("Resolution of the print"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED, 1, 1, STP_CHANNEL_NONE, 1, 0
@@ -233,151 +236,151 @@ static const stp_parameter_t the_parameters[] =
* files that don't have constraints set up.
*/
{
- "InkType", N_("Ink Type"), N_("Advanced Printer Setup"),
+ "InkType", N_("Ink Type"), "Color=Yes,Category=Advanced Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED2, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "UseGloss", N_("Enhanced Gloss"), N_("Basic Printer Setup"),
+ "UseGloss", N_("Enhanced Gloss"), "Color=Yes,Category=Basic Printer Setup",
N_("Add gloss enhancement"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "InkSet", N_("Ink Set"), N_("Basic Printer Setup"),
+ "InkSet", N_("Ink Set"), "Color=Yes,Category=Basic Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "PrintingDirection", N_("Printing Direction"), N_("Advanced Output Adjustment"),
+ "PrintingDirection", N_("Printing Direction"), "Color=Yes,Category=Advanced Output Adjustment",
N_("Printing direction (unidirectional is higher quality, but slower)"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED1, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "FullBleed", N_("Borderless"), N_("Basic Printer Setup"),
+ "FullBleed", N_("Borderless"), "Color=No,Category=Basic Printer Setup",
N_("Print without borders"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Weave", N_("Interleave Method"), N_("Advanced Output Adjustment"),
+ "Weave", N_("Interleave Method"), "Color=Yes,Category=Advanced Output Adjustment",
N_("Interleave pattern to use"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED1, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "OutputOrder", N_("Output Order"), N_("Basic Printer Setup"),
+ "OutputOrder", N_("Output Order"), "Color=No,Category=Basic Printer Setup",
N_("Output Order"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "AlignmentPasses", N_("Alignment Passes"), N_("Advanced Printer Functionality"),
+ "AlignmentPasses", N_("Alignment Passes"), "Color=No,Category=Advanced Printer Functionality",
N_("Alignment Passes"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "AlignmentChoices", N_("Alignment Choices"), N_("Advanced Printer Functionality"),
+ "AlignmentChoices", N_("Alignment Choices"), "Color=No,Category=Advanced Printer Functionality",
N_("Alignment Choices"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "InkChange", N_("Ink change command"), N_("Advanced Printer Functionality"),
+ "InkChange", N_("Ink change command"), "Color=No,Category=Advanced Printer Functionality",
N_("Ink change command"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "AlternateAlignmentPasses", N_("Alternate Alignment Passes"), N_("Advanced Printer Functionality"),
+ "AlternateAlignmentPasses", N_("Alternate Alignment Passes"), "Color=No,Category=Advanced Printer Functionality",
N_("Alternate Alignment Passes"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "AlternateAlignmentChoices", N_("Alternate Alignment Choices"), N_("Advanced Printer Functionality"),
+ "AlternateAlignmentChoices", N_("Alternate Alignment Choices"), "Color=No,Category=Advanced Printer Functionality",
N_("Alternate Alignment Choices"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "SupportsPacketMode", N_("Supports Packet Mode"), N_("Advanced Printer Functionality"),
+ "SupportsPacketMode", N_("Supports Packet Mode"), "Color=No,Category=Advanced Printer Functionality",
N_("Supports D4 Packet Mode"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "InterchangeableInk", N_("Has Interchangeable Ink Cartridges"), N_("Advanced Printer Functionality"),
+ "InterchangeableInk", N_("Has Interchangeable Ink Cartridges"), "Color=No,Category=Advanced Printer Functionality",
N_("Has multiple choices of ink cartridges"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "InkChannels", N_("Ink Channels"), N_("Advanced Printer Functionality"),
+ "InkChannels", N_("Ink Channels"), "Color=No,Category=Advanced Printer Functionality",
N_("Ink Channels"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "RawChannelNames", N_("Raw Channel Names"), N_("Advanced Printer Functionality"),
+ "RawChannelNames", N_("Raw Channel Names"), "Color=No,Category=Advanced Printer Functionality",
N_("Raw Channel Names"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "ChannelNames", N_("Channel Names"), N_("Advanced Printer Functionality"),
+ "ChannelNames", N_("Channel Names"), "Color=No,Category=Advanced Printer Functionality",
N_("Channel Names"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "RawChannels", N_("Raw Channels"), N_("Core Parameter"),
+ "RawChannels", N_("Raw Channels"), "Color=Yes,Category=Core Parameter",
N_("Raw Channel Count"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 0, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "CyanHueCurve", N_("Cyan Map"), N_("Advanced Output Control"),
+ "CyanHueCurve", N_("Cyan Map"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the cyan map"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 1, 1, 0
},
{
- "MagentaHueCurve", N_("Magenta Map"), N_("Advanced Output Control"),
+ "MagentaHueCurve", N_("Magenta Map"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the magenta map"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 2, 1, 0
},
{
- "YellowHueCurve", N_("Yellow Map"), N_("Advanced Output Control"),
+ "YellowHueCurve", N_("Yellow Map"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the yellow map"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 3, 1, 0
},
{
- "BlueHueCurve", N_("Blue Map"), N_("Advanced Output Control"),
+ "BlueHueCurve", N_("Blue Map"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the blue map"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 4, 1, 0
},
{
- "OrangeHueCurve", N_("Orange Map"), N_("Advanced Output Control"),
+ "OrangeHueCurve", N_("Orange Map"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the orange map"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 4, 1, 0
},
{
- "RedHueCurve", N_("Red Map"), N_("Advanced Output Control"),
+ "RedHueCurve", N_("Red Map"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the red map"),
STP_PARAMETER_TYPE_CURVE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 5, 1, 0
@@ -448,7 +451,7 @@ static const float_param_t float_parameters[] =
{
{
{
- "CyanDensity", N_("Cyan Density"), N_("Output Level Adjustment"),
+ "CyanDensity", N_("Cyan Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the cyan density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 1, 1, 0
@@ -456,7 +459,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "MagentaDensity", N_("Magenta Density"), N_("Output Level Adjustment"),
+ "MagentaDensity", N_("Magenta Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the magenta density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 2, 1, 0
@@ -464,7 +467,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "YellowDensity", N_("Yellow Density"), N_("Output Level Adjustment"),
+ "YellowDensity", N_("Yellow Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the yellow density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 3, 1, 0
@@ -472,7 +475,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackDensity", N_("Black Density"), N_("Output Level Adjustment"),
+ "BlackDensity", N_("Black Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the black density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 0, 1, 0
@@ -480,7 +483,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "RedDensity", N_("Red Density"), N_("Output Level Adjustment"),
+ "RedDensity", N_("Red Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the red density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 4, 1, 0
@@ -488,7 +491,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlueDensity", N_("Blue Density"), N_("Output Level Adjustment"),
+ "BlueDensity", N_("Blue Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the blue density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 5, 1, 0
@@ -496,7 +499,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "OrangeDensity", N_("Orange Density"), N_("Output Level Adjustment"),
+ "OrangeDensity", N_("Orange Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the orange density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 5, 1, 0
@@ -504,7 +507,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GlossLimit", N_("Gloss Level"), N_("Output Level Adjustment"),
+ "GlossLimit", N_("Gloss Level"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the gloss level"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 6, 1, 0
@@ -512,7 +515,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DropSize1", N_("Drop Size Small"), N_("Advanced Ink Adjustment"),
+ "DropSize1", N_("Drop Size Small"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Drop Size 1 (small)"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -520,7 +523,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DropSize2", N_("Drop Size Medium"), N_("Advanced Ink Adjustment"),
+ "DropSize2", N_("Drop Size Medium"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Drop Size 2 (medium)"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -528,7 +531,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DropSize3", N_("Drop Size Large"), N_("Advanced Ink Adjustment"),
+ "DropSize3", N_("Drop Size Large"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Drop Size 3 (large)"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -536,7 +539,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightCyanValue", N_("Light Cyan Value"), N_("Advanced Ink Adjustment"),
+ "LightCyanValue", N_("Light Cyan Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Cyan Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -544,7 +547,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightCyanTrans", N_("Light Cyan Transition"), N_("Advanced Ink Adjustment"),
+ "LightCyanTrans", N_("Light Cyan Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Cyan Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -552,7 +555,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightCyanScale", N_("Light Cyan Density Scale"), N_("Advanced Ink Adjustment"),
+ "LightCyanScale", N_("Light Cyan Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Cyan Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -560,7 +563,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightMagentaValue", N_("Light Magenta Value"), N_("Advanced Ink Adjustment"),
+ "LightMagentaValue", N_("Light Magenta Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Magenta Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -568,7 +571,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightMagentaScale", N_("Light Magenta Density Scale"), N_("Advanced Ink Adjustment"),
+ "LightMagentaScale", N_("Light Magenta Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Magenta Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -576,7 +579,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightMagentaTrans", N_("Light Magenta Transition"), N_("Advanced Ink Adjustment"),
+ "LightMagentaTrans", N_("Light Magenta Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Magenta Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -584,7 +587,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DarkYellowValue", N_("Dark Yellow Value"), N_("Advanced Ink Adjustment"),
+ "DarkYellowValue", N_("Dark Yellow Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Dark Yellow Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -592,7 +595,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DarkYellowTrans", N_("Dark Yellow Transition"), N_("Advanced Ink Adjustment"),
+ "DarkYellowTrans", N_("Dark Yellow Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Dark Yellow Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -600,7 +603,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DarkYellowScale", N_("Dark Yellow Density Scale"), N_("Advanced Ink Adjustment"),
+ "DarkYellowScale", N_("Dark Yellow Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Dark Yellow Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -608,7 +611,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GrayValue", N_("Gray Value"), N_("Advanced Ink Adjustment"),
+ "GrayValue", N_("Gray Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Gray Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -616,7 +619,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GrayTrans", N_("Gray Transition"), N_("Advanced Ink Adjustment"),
+ "GrayTrans", N_("Gray Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Gray Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -624,7 +627,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GrayScale", N_("Gray Density Scale"), N_("Advanced Ink Adjustment"),
+ "GrayScale", N_("Gray Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Gray Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -632,7 +635,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DarkGrayValue", N_("Gray Value"), N_("Advanced Ink Adjustment"),
+ "DarkGrayValue", N_("Gray Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Gray Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -640,7 +643,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DarkGrayTrans", N_("Gray Transition"), N_("Advanced Ink Adjustment"),
+ "DarkGrayTrans", N_("Gray Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Gray Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -648,7 +651,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "DarkGrayScale", N_("Gray Density Scale"), N_("Advanced Ink Adjustment"),
+ "DarkGrayScale", N_("Gray Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Gray Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -656,7 +659,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightGrayValue", N_("Light Gray Value"), N_("Advanced Ink Adjustment"),
+ "LightGrayValue", N_("Light Gray Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Gray Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -664,7 +667,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightGrayTrans", N_("Light Gray Transition"), N_("Advanced Ink Adjustment"),
+ "LightGrayTrans", N_("Light Gray Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Gray Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -672,7 +675,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightGrayScale", N_("Light Gray Density Scale"), N_("Advanced Ink Adjustment"),
+ "LightGrayScale", N_("Light Gray Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Gray Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -680,7 +683,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray3Value", N_("Dark Gray Value"), N_("Advanced Ink Adjustment"),
+ "Gray3Value", N_("Dark Gray Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Dark Gray Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -688,7 +691,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray3Trans", N_("Dark Gray Transition"), N_("Advanced Ink Adjustment"),
+ "Gray3Trans", N_("Dark Gray Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Dark Gray Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -696,7 +699,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray3Scale", N_("Dark Gray Density Scale"), N_("Advanced Ink Adjustment"),
+ "Gray3Scale", N_("Dark Gray Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Dark Gray Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -704,7 +707,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray2Value", N_("Mid Gray Value"), N_("Advanced Ink Adjustment"),
+ "Gray2Value", N_("Mid Gray Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Medium Gray Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -712,7 +715,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray2Trans", N_("Mid Gray Transition"), N_("Advanced Ink Adjustment"),
+ "Gray2Trans", N_("Mid Gray Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Medium Gray Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -720,7 +723,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray2Scale", N_("Mid Gray Density Scale"), N_("Advanced Ink Adjustment"),
+ "Gray2Scale", N_("Mid Gray Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Medium Gray Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -728,7 +731,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray1Value", N_("Light Gray Value"), N_("Advanced Ink Adjustment"),
+ "Gray1Value", N_("Light Gray Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Gray Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -736,7 +739,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray1Trans", N_("Light Gray Transition"), N_("Advanced Ink Adjustment"),
+ "Gray1Trans", N_("Light Gray Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Gray Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -744,7 +747,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "Gray1Scale", N_("Light Gray Density Scale"), N_("Advanced Ink Adjustment"),
+ "Gray1Scale", N_("Light Gray Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Gray Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -752,7 +755,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray5Value", N_("Hextone Gray 5 Value"), N_("Advanced Ink Adjustment"),
+ "HGray5Value", N_("Hextone Gray 5 Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 5 (Darkest) Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -760,7 +763,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray5Trans", N_("Hextone Gray 5 Transition"), N_("Advanced Ink Adjustment"),
+ "HGray5Trans", N_("Hextone Gray 5 Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 5 (Darkest) Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -768,7 +771,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray5Scale", N_("Hextone Gray 5 Density Scale"), N_("Advanced Ink Adjustment"),
+ "HGray5Scale", N_("Hextone Gray 5 Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 5 (Darkest) Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -776,7 +779,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray4Value", N_("Hextone Gray 4 Value"), N_("Advanced Ink Adjustment"),
+ "HGray4Value", N_("Hextone Gray 4 Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 4 Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -784,7 +787,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray4Trans", N_("Hextone Gray 4 Transition"), N_("Advanced Ink Adjustment"),
+ "HGray4Trans", N_("Hextone Gray 4 Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 4 Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -792,7 +795,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray4Scale", N_("Hextone Gray 4 Density Scale"), N_("Advanced Ink Adjustment"),
+ "HGray4Scale", N_("Hextone Gray 4 Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 4 Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -800,7 +803,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray3Value", N_("Hextone Gray 3 Value"), N_("Advanced Ink Adjustment"),
+ "HGray3Value", N_("Hextone Gray 3 Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 3 Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -808,7 +811,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray3Trans", N_("Hextone Gray 3 Transition"), N_("Advanced Ink Adjustment"),
+ "HGray3Trans", N_("Hextone Gray 3 Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 3 Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -816,7 +819,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray3Scale", N_("Hextone Gray 3 Density Scale"), N_("Advanced Ink Adjustment"),
+ "HGray3Scale", N_("Hextone Gray 3 Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 3 Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -824,7 +827,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray2Value", N_("Hextone Gray 2 Value"), N_("Advanced Ink Adjustment"),
+ "HGray2Value", N_("Hextone Gray 2 Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 2 Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -832,7 +835,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray2Trans", N_("Hextone Gray 2 Transition"), N_("Advanced Ink Adjustment"),
+ "HGray2Trans", N_("Hextone Gray 2 Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 2 Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -840,7 +843,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray2Scale", N_("Hextone Gray 2 Density Scale"), N_("Advanced Ink Adjustment"),
+ "HGray2Scale", N_("Hextone Gray 2 Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 2 Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -848,7 +851,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray1Value", N_("Hextone Gray 1 Value"), N_("Advanced Ink Adjustment"),
+ "HGray1Value", N_("Hextone Gray 1 Value"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 1 (Lightest) Value"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -856,7 +859,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray1Trans", N_("Hextone Gray 1 Transition"), N_("Advanced Ink Adjustment"),
+ "HGray1Trans", N_("Hextone Gray 1 Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 1 (Lightest) Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -864,7 +867,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "HGray1Scale", N_("Hextone Gray 1 Density Scale"), N_("Advanced Ink Adjustment"),
+ "HGray1Scale", N_("Hextone Gray 1 Density Scale"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Hextone Gray 1 (Lightest) Density Scale"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -872,7 +875,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackTrans", N_("GCR Transition"), N_("Advanced Output Control"),
+ "BlackTrans", N_("GCR Transition"), "Color=Yes,Category=Advanced Output Control",
N_("Adjust the gray component transition rate"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
@@ -880,7 +883,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GCRLower", N_("GCR Lower Bound"), N_("Advanced Output Control"),
+ "GCRLower", N_("GCR Lower Bound"), "Color=Yes,Category=Advanced Output Control",
N_("Lower bound of gray component reduction"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
@@ -888,7 +891,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "GCRUpper", N_("GCR Upper Bound"), N_("Advanced Output Control"),
+ "GCRUpper", N_("GCR Upper Bound"), "Color=Yes,Category=Advanced Output Control",
N_("Upper bound of gray component reduction"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, 0, 1, 0
@@ -896,7 +899,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "PageDryTime", N_("Drying Time Per Page"), N_("Advanced Printer Functionality"),
+ "PageDryTime", N_("Drying Time Per Page"), "Color=No,Category=Advanced Printer Functionality",
N_("Set drying time per page"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -904,7 +907,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "ScanDryTime", N_("Drying Time Per Scan"), N_("Advanced Printer Functionality"),
+ "ScanDryTime", N_("Drying Time Per Scan"), "Color=No,Category=Advanced Printer Functionality",
N_("Set drying time per scan"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -912,7 +915,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "ScanMinDryTime", N_("Minimum Drying Time Per Scan"), N_("Advanced Printer Functionality"),
+ "ScanMinDryTime", N_("Minimum Drying Time Per Scan"), "Color=No,Category=Advanced Printer Functionality",
N_("Set minimum drying time per scan"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -928,7 +931,7 @@ static const int_param_t int_parameters[] =
{
{
{
- "BandEnhancement", N_("Quality Enhancement"), N_("Advanced Printer Functionality"),
+ "BandEnhancement", N_("Quality Enhancement"), "Color=No,Category=Advanced Printer Functionality",
N_("Enhance print quality by additional passes"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED2, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -936,7 +939,7 @@ static const int_param_t int_parameters[] =
},
{
{
- "PaperThickness", N_("Paper Thickness"), N_("Advanced Printer Functionality"),
+ "PaperThickness", N_("Paper Thickness"), "Color=No,Category=Advanced Printer Functionality",
N_("Set printer paper thickness"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -944,7 +947,7 @@ static const int_param_t int_parameters[] =
},
{
{
- "VacuumIntensity", N_("Vacuum Intensity"), N_("Advanced Printer Functionality"),
+ "VacuumIntensity", N_("Vacuum Intensity"), "Color=No,Category=Advanced Printer Functionality",
N_("Set vacuum intensity (printer-specific)"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -952,7 +955,7 @@ static const int_param_t int_parameters[] =
},
{
{
- "FeedSequence", N_("Feed Sequence"), N_("Advanced Printer Functionality"),
+ "FeedSequence", N_("Feed Sequence"), "Color=No,Category=Advanced Printer Functionality",
N_("Set paper feed sequence (printer-specific)"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -960,7 +963,7 @@ static const int_param_t int_parameters[] =
},
{
{
- "PrintMethod", N_("Print Method"), N_("Advanced Printer Functionality"),
+ "PrintMethod", N_("Print Method"), "Color=No,Category=Advanced Printer Functionality",
N_("Set print method (printer-specific)"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -968,7 +971,7 @@ static const int_param_t int_parameters[] =
},
{
{
- "PlatenGap", N_("Platen Gap"), N_("Advanced Printer Functionality"),
+ "PlatenGap", N_("Platen Gap"), "Color=No,Category=Advanced Printer Functionality",
N_("Set platen gap (printer-specific)"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_ADVANCED3, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -976,7 +979,7 @@ static const int_param_t int_parameters[] =
},
{
{
- "FeedAdjustment", N_("Feed Adjustment"), N_("Advanced Printer Functionality"),
+ "FeedAdjustment", N_("Feed Adjustment"), "Color=No,Category=Advanced Printer Functionality",
/* xgettext:no-c-format */
N_("Set paper feed adjustment (0.01% units)"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
@@ -2651,6 +2654,8 @@ escp2_parameters(const stp_vars_t *v, const char *name,
description->deflt.str =
stp_string_list_param(description->bounds.str, 0)->name;
}
+ else
+ description->p_type = STP_PARAMETER_TYPE_INVALID;
}
else if (strcmp(name, "SupportsPacketMode") == 0)
{
diff --git a/src/main/print-escp2.h b/src/main/print-escp2.h
index 4720c20..7280629 100644
--- a/src/main/print-escp2.h
+++ b/src/main/print-escp2.h
@@ -1,5 +1,5 @@
/*
- * "$Id: print-escp2.h,v 1.138 2010/06/20 21:24:10 rlk Exp $"
+ * "$Id: print-escp2.h,v 1.139 2010/12/19 02:51:37 rlk Exp $"
*
* Print plug-in EPSON ESC/P2 driver for the GIMP.
*
@@ -194,6 +194,8 @@ typedef struct
short channel_count;
short aux_channel_count;
inkset_id_t inkset;
+ const stp_raw_t *init_sequence;
+ const stp_raw_t *deinit_sequence;
ink_channel_t *channels;
ink_channel_t *aux_channels;
} inkname_t;
@@ -210,6 +212,8 @@ typedef struct
const char *text;
short n_shades;
short n_inks;
+ const stp_raw_t *init_sequence;
+ const stp_raw_t *deinit_sequence;
shade_t *shades;
inkname_t *inknames;
} inklist_t;
@@ -620,5 +624,5 @@ extern void stpi_escp2_terminate_page(stp_vars_t *v);
#endif /* GUTENPRINT_INTERNAL_ESCP2_H */
/*
- * End of "$Id: print-escp2.h,v 1.138 2010/06/20 21:24:10 rlk Exp $".
+ * End of "$Id: print-escp2.h,v 1.139 2010/12/19 02:51:37 rlk Exp $".
*/
diff --git a/src/main/print-lexmark.c b/src/main/print-lexmark.c
index 7d8cb0d..b92242e 100644
--- a/src/main/print-lexmark.c
+++ b/src/main/print-lexmark.c
@@ -1,6 +1,6 @@
/*
- * "$Id: print-lexmark.c,v 1.159 2010/08/04 00:33:57 rlk Exp $"
+ * "$Id: print-lexmark.c,v 1.160 2010/12/05 21:38:14 rlk Exp $"
*
* Print plug-in Lexmark driver for the GIMP.
*
@@ -263,43 +263,43 @@ static const int lr_shift_black[10] = { 9, 18, 2*18 }; /* vertical distance betw
static const stp_parameter_t the_parameters[] =
{
{
- "PageSize", N_("Page Size"), N_("Basic Printer Setup"),
+ "PageSize", N_("Page Size"), "Color=No,Category=Basic Printer Setup",
N_("Size of the paper being printed to"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "MediaType", N_("Media Type"), N_("Basic Printer Setup"),
+ "MediaType", N_("Media Type"), "Color=Yes,Category=Basic Printer Setup",
N_("Type of media (plain paper, photo paper, etc.)"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InputSlot", N_("Media Source"), N_("Basic Printer Setup"),
+ "InputSlot", N_("Media Source"), "Color=No,Category=Basic Printer Setup",
N_("Source (input slot) of the media"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Resolution", N_("Resolution"), N_("Basic Printer Setup"),
+ "Resolution", N_("Resolution"), "Color=Yes,Category=Basic Printer Setup",
N_("Resolution and quality of the print"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkType", N_("Ink Type"), N_("Advanced Printer Setup"),
+ "InkType", N_("Ink Type"), "Color=Yes,Category=Advanced Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkChannels", N_("Ink Channels"), N_("Advanced Printer Functionality"),
+ "InkChannels", N_("Ink Channels"), "Color=Yes,Category=Advanced Printer Functionality",
N_("Ink Channels"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
@@ -322,7 +322,7 @@ static const float_param_t float_parameters[] =
{
{
{
- "CyanDensity", N_("Cyan Density"), N_("Output Level Adjustment"),
+ "CyanDensity", N_("Cyan Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the cyan density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 1, 1, 0
@@ -330,7 +330,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "MagentaDensity", N_("Magenta Density"), N_("Output Level Adjustment"),
+ "MagentaDensity", N_("Magenta Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the magenta density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 2, 1, 0
@@ -338,7 +338,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "YellowDensity", N_("Yellow Density"), N_("Output Level Adjustment"),
+ "YellowDensity", N_("Yellow Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the yellow density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 3, 1, 0
@@ -346,7 +346,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackDensity", N_("Black Density"), N_("Output Level Adjustment"),
+ "BlackDensity", N_("Black Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the black density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 0, 1, 0
@@ -354,7 +354,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightCyanTrans", N_("Light Cyan Transition"), N_("Advanced Ink Adjustment"),
+ "LightCyanTrans", N_("Light Cyan Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Cyan Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -362,7 +362,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightMagentaTrans", N_("Light Magenta Transition"), N_("Advanced Ink Adjustment"),
+ "LightMagentaTrans", N_("Light Magenta Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Magenta Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
diff --git a/src/main/print-olympus.c b/src/main/print-olympus.c
index 3df470e..6b6b747 100644
--- a/src/main/print-olympus.c
+++ b/src/main/print-olympus.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-olympus.c,v 1.96 2010/06/26 20:02:02 rlk Exp $"
+ * "$Id: print-olympus.c,v 1.97 2010/12/05 21:38:15 rlk Exp $"
*
* Print plug-in DyeSub driver (formerly Olympus driver) for the GIMP.
*
@@ -1860,53 +1860,53 @@ static const dyesub_cap_t dyesub_model_capabilities[] =
static const stp_parameter_t the_parameters[] =
{
{
- "PageSize", N_("Page Size"), N_("Basic Printer Setup"),
+ "PageSize", N_("Page Size"), "Color=No,Category=Basic Printer Setup",
N_("Size of the paper being printed to"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "MediaType", N_("Media Type"), N_("Basic Printer Setup"),
+ "MediaType", N_("Media Type"), "Color=Yes,Category=Basic Printer Setup",
N_("Type of media (plain paper, photo paper, etc.)"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InputSlot", N_("Media Source"), N_("Basic Printer Setup"),
+ "InputSlot", N_("Media Source"), "Color=No,Category=Basic Printer Setup",
N_("Source (input slot) of the media"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Resolution", N_("Resolution"), N_("Basic Printer Setup"),
+ "Resolution", N_("Resolution"), "Color=Yes,Category=Basic Printer Setup",
N_("Resolution and quality of the print"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkType", N_("Ink Type"), N_("Advanced Printer Setup"),
+ "InkType", N_("Ink Type"), "Color=Yes,Category=Advanced Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- /* TRANSLATORS: Some dye sublimation printers are able achieve */
+ /* TRANSLATORS: Some dye sublimation printers are able to achieve */
/* better durability of output by covering it with transparent */
/* laminate surface. This surface can be of different patterns: */
/* common are matte, glossy or texture. */
- "Laminate", N_("Laminate Pattern"), N_("Advanced Printer Setup"),
+ "Laminate", N_("Laminate Pattern"), "Color=Yes,Category=Advanced Printer Setup",
N_("Laminate Pattern"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 0, STP_CHANNEL_NONE, 1, 0
},
{
- "Borderless", N_("Borderless"), N_("Advanced Printer Setup"),
+ "Borderless", N_("Borderless"), "Color=No,Category=Advanced Printer Setup",
N_("Print without borders"),
STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 0, STP_CHANNEL_NONE, 1, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
diff --git a/src/main/print-pcl.c b/src/main/print-pcl.c
index 357a86f..7c028c2 100644
--- a/src/main/print-pcl.c
+++ b/src/main/print-pcl.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-pcl.c,v 1.159 2010/08/07 23:51:20 rlk Exp $"
+ * "$Id: print-pcl.c,v 1.160 2010/12/05 21:38:15 rlk Exp $"
*
* Print plug-in HP PCL driver for the GIMP.
*
@@ -1343,55 +1343,55 @@ static const char standard_hue_adjustment[] =
static const stp_parameter_t the_parameters[] =
{
{
- "PageSize", N_("Page Size"), N_("Basic Printer Setup"),
+ "PageSize", N_("Page Size"), "Color=No,Category=Basic Printer Setup",
N_("Size of the paper being printed to"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "MediaType", N_("Media Type"), N_("Basic Printer Setup"),
+ "MediaType", N_("Media Type"), "Color=Yes,Category=Basic Printer Setup",
N_("Type of media (plain paper, photo paper, etc.)"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InputSlot", N_("Media Source"), N_("Basic Printer Setup"),
+ "InputSlot", N_("Media Source"), "Color=No,Category=Basic Printer Setup",
N_("Source (input slot) of the media"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Quality", N_("Print Quality"), N_("Basic Output Adjustment"),
+ "Quality", N_("Print Quality"), "Color=Yes,Category=Basic Output Adjustment",
N_("Print Quality"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 0, 0
},
{
- "Resolution", N_("Resolution"), N_("Basic Printer Setup"),
+ "Resolution", N_("Resolution"), "Color=Yes,Category=Basic Printer Setup",
N_("Resolution of the print"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkType", N_("Ink Type"), N_("Advanced Printer Setup"),
+ "InkType", N_("Ink Type"), "Color=Yes,Category=Advanced Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "InkChannels", N_("Ink Channels"), N_("Advanced Printer Functionality"),
+ "InkChannels", N_("Ink Channels"), "Color=Yes,Category=Advanced Printer Functionality",
N_("Ink Channels"),
STP_PARAMETER_TYPE_INT, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "Duplex", N_("Double-Sided Printing"), N_("Basic Printer Setup"),
+ "Duplex", N_("Double-Sided Printing"), "Color=No,Category=Basic Printer Setup",
N_("Duplex/Tumble Setting"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
@@ -1414,7 +1414,7 @@ static const float_param_t float_parameters[] =
{
{
{
- "CyanDensity", N_("Cyan Density"), N_("Output Level Adjustment"),
+ "CyanDensity", N_("Cyan Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the cyan density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 1, 1, 0
@@ -1422,7 +1422,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "MagentaDensity", N_("Magenta Density"), N_("Output Level Adjustment"),
+ "MagentaDensity", N_("Magenta Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the magenta density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 2, 1, 0
@@ -1430,7 +1430,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "YellowDensity", N_("Yellow Density"), N_("Output Level Adjustment"),
+ "YellowDensity", N_("Yellow Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the yellow density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 3, 1, 0
@@ -1438,7 +1438,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "BlackDensity", N_("Black Density"), N_("Output Level Adjustment"),
+ "BlackDensity", N_("Black Density"), "Color=Yes,Category=Output Level Adjustment",
N_("Adjust the black density"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED, 0, 1, 0, 1, 0
@@ -1446,7 +1446,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightCyanTrans", N_("Light Cyan Transition"), N_("Advanced Ink Adjustment"),
+ "LightCyanTrans", N_("Light Cyan Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Cyan Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
@@ -1454,7 +1454,7 @@ static const float_param_t float_parameters[] =
},
{
{
- "LightMagentaTrans", N_("Light Magenta Transition"), N_("Advanced Ink Adjustment"),
+ "LightMagentaTrans", N_("Light Magenta Transition"), "Color=Yes,Category=Advanced Ink Adjustment",
N_("Light Magenta Transition"),
STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT,
STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, STP_CHANNEL_NONE, 1, 0
diff --git a/src/main/print-ps.c b/src/main/print-ps.c
index 228d241..298a976 100644
--- a/src/main/print-ps.c
+++ b/src/main/print-ps.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-ps.c,v 1.102 2009/09/03 00:33:52 rlk Exp $"
+ * "$Id: print-ps.c,v 1.104 2011/03/04 13:05:08 rlk Exp $"
*
* Print plug-in Adobe PostScript driver for the GIMP.
*
@@ -65,25 +65,25 @@ static void ps_ascii85(const stp_vars_t *, unsigned short *, int, int);
static const stp_parameter_t the_parameters[] =
{
{
- "PPDFile", N_("PPDFile"), N_("Basic Printer Setup"),
+ "PPDFile", N_("PPDFile"), "Color=Yes,Category=Basic Printer Setup",
N_("PPD File"),
STP_PARAMETER_TYPE_FILE, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "PageSize", N_("Page Size"), N_("Basic Printer Setup"),
+ "PageSize", N_("Page Size"), "Color=No,Category=Basic Printer Setup",
N_("Size of the paper being printed to"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "ModelName", N_("Model Name"), N_("Basic Printer Setup"),
+ "ModelName", N_("Model Name"), "Color=Yes,Category=Basic Printer Setup",
N_("PPD File Model Name"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_INTERNAL, 0, 0, STP_CHANNEL_NONE, 0, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
@@ -1201,7 +1201,6 @@ ps_hex(const stp_vars_t *v, /* I - File to print to */
int col; /* Current column */
static const char *hex = "0123456789ABCDEF";
-
col = 0;
while (length > 0)
{
@@ -1245,6 +1244,9 @@ ps_ascii85(const stp_vars_t *v, /* I - File to print to */
unsigned char c[5]; /* ASCII85 encoded chars */
static int column = 0; /* Current column */
+#define OUTBUF_SIZE 4096
+ unsigned char outbuffer[OUTBUF_SIZE+10];
+ int outp=0;
while (length > 3)
{
@@ -1256,35 +1258,44 @@ ps_ascii85(const stp_vars_t *v, /* I - File to print to */
if (b == 0)
{
- stp_putc('z', v);
+ outbuffer[outp++]='z';
column ++;
}
else
{
- c[4] = (b % 85) + '!';
+ outbuffer[outp+4] = (b % 85) + '!';
b /= 85;
- c[3] = (b % 85) + '!';
+ outbuffer[outp+3] = (b % 85) + '!';
b /= 85;
- c[2] = (b % 85) + '!';
+ outbuffer[outp+2] = (b % 85) + '!';
b /= 85;
- c[1] = (b % 85) + '!';
+ outbuffer[outp+1] = (b % 85) + '!';
b /= 85;
- c[0] = b + '!';
+ outbuffer[outp] = b + '!';
- stp_zfwrite((const char *)c, 5, 1, v);
+ outp+=5;
column += 5;
}
if (column > 72)
{
- stp_putc('\n', v);
+ outbuffer[outp++]='\n';
column = 0;
}
+ if(outp>=OUTBUF_SIZE)
+ {
+ stp_zfwrite((const char *)outbuffer, outp, 1, v);
+ outp=0;
+ }
+
data += 4;
length -= 4;
}
+ if(outp)
+ stp_zfwrite((const char *)outbuffer, outp, 1, v);
+
if (last_line)
{
if (length > 0)
diff --git a/src/main/print-raw.c b/src/main/print-raw.c
index 5290390..856dd07 100644
--- a/src/main/print-raw.c
+++ b/src/main/print-raw.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-raw.c,v 1.41 2008/07/18 10:57:24 rlk Exp $"
+ * "$Id: print-raw.c,v 1.42 2010/12/05 21:38:15 rlk Exp $"
*
* Print plug-in RAW driver for the GIMP.
*
@@ -77,13 +77,13 @@ static const int ink_count = sizeof(inks) / sizeof(ink_t);
static const stp_parameter_t the_parameters[] =
{
{
- "InkType", N_("Ink Type"), N_("Advanced Printer Setup"),
+ "InkType", N_("Ink Type"), "Color=Yes,Category=Advanced Printer Setup",
N_("Type of ink in the printer"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_FEATURE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
},
{
- "PrintingMode", N_("Printing Mode"), N_("Core Parameter"),
+ "PrintingMode", N_("Printing Mode"), "Color=Yes,Category=Core Parameter",
N_("Printing Output Mode"),
STP_PARAMETER_TYPE_STRING_LIST, STP_PARAMETER_CLASS_CORE,
STP_PARAMETER_LEVEL_BASIC, 1, 1, STP_CHANNEL_NONE, 1, 0
diff --git a/src/main/print-vars.c b/src/main/print-vars.c
index 5214414..218474f 100644
--- a/src/main/print-vars.c
+++ b/src/main/print-vars.c
@@ -1,5 +1,5 @@
/*
- * "$Id: print-vars.c,v 1.90 2010/08/04 00:33:57 rlk Exp $"
+ * "$Id: print-vars.c,v 1.91 2010/12/05 21:38:15 rlk Exp $"
*
* Print plug-in driver utility functions for the GIMP.
*
@@ -84,6 +84,31 @@ struct stp_vars /* Plug-in variables */
static int standard_vars_initialized = 0;
+
+void
+stp_parameter_description_destroy(stp_parameter_t *desc)
+{
+ switch (desc->p_type)
+ {
+ case STP_PARAMETER_TYPE_CURVE:
+ if (desc->bounds.curve)
+ stp_curve_destroy(desc->bounds.curve);
+ desc->bounds.curve = NULL;
+ break;
+ case STP_PARAMETER_TYPE_ARRAY:
+ if (desc->bounds.array)
+ stp_array_destroy(desc->bounds.array);
+ desc->bounds.array = NULL;
+ break;
+ case STP_PARAMETER_TYPE_STRING_LIST:
+ if (desc->bounds.str)
+ stp_string_list_destroy(desc->bounds.str);
+ desc->bounds.str = NULL;
+ break;
+ default:
+ break;
+ }
+}
static stp_vars_t default_vars;
#define CHECK_VARS(v) STPI_ASSERT(v, NULL)
@@ -1602,29 +1627,103 @@ stp_describe_parameter(const stp_vars_t *v, const char *name,
stp_deprintf(STP_DBG_VARS, "Describing invalid parameter %s\n", name);
}
-void
-stp_parameter_description_destroy(stp_parameter_t *desc)
+stp_string_list_t *
+stp_parameter_get_categories(const stp_vars_t *v, const stp_parameter_t *desc)
{
- switch (desc->p_type)
+ const char *dptr;
+ stp_string_list_t *answer;
+ int count = 0;
+ if (!v || !desc || !(desc->category))
+ return NULL;
+ answer = stp_string_list_create();
+ dptr = desc->category;
+ while (dptr)
{
- case STP_PARAMETER_TYPE_CURVE:
- if (desc->bounds.curve)
- stp_curve_destroy(desc->bounds.curve);
- desc->bounds.curve = NULL;
- break;
- case STP_PARAMETER_TYPE_ARRAY:
- if (desc->bounds.array)
- stp_array_destroy(desc->bounds.array);
- desc->bounds.array = NULL;
- break;
- case STP_PARAMETER_TYPE_STRING_LIST:
- if (desc->bounds.str)
- stp_string_list_destroy(desc->bounds.str);
- desc->bounds.str = NULL;
- break;
- default:
- break;
+ const char *xptr = strchr(dptr, '=');
+ if (xptr)
+ {
+ char *name = stp_strndup(dptr, xptr - dptr);
+ char *text;
+ dptr = xptr + 1;
+ xptr = strchr(dptr, ',');
+ if (xptr)
+ {
+ text = stp_strndup(dptr, xptr - dptr);
+ dptr = xptr + 1;
+ }
+ else
+ {
+ text = stp_strdup(dptr);
+ dptr = NULL;
+ }
+ stp_string_list_add_string(answer, name, text);
+ stp_free(name);
+ stp_free(text);
+ count++;
+ }
+ else
+ dptr = NULL;
}
+ if (count == 0)
+ {
+ stp_string_list_destroy(answer);
+ return NULL;
+ }
+ else
+ return answer;
+}
+
+char *
+stp_parameter_get_category(const stp_vars_t *v, const stp_parameter_t *desc,
+ const char *category)
+{
+ const char *dptr;
+ char *cptr;
+ int len;
+ if (!v || !desc || !(desc->category) || !category)
+ return NULL;
+ dptr = desc->category;
+ stp_asprintf(&cptr, "%s=", category);
+ len = stp_strlen(cptr);
+ while (dptr)
+ {
+ if (strncmp(dptr, cptr, len) == 0)
+ {
+ const char *xptr;
+ char *answer;
+ dptr += len;
+ xptr = strchr(dptr, ',');
+ if (xptr)
+ answer = stp_strndup(dptr, xptr - dptr);
+ else
+ answer = stp_strdup(dptr);
+ stp_free(cptr);
+ return answer;
+ }
+ dptr = strchr(dptr, ',');
+ if (dptr)
+ dptr++;
+ }
+ return NULL;
+}
+
+int
+stp_parameter_has_category_value(const stp_vars_t *v,
+ const stp_parameter_t *desc,
+ const char *category, const char *value)
+{
+ const char *dptr;
+ char *cptr;
+ int answer = 0;
+ if (!v || !desc || !category)
+ return -1;
+ cptr = stp_parameter_get_category(v, desc, category);
+ if (cptr == NULL)
+ return 0;
+ if (value == NULL || strcmp(value, cptr) == 0)
+ answer = 1;
+ stp_free(cptr);
+ return answer;
}
const stp_parameter_t *
diff --git a/src/main/sequence.c b/src/main/sequence.c
index 403d89f..b6a8d2e 100644
--- a/src/main/sequence.c
+++ b/src/main/sequence.c
@@ -1,5 +1,5 @@
/*
- * "$Id: sequence.c,v 1.28 2010/08/04 00:33:57 rlk Exp $"
+ * "$Id: sequence.c,v 1.29 2011/02/17 02:15:18 rlk Exp $"
*
* Sequence data type. This type is designed to be derived from by
* the curve and dither matrix types.
@@ -491,6 +491,8 @@ stp_xmltree_create_from_sequence(const stp_sequence_t *seq) /* The sequence */
}
+#define isfinite_null(x) (1)
+
/* "Overloaded" functions */
#define DEFINE_DATA_SETTER(t, name, checkfinite) \
@@ -505,7 +507,7 @@ stp_sequence_set_##name##_data(stp_sequence_t *sequence, \
\
/* Validate the data before we commit to it. */ \
for (i = 0; i < count; i++) \
- if (((checkfinite) && ! isfinite(data[i])) || \
+ if ((! checkfinite(data[i])) || \
data[i] < sequence->blo || \
data[i] > sequence->bhi) \
return 0; \
@@ -515,13 +517,13 @@ stp_sequence_set_##name##_data(stp_sequence_t *sequence, \
return 1; \
}
-DEFINE_DATA_SETTER(float, float, 1)
-DEFINE_DATA_SETTER(long, long, 0)
-DEFINE_DATA_SETTER(unsigned long, ulong, 0)
-DEFINE_DATA_SETTER(int, int, 0)
-DEFINE_DATA_SETTER(unsigned int, uint, 0)
-DEFINE_DATA_SETTER(short, short, 0)
-DEFINE_DATA_SETTER(unsigned short, ushort, 0)
+DEFINE_DATA_SETTER(float, float, isfinite)
+DEFINE_DATA_SETTER(long, long, isfinite_null)
+DEFINE_DATA_SETTER(unsigned long, ulong, isfinite_null)
+DEFINE_DATA_SETTER(int, int, isfinite_null)
+DEFINE_DATA_SETTER(unsigned int, uint, isfinite_null)
+DEFINE_DATA_SETTER(short, short, isfinite_null)
+DEFINE_DATA_SETTER(unsigned short, ushort, isfinite_null)
#define DEFINE_DATA_ACCESSOR(t, lb, ub, name) \
const t * \
diff --git a/src/main/xmlppd.c b/src/main/xmlppd.c
index c633694..60f4365 100644
--- a/src/main/xmlppd.c
+++ b/src/main/xmlppd.c
@@ -489,6 +489,15 @@ stpi_xmlppd_read_ppd_file(const char *filename) /* I - PPD file */
stp_string_list_add_string(pdlist, keyword, value);
}
}
+ if (option)
+ {
+ char buf[64];
+ (void) sprintf(buf, "%d", num_choices);
+ stp_mxmlElementSetAttr(option, "num_choices", buf);
+ option = NULL;
+ stp_option_data_name[0] = '\0';
+ }
+
for (i = 0; i < stp_string_list_count(ialist); i++)
{
stp_param_string_t *pstr = stp_string_list_param(ialist, i);
diff --git a/src/testpattern/Makefile.in b/src/testpattern/Makefile.in
index fc25c0b..6b1b6cc 100644
--- a/src/testpattern/Makefile.in
+++ b/src/testpattern/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -22,8 +23,9 @@
VPATH = @srcdir@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -62,8 +64,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = run-testpattern-2
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
printer_options_SOURCES = printer_options.c
printer_options_OBJECTS = printer_options.$(OBJEXT)
@@ -79,6 +81,7 @@ SCRIPTS = $(noinst_SCRIPTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -104,11 +107,27 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-pkgdataDATA_INSTALL = $(INSTALL_DATA)
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
DATA = $(pkgdata_DATA)
ETAGS = etags
CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkgdatadir = $(datadir)/$(PACKAGE)/samples
ACLOCAL = @ACLOCAL@
@@ -228,6 +247,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -338,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/testpattern/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/testpattern/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/testpattern/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/testpattern/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -363,43 +383,61 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
run-testpattern-2: $(top_builddir)/config.status $(srcdir)/run-testpattern-2.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
printer_options$(EXEEXT): $(printer_options_OBJECTS) $(printer_options_DEPENDENCIES)
@rm -f printer_options$(EXEEXT)
$(LINK) $(printer_options_OBJECTS) $(printer_options_LDADD) $(LIBS)
@@ -429,21 +467,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -462,34 +500,37 @@ clean-libtool:
install-pkgdataDATA: $(pkgdata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
- @list='$(pkgdata_DATA)'; for p in $$list; do \
+ @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
done
uninstall-pkgdataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgdata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
- done
+ @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -497,37 +538,43 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
srcdir=$(srcdir); export srcdir; \
list=' $(TESTS) '; \
+ $(am__tty_colors); \
if test -n "$$list"; then \
for tst in $$list; do \
if test -f ./$$tst; then dir=./; \
@@ -536,49 +583,63 @@ check-TESTS: $(TESTS)
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
+ *[\ \ ]$$tst[\ \ ]*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
+ col=$$red; res=XPASS; \
;; \
*) \
- echo "PASS: $$tst"; \
+ col=$$grn; res=PASS; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
+ *[\ \ ]$$tst[\ \ ]*) \
xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
+ col=$$lgn; res=XFAIL; \
;; \
*) \
failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
+ col=$$red; res=FAIL; \
;; \
esac; \
else \
skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
+ col=$$blu; res=SKIP; \
fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
if test "$$failed" -eq 0; then \
if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
+ banner="$$All$$all $$tests passed"; \
else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
fi; \
else \
if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
+ banner="$$failed of $$all $$tests failed"; \
else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
fi; \
fi; \
dashes="$$banner"; \
skipped=""; \
if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
dashes="$$skipped"; \
fi; \
@@ -589,11 +650,15 @@ check-TESTS: $(TESTS)
dashes="$$report"; \
fi; \
dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
echo "$$banner"; \
test -z "$$skipped" || echo "$$skipped"; \
test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
+ echo "$$dashes$$std"; \
test "$$failed" -eq 0; \
else :; fi
@@ -613,13 +678,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -651,6 +720,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -676,6 +746,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -684,18 +756,28 @@ install-data-am: install-pkgdataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -718,7 +800,7 @@ ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-pkgdataDATA
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
clean-binPROGRAMS clean-generic clean-libtool \
@@ -754,6 +836,7 @@ $(top_builddir)/src/gutenprintui2/libgutenprintui2.la:
testpatternl.o: testpatterny.o
testpattern.o: testpatterny.o
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/testpattern/run-testpattern-2.in b/src/testpattern/run-testpattern-2.in
index afd7d7d..6d0302c 100644
--- a/src/testpattern/run-testpattern-2.in
+++ b/src/testpattern/run-testpattern-2.in
@@ -21,6 +21,11 @@ my $run_installed = 0;
my $use_min_res = 0;
my $help = 0;
my $output = undef;
+my $hsize = 0.1;
+my $vsize = 0.1;
+my $left = 0.15;
+my $top = 0.15;
+my $geometry = "";
my @extras = ();
my @job_extras = ();
@@ -46,11 +51,13 @@ my %param_types;
my %param_classes;
my %param_levels;
my %stp_float_values;
+my %stp_int_values;
my %rerun_cases;
GetOptions("v+" => \$valgrind,
"c" => \$callgrind,
"g" => \$gdb_attach,
+ "G=s" => \$geometry,
"n" => \$dontrun,
"p:i" => \$std_pages,
"P:i" => \$duplex_pages,
@@ -80,6 +87,7 @@ Usage: run-testpattern-2 [opts] [model ...]
families may be tested. By default, all printer families
are tested.
-g Attach testpattern job to gdb
+ -G geometry Specify geometry (=(HxV)(+L+T))
-i Use the installed Gutenprint libraries rather than
source tree
-m md5_dir Generate MD5 checksums and place them in the specified
@@ -157,6 +165,38 @@ chomp $pwd;
my $srcdir = $ENV{"srcdir"};
my $sdir;
+$geometry =~ s/^=*//;
+if ($geometry =~ /^(([01]?(\.[0-9]*)?)x([01]?(\.[0-9]*)?))?(\+([01]?(\.[0-9]*)?)\+([01]?(\.[0-9]*)?))?$/) {
+ my ($H) = $2;
+ my ($V) = $4;
+ my ($L) = $7;
+ my ($T) = $9;
+ if ($H) {
+ $hsize = $H;
+ if ($hsize > 1) {
+ $hsize = 1;
+ }
+ }
+ if ($V) {
+ $vsize = $V;
+ if ($vsize > 1) {
+ $vsize = 1;
+ }
+ }
+ if ($L) {
+ $left = $L;
+ }
+ if ($T) {
+ $top = $T;
+ }
+ if ($left + $hsize > 1) {
+ $left = 1 - $hsize;
+ }
+ if ($top + $vsize > 1) {
+ $top = 1 - $vsize;
+ }
+}
+
if ("$srcdir" eq "" || "$srcdir" eq ".") {
$sdir = $pwd;
} elsif ($srcdir =~ /^\//) {
@@ -191,7 +231,12 @@ sub set_opt($$$) {
} elsif ($type == 4) {
push @extras, "parameter_curve \"$opt\" \"$val\";\n";
} else {
- push @extras, "parameter \"$opt\" \"$val\";\n";
+ if ($opt eq "PageSize" && $val =~ /^([^.]+)\.([0-9]+)x([0-9]+)$/) {
+ push @extras, "parameter \"PageSize\" \"$1\";\n";
+ push @extras, "page_size $2 $3;\n";
+ } else {
+ push @extras, "parameter \"$opt\" \"$val\";\n";
+ }
}
}
@@ -223,14 +268,12 @@ sub print_one_testpattern($;$) {
if ($page == $pages - 1) {
$stuff .= "end_job;\n";
}
- $stuff .= << 'EOF';
-hsize 0.1;
-vsize 0.1;
-left 0.15;
-top 0.15;
-blackline 0;
-steps 16;
-EOF
+ $stuff .= sprintf("hsize %f;\n", $hsize);
+ $stuff .= sprintf("vsize %f;\n", $vsize);
+ $stuff .= sprintf("left %f;\n", $left);
+ $stuff .= sprintf("top %f;\n", $top);
+ $stuff .= "blackline 0;\n";
+ $stuff .= "steps 16;\n";
if ($raw > 0) {
$stuff .= "mode extended $raw 16;\n";
$stuff .= "xpattern ";
@@ -391,6 +434,13 @@ sub build_list($$) {
push @tmp, $defv;
push @tmp, ($defv + $maxv) / 2.0;
push @tmp, $maxv;
+ } elsif ($param_types{$printer}{$key} == 1) {
+ my ($minv) = $stp_int_values{$printer}{'MINVAL'}{$key};
+ my ($maxv) = $stp_int_values{$printer}{'MAXVAL'}{$key};
+ push @tmp, ($minv..$maxv);
+ } elsif ($param_types{$printer}{$key} == 2) {
+ push @tmp, 0;
+ push @tmp, 1;
} elsif (defined($param_types{$printer}{$key})) {
@tmp = keys %{$stpdata{$printer}{$key}};
}
@@ -495,6 +545,7 @@ sub do_printer($$) {
my (@opts) = @$tmp;
my $opt;
my $rawval;
+ my $set_resolution = 0;
foreach $opt (@opts) {
my (@subopts) = split (/,/, $opt);
@extras = ();
@@ -528,7 +579,12 @@ sub do_printer($$) {
$pages = $std_pages;
if ($key ne $_) {
set_opt($_, $base_settings{$_}, $printer);
- if ($key eq "Duplex") {
+ push @mvals, "${_}_$base_settings{$_}";
+ push @ovals, "${_}=$base_settings{$_}";
+ if ($_ eq "Resolution") {
+ $set_resolution = 1;
+ }
+ if ($_ eq "Duplex") {
set_opt("JobMode", "Job", $printer);
$pages = $duplex_pages;
}
@@ -537,14 +593,14 @@ sub do_printer($$) {
my ($mstring) = join "_", @mvals;
my ($ostring) = join "+", @ovals;
my $case;
- if ($use_min_res) {
+ if ($use_min_res && ! $set_resolution) {
$case = "${printer}_PrintingMode_${pmode}_Resolution_${min_res_name}_${mstring}";
} else {
$case = "${printer}_PrintingMode_${pmode}_${mstring}";
}
if (! $rerun || $rerun_cases{$case}) {
do_output($case);
- if ($use_min_res) {
+ if ($use_min_res && ! $set_resolution) {
set_message(" ${ostring}+${pmode}+${min_res_name}");
} else {
set_message(" ${ostring}+${pmode}");
@@ -596,11 +652,11 @@ if ($dontrun) {
$valopts .= ' --db-attach=yes';
}
if ($valgrind == 1) {
- $valgrind_command = "valgrind $valopts -q --num-callers=100 --error-limit=no --leak-check=yes";
+ $valgrind_command = "valgrind $valopts -q --num-callers=50 --error-limit=no --leak-check=yes";
} elsif ($valgrind == 2) {
- $valgrind_command = "valgrind $valopts --num-callers=100 --error-limit=no --leak-resolution=high --leak-check=yes";
+ $valgrind_command = "valgrind $valopts --num-callers=50 --error-limit=no --leak-resolution=high --leak-check=yes";
} elsif ($valgrind == 3) {
- $valgrind_command = "valgrind $valopts --error-limit=no --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes";
+ $valgrind_command = "valgrind $valopts --error-limit=no --num-callers=50 --show-reachable=yes --leak-resolution=high --leak-check=yes";
} elsif ($valgrind == 4) {
$valgrind_command = "valgrind $valopts";
}
diff --git a/src/testpattern/testpattern.c b/src/testpattern/testpattern.c
index e27e73d..624d7d6 100644
--- a/src/testpattern/testpattern.c
+++ b/src/testpattern/testpattern.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testpattern.c,v 1.57 2009/06/14 17:12:44 rlk Exp $"
+ * "$Id: testpattern.c,v 1.59 2011/04/01 01:21:12 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -81,6 +81,7 @@ char *global_printer = NULL;
double global_density;
double global_xtop;
double global_xleft;
+size_mode_t global_size_mode;
double global_hsize;
double global_vsize;
const char *global_image_type;
@@ -406,22 +407,50 @@ do_print(void)
width = right - left;
height = bottom - top;
- top += height * global_xtop;
- left += width * global_xleft;
- if (global_steps > width)
- global_steps = width;
+ switch (global_size_mode)
+ {
+ case SIZE_PT:
+ top += (int) (global_xtop + .5);
+ left += (int) (global_xleft + .5);
+ width = (int) (global_hsize + .5);
+ height = (int) (global_vsize + .5);
+ break;
+ case SIZE_IN:
+ top += (int) ((global_xtop * 72) + .5);
+ left += (int) ((global_xleft * 72) + .5);
+ width = (int) ((global_hsize * 72) + .5);
+ height = (int) ((global_vsize * 72) + .5);
+ break;
+ case SIZE_MM:
+ top += (int) ((global_xtop * 72 / 25.4) + .5);
+ left += (int) ((global_xleft * 72 / 25.4) + .5);
+ width = (int) ((global_hsize * 72 / 25.4) + .5);
+ height = (int) ((global_vsize * 72 / 25.4) + .5);
+ break;
+ case SIZE_RELATIVE:
+ default:
+ top += height * global_xtop;
+ left += width * global_xleft;
+ width *= global_hsize;
+ height *= global_vsize;
+ break;
+ }
+ stp_set_width(v, width);
+ stp_set_height(v, height);
#if 0
width = (width / global_steps) * global_steps;
height = (height / global_n_testpatterns) * global_n_testpatterns;
#endif
- stp_set_width(v, width * global_hsize);
- stp_set_height(v, height * global_vsize);
+ if (global_steps > width)
+ global_steps = width;
global_printer_width = width * x / 72;
global_printer_height = height * y / 72;
global_band_height = global_printer_height / global_n_testpatterns;
+ if (global_band_height == 0)
+ global_band_height = 1;
stp_set_left(v, left);
stp_set_top(v, top);
@@ -436,7 +465,7 @@ do_print(void)
if (stp_print(v, &theImage) != 1)
{
if (!global_quiet)
- fprintf(stderr, "FAILED!");
+ fputs("FAILED", stderr);
failures++;
status = 2;
}
@@ -453,7 +482,7 @@ do_print(void)
if (! global_fail_verify_ok)
{
if (!global_quiet)
- fprintf(stderr, "FAILED!");
+ fputs("FAILED", stderr);
failures++;
status = 2;
}
@@ -465,7 +494,7 @@ do_print(void)
}
}
if (!global_quiet)
- fprintf(stderr, "\n");
+ fputc('\n', stderr);
stp_vars_destroy(v);
stp_free(static_testpatterns);
static_testpatterns = NULL;
@@ -744,6 +773,8 @@ fill_grid_##bits(unsigned char *data, size_t len, size_t scount, \
errlast = errline; \
s_data[0] = multiplier; \
} \
+ else \
+ s_data[0] = 0; \
errval += errmod; \
errline += errdiv; \
if (errval >= xlen - 1) \
@@ -1060,7 +1091,7 @@ Image_get_row(stp_image_t *image, unsigned char *data,
int depth = global_channel_depth;
if (! Image_is_valid)
{
- fprintf(stderr, "Calling Image_get_row with invalid image!\n");
+ fputs("Calling Image_get_row with invalid image!\n", stderr);
abort();
}
if (static_testpatterns[0].type == E_IMAGE)
@@ -1070,44 +1101,46 @@ Image_get_row(stp_image_t *image, unsigned char *data,
yyin);
if (total_read != t->d.image.x * depth * global_bit_depth / 8)
{
- fprintf(stderr, "Read failed!\n");
+ fputs("Read failed!\n", stderr);
return STP_IMAGE_STATUS_ABORT;
}
if (!global_quiet)
- fprintf(stderr, ".");
+ fputc('.', stderr);
}
else
{
static int previous_band = -1;
+ static int printed_blackline = 0;
int band = row / global_band_height;
- if (previous_band == -1)
- {
- fill_pattern(&(static_testpatterns[band]), data,
- global_printer_width, global_steps, depth,
- global_bit_depth / 8);
- previous_band = band;
- if (!global_quiet)
- fprintf(stderr, ".");
- }
- else if (row == global_printer_height - 1)
+ if (row == global_printer_height - 1 && ! global_noblackline)
fill_black(data, global_printer_width, global_steps,
global_bit_depth / 8);
else if (band >= global_n_testpatterns)
fill_white(data, global_printer_width, global_steps,
global_bit_depth / 8);
- else if (band != previous_band && band >= 0)
+ else
{
+ if (band != previous_band)
+ {
+ if (! global_noblackline && printed_blackline == 0)
+ {
+ fill_black(data, global_printer_width, global_steps,
+ global_bit_depth / 8);
+ printed_blackline = 1;
+ return STP_IMAGE_STATUS_OK;
+ }
+ else
+ {
+ previous_band = band;
+ printed_blackline = 0;
+ if (! global_quiet)
+ fputc('.', stderr);
+ }
+ }
fill_pattern(&(static_testpatterns[band]), data,
global_printer_width, global_steps, depth,
global_bit_depth / 8);
- previous_band = band;
- if (!global_quiet)
- fprintf(stderr, ".");
}
- else
- fill_pattern(&(static_testpatterns[band]), data,
- global_printer_width, global_steps, depth,
- global_bit_depth / 8);
}
return STP_IMAGE_STATUS_OK;
}
@@ -1117,7 +1150,7 @@ Image_width(stp_image_t *image)
{
if (! Image_is_valid)
{
- fprintf(stderr, "Calling Image_width with invalid image!\n");
+ fputs("Calling Image_width with invalid image!\n", stderr);
abort();
}
if (static_testpatterns[0].type == E_IMAGE)
@@ -1131,7 +1164,7 @@ Image_height(stp_image_t *image)
{
if (! Image_is_valid)
{
- fprintf(stderr, "Calling Image_height with invalid image!\n");
+ fputs("Calling Image_height with invalid image!\n", stderr);
abort();
}
if (static_testpatterns[0].type == E_IMAGE)
@@ -1145,7 +1178,7 @@ Image_init(stp_image_t *image)
{
if (Image_is_valid)
{
- fprintf(stderr, "Calling Image_init with already valid image!\n");
+ fputs("Calling Image_init with already valid image!\n", stderr);
abort();
}
Image_is_valid = 1;
@@ -1157,7 +1190,7 @@ Image_reset(stp_image_t *image)
{
if (!Image_is_valid)
{
- fprintf(stderr, "Calling Image_reset with invalid image!\n");
+ fputs("Calling Image_reset with invalid image!\n", stderr);
abort();
}
/* dummy function */
@@ -1168,7 +1201,7 @@ Image_conclude(stp_image_t *image)
{
if (! Image_is_valid)
{
- fprintf(stderr, "Calling Image_conclude with invalid image!\n");
+ fputs("Calling Image_conclude with invalid image!\n", stderr);
abort();
}
Image_is_valid = 0;
diff --git a/src/testpattern/testpattern.h b/src/testpattern/testpattern.h
index b8c2b86..3f96c11 100644
--- a/src/testpattern/testpattern.h
+++ b/src/testpattern/testpattern.h
@@ -1,5 +1,5 @@
/*
- * "$Id: testpattern.h,v 1.19 2008/06/28 15:05:28 rlk Exp $"
+ * "$Id: testpattern.h,v 1.20 2010/09/06 17:08:39 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -62,6 +62,13 @@ typedef struct
*/
#define YY_ALWAYS_INTERACTIVE 1
+typedef enum {
+ SIZE_RELATIVE,
+ SIZE_PT,
+ SIZE_IN,
+ SIZE_MM
+} size_mode_t;
+
extern stp_vars_t *global_vars;
extern double global_levels[];
extern double global_gammas[];
@@ -72,6 +79,7 @@ extern char *global_printer;
extern double global_density;
extern double global_xtop;
extern double global_xleft;
+extern size_mode_t global_size_mode;
extern double global_hsize;
extern double global_vsize;
extern int global_noblackline;
diff --git a/src/testpattern/testpatternl.c b/src/testpattern/testpatternl.c
index a3d8dd5..eb4bc23 100644
--- a/src/testpattern/testpatternl.c
+++ b/src/testpattern/testpatternl.c
@@ -360,8 +360,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 47
-#define YY_END_OF_BUFFER 48
+#define YY_NUM_RULES 52
+#define YY_END_OF_BUFFER 53
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -369,37 +369,39 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[268] =
+static yyconst flex_int16_t yy_accept[285] =
{ 0,
- 0, 0, 48, 47, 44, 46, 47, 45, 47, 47,
- 41, 41, 25, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 44, 0, 43, 45, 0, 41,
- 41, 43, 0, 41, 42, 43, 43, 41, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 42, 0,
- 41, 42, 0, 43, 42, 41, 43, 43, 30, 43,
- 43, 43, 39, 43, 43, 43, 43, 43, 43, 43,
-
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 29, 43,
- 43, 13, 43, 43, 43, 43, 42, 43, 43, 27,
- 40, 43, 43, 43, 43, 43, 32, 31, 22, 43,
- 43, 43, 28, 14, 43, 43, 43, 43, 43, 26,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 40, 43, 43, 43, 43, 43, 1, 15,
- 20, 43, 2, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 3, 16, 33, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
-
- 43, 34, 43, 43, 43, 43, 43, 43, 40, 43,
- 23, 12, 43, 38, 43, 43, 40, 43, 40, 35,
- 36, 43, 43, 18, 5, 43, 43, 43, 40, 21,
- 43, 43, 43, 43, 43, 19, 17, 4, 40, 24,
- 6, 37, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 7, 43, 8, 43,
- 43, 43, 11, 10, 43, 9, 0
+ 0, 0, 53, 52, 49, 51, 52, 50, 52, 52,
+ 46, 46, 30, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 49, 0, 48, 50, 0, 46,
+ 46, 48, 0, 46, 47, 48, 48, 46, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 18, 48, 48, 48, 48, 48, 19, 48, 48, 48,
+ 48, 48, 17, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 47, 0, 46, 47, 0, 48, 47, 46,
+ 48, 48, 35, 48, 48, 48, 44, 48, 48, 48,
+
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 34, 48, 48, 48, 13, 48, 48,
+ 48, 48, 47, 48, 48, 32, 45, 48, 48, 48,
+ 48, 48, 37, 36, 27, 48, 48, 48, 33, 14,
+ 48, 48, 48, 48, 48, 31, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 45, 48, 48, 48, 48, 48, 1, 20, 25, 48,
+ 2, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 3, 21, 38, 48, 48, 48,
+
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 39, 48, 48, 48, 48, 48, 48, 48, 48,
+ 45, 48, 28, 12, 48, 43, 48, 48, 45, 48,
+ 45, 40, 41, 48, 48, 23, 5, 48, 48, 48,
+ 48, 48, 45, 26, 48, 48, 48, 48, 16, 48,
+ 48, 24, 22, 4, 45, 29, 6, 15, 42, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 7, 48, 8, 48, 48, 48, 11,
+ 10, 48, 9, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -445,75 +447,77 @@ static yyconst flex_int32_t yy_meta[66] =
3, 3, 3, 3, 3
} ;
-static yyconst flex_int16_t yy_base[272] =
+static yyconst flex_int16_t yy_base[289] =
{ 0,
- 0, 0, 824, 843, 821, 843, 818, 0, 815, 56,
- 60, 64, 843, 810, 68, 74, 70, 71, 72, 75,
- 90, 76, 112, 117, 109, 80, 132, 81, 115, 123,
- 127, 133, 138, 147, 816, 812, 843, 0, 809, 159,
- 187, 801, 172, 191, 201, 213, 238, 217, 146, 152,
- 170, 166, 179, 177, 221, 181, 233, 249, 242, 252,
- 167, 234, 266, 319, 268, 260, 228, 264, 267, 290,
- 280, 288, 295, 296, 297, 302, 324, 307, 357, 366,
- 370, 374, 331, 344, 384, 0, 354, 378, 380, 381,
- 382, 389, 230, 391, 305, 390, 392, 394, 403, 397,
-
- 299, 401, 404, 407, 418, 409, 308, 412, 415, 432,
- 413, 437, 442, 420, 439, 450, 453, 452, 799, 457,
- 460, 796, 458, 463, 465, 469, 489, 466, 478, 786,
- 782, 471, 483, 486, 498, 501, 763, 754, 738, 493,
- 495, 494, 708, 684, 509, 517, 518, 520, 530, 639,
- 534, 519, 528, 536, 532, 521, 540, 546, 547, 548,
- 550, 542, 560, 558, 554, 563, 572, 573, 627, 555,
- 474, 585, 472, 575, 577, 586, 596, 589, 587, 592,
- 612, 597, 613, 599, 414, 411, 355, 614, 601, 616,
- 617, 602, 624, 638, 626, 642, 640, 646, 647, 658,
-
- 663, 351, 653, 661, 665, 668, 673, 669, 341, 674,
- 311, 298, 675, 286, 680, 664, 269, 689, 265, 259,
- 235, 676, 698, 222, 208, 681, 695, 703, 207, 186,
- 697, 709, 720, 722, 725, 144, 141, 140, 130, 102,
- 705, 97, 771, 718, 701, 730, 735, 733, 741, 743,
- 742, 745, 750, 759, 748, 785, 95, 749, 93, 767,
- 768, 779, 87, 85, 755, 82, 843, 833, 836, 839,
- 84
+ 0, 0, 882, 887, 874, 887, 871, 0, 868, 56,
+ 60, 64, 887, 863, 68, 74, 70, 71, 72, 75,
+ 90, 76, 112, 122, 109, 105, 137, 136, 133, 119,
+ 126, 132, 150, 153, 868, 865, 887, 0, 861, 177,
+ 190, 855, 79, 200, 205, 217, 242, 221, 227, 228,
+ 182, 229, 194, 225, 196, 160, 123, 253, 255, 235,
+ 256, 246, 273, 326, 270, 264, 854, 284, 265, 272,
+ 306, 269, 853, 286, 291, 301, 336, 300, 294, 327,
+ 316, 323, 349, 375, 362, 302, 381, 386, 390, 0,
+ 346, 361, 394, 395, 396, 399, 164, 401, 397, 375,
+
+ 400, 403, 402, 405, 415, 418, 407, 412, 417, 420,
+ 422, 434, 442, 450, 444, 452, 456, 454, 462, 464,
+ 465, 476, 472, 851, 470, 480, 483, 849, 481, 468,
+ 484, 497, 422, 485, 487, 846, 839, 482, 507, 510,
+ 491, 512, 836, 793, 786, 516, 520, 519, 778, 738,
+ 526, 533, 539, 531, 541, 712, 543, 553, 554, 547,
+ 557, 555, 558, 559, 560, 563, 561, 571, 568, 577,
+ 583, 589, 587, 600, 594, 595, 708, 659, 655, 588,
+ 581, 602, 606, 614, 620, 617, 615, 619, 635, 624,
+ 641, 621, 645, 632, 574, 567, 514, 647, 627, 653,
+
+ 651, 652, 629, 670, 669, 657, 673, 679, 682, 686,
+ 690, 499, 685, 692, 691, 696, 697, 700, 706, 702,
+ 428, 710, 427, 426, 704, 337, 713, 727, 335, 730,
+ 318, 315, 312, 729, 732, 238, 198, 734, 745, 733,
+ 717, 751, 188, 181, 739, 754, 756, 761, 176, 766,
+ 771, 163, 152, 151, 117, 115, 772, 102, 97, 810,
+ 776, 773, 758, 781, 782, 788, 790, 794, 791, 797,
+ 784, 805, 830, 95, 808, 93, 828, 818, 811, 92,
+ 87, 814, 85, 887, 877, 880, 883, 84
} ;
-static yyconst flex_int16_t yy_def[272] =
+static yyconst flex_int16_t yy_def[289] =
{ 0,
- 267, 1, 267, 267, 267, 267, 268, 269, 270, 267,
- 271, 271, 267, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 267, 268, 267, 269, 270, 267,
- 267, 271, 267, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 267, 267,
- 267, 267, 267, 271, 271, 47, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
-
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 267, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
-
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 0, 267, 267, 267,
- 267
+ 284, 1, 284, 284, 284, 284, 285, 286, 287, 284,
+ 288, 288, 284, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 284, 285, 284, 286, 287, 284,
+ 284, 288, 284, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 284, 284, 284, 284, 284, 288, 288, 47,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 284, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 0, 284, 284, 284, 284
} ;
-static yyconst flex_int16_t yy_nxt[909] =
+static yyconst flex_int16_t yy_nxt[953] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 10, 4, 11,
12, 12, 13, 14, 15, 16, 17, 18, 14, 19,
@@ -522,102 +526,107 @@ static yyconst flex_int16_t yy_nxt[909] =
14, 15, 16, 17, 18, 14, 19, 20, 21, 14,
22, 23, 24, 25, 26, 27, 28, 29, 30, 14,
31, 32, 33, 34, 14, 40, 41, 41, 43, 44,
- 44, 45, 43, 48, 48, 48, 267, 46, 267, 267,
- 267, 46, 267, 267, 267, 57, 42, 53, 267, 267,
- 267, 62, 49, 267, 50, 267, 47, 55, 267, 51,
-
- 72, 267, 58, 267, 46, 267, 59, 56, 46, 54,
- 267, 52, 57, 69, 53, 60, 61, 267, 62, 49,
- 267, 50, 47, 267, 55, 267, 51, 72, 58, 63,
- 65, 267, 59, 56, 66, 267, 68, 52, 267, 69,
- 267, 267, 60, 61, 67, 70, 267, 73, 267, 267,
- 74, 64, 267, 76, 267, 267, 63, 65, 75, 87,
- 267, 66, 71, 68, 78, 88, 77, 43, 79, 79,
- 79, 67, 70, 73, 267, 267, 80, 74, 267, 90,
- 76, 82, 82, 82, 75, 267, 87, 267, 71, 267,
- 101, 78, 88, 77, 267, 43, 81, 81, 81, 43,
-
- 44, 44, 45, 80, 80, 91, 90, 89, 46, 43,
- 45, 45, 45, 94, 92, 267, 267, 101, 46, 83,
- 84, 267, 85, 85, 85, 43, 48, 48, 48, 267,
- 267, 80, 91, 89, 46, 46, 267, 93, 267, 94,
- 92, 267, 267, 267, 112, 46, 267, 86, 86, 86,
- 267, 86, 86, 86, 86, 86, 86, 267, 95, 102,
- 267, 46, 96, 99, 93, 100, 97, 267, 267, 134,
- 98, 112, 267, 267, 267, 267, 267, 267, 86, 86,
- 86, 86, 86, 86, 103, 95, 102, 110, 267, 96,
- 99, 111, 100, 97, 267, 113, 267, 98, 267, 114,
-
- 104, 118, 119, 267, 267, 267, 267, 267, 120, 115,
- 267, 103, 121, 267, 110, 267, 267, 111, 123, 267,
- 116, 113, 117, 124, 122, 114, 104, 267, 118, 119,
- 136, 126, 267, 105, 106, 120, 115, 125, 142, 121,
- 127, 127, 127, 107, 108, 123, 116, 147, 117, 267,
- 124, 122, 267, 85, 85, 85, 109, 136, 126, 267,
- 105, 106, 267, 267, 125, 43, 79, 79, 79, 128,
- 107, 108, 83, 83, 80, 127, 127, 127, 43, 81,
- 81, 81, 109, 82, 82, 82, 267, 80, 267, 267,
- 267, 80, 267, 85, 85, 85, 128, 267, 267, 267,
-
- 267, 80, 267, 130, 129, 267, 133, 131, 135, 267,
- 139, 267, 267, 132, 80, 267, 141, 267, 80, 267,
- 267, 267, 267, 267, 145, 65, 267, 137, 267, 138,
- 130, 129, 78, 133, 131, 135, 144, 139, 143, 132,
- 267, 140, 146, 141, 149, 267, 52, 267, 152, 148,
- 267, 145, 65, 137, 150, 138, 153, 151, 267, 78,
- 267, 267, 144, 154, 143, 267, 267, 140, 267, 146,
- 149, 267, 52, 267, 267, 152, 148, 267, 156, 267,
- 267, 150, 267, 153, 151, 155, 267, 157, 158, 163,
- 154, 267, 165, 162, 267, 160, 159, 161, 127, 127,
-
- 127, 267, 267, 267, 164, 156, 267, 166, 167, 267,
- 170, 155, 171, 157, 169, 158, 163, 267, 172, 165,
- 162, 160, 159, 161, 168, 267, 267, 267, 267, 267,
- 174, 164, 175, 173, 166, 167, 267, 170, 267, 171,
- 267, 169, 267, 177, 267, 172, 176, 178, 267, 182,
- 267, 168, 179, 183, 267, 267, 267, 174, 267, 175,
- 173, 181, 267, 267, 186, 187, 267, 180, 267, 189,
- 177, 267, 184, 176, 178, 191, 182, 185, 179, 183,
- 267, 267, 188, 267, 190, 267, 192, 193, 181, 195,
- 197, 186, 187, 267, 267, 267, 189, 267, 184, 194,
-
- 267, 198, 191, 185, 267, 267, 196, 267, 188, 267,
- 267, 190, 192, 201, 193, 200, 195, 197, 199, 202,
- 267, 267, 267, 203, 267, 267, 194, 205, 198, 204,
- 206, 208, 267, 196, 267, 267, 209, 210, 207, 212,
- 201, 211, 200, 215, 199, 202, 267, 267, 267, 203,
- 267, 213, 214, 205, 267, 267, 204, 206, 208, 218,
- 219, 267, 209, 217, 210, 212, 267, 216, 211, 267,
- 215, 267, 267, 267, 222, 220, 267, 267, 213, 214,
- 221, 267, 267, 267, 267, 231, 218, 219, 267, 267,
- 217, 224, 267, 223, 216, 226, 230, 267, 225, 227,
-
- 228, 222, 220, 267, 232, 267, 267, 221, 235, 267,
- 229, 267, 231, 267, 233, 234, 267, 267, 224, 223,
- 237, 236, 226, 230, 225, 227, 267, 228, 267, 238,
- 267, 232, 239, 267, 250, 235, 229, 240, 267, 242,
- 233, 267, 234, 267, 243, 249, 267, 237, 236, 267,
- 267, 267, 241, 267, 251, 238, 267, 267, 267, 239,
- 250, 252, 267, 267, 240, 253, 242, 267, 254, 256,
- 262, 267, 249, 255, 266, 267, 267, 257, 241, 267,
- 258, 251, 260, 259, 263, 244, 245, 267, 252, 246,
- 267, 253, 247, 267, 267, 254, 256, 262, 261, 255,
-
- 264, 266, 248, 257, 267, 265, 258, 267, 260, 267,
- 259, 263, 244, 245, 37, 37, 246, 35, 267, 247,
- 37, 37, 35, 267, 267, 261, 264, 267, 248, 267,
- 267, 267, 265, 36, 36, 36, 38, 267, 38, 39,
- 39, 39, 3, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
-
- 267, 267, 267, 267, 267, 267, 267, 267
+ 44, 45, 43, 48, 48, 48, 284, 46, 284, 284,
+ 284, 46, 284, 284, 284, 57, 42, 53, 86, 86,
+ 86, 62, 49, 284, 50, 284, 47, 55, 284, 51,
+
+ 284, 284, 58, 284, 46, 284, 59, 56, 46, 54,
+ 284, 52, 57, 284, 53, 60, 61, 284, 62, 49,
+ 284, 50, 47, 284, 55, 284, 51, 284, 58, 63,
+ 284, 284, 59, 56, 284, 65, 69, 52, 70, 66,
+ 284, 284, 60, 61, 284, 284, 78, 67, 99, 68,
+ 71, 64, 80, 74, 76, 75, 63, 79, 284, 284,
+ 284, 284, 65, 69, 70, 77, 66, 72, 284, 73,
+ 82, 284, 284, 78, 67, 99, 68, 71, 81, 80,
+ 74, 76, 75, 79, 284, 43, 83, 83, 83, 284,
+ 284, 77, 98, 72, 84, 73, 284, 82, 43, 85,
+
+ 85, 85, 284, 140, 284, 81, 284, 84, 43, 44,
+ 44, 45, 97, 43, 45, 45, 45, 46, 98, 93,
+ 95, 84, 46, 87, 88, 284, 89, 89, 89, 43,
+ 48, 48, 48, 284, 84, 284, 284, 284, 46, 97,
+ 91, 92, 94, 284, 46, 93, 284, 95, 104, 46,
+ 284, 90, 90, 90, 284, 90, 90, 90, 90, 90,
+ 90, 284, 96, 284, 284, 46, 100, 91, 92, 94,
+ 101, 106, 284, 284, 102, 104, 103, 284, 284, 105,
+ 284, 284, 90, 90, 90, 90, 90, 90, 96, 114,
+ 122, 107, 284, 100, 284, 115, 117, 101, 106, 284,
+
+ 116, 102, 284, 103, 118, 124, 105, 108, 284, 284,
+ 123, 86, 86, 86, 284, 129, 114, 122, 107, 84,
+ 284, 115, 117, 284, 284, 119, 284, 116, 128, 131,
+ 118, 284, 124, 108, 284, 284, 120, 123, 121, 125,
+ 109, 110, 129, 284, 284, 284, 84, 132, 130, 126,
+ 111, 112, 119, 127, 284, 128, 131, 43, 83, 83,
+ 83, 134, 120, 113, 121, 125, 84, 109, 110, 284,
+ 43, 85, 85, 85, 132, 130, 126, 111, 112, 84,
+ 127, 87, 87, 284, 133, 133, 133, 135, 134, 113,
+ 133, 133, 133, 84, 284, 89, 89, 89, 284, 89,
+
+ 89, 89, 284, 284, 284, 284, 84, 284, 284, 284,
+ 284, 284, 143, 284, 135, 284, 139, 136, 141, 145,
+ 284, 137, 142, 284, 147, 284, 284, 138, 284, 151,
+ 284, 133, 133, 133, 284, 284, 284, 144, 143, 150,
+ 146, 152, 284, 139, 136, 141, 145, 65, 137, 142,
+ 284, 147, 284, 138, 148, 149, 151, 52, 284, 82,
+ 284, 153, 284, 144, 284, 150, 146, 154, 152, 156,
+ 284, 157, 284, 284, 65, 155, 284, 160, 284, 159,
+ 284, 149, 158, 52, 284, 163, 82, 164, 284, 284,
+ 284, 284, 284, 284, 154, 284, 156, 161, 157, 284,
+
+ 168, 155, 162, 173, 160, 284, 159, 284, 171, 158,
+ 165, 166, 163, 172, 164, 284, 169, 176, 284, 167,
+ 284, 170, 284, 161, 284, 177, 168, 284, 284, 162,
+ 173, 174, 175, 178, 284, 171, 165, 179, 166, 284,
+ 172, 284, 169, 180, 176, 167, 182, 284, 170, 284,
+ 181, 284, 177, 183, 185, 284, 186, 184, 174, 175,
+ 178, 284, 284, 284, 179, 284, 284, 284, 284, 284,
+ 180, 284, 189, 182, 190, 284, 284, 181, 196, 284,
+ 183, 185, 284, 186, 184, 284, 187, 191, 197, 284,
+ 192, 284, 194, 188, 195, 284, 284, 284, 193, 189,
+
+ 198, 190, 284, 284, 199, 196, 201, 200, 284, 206,
+ 284, 205, 187, 191, 284, 197, 192, 207, 194, 202,
+ 195, 204, 284, 284, 203, 284, 198, 284, 284, 284,
+ 208, 199, 284, 201, 200, 284, 206, 284, 205, 210,
+ 284, 211, 217, 284, 207, 202, 209, 212, 204, 284,
+ 213, 203, 214, 284, 215, 284, 225, 208, 216, 284,
+ 284, 284, 221, 284, 220, 284, 210, 284, 211, 217,
+ 218, 219, 209, 212, 222, 223, 213, 284, 284, 214,
+ 215, 284, 228, 225, 226, 216, 227, 284, 221, 224,
+ 284, 220, 230, 284, 284, 231, 229, 218, 284, 284,
+
+ 284, 222, 223, 232, 284, 284, 234, 233, 284, 228,
+ 284, 226, 284, 227, 284, 224, 284, 236, 284, 230,
+ 284, 284, 231, 229, 235, 284, 237, 239, 240, 244,
+ 232, 238, 241, 234, 233, 284, 242, 284, 284, 243,
+ 284, 284, 284, 252, 236, 246, 284, 284, 245, 248,
+ 235, 249, 237, 284, 239, 240, 244, 238, 241, 284,
+ 251, 250, 284, 242, 284, 243, 284, 247, 253, 284,
+ 252, 254, 246, 256, 284, 245, 248, 255, 249, 284,
+ 284, 284, 268, 258, 284, 259, 284, 251, 250, 284,
+ 284, 257, 284, 247, 284, 253, 284, 254, 284, 284,
+
+ 256, 284, 284, 266, 255, 284, 267, 269, 276, 268,
+ 258, 260, 259, 284, 270, 271, 284, 257, 284, 284,
+ 272, 273, 284, 274, 261, 262, 284, 275, 263, 279,
+ 266, 264, 267, 283, 269, 276, 284, 282, 284, 277,
+ 270, 265, 271, 278, 284, 280, 272, 284, 273, 274,
+ 281, 261, 262, 275, 284, 263, 279, 284, 264, 284,
+ 283, 284, 284, 284, 282, 277, 37, 265, 37, 35,
+ 278, 284, 280, 37, 37, 35, 281, 36, 36, 36,
+ 38, 284, 38, 39, 39, 39, 3, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284
} ;
-static yyconst flex_int16_t yy_chk[909] =
+static yyconst flex_int16_t yy_chk[953] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -627,98 +636,103 @@ static yyconst flex_int16_t yy_chk[909] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 10, 10, 10, 11, 11,
11, 11, 12, 12, 12, 12, 15, 11, 17, 18,
- 19, 12, 16, 20, 22, 19, 271, 17, 26, 28,
- 266, 22, 15, 264, 16, 263, 11, 18, 21, 16,
-
- 28, 259, 19, 257, 11, 242, 20, 18, 12, 17,
- 240, 16, 19, 26, 17, 21, 21, 25, 22, 15,
- 23, 16, 11, 29, 18, 24, 16, 28, 19, 23,
- 24, 30, 20, 18, 24, 31, 25, 16, 239, 26,
- 27, 32, 21, 21, 24, 27, 33, 29, 238, 237,
- 30, 23, 236, 32, 49, 34, 23, 24, 31, 49,
- 50, 24, 27, 25, 34, 50, 33, 40, 40, 40,
- 40, 24, 27, 29, 52, 61, 40, 30, 51, 52,
- 32, 43, 43, 43, 31, 54, 49, 53, 27, 56,
- 61, 34, 50, 33, 230, 41, 41, 41, 41, 44,
-
- 44, 44, 44, 40, 41, 53, 52, 51, 44, 45,
- 45, 45, 45, 56, 54, 229, 225, 61, 45, 46,
- 46, 46, 46, 46, 46, 48, 48, 48, 48, 55,
- 224, 41, 53, 51, 48, 44, 67, 55, 93, 56,
- 54, 57, 62, 221, 67, 45, 47, 47, 47, 47,
- 59, 47, 47, 47, 47, 47, 47, 58, 57, 62,
- 60, 48, 58, 59, 55, 60, 58, 220, 66, 93,
- 58, 67, 68, 219, 63, 69, 65, 217, 47, 47,
- 47, 47, 47, 47, 63, 57, 62, 65, 71, 58,
- 59, 66, 60, 58, 214, 68, 72, 58, 70, 69,
-
- 63, 71, 72, 73, 74, 75, 212, 101, 73, 70,
- 76, 63, 73, 95, 65, 78, 107, 66, 75, 211,
- 70, 68, 70, 76, 74, 69, 63, 64, 71, 72,
- 95, 78, 77, 64, 64, 73, 70, 77, 101, 73,
- 83, 83, 83, 64, 64, 75, 70, 107, 70, 209,
- 76, 74, 84, 84, 84, 84, 64, 95, 78, 202,
- 64, 64, 87, 187, 77, 79, 79, 79, 79, 87,
- 64, 64, 80, 80, 79, 80, 80, 80, 81, 81,
- 81, 81, 64, 82, 82, 82, 88, 81, 89, 90,
- 91, 82, 85, 85, 85, 85, 87, 92, 96, 94,
-
- 97, 79, 98, 89, 88, 100, 92, 90, 94, 102,
- 98, 99, 103, 91, 81, 104, 100, 106, 82, 186,
- 108, 111, 185, 109, 104, 108, 105, 96, 114, 97,
- 89, 88, 109, 92, 90, 94, 103, 98, 102, 91,
- 110, 99, 105, 100, 111, 112, 106, 115, 114, 110,
- 113, 104, 108, 96, 112, 97, 115, 113, 116, 109,
- 118, 117, 103, 116, 102, 120, 123, 99, 121, 105,
- 111, 124, 106, 125, 128, 114, 110, 126, 118, 132,
- 173, 112, 171, 115, 113, 117, 129, 120, 121, 128,
- 116, 133, 132, 126, 134, 124, 123, 125, 127, 127,
-
- 127, 140, 142, 141, 129, 118, 135, 133, 134, 136,
- 140, 117, 141, 120, 136, 121, 128, 145, 142, 132,
- 126, 124, 123, 125, 135, 146, 147, 152, 148, 156,
- 146, 129, 147, 145, 133, 134, 153, 140, 149, 141,
- 155, 136, 151, 149, 154, 142, 148, 151, 157, 155,
- 162, 135, 152, 156, 158, 159, 160, 146, 161, 147,
- 145, 154, 165, 170, 159, 160, 164, 153, 163, 162,
- 149, 166, 157, 148, 151, 164, 155, 158, 152, 156,
- 167, 168, 161, 174, 163, 175, 165, 166, 154, 168,
- 174, 159, 160, 172, 176, 179, 162, 178, 157, 167,
-
- 180, 175, 164, 158, 177, 182, 172, 184, 161, 189,
- 192, 163, 165, 178, 166, 177, 168, 174, 176, 179,
- 181, 183, 188, 180, 190, 191, 167, 182, 175, 181,
- 183, 188, 193, 172, 195, 169, 189, 190, 184, 192,
- 178, 191, 177, 195, 176, 179, 194, 150, 197, 180,
- 196, 193, 194, 182, 198, 199, 181, 183, 188, 198,
- 199, 203, 189, 197, 190, 192, 200, 196, 191, 204,
- 195, 201, 216, 205, 203, 200, 206, 208, 193, 194,
- 201, 207, 210, 213, 222, 216, 198, 199, 215, 226,
- 197, 205, 144, 204, 196, 207, 215, 218, 206, 208,
-
- 210, 203, 200, 227, 218, 231, 223, 201, 226, 245,
- 213, 228, 216, 241, 222, 223, 143, 232, 205, 204,
- 228, 227, 207, 215, 206, 208, 244, 210, 233, 231,
- 234, 218, 232, 235, 245, 226, 213, 233, 246, 235,
- 222, 248, 223, 247, 241, 244, 139, 228, 227, 249,
- 251, 250, 234, 252, 246, 231, 255, 258, 253, 232,
- 245, 247, 138, 265, 233, 248, 235, 254, 249, 251,
- 258, 137, 244, 250, 265, 260, 261, 252, 234, 243,
- 253, 246, 255, 254, 260, 243, 243, 262, 247, 243,
- 131, 248, 243, 256, 130, 249, 251, 258, 256, 250,
-
- 261, 265, 243, 252, 122, 262, 253, 119, 255, 42,
- 254, 260, 243, 243, 39, 36, 243, 35, 14, 243,
- 9, 7, 5, 3, 0, 256, 261, 0, 243, 0,
- 0, 0, 262, 268, 268, 268, 269, 0, 269, 270,
- 270, 270, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
-
- 267, 267, 267, 267, 267, 267, 267, 267
+ 19, 12, 16, 20, 22, 19, 288, 17, 43, 43,
+ 43, 22, 15, 283, 16, 281, 11, 18, 21, 16,
+
+ 280, 276, 19, 274, 11, 259, 20, 18, 12, 17,
+ 258, 16, 19, 26, 17, 21, 21, 25, 22, 15,
+ 23, 16, 11, 256, 18, 255, 16, 30, 19, 23,
+ 24, 57, 20, 18, 31, 24, 25, 16, 26, 24,
+ 32, 29, 21, 21, 28, 27, 30, 24, 57, 24,
+ 27, 23, 32, 28, 29, 28, 23, 31, 33, 254,
+ 253, 34, 24, 25, 26, 29, 24, 27, 56, 27,
+ 34, 252, 97, 30, 24, 57, 24, 27, 33, 32,
+ 28, 29, 28, 31, 249, 40, 40, 40, 40, 244,
+ 51, 29, 56, 27, 40, 27, 243, 34, 41, 41,
+
+ 41, 41, 53, 97, 55, 33, 237, 41, 44, 44,
+ 44, 44, 55, 45, 45, 45, 45, 44, 56, 51,
+ 53, 40, 45, 46, 46, 46, 46, 46, 46, 48,
+ 48, 48, 48, 54, 41, 49, 50, 52, 48, 55,
+ 49, 50, 52, 60, 44, 51, 236, 53, 60, 45,
+ 47, 47, 47, 47, 62, 47, 47, 47, 47, 47,
+ 47, 58, 54, 59, 61, 48, 58, 49, 50, 52,
+ 58, 62, 66, 69, 58, 60, 59, 72, 65, 61,
+ 70, 63, 47, 47, 47, 47, 47, 47, 54, 65,
+ 72, 63, 68, 58, 74, 66, 69, 58, 62, 75,
+
+ 68, 58, 79, 59, 70, 75, 61, 63, 78, 76,
+ 74, 86, 86, 86, 71, 79, 65, 72, 63, 86,
+ 233, 66, 69, 232, 81, 71, 231, 68, 78, 81,
+ 70, 82, 75, 63, 64, 80, 71, 74, 71, 76,
+ 64, 64, 79, 229, 77, 226, 86, 82, 80, 77,
+ 64, 64, 71, 77, 91, 78, 81, 83, 83, 83,
+ 83, 91, 71, 64, 71, 76, 83, 64, 64, 92,
+ 85, 85, 85, 85, 82, 80, 77, 64, 64, 85,
+ 77, 84, 84, 100, 84, 84, 84, 92, 91, 64,
+ 87, 87, 87, 83, 88, 88, 88, 88, 89, 89,
+
+ 89, 89, 93, 94, 95, 99, 85, 96, 101, 98,
+ 103, 102, 100, 104, 92, 107, 96, 93, 98, 102,
+ 108, 94, 99, 105, 104, 109, 106, 95, 110, 108,
+ 111, 133, 133, 133, 224, 223, 221, 101, 100, 107,
+ 103, 109, 112, 96, 93, 98, 102, 112, 94, 99,
+ 113, 104, 115, 95, 105, 106, 108, 110, 114, 113,
+ 116, 111, 118, 101, 117, 107, 103, 114, 109, 116,
+ 119, 117, 120, 121, 112, 115, 130, 120, 125, 119,
+ 123, 106, 118, 110, 122, 123, 113, 125, 126, 129,
+ 138, 127, 131, 134, 114, 135, 116, 121, 117, 141,
+
+ 130, 115, 122, 138, 120, 132, 119, 212, 134, 118,
+ 126, 127, 123, 135, 125, 139, 131, 141, 140, 129,
+ 142, 132, 197, 121, 146, 142, 130, 148, 147, 122,
+ 138, 139, 140, 146, 151, 134, 126, 147, 127, 154,
+ 135, 152, 131, 148, 141, 129, 152, 153, 132, 155,
+ 151, 157, 142, 153, 155, 160, 157, 154, 139, 140,
+ 146, 158, 159, 162, 147, 161, 163, 164, 165, 167,
+ 148, 166, 160, 152, 161, 196, 169, 151, 167, 168,
+ 153, 155, 195, 157, 154, 170, 158, 162, 168, 181,
+ 163, 171, 165, 159, 166, 173, 180, 172, 164, 160,
+
+ 169, 161, 175, 176, 170, 167, 172, 171, 174, 180,
+ 182, 176, 158, 162, 183, 168, 163, 182, 165, 173,
+ 166, 175, 184, 187, 174, 186, 169, 188, 185, 192,
+ 183, 170, 190, 172, 171, 199, 180, 203, 176, 185,
+ 194, 186, 192, 189, 182, 173, 184, 187, 175, 191,
+ 188, 174, 189, 193, 190, 198, 203, 183, 191, 201,
+ 202, 200, 199, 179, 198, 206, 185, 178, 186, 192,
+ 193, 194, 184, 187, 200, 201, 188, 205, 204, 189,
+ 190, 207, 206, 203, 204, 191, 205, 208, 199, 202,
+ 209, 198, 208, 213, 210, 209, 207, 193, 211, 215,
+
+ 214, 200, 201, 210, 216, 217, 213, 211, 218, 206,
+ 220, 204, 225, 205, 219, 202, 177, 215, 222, 208,
+ 156, 227, 209, 207, 214, 241, 216, 218, 219, 227,
+ 210, 217, 220, 213, 211, 228, 222, 234, 230, 225,
+ 235, 240, 238, 241, 215, 230, 150, 245, 228, 235,
+ 214, 238, 216, 239, 218, 219, 227, 217, 220, 242,
+ 240, 239, 246, 222, 247, 225, 263, 234, 242, 248,
+ 241, 245, 230, 247, 250, 228, 235, 246, 238, 251,
+ 257, 262, 263, 250, 261, 251, 149, 240, 239, 264,
+ 265, 248, 271, 234, 145, 242, 266, 245, 267, 269,
+
+ 247, 144, 268, 261, 246, 270, 262, 264, 271, 263,
+ 250, 257, 251, 272, 265, 266, 275, 248, 260, 279,
+ 267, 268, 282, 269, 260, 260, 278, 270, 260, 275,
+ 261, 260, 262, 282, 264, 271, 277, 279, 273, 272,
+ 265, 260, 266, 273, 143, 277, 267, 137, 268, 269,
+ 278, 260, 260, 270, 136, 260, 275, 128, 260, 124,
+ 282, 73, 67, 42, 279, 272, 39, 260, 36, 35,
+ 273, 14, 277, 9, 7, 5, 278, 285, 285, 285,
+ 286, 3, 286, 287, 287, 287, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284
} ;
static yy_state_type yy_last_accepting_state;
@@ -737,7 +751,7 @@ int yy_flex_debug = 0;
char *yytext;
#line 1 "testpatternl.l"
/*
- * "$Id: testpatternl.l,v 1.25 2009/06/14 17:12:44 rlk Exp $"
+ * "$Id: testpatternl.l,v 1.26 2010/09/06 17:08:39 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -797,7 +811,7 @@ do \
while (0)
-#line 801 "testpatternl.c"
+#line 815 "testpatternl.c"
#define INITIAL 0
@@ -982,7 +996,7 @@ YY_DECL
#line 77 "testpatternl.l"
-#line 986 "testpatternl.c"
+#line 1000 "testpatternl.c"
if ( !(yy_init) )
{
@@ -1035,13 +1049,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 268 )
+ if ( yy_current_state >= 285 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 843 );
+ while ( yy_base[yy_current_state] != 887 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -1138,171 +1152,196 @@ DBG(LEFT); return LEFT;
case 15:
YY_RULE_SETUP
#line 93 "testpatternl.l"
-DBG(HSIZE); return HSIZE;
+DBG(SIZE_MODE); return SIZE_MODE;
YY_BREAK
case 16:
YY_RULE_SETUP
#line 94 "testpatternl.l"
-DBG(VSIZE); return VSIZE;
+DBG(RELATIVE); return RELATIVE;
YY_BREAK
case 17:
YY_RULE_SETUP
#line 95 "testpatternl.l"
-DBG(BLACKLINE); return BLACKLINE;
+DBG(PT); return PT;
YY_BREAK
case 18:
YY_RULE_SETUP
#line 96 "testpatternl.l"
-DBG(PATTERN); return PATTERN;
+DBG(IN); return IN;
YY_BREAK
case 19:
YY_RULE_SETUP
#line 97 "testpatternl.l"
-DBG(XPATTERN); return XPATTERN;
+DBG(MM); return MM;
YY_BREAK
case 20:
YY_RULE_SETUP
#line 98 "testpatternl.l"
-DBG(IMAGE); return IMAGE;
+DBG(HSIZE); return HSIZE;
YY_BREAK
case 21:
YY_RULE_SETUP
#line 99 "testpatternl.l"
-DBG(EXTENDED); return EXTENDED;
+DBG(VSIZE); return VSIZE;
YY_BREAK
case 22:
YY_RULE_SETUP
#line 100 "testpatternl.l"
-DBG(GRID); return GRID;
+DBG(BLACKLINE); return BLACKLINE;
YY_BREAK
case 23:
YY_RULE_SETUP
#line 101 "testpatternl.l"
-DBG(CHANNEL); return CHANNEL;
+DBG(PATTERN); return PATTERN;
YY_BREAK
case 24:
YY_RULE_SETUP
#line 102 "testpatternl.l"
-DBG(PAGESIZE); return PAGESIZE;
+DBG(XPATTERN); return XPATTERN;
YY_BREAK
case 25:
YY_RULE_SETUP
#line 103 "testpatternl.l"
-DBG(SEMI); return SEMI;
+DBG(IMAGE); return IMAGE;
YY_BREAK
case 26:
YY_RULE_SETUP
#line 104 "testpatternl.l"
-DBG(MODE); return MODE;
+DBG(EXTENDED); return EXTENDED;
YY_BREAK
case 27:
YY_RULE_SETUP
#line 105 "testpatternl.l"
-yylval.ival = CMYK;DBG(CMYK); return CMYK;
+DBG(GRID); return GRID;
YY_BREAK
case 28:
YY_RULE_SETUP
#line 106 "testpatternl.l"
-yylval.ival = CMYK;DBG(KCMY); return KCMY;
+DBG(CHANNEL); return CHANNEL;
YY_BREAK
case 29:
YY_RULE_SETUP
#line 107 "testpatternl.l"
-yylval.ival = RGB;DBG(RGB); return RGB;
+DBG(PAGESIZE); return PAGESIZE;
YY_BREAK
case 30:
YY_RULE_SETUP
#line 108 "testpatternl.l"
-yylval.ival = RGB;DBG(CMY); return CMY;
+DBG(SEMI); return SEMI;
YY_BREAK
case 31:
YY_RULE_SETUP
#line 109 "testpatternl.l"
-yylval.ival = GRAY;DBG(GRAY); return GRAY;
+DBG(MODE); return MODE;
YY_BREAK
case 32:
YY_RULE_SETUP
#line 110 "testpatternl.l"
-yylval.ival = GRAY;DBG(GRAY); return GRAY;
+yylval.ival = CMYK;DBG(CMYK); return CMYK;
YY_BREAK
case 33:
YY_RULE_SETUP
#line 111 "testpatternl.l"
-yylval.ival = WHITE;DBG(WHITE); return WHITE;
+yylval.ival = CMYK;DBG(KCMY); return KCMY;
YY_BREAK
case 34:
YY_RULE_SETUP
#line 112 "testpatternl.l"
-DBG(OUTPUT); return OUTPUT;
+yylval.ival = RGB;DBG(RGB); return RGB;
YY_BREAK
case 35:
YY_RULE_SETUP
#line 113 "testpatternl.l"
-DBG(MESSAGE); return MESSAGE;
+yylval.ival = RGB;DBG(CMY); return CMY;
YY_BREAK
case 36:
YY_RULE_SETUP
#line 114 "testpatternl.l"
-DBG(NOSCALE); return NOSCALE;
+yylval.ival = GRAY;DBG(GRAY); return GRAY;
YY_BREAK
case 37:
YY_RULE_SETUP
#line 115 "testpatternl.l"
-DBG(START_JOB); return START_JOB;
+yylval.ival = GRAY;DBG(GRAY); return GRAY;
YY_BREAK
case 38:
YY_RULE_SETUP
#line 116 "testpatternl.l"
-DBG(END_JOB); return END_JOB;
+yylval.ival = WHITE;DBG(WHITE); return WHITE;
YY_BREAK
case 39:
YY_RULE_SETUP
#line 117 "testpatternl.l"
-DBG(END); return END;
+DBG(OUTPUT); return OUTPUT;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 119 "testpatternl.l"
-yylval.sval = yytext;DBG(COLOR); return COLOR;
+#line 118 "testpatternl.l"
+DBG(MESSAGE); return MESSAGE;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 120 "testpatternl.l"
-yylval.ival = strtol(yytext, NULL, 0); yylval.dval = (double) yylval.ival; DBG(tINT); return tINT;
+#line 119 "testpatternl.l"
+DBG(NOSCALE); return NOSCALE;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 121 "testpatternl.l"
-yylval.dval = strtod(yytext, NULL); DBG(tDOUBLE); return tDOUBLE;
+#line 120 "testpatternl.l"
+DBG(START_JOB); return START_JOB;
YY_BREAK
case 43:
-/* rule 43 can match eol */
YY_RULE_SETUP
-#line 122 "testpatternl.l"
-yylval.sval = c_strstrip(yytext); DBG(tSTRING); return tSTRING;
+#line 121 "testpatternl.l"
+DBG(END_JOB); return END_JOB;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 123 "testpatternl.l"
-DBG(whitespace); /* Skip blanks/tabs */
+#line 122 "testpatternl.l"
+DBG(END); return END;
YY_BREAK
case 45:
YY_RULE_SETUP
#line 124 "testpatternl.l"
-DBG(comment); /* Skip comments */
+yylval.sval = yytext;DBG(COLOR); return COLOR;
YY_BREAK
case 46:
-/* rule 46 can match eol */
YY_RULE_SETUP
#line 125 "testpatternl.l"
-DBG(newline); mylineno++;
+yylval.ival = strtol(yytext, NULL, 0); yylval.dval = (double) yylval.ival; DBG(tINT); return tINT;
YY_BREAK
case 47:
YY_RULE_SETUP
#line 126 "testpatternl.l"
+yylval.dval = strtod(yytext, NULL); DBG(tDOUBLE); return tDOUBLE;
+ YY_BREAK
+case 48:
+/* rule 48 can match eol */
+YY_RULE_SETUP
+#line 127 "testpatternl.l"
+yylval.sval = c_strstrip(yytext); DBG(tSTRING); return tSTRING;
+ YY_BREAK
+case 49:
+YY_RULE_SETUP
+#line 128 "testpatternl.l"
+DBG(whitespace); /* Skip blanks/tabs */
+ YY_BREAK
+case 50:
+YY_RULE_SETUP
+#line 129 "testpatternl.l"
+DBG(comment); /* Skip comments */
+ YY_BREAK
+case 51:
+/* rule 51 can match eol */
+YY_RULE_SETUP
+#line 130 "testpatternl.l"
+DBG(newline); mylineno++;
+ YY_BREAK
+case 52:
+YY_RULE_SETUP
+#line 131 "testpatternl.l"
ECHO;
YY_BREAK
-#line 1306 "testpatternl.c"
+#line 1345 "testpatternl.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1594,7 +1633,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 268 )
+ if ( yy_current_state >= 285 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1622,11 +1661,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 268 )
+ if ( yy_current_state >= 285 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 267);
+ yy_is_jam = (yy_current_state == 284);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2300,4 +2339,4 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 126 "testpatternl.l"
+#line 131 "testpatternl.l"
diff --git a/src/testpattern/testpatternl.l b/src/testpattern/testpatternl.l
index 825bf08..c2f5803 100644
--- a/src/testpattern/testpatternl.l
+++ b/src/testpattern/testpatternl.l
@@ -1,5 +1,5 @@
/*
- * "$Id: testpatternl.l,v 1.25 2009/06/14 17:12:44 rlk Exp $"
+ * "$Id: testpatternl.l,v 1.26 2010/09/06 17:08:39 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -90,6 +90,11 @@ parameter_curve DBG(PARAMETER_CURVE); return PARAMETER_CURVE;
density DBG(DENSITY); return DENSITY;
top DBG(TOP); return TOP;
left DBG(LEFT); return LEFT;
+size_mode DBG(SIZE_MODE); return SIZE_MODE;
+relative DBG(RELATIVE); return RELATIVE;
+pt DBG(PT); return PT;
+in DBG(IN); return IN;
+mm DBG(MM); return MM;
hsize DBG(HSIZE); return HSIZE;
vsize DBG(VSIZE); return VSIZE;
blackline DBG(BLACKLINE); return BLACKLINE;
diff --git a/src/testpattern/testpatterny.c b/src/testpattern/testpatterny.c
index c31b9e5..818087e 100644
--- a/src/testpattern/testpatterny.c
+++ b/src/testpattern/testpatterny.c
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,107 +54,20 @@
/* Pure parsers. */
#define YYPURE 0
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
+/* Push parsers. */
+#define YYPUSH 0
+/* Pull parsers. */
+#define YYPULL 1
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- tINT = 258,
- tDOUBLE = 259,
- tSTRING = 260,
- COLOR = 261,
- GAMMA = 262,
- LEVEL = 263,
- STEPS = 264,
- INK_LIMIT = 265,
- PRINTER = 266,
- PARAMETER = 267,
- PARAMETER_INT = 268,
- PARAMETER_BOOL = 269,
- PARAMETER_FLOAT = 270,
- PARAMETER_CURVE = 271,
- DENSITY = 272,
- TOP = 273,
- LEFT = 274,
- HSIZE = 275,
- VSIZE = 276,
- BLACKLINE = 277,
- NOSCALE = 278,
- PATTERN = 279,
- XPATTERN = 280,
- EXTENDED = 281,
- IMAGE = 282,
- GRID = 283,
- SEMI = 284,
- CHANNEL = 285,
- CMYK = 286,
- KCMY = 287,
- RGB = 288,
- CMY = 289,
- GRAY = 290,
- WHITE = 291,
- MODE = 292,
- PAGESIZE = 293,
- MESSAGE = 294,
- OUTPUT = 295,
- START_JOB = 296,
- END_JOB = 297,
- END = 298
- };
-#endif
-/* Tokens. */
-#define tINT 258
-#define tDOUBLE 259
-#define tSTRING 260
-#define COLOR 261
-#define GAMMA 262
-#define LEVEL 263
-#define STEPS 264
-#define INK_LIMIT 265
-#define PRINTER 266
-#define PARAMETER 267
-#define PARAMETER_INT 268
-#define PARAMETER_BOOL 269
-#define PARAMETER_FLOAT 270
-#define PARAMETER_CURVE 271
-#define DENSITY 272
-#define TOP 273
-#define LEFT 274
-#define HSIZE 275
-#define VSIZE 276
-#define BLACKLINE 277
-#define NOSCALE 278
-#define PATTERN 279
-#define XPATTERN 280
-#define EXTENDED 281
-#define IMAGE 282
-#define GRID 283
-#define SEMI 284
-#define CHANNEL 285
-#define CMYK 286
-#define KCMY 287
-#define RGB 288
-#define CMY 289
-#define GRAY 290
-#define WHITE 291
-#define MODE 292
-#define PAGESIZE 293
-#define MESSAGE 294
-#define OUTPUT 295
-#define START_JOB 296
-#define END_JOB 297
-#define END 298
-
+/* Using locations. */
+#define YYLSP_NEEDED 0
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 23 "testpatterny.y"
@@ -224,6 +136,9 @@ find_color(const char *name)
+/* Line 189 of yacc.c */
+#line 141 "testpatterny.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -242,20 +157,124 @@ find_color(const char *name)
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ tINT = 258,
+ tDOUBLE = 259,
+ tSTRING = 260,
+ COLOR = 261,
+ GAMMA = 262,
+ LEVEL = 263,
+ STEPS = 264,
+ INK_LIMIT = 265,
+ PRINTER = 266,
+ PARAMETER = 267,
+ PARAMETER_INT = 268,
+ PARAMETER_BOOL = 269,
+ PARAMETER_FLOAT = 270,
+ PARAMETER_CURVE = 271,
+ DENSITY = 272,
+ TOP = 273,
+ LEFT = 274,
+ SIZE_MODE = 275,
+ RELATIVE = 276,
+ PT = 277,
+ IN = 278,
+ MM = 279,
+ HSIZE = 280,
+ VSIZE = 281,
+ BLACKLINE = 282,
+ NOSCALE = 283,
+ PATTERN = 284,
+ XPATTERN = 285,
+ EXTENDED = 286,
+ IMAGE = 287,
+ GRID = 288,
+ SEMI = 289,
+ CHANNEL = 290,
+ CMYK = 291,
+ KCMY = 292,
+ RGB = 293,
+ CMY = 294,
+ GRAY = 295,
+ WHITE = 296,
+ MODE = 297,
+ PAGESIZE = 298,
+ MESSAGE = 299,
+ OUTPUT = 300,
+ START_JOB = 301,
+ END_JOB = 302,
+ END = 303
+ };
+#endif
+/* Tokens. */
+#define tINT 258
+#define tDOUBLE 259
+#define tSTRING 260
+#define COLOR 261
+#define GAMMA 262
+#define LEVEL 263
+#define STEPS 264
+#define INK_LIMIT 265
+#define PRINTER 266
+#define PARAMETER 267
+#define PARAMETER_INT 268
+#define PARAMETER_BOOL 269
+#define PARAMETER_FLOAT 270
+#define PARAMETER_CURVE 271
+#define DENSITY 272
+#define TOP 273
+#define LEFT 274
+#define SIZE_MODE 275
+#define RELATIVE 276
+#define PT 277
+#define IN 278
+#define MM 279
+#define HSIZE 280
+#define VSIZE 281
+#define BLACKLINE 282
+#define NOSCALE 283
+#define PATTERN 284
+#define XPATTERN 285
+#define EXTENDED 286
+#define IMAGE 287
+#define GRID 288
+#define SEMI 289
+#define CHANNEL 290
+#define CMYK 291
+#define KCMY 292
+#define RGB 293
+#define CMY 294
+#define GRAY 295
+#define WHITE 296
+#define MODE 297
+#define PAGESIZE 298
+#define MESSAGE 299
+#define OUTPUT 300
+#define START_JOB 301
+#define END_JOB 302
+#define END 303
+
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef int YYSTYPE;
+
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 259 "testpatterny.c"
+/* Line 264 of yacc.c */
+#line 278 "testpatterny.c"
#ifdef short
# undef short
@@ -330,14 +349,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -418,9 +437,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -454,12 +473,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -468,22 +487,22 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 60
+#define YYFINAL 62
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 166
+#define YYLAST 177
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 44
+#define YYNTOKENS 49
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 71
+#define YYNNTS 77
/* YYNRULES -- Number of rules. */
-#define YYNRULES 120
+#define YYNRULES 130
/* YYNRULES -- Number of states. */
-#define YYNSTATES 172
+#define YYNSTATES 183
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 298
+#define YYMAXUTOK 303
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -520,7 +539,8 @@ static const yytype_uint8 yytranslate[] =
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48
};
#if YYDEBUG
@@ -532,69 +552,73 @@ static const yytype_uint16 yyprhs[] =
19, 22, 24, 26, 28, 30, 32, 34, 36, 39,
41, 43, 46, 50, 54, 58, 62, 65, 68, 71,
74, 77, 81, 83, 85, 89, 93, 97, 101, 105,
- 107, 109, 111, 113, 115, 118, 121, 124, 127, 130,
- 133, 136, 140, 142, 145, 146, 148, 151, 156, 162,
- 164, 166, 168, 171, 172, 174, 176, 178, 184, 188,
- 191, 194, 198, 200, 201, 204, 207, 209, 212, 214,
- 216, 218, 220, 222, 224, 226, 228, 230, 232, 234,
- 236, 238, 240, 242, 244, 246, 248, 250, 252, 254,
- 256, 258, 260, 262, 264, 267, 269, 271, 273, 275,
- 278, 279, 282, 284, 285, 288, 290, 292, 293, 296,
- 297
+ 107, 109, 111, 113, 115, 118, 121, 124, 126, 128,
+ 130, 132, 134, 136, 138, 140, 143, 146, 149, 152,
+ 155, 159, 161, 164, 165, 167, 170, 175, 181, 183,
+ 185, 187, 190, 191, 193, 195, 197, 203, 207, 210,
+ 213, 217, 219, 220, 223, 226, 228, 231, 233, 235,
+ 237, 239, 241, 243, 245, 247, 249, 251, 253, 255,
+ 257, 259, 261, 263, 265, 267, 269, 271, 273, 275,
+ 277, 279, 281, 283, 285, 288, 290, 292, 294, 296,
+ 299, 300, 303, 305, 306, 309, 311, 313, 314, 317,
+ 318
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
- 113, 0, -1, 4, -1, 3, -1, 31, -1, 32,
- -1, 33, -1, 34, -1, 35, -1, 36, -1, 26,
- 3, -1, 46, -1, 47, -1, 48, -1, 49, -1,
- 50, -1, 51, -1, 52, -1, 53, 3, -1, 53,
- -1, 54, -1, 37, 55, -1, 8, 6, 45, -1,
- 8, 3, 45, -1, 7, 6, 45, -1, 7, 3,
- 45, -1, 7, 45, -1, 9, 3, -1, 10, 45,
- -1, 11, 5, -1, 38, 5, -1, 38, 3, 3,
- -1, 65, -1, 66, -1, 12, 5, 5, -1, 13,
- 5, 3, -1, 14, 5, 3, -1, 15, 5, 45,
- -1, 16, 5, 5, -1, 68, -1, 69, -1, 71,
- -1, 72, -1, 70, -1, 17, 45, -1, 18, 45,
- -1, 19, 45, -1, 20, 45, -1, 21, 45, -1,
- 22, 3, -1, 23, 3, -1, 45, 45, 45, -1,
- 81, -1, 82, 81, -1, -1, 82, -1, 81, 83,
- -1, 6, 45, 45, 45, -1, 30, 3, 45, 45,
- 45, -1, 85, -1, 86, -1, 87, -1, 88, 87,
- -1, -1, 88, -1, 84, -1, 89, -1, 45, 45,
- 45, 45, 45, -1, 24, 91, 90, -1, 25, 90,
- -1, 28, 3, -1, 27, 3, 3, -1, 5, -1,
- -1, 97, 96, -1, 39, 97, -1, 40, -1, 40,
- 5, -1, 99, -1, 100, -1, 41, -1, 42, -1,
- 59, -1, 60, -1, 57, -1, 58, -1, 61, -1,
- 62, -1, 63, -1, 64, -1, 73, -1, 74, -1,
- 75, -1, 76, -1, 77, -1, 78, -1, 79, -1,
- 80, -1, 56, -1, 67, -1, 98, -1, 101, -1,
- 102, -1, 103, -1, 104, 29, -1, 92, -1, 93,
- -1, 94, -1, 98, -1, 106, 29, -1, -1, 108,
- 107, -1, 95, -1, -1, 110, 105, -1, 108, -1,
- 109, -1, -1, 43, 29, -1, -1, 110, 114, 111,
- 112, -1
+ 124, 0, -1, 4, -1, 3, -1, 36, -1, 37,
+ -1, 38, -1, 39, -1, 40, -1, 41, -1, 31,
+ 3, -1, 51, -1, 52, -1, 53, -1, 54, -1,
+ 55, -1, 56, -1, 57, -1, 58, 3, -1, 58,
+ -1, 59, -1, 42, 60, -1, 8, 6, 50, -1,
+ 8, 3, 50, -1, 7, 6, 50, -1, 7, 3,
+ 50, -1, 7, 50, -1, 9, 3, -1, 10, 50,
+ -1, 11, 5, -1, 43, 5, -1, 43, 3, 3,
+ -1, 70, -1, 71, -1, 12, 5, 5, -1, 13,
+ 5, 3, -1, 14, 5, 3, -1, 15, 5, 50,
+ -1, 16, 5, 5, -1, 73, -1, 74, -1, 76,
+ -1, 77, -1, 75, -1, 17, 50, -1, 18, 50,
+ -1, 19, 50, -1, 21, -1, 23, -1, 22, -1,
+ 24, -1, 82, -1, 84, -1, 83, -1, 85, -1,
+ 20, 86, -1, 25, 50, -1, 26, 50, -1, 27,
+ 3, -1, 28, 3, -1, 50, 50, 50, -1, 92,
+ -1, 93, 92, -1, -1, 93, -1, 92, 94, -1,
+ 6, 50, 50, 50, -1, 35, 3, 50, 50, 50,
+ -1, 96, -1, 97, -1, 98, -1, 99, 98, -1,
+ -1, 99, -1, 95, -1, 100, -1, 50, 50, 50,
+ 50, 50, -1, 29, 102, 101, -1, 30, 101, -1,
+ 33, 3, -1, 32, 3, 3, -1, 5, -1, -1,
+ 108, 107, -1, 44, 108, -1, 45, -1, 45, 5,
+ -1, 110, -1, 111, -1, 46, -1, 47, -1, 64,
+ -1, 65, -1, 62, -1, 63, -1, 66, -1, 67,
+ -1, 68, -1, 69, -1, 78, -1, 79, -1, 80,
+ -1, 81, -1, 88, -1, 89, -1, 90, -1, 91,
+ -1, 61, -1, 72, -1, 109, -1, 112, -1, 113,
+ -1, 114, -1, 87, -1, 115, 34, -1, 103, -1,
+ 104, -1, 105, -1, 109, -1, 117, 34, -1, -1,
+ 119, 118, -1, 106, -1, -1, 121, 116, -1, 119,
+ -1, 120, -1, -1, 48, 34, -1, -1, 121, 125,
+ 122, 123, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 139, 139, 139, 144, 154, 164, 174, 184, 194,
- 204, 214, 214, 214, 214, 214, 214, 214, 217, 225,
- 225, 228, 231, 241, 250, 260, 269, 276, 283, 290,
- 299, 308, 317, 317, 320, 330, 339, 348, 357, 371,
- 371, 371, 371, 371, 373, 380, 387, 394, 401, 408,
- 416, 424, 439, 439, 442, 442, 445, 448, 462, 475,
- 475, 478, 478, 481, 481, 484, 484, 487, 502, 505,
- 520, 531, 548, 555, 555, 558, 561, 571, 577, 577,
- 580, 584, 588, 588, 588, 588, 588, 588, 589, 589,
- 589, 589, 589, 589, 589, 590, 590, 590, 590, 590,
- 590, 591, 591, 591, 594, 598, 598, 598, 598, 601,
- 605, 605, 608, 612, 612, 615, 615, 618, 618, 623,
- 622
+ 0, 144, 144, 144, 149, 159, 169, 179, 189, 199,
+ 209, 219, 219, 219, 219, 219, 219, 219, 222, 230,
+ 230, 233, 236, 246, 255, 265, 274, 281, 288, 295,
+ 304, 313, 322, 322, 325, 335, 344, 353, 362, 376,
+ 376, 376, 376, 376, 378, 385, 392, 399, 406, 413,
+ 420, 427, 427, 427, 427, 429, 431, 438, 445, 453,
+ 461, 476, 476, 479, 479, 482, 485, 499, 512, 512,
+ 515, 515, 518, 518, 521, 521, 524, 539, 542, 557,
+ 568, 585, 592, 592, 595, 598, 608, 614, 614, 617,
+ 621, 625, 625, 625, 625, 625, 625, 626, 626, 626,
+ 626, 626, 626, 626, 627, 627, 627, 627, 627, 627,
+ 628, 628, 628, 628, 631, 635, 635, 635, 635, 638,
+ 642, 642, 645, 649, 649, 652, 652, 655, 655, 660,
+ 659
};
#endif
@@ -606,23 +630,25 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "tINT", "tDOUBLE", "tSTRING", "COLOR",
"GAMMA", "LEVEL", "STEPS", "INK_LIMIT", "PRINTER", "PARAMETER",
"PARAMETER_INT", "PARAMETER_BOOL", "PARAMETER_FLOAT", "PARAMETER_CURVE",
- "DENSITY", "TOP", "LEFT", "HSIZE", "VSIZE", "BLACKLINE", "NOSCALE",
- "PATTERN", "XPATTERN", "EXTENDED", "IMAGE", "GRID", "SEMI", "CHANNEL",
- "CMYK", "KCMY", "RGB", "CMY", "GRAY", "WHITE", "MODE", "PAGESIZE",
- "MESSAGE", "OUTPUT", "START_JOB", "END_JOB", "END", "$accept", "NUMBER",
- "cmykspec", "kcmyspec", "rgbspec", "cmyspec", "grayspec", "whitespec",
+ "DENSITY", "TOP", "LEFT", "SIZE_MODE", "RELATIVE", "PT", "IN", "MM",
+ "HSIZE", "VSIZE", "BLACKLINE", "NOSCALE", "PATTERN", "XPATTERN",
+ "EXTENDED", "IMAGE", "GRID", "SEMI", "CHANNEL", "CMYK", "KCMY", "RGB",
+ "CMY", "GRAY", "WHITE", "MODE", "PAGESIZE", "MESSAGE", "OUTPUT",
+ "START_JOB", "END_JOB", "END", "$accept", "NUMBER", "cmykspec",
+ "kcmyspec", "rgbspec", "cmyspec", "grayspec", "whitespec",
"extendedspec", "modespec1", "modespec2", "modespec", "inputspec",
"level", "channel_level", "gamma", "channel_gamma", "global_gamma",
"steps", "ink_limit", "printer", "page_size_name", "page_size_custom",
"page_size", "parameter_string", "parameter_int", "parameter_bool",
"parameter_float", "parameter_curve", "parameter", "density", "top",
- "left", "hsize", "vsize", "blackline", "noscale", "color_block1",
+ "left", "size_relative", "size_in", "size_pt", "size_mm", "size_mode_1",
+ "size_mode", "hsize", "vsize", "blackline", "noscale", "color_block1",
"color_blocks1a", "color_blocks1b", "color_blocks1", "color_block2a",
"color_block2b", "color_block2", "color_blocks2a", "color_blocks2",
"color_blocks", "patvars", "pattern", "xpattern", "grid", "image",
"Message", "Messages", "message", "Output0", "Output1", "output",
"start_job", "end_job", "A_Rule", "Rule", "A_Pattern", "Pattern",
- "Patterns", "Image", "Rules", "Print", "EOF", "Thing", "@1", 0
+ "Patterns", "Image", "Rules", "Print", "EOF", "Thing", "$@1", 0
};
#endif
@@ -635,26 +661,27 @@ static const yytype_uint16 yytoknum[] =
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298
+ 295, 296, 297, 298, 299, 300, 301, 302, 303
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 44, 45, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 53, 53, 53, 53, 53, 53, 54, 55,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 67, 68, 69, 70, 71, 72, 73,
- 73, 73, 73, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 82, 83, 83, 84, 85, 86, 87,
- 87, 88, 88, 89, 89, 90, 90, 91, 92, 93,
- 94, 95, 96, 97, 97, 98, 99, 100, 101, 101,
- 102, 103, 104, 104, 104, 104, 104, 104, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 104, 104, 104, 104, 105, 106, 106, 106, 106, 107,
- 108, 108, 109, 110, 110, 111, 111, 112, 112, 114,
- 113
+ 0, 49, 50, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 58, 58, 58, 58, 58, 58, 59, 60,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 72, 73, 74, 75, 76, 77, 78,
+ 78, 78, 78, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 86, 86, 86, 87, 88, 89, 90, 91,
+ 92, 93, 93, 94, 94, 95, 96, 97, 98, 98,
+ 99, 99, 100, 100, 101, 101, 102, 103, 104, 105,
+ 106, 107, 108, 108, 109, 110, 111, 112, 112, 113,
+ 114, 115, 115, 115, 115, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 116, 117, 117, 117, 117, 118,
+ 119, 119, 120, 121, 121, 122, 122, 123, 123, 125,
+ 124
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -664,10 +691,11 @@ static const yytype_uint8 yyr2[] =
2, 1, 1, 1, 1, 1, 1, 1, 2, 1,
1, 2, 3, 3, 3, 3, 2, 2, 2, 2,
2, 3, 1, 1, 3, 3, 3, 3, 3, 1,
- 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
- 2, 3, 1, 2, 0, 1, 2, 4, 5, 1,
- 1, 1, 2, 0, 1, 1, 1, 5, 3, 2,
- 2, 3, 1, 0, 2, 2, 1, 2, 1, 1,
+ 1, 1, 1, 1, 2, 2, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
+ 3, 1, 2, 0, 1, 2, 4, 5, 1, 1,
+ 1, 2, 0, 1, 1, 1, 5, 3, 2, 2,
+ 3, 1, 0, 2, 2, 1, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 1, 1, 1, 1, 2,
@@ -680,75 +708,77 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 113, 119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 123, 129, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 73, 76, 80, 81, 98, 84, 85, 82,
- 83, 86, 87, 88, 89, 32, 33, 99, 39, 40,
- 43, 41, 42, 90, 91, 92, 93, 94, 95, 96,
- 97, 100, 78, 79, 101, 102, 103, 0, 114, 110,
- 1, 3, 2, 0, 26, 0, 0, 27, 3, 28,
- 29, 0, 0, 0, 0, 0, 44, 45, 46, 47,
- 48, 49, 50, 0, 4, 5, 6, 7, 8, 9,
- 11, 12, 13, 14, 15, 16, 17, 19, 20, 21,
- 0, 30, 75, 77, 104, 0, 112, 115, 116, 117,
- 25, 24, 23, 22, 34, 35, 36, 37, 38, 10,
- 18, 31, 72, 74, 0, 0, 63, 0, 105, 106,
- 107, 108, 0, 111, 0, 120, 71, 0, 63, 0,
- 0, 0, 54, 65, 59, 60, 61, 64, 66, 69,
- 70, 109, 118, 0, 68, 0, 0, 0, 52, 55,
- 56, 62, 0, 0, 0, 51, 53, 0, 57, 0,
- 67, 58
+ 0, 0, 0, 82, 85, 89, 90, 107, 93, 94,
+ 91, 92, 95, 96, 97, 98, 32, 33, 108, 39,
+ 40, 43, 41, 42, 99, 100, 101, 102, 113, 103,
+ 104, 105, 106, 109, 87, 88, 110, 111, 112, 0,
+ 124, 120, 1, 3, 2, 0, 26, 0, 0, 27,
+ 3, 28, 29, 0, 0, 0, 0, 0, 44, 45,
+ 46, 47, 49, 48, 50, 51, 53, 52, 54, 55,
+ 56, 57, 58, 59, 0, 4, 5, 6, 7, 8,
+ 9, 11, 12, 13, 14, 15, 16, 17, 19, 20,
+ 21, 0, 30, 84, 86, 114, 0, 122, 125, 126,
+ 127, 25, 24, 23, 22, 34, 35, 36, 37, 38,
+ 10, 18, 31, 81, 83, 0, 0, 72, 0, 115,
+ 116, 117, 118, 0, 121, 0, 130, 80, 0, 72,
+ 0, 0, 0, 63, 74, 68, 69, 70, 73, 75,
+ 78, 79, 119, 128, 0, 77, 0, 0, 0, 61,
+ 64, 65, 71, 0, 0, 0, 60, 62, 0, 66,
+ 0, 76, 67
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 141, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 142, 159, 160,
- 143, 144, 145, 146, 147, 148, 149, 138, 128, 129,
- 130, 106, 123, 102, 51, 52, 53, 54, 55, 56,
- 57, 58, 132, 133, 107, 108, 1, 109, 135, 2,
- 59
+ -1, 152, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 85, 86, 87, 88, 89, 48, 49,
+ 50, 51, 52, 153, 170, 171, 154, 155, 156, 157,
+ 158, 159, 160, 149, 139, 140, 141, 117, 134, 113,
+ 53, 54, 55, 56, 57, 58, 59, 60, 143, 144,
+ 118, 119, 1, 120, 146, 2, 61
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -109
-static const yytype_int8 yypact[] =
+#define YYPACT_NINF -141
+static const yytype_int16 yypact[] =
{
- -109, 8, 7, -2, 36, 37, 32, 38, 39, 49,
- 51, 52, 56, 32, 32, 32, 32, 32, 67, 69,
- 33, 50, -109, 68, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, 45, -109, 48,
- -109, 32, -109, 32, -109, 32, 32, -109, -109, -109,
- -109, 71, 74, 75, 32, 76, -109, -109, -109, -109,
- -109, -109, -109, 77, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, 79, -109, -109,
- 80, -109, 81, -109, -109, 82, -109, 13, -109, 41,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, 84, 32, 2, 85, -109, -109,
- -109, -109, 60, -109, 61, -109, -109, 32, 2, 32,
- 88, 32, 32, -109, -109, -109, -109, 3, -109, -109,
- -109, -109, -109, 32, -109, 32, 32, 32, -109, 32,
- -109, -109, 32, 32, 32, -109, -109, 32, -109, 32,
- -109, -109
+ -141, 9, 40, 41, 69, 45, 28, 44, 53, 54,
+ 58, 71, 72, 28, 28, 28, -16, 28, 28, 47,
+ 75, 30, 36, -141, 74, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, 46,
+ -141, 42, -141, 28, -141, 28, -141, 28, 28, -141,
+ -141, -141, -141, 76, 79, 80, 28, 81, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, 82, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, 84, -141,
+ -141, 85, -141, 86, -141, -141, 87, -141, 13, -141,
+ 48, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, 89, 28, -2, 90, -141,
+ -141, -141, -141, 50, -141, 55, -141, -141, 28, -2,
+ 28, 91, 28, 28, -141, -141, -141, -141, 3, -141,
+ -141, -141, -141, -141, 28, -141, 28, 28, 28, -141,
+ 28, -141, -141, 28, 28, 28, -141, -141, 28, -141,
+ 28, -141, -141
};
/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int8 yypgoto[] =
+static const yytype_int16 yypgoto[] =
{
- -109, -3, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -108, -109, -109,
- -109, -109, -109, -68, -109, -109, -46, -109, -109, -109,
- -109, -109, -109, -109, -14, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109
+ -141, -3, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -140, -141, -141, -141, -141, -141, -63,
+ -141, -141, -52, -141, -141, -141, -141, -141, -141, -141,
+ -20, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ -141, -141, -141, -141, -141, -141, -141
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -758,68 +788,71 @@ static const yytype_int8 yypgoto[] =
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
- 64, 61, 62, 69, 63, 68, 62, 60, 139, 139,
- 76, 77, 78, 79, 80, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 140, 140, 158, 68, 62, 125, 126, 65,
- 67, 127, 66, 70, 71, 20, 21, 22, 23, 24,
- 25, 166, 22, 100, 72, 101, 73, 74, 110, 83,
- 111, 75, 112, 113, 84, 85, 86, 87, 88, 89,
- 81, 117, 82, 103, 104, 105, 114, 115, 116, 161,
- 119, 118, 120, 121, 134, 124, 122, 136, 150, 151,
- 152, 156, 154, 131, 0, 0, 0, 0, 0, 0,
+ 66, 70, 64, 71, 150, 81, 82, 83, 84, 150,
+ 78, 79, 80, 169, 90, 91, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 177, 70, 64, 151, 17, 18, 19, 20, 151, 111,
+ 62, 112, 136, 137, 63, 64, 138, 65, 69, 72,
+ 92, 21, 22, 23, 24, 25, 26, 23, 73, 74,
+ 121, 94, 122, 75, 123, 124, 95, 96, 97, 98,
+ 99, 100, 67, 128, 116, 68, 76, 77, 93, 114,
+ 115, 125, 126, 127, 162, 130, 129, 131, 132, 163,
+ 135, 133, 147, 161, 167, 172, 145, 165, 142, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 137, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 153, 0, 155, 0, 157, 0,
+ 0, 0, 0, 148, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 164, 0, 166, 0, 168,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 162, 0, 163, 164, 165, 0, 0, 0, 0, 167,
- 168, 169, 0, 0, 170, 0, 171
+ 0, 173, 0, 174, 175, 176, 0, 0, 0, 0,
+ 178, 179, 180, 0, 0, 181, 0, 182
};
static const yytype_int16 yycheck[] =
{
- 3, 3, 4, 6, 6, 3, 4, 0, 6, 6,
- 13, 14, 15, 16, 17, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 30, 30, 142, 3, 4, 24, 25, 3,
- 3, 28, 6, 5, 5, 37, 38, 39, 40, 41,
- 42, 159, 39, 3, 5, 5, 5, 5, 61, 26,
- 63, 5, 65, 66, 31, 32, 33, 34, 35, 36,
- 3, 74, 3, 5, 29, 27, 5, 3, 3, 147,
- 3, 5, 3, 3, 43, 3, 5, 3, 3, 29,
- 29, 3, 138, 107, -1, -1, -1, -1, -1, -1,
+ 3, 3, 4, 6, 6, 21, 22, 23, 24, 6,
+ 13, 14, 15, 153, 17, 18, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 170, 3, 4, 35, 25, 26, 27, 28, 35, 3,
+ 0, 5, 29, 30, 3, 4, 33, 6, 3, 5,
+ 3, 42, 43, 44, 45, 46, 47, 44, 5, 5,
+ 63, 31, 65, 5, 67, 68, 36, 37, 38, 39,
+ 40, 41, 3, 76, 32, 6, 5, 5, 3, 5,
+ 34, 5, 3, 3, 34, 3, 5, 3, 3, 34,
+ 3, 5, 3, 3, 3, 158, 48, 149, 118, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 137, -1, 139, -1, 141, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 153, -1, 155, 156, 157, -1, -1, -1, -1, 162,
- 163, 164, -1, -1, 167, -1, 169
+ -1, -1, -1, 136, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 148, -1, 150, -1, 152,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 164, -1, 166, 167, 168, -1, -1, -1, -1,
+ 173, 174, 175, -1, -1, 178, -1, 180
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 110, 113, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 37, 38, 39, 40, 41, 42, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 98, 99, 100, 101, 102, 103, 104, 105, 114,
- 0, 3, 4, 6, 45, 3, 6, 3, 3, 45,
- 5, 5, 5, 5, 5, 5, 45, 45, 45, 45,
- 45, 3, 3, 26, 31, 32, 33, 34, 35, 36,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 3, 5, 97, 5, 29, 27, 95, 108, 109, 111,
- 45, 45, 45, 45, 5, 3, 3, 45, 5, 3,
- 3, 3, 5, 96, 3, 24, 25, 28, 92, 93,
- 94, 98, 106, 107, 43, 112, 3, 45, 91, 6,
- 30, 45, 81, 84, 85, 86, 87, 88, 89, 90,
- 3, 29, 29, 45, 90, 45, 3, 45, 81, 82,
- 83, 87, 45, 45, 45, 45, 81, 45, 45, 45,
- 45, 45
+ 0, 121, 124, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 25, 26, 27,
+ 28, 42, 43, 44, 45, 46, 47, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 87, 88,
+ 89, 90, 91, 109, 110, 111, 112, 113, 114, 115,
+ 116, 125, 0, 3, 4, 6, 50, 3, 6, 3,
+ 3, 50, 5, 5, 5, 5, 5, 5, 50, 50,
+ 50, 21, 22, 23, 24, 82, 83, 84, 85, 86,
+ 50, 50, 3, 3, 31, 36, 37, 38, 39, 40,
+ 41, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 3, 5, 108, 5, 34, 32, 106, 119, 120,
+ 122, 50, 50, 50, 50, 5, 3, 3, 50, 5,
+ 3, 3, 3, 5, 107, 3, 29, 30, 33, 103,
+ 104, 105, 109, 117, 118, 48, 123, 3, 50, 102,
+ 6, 35, 50, 92, 95, 96, 97, 98, 99, 100,
+ 101, 3, 34, 34, 50, 101, 50, 3, 50, 92,
+ 93, 94, 98, 50, 50, 50, 50, 92, 50, 50,
+ 50, 50, 50
};
#define yyerrok (yyerrstatus = 0)
@@ -1004,17 +1037,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -1048,11 +1084,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1332,10 +1368,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1351,11 +1385,10 @@ int yyparse ();
#endif /* ! YYPARSE_PARAM */
-
-/* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
/* Number of syntax errors so far. */
@@ -1363,9 +1396,9 @@ int yynerrs;
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1389,66 +1422,68 @@ yyparse ()
#endif
#endif
{
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -1478,7 +1513,6 @@ yyparse ()
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -1486,7 +1520,6 @@ yyparse ()
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -1509,9 +1542,8 @@ yyparse ()
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -1522,7 +1554,6 @@ yyparse ()
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -1532,6 +1563,9 @@ yyparse ()
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -1540,16 +1574,16 @@ yyparse ()
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -1581,20 +1615,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -1634,13 +1664,17 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 140 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 145 "testpatterny.y"
{
}
break;
case 4:
-#line 145 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 150 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>cmykspec\n");
@@ -1651,7 +1685,9 @@ yyreduce:
break;
case 5:
-#line 155 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 160 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>kcmyspec\n");
@@ -1662,7 +1698,9 @@ yyreduce:
break;
case 6:
-#line 165 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 170 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>rgbspec\n");
@@ -1673,7 +1711,9 @@ yyreduce:
break;
case 7:
-#line 175 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 180 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>cmyspec\n");
@@ -1684,7 +1724,9 @@ yyreduce:
break;
case 8:
-#line 185 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 190 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>grayspec\n");
@@ -1695,7 +1737,9 @@ yyreduce:
break;
case 9:
-#line 195 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 200 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>whitespec\n");
@@ -1706,7 +1750,9 @@ yyreduce:
break;
case 10:
-#line 205 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 210 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>extendedspec %d\n", (yyvsp[(2) - (2)].ival));
@@ -1717,7 +1763,9 @@ yyreduce:
break;
case 18:
-#line 218 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 223 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>modespec2 %d\n", (yyvsp[(2) - (2)].ival));
@@ -1727,7 +1775,9 @@ yyreduce:
break;
case 22:
-#line 232 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 237 "testpatterny.y"
{
int channel = find_color((yyvsp[(2) - (3)].sval));
if (getenv("STP_TESTPATTERN_DEBUG"))
@@ -1738,7 +1788,9 @@ yyreduce:
break;
case 23:
-#line 242 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 247 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>channel_level %d %f\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval));
@@ -1748,7 +1800,9 @@ yyreduce:
break;
case 24:
-#line 251 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 256 "testpatterny.y"
{
int channel = find_color((yyvsp[(2) - (3)].sval));
if (getenv("STP_TESTPATTERN_DEBUG"))
@@ -1759,7 +1813,9 @@ yyreduce:
break;
case 25:
-#line 261 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 266 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>channel_gamma %d %f\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval));
@@ -1769,7 +1825,9 @@ yyreduce:
break;
case 26:
-#line 270 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 275 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>global_gamma %f\n", (yyvsp[(2) - (2)].dval));
@@ -1778,7 +1836,9 @@ yyreduce:
break;
case 27:
-#line 277 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 282 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>steps %d\n", (yyvsp[(2) - (2)].ival));
@@ -1787,7 +1847,9 @@ yyreduce:
break;
case 28:
-#line 284 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 289 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>ink_limit %f\n", (yyvsp[(2) - (2)].dval));
@@ -1796,7 +1858,9 @@ yyreduce:
break;
case 29:
-#line 291 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 296 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>printer %s\n", (yyvsp[(2) - (2)].sval));
@@ -1806,7 +1870,9 @@ yyreduce:
break;
case 30:
-#line 300 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 305 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>page_size_name %s\n", (yyvsp[(2) - (2)].sval));
@@ -1816,7 +1882,9 @@ yyreduce:
break;
case 31:
-#line 309 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 314 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>page_size_custom %d %d\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival));
@@ -1826,7 +1894,9 @@ yyreduce:
break;
case 34:
-#line 321 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 326 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>parameter_string %s %s\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].sval));
@@ -1837,7 +1907,9 @@ yyreduce:
break;
case 35:
-#line 331 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 336 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>parameter_int %s %d\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].ival));
@@ -1847,7 +1919,9 @@ yyreduce:
break;
case 36:
-#line 340 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 345 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>parameter_bool %s %d\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].ival));
@@ -1857,7 +1931,9 @@ yyreduce:
break;
case 37:
-#line 349 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 354 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>parameter_float %s %f\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].dval));
@@ -1867,7 +1943,9 @@ yyreduce:
break;
case 38:
-#line 358 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 363 "testpatterny.y"
{
stp_curve_t *curve = stp_curve_create_from_string((yyvsp[(3) - (3)].sval));
if (getenv("STP_TESTPATTERN_DEBUG"))
@@ -1882,7 +1960,9 @@ yyreduce:
break;
case 44:
-#line 374 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 379 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>density %f\n", (yyvsp[(2) - (2)].dval));
@@ -1891,7 +1971,9 @@ yyreduce:
break;
case 45:
-#line 381 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 386 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>top %f\n", (yyvsp[(2) - (2)].dval));
@@ -1900,7 +1982,9 @@ yyreduce:
break;
case 46:
-#line 388 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 393 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>left %f\n", (yyvsp[(2) - (2)].dval));
@@ -1909,7 +1993,53 @@ yyreduce:
break;
case 47:
-#line 395 "testpatterny.y"
+
+/* Line 1455 of yacc.c */
+#line 400 "testpatterny.y"
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>relative size\n");
+ global_size_mode = SIZE_RELATIVE;
+ }
+ break;
+
+ case 48:
+
+/* Line 1455 of yacc.c */
+#line 407 "testpatterny.y"
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>size inches\n");
+ global_size_mode = SIZE_IN;
+ }
+ break;
+
+ case 49:
+
+/* Line 1455 of yacc.c */
+#line 414 "testpatterny.y"
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>size pt\n");
+ global_size_mode = SIZE_PT;
+ }
+ break;
+
+ case 50:
+
+/* Line 1455 of yacc.c */
+#line 421 "testpatterny.y"
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>size mm\n");
+ global_size_mode = SIZE_MM;
+ }
+ break;
+
+ case 56:
+
+/* Line 1455 of yacc.c */
+#line 432 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>hsize %f\n", (yyvsp[(2) - (2)].dval));
@@ -1917,8 +2047,10 @@ yyreduce:
}
break;
- case 48:
-#line 402 "testpatterny.y"
+ case 57:
+
+/* Line 1455 of yacc.c */
+#line 439 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>vsize %f\n", (yyvsp[(2) - (2)].dval));
@@ -1926,8 +2058,10 @@ yyreduce:
}
break;
- case 49:
-#line 409 "testpatterny.y"
+ case 58:
+
+/* Line 1455 of yacc.c */
+#line 446 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>blackline %d\n", (yyvsp[(2) - (2)].ival));
@@ -1935,8 +2069,10 @@ yyreduce:
}
break;
- case 50:
-#line 417 "testpatterny.y"
+ case 59:
+
+/* Line 1455 of yacc.c */
+#line 454 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>noscale %d\n", (yyvsp[(2) - (2)].ival));
@@ -1944,8 +2080,10 @@ yyreduce:
}
break;
- case 51:
-#line 425 "testpatterny.y"
+ case 60:
+
+/* Line 1455 of yacc.c */
+#line 462 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>color_block1 %f %f %f (%d)\n", (yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].dval), (yyvsp[(3) - (3)].dval),
@@ -1960,8 +2098,10 @@ yyreduce:
}
break;
- case 57:
-#line 449 "testpatterny.y"
+ case 66:
+
+/* Line 1455 of yacc.c */
+#line 486 "testpatterny.y"
{
int channel = find_color((yyvsp[(1) - (4)].sval));
if (getenv("STP_TESTPATTERN_DEBUG"))
@@ -1975,8 +2115,10 @@ yyreduce:
}
break;
- case 58:
-#line 463 "testpatterny.y"
+ case 67:
+
+/* Line 1455 of yacc.c */
+#line 500 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>color_block2b %d %f %f %f\n", (yyvsp[(2) - (5)].ival), (yyvsp[(3) - (5)].dval), (yyvsp[(4) - (5)].dval), (yyvsp[(5) - (5)].dval));
@@ -1989,8 +2131,10 @@ yyreduce:
}
break;
- case 67:
-#line 488 "testpatterny.y"
+ case 76:
+
+/* Line 1455 of yacc.c */
+#line 525 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>patvars %f %f %f %f %f\n", (yyvsp[(1) - (5)].dval), (yyvsp[(2) - (5)].dval), (yyvsp[(3) - (5)].dval), (yyvsp[(4) - (5)].dval), (yyvsp[(5) - (5)].dval));
@@ -2005,8 +2149,10 @@ yyreduce:
}
break;
- case 69:
-#line 506 "testpatterny.y"
+ case 78:
+
+/* Line 1455 of yacc.c */
+#line 543 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>xpattern\n");
@@ -2021,8 +2167,10 @@ yyreduce:
}
break;
- case 70:
-#line 521 "testpatterny.y"
+ case 79:
+
+/* Line 1455 of yacc.c */
+#line 558 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>grid %d\n", (yyvsp[(2) - (2)].ival));
@@ -2033,8 +2181,10 @@ yyreduce:
}
break;
- case 71:
-#line 532 "testpatterny.y"
+ case 80:
+
+/* Line 1455 of yacc.c */
+#line 569 "testpatterny.y"
{
if (getenv("STP_TESTPATTERN_DEBUG"))
fprintf(stderr, ">>>image %d %d\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival));
@@ -2051,16 +2201,20 @@ yyreduce:
}
break;
- case 72:
-#line 549 "testpatterny.y"
+ case 81:
+
+/* Line 1455 of yacc.c */
+#line 586 "testpatterny.y"
{
fprintf(stderr,"%s",(yyvsp[(1) - (1)].sval));
free((yyvsp[(1) - (1)].sval));
}
break;
- case 76:
-#line 562 "testpatterny.y"
+ case 85:
+
+/* Line 1455 of yacc.c */
+#line 599 "testpatterny.y"
{
close_output();
if (global_output)
@@ -2070,53 +2224,70 @@ yyreduce:
}
break;
- case 77:
-#line 572 "testpatterny.y"
+ case 86:
+
+/* Line 1455 of yacc.c */
+#line 609 "testpatterny.y"
{
global_output = (yyvsp[(2) - (2)].sval);
}
break;
- case 80:
-#line 581 "testpatterny.y"
+ case 89:
+
+/* Line 1455 of yacc.c */
+#line 618 "testpatterny.y"
{ start_job = 1; }
break;
- case 81:
-#line 585 "testpatterny.y"
+ case 90:
+
+/* Line 1455 of yacc.c */
+#line 622 "testpatterny.y"
{ end_job = 1; }
break;
- case 104:
-#line 595 "testpatterny.y"
+ case 114:
+
+/* Line 1455 of yacc.c */
+#line 632 "testpatterny.y"
{ global_did_something = 1; }
break;
- case 109:
-#line 602 "testpatterny.y"
+ case 119:
+
+/* Line 1455 of yacc.c */
+#line 639 "testpatterny.y"
{ global_did_something = 1; }
break;
- case 112:
-#line 609 "testpatterny.y"
+ case 122:
+
+/* Line 1455 of yacc.c */
+#line 646 "testpatterny.y"
{ global_did_something = 1; }
break;
- case 118:
-#line 619 "testpatterny.y"
+ case 128:
+
+/* Line 1455 of yacc.c */
+#line 656 "testpatterny.y"
{ return 0; }
break;
- case 119:
-#line 623 "testpatterny.y"
+ case 129:
+
+/* Line 1455 of yacc.c */
+#line 660 "testpatterny.y"
{
current_testpattern = get_next_testpattern();
}
break;
-/* Line 1267 of yacc.c. */
-#line 2120 "testpatterny.c"
+
+/* Line 1455 of yacc.c */
+#line 2291 "testpatterny.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2127,7 +2298,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -2192,7 +2362,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -2209,7 +2379,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -2266,9 +2436,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -2293,7 +2460,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -2304,7 +2471,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -2330,6 +2497,8 @@ yyreturn:
}
-#line 629 "testpatterny.y"
+
+/* Line 1675 of yacc.c */
+#line 666 "testpatterny.y"
diff --git a/src/testpattern/testpatterny.h b/src/testpattern/testpatterny.h
index c0aea0f..010e17a 100644
--- a/src/testpattern/testpatterny.h
+++ b/src/testpattern/testpatterny.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -56,30 +56,35 @@
DENSITY = 272,
TOP = 273,
LEFT = 274,
- HSIZE = 275,
- VSIZE = 276,
- BLACKLINE = 277,
- NOSCALE = 278,
- PATTERN = 279,
- XPATTERN = 280,
- EXTENDED = 281,
- IMAGE = 282,
- GRID = 283,
- SEMI = 284,
- CHANNEL = 285,
- CMYK = 286,
- KCMY = 287,
- RGB = 288,
- CMY = 289,
- GRAY = 290,
- WHITE = 291,
- MODE = 292,
- PAGESIZE = 293,
- MESSAGE = 294,
- OUTPUT = 295,
- START_JOB = 296,
- END_JOB = 297,
- END = 298
+ SIZE_MODE = 275,
+ RELATIVE = 276,
+ PT = 277,
+ IN = 278,
+ MM = 279,
+ HSIZE = 280,
+ VSIZE = 281,
+ BLACKLINE = 282,
+ NOSCALE = 283,
+ PATTERN = 284,
+ XPATTERN = 285,
+ EXTENDED = 286,
+ IMAGE = 287,
+ GRID = 288,
+ SEMI = 289,
+ CHANNEL = 290,
+ CMYK = 291,
+ KCMY = 292,
+ RGB = 293,
+ CMY = 294,
+ GRAY = 295,
+ WHITE = 296,
+ MODE = 297,
+ PAGESIZE = 298,
+ MESSAGE = 299,
+ OUTPUT = 300,
+ START_JOB = 301,
+ END_JOB = 302,
+ END = 303
};
#endif
/* Tokens. */
@@ -100,40 +105,45 @@
#define DENSITY 272
#define TOP 273
#define LEFT 274
-#define HSIZE 275
-#define VSIZE 276
-#define BLACKLINE 277
-#define NOSCALE 278
-#define PATTERN 279
-#define XPATTERN 280
-#define EXTENDED 281
-#define IMAGE 282
-#define GRID 283
-#define SEMI 284
-#define CHANNEL 285
-#define CMYK 286
-#define KCMY 287
-#define RGB 288
-#define CMY 289
-#define GRAY 290
-#define WHITE 291
-#define MODE 292
-#define PAGESIZE 293
-#define MESSAGE 294
-#define OUTPUT 295
-#define START_JOB 296
-#define END_JOB 297
-#define END 298
+#define SIZE_MODE 275
+#define RELATIVE 276
+#define PT 277
+#define IN 278
+#define MM 279
+#define HSIZE 280
+#define VSIZE 281
+#define BLACKLINE 282
+#define NOSCALE 283
+#define PATTERN 284
+#define XPATTERN 285
+#define EXTENDED 286
+#define IMAGE 287
+#define GRID 288
+#define SEMI 289
+#define CHANNEL 290
+#define CMYK 291
+#define KCMY 292
+#define RGB 293
+#define CMY 294
+#define GRAY 295
+#define WHITE 296
+#define MODE 297
+#define PAGESIZE 298
+#define MESSAGE 299
+#define OUTPUT 300
+#define START_JOB 301
+#define END_JOB 302
+#define END 303
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef int YYSTYPE;
+
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE yylval;
+
diff --git a/src/testpattern/testpatterny.y b/src/testpattern/testpatterny.y
index c00abeb..229109a 100644
--- a/src/testpattern/testpatterny.y
+++ b/src/testpattern/testpatterny.y
@@ -1,5 +1,5 @@
/*
- * "$Id: testpatterny.y,v 1.39 2009/06/14 19:38:08 rlk Exp $"
+ * "$Id: testpatterny.y,v 1.40 2010/09/06 17:08:39 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -105,6 +105,11 @@ find_color(const char *name)
%token DENSITY
%token TOP
%token LEFT
+%token SIZE_MODE
+%token RELATIVE
+%token PT
+%token IN
+%token MM
%token HSIZE
%token VSIZE
%token BLACKLINE
@@ -391,6 +396,38 @@ left: LEFT NUMBER
global_xleft = $2;
}
;
+size_relative: RELATIVE
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>relative size\n");
+ global_size_mode = SIZE_RELATIVE;
+ }
+;
+size_in: IN
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>size inches\n");
+ global_size_mode = SIZE_IN;
+ }
+;
+size_pt: PT
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>size pt\n");
+ global_size_mode = SIZE_PT;
+ }
+;
+size_mm: MM
+ {
+ if (getenv("STP_TESTPATTERN_DEBUG"))
+ fprintf(stderr, ">>>size mm\n");
+ global_size_mode = SIZE_MM;
+ }
+;
+size_mode_1: size_relative | size_pt | size_in | size_mm
+;
+size_mode: SIZE_MODE size_mode_1
+;
hsize: HSIZE NUMBER
{
if (getenv("STP_TESTPATTERN_DEBUG"))
@@ -588,7 +625,7 @@ end_job: END_JOB
A_Rule: gamma | channel_gamma | level | channel_level | global_gamma | steps
| ink_limit | printer | parameter | density | top | left | hsize
| vsize | blackline | noscale | inputspec | page_size | message
- | output | start_job | end_job
+ | output | start_job | end_job | size_mode
;
Rule: A_Rule SEMI
diff --git a/src/xml/Makefile.am b/src/xml/Makefile.am
index 09ebcd8..5e09896 100644
--- a/src/xml/Makefile.am
+++ b/src/xml/Makefile.am
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.5 2009/05/30 14:10:31 rlk Exp $
+## $Id: Makefile.am,v 1.6 2011/03/29 22:58:12 rlk Exp $
## Copyright (C) 2008 Robert Krawitz
##
## This program is free software; you can redistribute it and/or modify
@@ -52,6 +52,7 @@ all-local: xmli18n-tmp.h xml-stamp
xmli18n-tmp.h: xml-stamp extract-strings
+ -rm -f $@ $@.tmp
./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp
mv $@.tmp $@
diff --git a/src/xml/Makefile.in b/src/xml/Makefile.in
index acf4061..f6f23da 100644
--- a/src/xml/Makefile.in
+++ b/src/xml/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -22,8 +23,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -59,6 +61,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_extract_strings_OBJECTS = extract-strings.$(OBJEXT)
extract_strings_OBJECTS = $(am_extract_strings_OBJECTS)
@@ -66,6 +69,7 @@ extract_strings_DEPENDENCIES = $(GUTENPRINT_LIBS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -89,16 +93,58 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
@@ -216,6 +262,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -330,14 +377,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -355,13 +402,16 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
extract-strings$(EXEEXT): $(extract_strings_OBJECTS) $(extract_strings_DEPENDENCIES)
@rm -f extract-strings$(EXEEXT)
$(LINK) $(extract_strings_OBJECTS) $(extract_strings_LDADD) $(LIBS)
@@ -376,21 +426,21 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -403,20 +453,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -425,7 +478,7 @@ uninstall-pkgxmldataDATA:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -442,7 +495,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -450,7 +503,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -476,16 +529,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -493,14 +546,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -512,7 +565,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -521,29 +574,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -564,29 +622,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -623,6 +696,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -645,6 +719,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -653,18 +729,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -687,8 +773,8 @@ ps-am:
uninstall-am: uninstall-pkgxmldataDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-generic \
@@ -733,10 +819,12 @@ xml-stamp: $(pkgxmldata_DATA) escp2/xml-stamp Makefile.am
all-local: xmli18n-tmp.h xml-stamp
xmli18n-tmp.h: xml-stamp extract-strings
+ -rm -f $@ $@.tmp
./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp
mv $@.tmp $@
dist-hook: xmli18n-tmp.h xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/Makefile.in b/src/xml/escp2/Makefile.in
index f4a8999..2f786ec 100644
--- a/src/xml/escp2/Makefile.in
+++ b/src/xml/escp2/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -20,8 +21,9 @@
#export STP_DATA_PATH = $(top_srcdir)/src/xml
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -56,6 +58,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -67,10 +70,38 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
@@ -188,6 +219,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -297,14 +329,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -322,6 +354,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -336,7 +369,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -353,7 +386,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -361,7 +394,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -387,16 +420,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -404,14 +437,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -423,7 +456,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -432,29 +465,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -475,29 +513,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -531,6 +584,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -550,6 +604,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -558,18 +614,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -590,8 +656,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-generic \
@@ -646,6 +712,7 @@ xml-stamp: media/xml-stamp \
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/inks/Makefile.am b/src/xml/escp2/inks/Makefile.am
index dc05955..cb0e8b0 100644
--- a/src/xml/escp2/inks/Makefile.am
+++ b/src/xml/escp2/inks/Makefile.am
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.10 2010/07/18 16:56:18 rlk Exp $
+## $Id: Makefile.am,v 1.13 2011/03/05 18:49:13 rlk Exp $
## Copyright (C) 2008 Robert Krawitz
##
## This program is free software; you can redistribute it and/or modify
@@ -44,6 +44,7 @@ pkgxmldata_DATA = \
f360_ultrachrome.xml \
f360_ultrachrome_k3.xml \
f360_ultrachrome_k3v.xml \
+ f360_ultrachrome_k3v_2.xml \
nx100.xml \
photo_gen0.xml \
photo_gen1.xml \
@@ -59,7 +60,9 @@ pkgxmldata_DATA = \
pro_pigment.xml \
pro_ultrachrome.xml \
pro_ultrachrome_k3.xml \
+ pro_ultrachrome_k34.xml \
pro_ultrachrome_k3v.xml \
+ pro_ultrachrome_k3v4.xml \
standard.xml \
standard_gen0.xml \
ultrachrome.xml \
diff --git a/src/xml/escp2/inks/Makefile.in b/src/xml/escp2/inks/Makefile.in
index 6a2d2a7..3bd104f 100644
--- a/src/xml/escp2/inks/Makefile.in
+++ b/src/xml/escp2/inks/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -297,6 +315,7 @@ pkgxmldata_DATA = \
f360_ultrachrome.xml \
f360_ultrachrome_k3.xml \
f360_ultrachrome_k3v.xml \
+ f360_ultrachrome_k3v_2.xml \
nx100.xml \
photo_gen0.xml \
photo_gen1.xml \
@@ -312,7 +331,9 @@ pkgxmldata_DATA = \
pro_pigment.xml \
pro_ultrachrome.xml \
pro_ultrachrome_k3.xml \
+ pro_ultrachrome_k34.xml \
pro_ultrachrome_k3v.xml \
+ pro_ultrachrome_k3v4.xml \
standard.xml \
standard_gen0.xml \
ultrachrome.xml \
@@ -329,14 +350,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/inks/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/inks/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/inks/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/inks/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -354,6 +375,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -363,20 +385,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -400,13 +425,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -441,6 +470,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -459,6 +489,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -467,18 +499,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -539,6 +581,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/inks/cmykrb.xml b/src/xml/escp2/inks/cmykrb.xml
index 589ced0..c8853c4 100644
--- a/src/xml/escp2/inks/cmykrb.xml
+++ b/src/xml/escp2/inks/cmykrb.xml
@@ -23,7 +23,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<escp2:InkGroup name="cmykrb">
<Curves>
<curve name="cmykrbCyan" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
1 1 1 1 1 1 1 1
1 0.875 0.7 0.55 0.4 0.3 0.2 0.1
0 0 0 0 0 0 0 0
@@ -33,7 +33,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykrbMagenta" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0 0 0 0 0 0 0
0 0 0 0.002 0.05 0.3 0.6 0.8
1 1 0.85 0.7 0.6 0.5 0.4 0.3
@@ -43,7 +43,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykrbYellow" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0.05 0.15
@@ -53,7 +53,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykrbRed" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0.025 0.4 0.6 0.75 0.89 1 1 1
@@ -63,7 +63,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykrbBlue" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0.25 0.475 0.7 0.81 0.875 0.94 1
1 0.975 0.93 0.875 0.81 0.74 0.65 0.4
0.04 0.002 0 0 0 0 0 0
diff --git a/src/xml/escp2/inks/cmykro.xml b/src/xml/escp2/inks/cmykro.xml
index d03abb9..8cf8cf1 100644
--- a/src/xml/escp2/inks/cmykro.xml
+++ b/src/xml/escp2/inks/cmykro.xml
@@ -23,7 +23,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<escp2:InkGroup name="cmykro">
<Curves>
<curve name="cmykroCyan" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
1 1 1 1 1 1 1 1
1 0.95 0.89 0.83 0.75 0.6 0.4 0.2
0 0 0 0 0 0 0 0
@@ -33,7 +33,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykroMagenta" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0.2 0.4 0.6 0.75 0.83 0.89 0.95
1 1 1 1 1 1 1 1
1 1 0.85 0.7 0.6 0.5 0.4 0.3
@@ -43,7 +43,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykroYellow" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
@@ -53,7 +53,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykroRed" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0.2 0.4 0.6 0.8 1 1 1
@@ -63,7 +63,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</sequence>
</curve>
<curve name="cmykroOrange" wrap="wrap" type="linear" gamma="0" piecewise="false">
- <sequence count="48" lower-bound="0" upper-bound="4">
+ <sequence count="48" lower-bound="0" upper-bound="1">
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
diff --git a/src/xml/escp2/inks/f360_ultrachrome_k3v_2.xml b/src/xml/escp2/inks/f360_ultrachrome_k3v_2.xml
new file mode 100644
index 0000000..e759cb1
--- /dev/null
+++ b/src/xml/escp2/inks/f360_ultrachrome_k3v_2.xml
@@ -0,0 +1,610 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:InkGroup name="f360_ultrachrome_k3v">
+<InkList translate="text" name="ultra3photo" text="Photo Black">
+ <initSequence>IK\002\000\000\061</initSequence>
+ <Shades>
+ <shade count="3">1.000000 0.480000 0.160000</shade>
+ <shade count="2">1.000000 0.340000</shade>
+ <shade count="2">1.000000 0.250000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ </Shades>
+
+ <InkName translate="text" name="PhotoCMYK8" text="Eight Color Photo" InkID="CcMmYKk">
+ <Channels>
+ <channel name="f360_photo3_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="DarkGrayTrans"/>
+ </subchannel>
+ <subchannel color="0" subchannel="1" name="LightBlack" text="Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="DarkGrayTrans"/>
+ <SubchannelValueParam name="DarkGrayValue"/>
+ <SubchannelScaleParam name="DarkGrayScale"/>
+ </subchannel>
+ <subchannel color="0" subchannel="3" headOffset="1" name="LightLightBlack" text="Light Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="LightGrayTrans"/>
+ <SubchannelValueParam name="LightGrayValue"/>
+ <SubchannelScaleParam name="LightGrayScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhotoCMYK7" text="Seven Color Photo" InkID="CcMmYKk">
+ <Channels>
+ <channel name="f360_photo2_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="GrayTrans"/>
+ </subchannel>
+ <subchannel color="0" subchannel="1" name="LightBlack" text="Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="GrayTrans"/>
+ <SubchannelValueParam name="GrayValue"/>
+ <SubchannelScaleParam name="GrayScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhotoCMYK" text="Six Color Photo" InkID="CcMmYK">
+ <Channels>
+ <channel name="f360_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhotoCMY" text="Five Color Photo Composite" InkID="CcMmYK">
+ <Channels>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMYK" text="Four Color Standard" InkID="CMYK">
+ <Channels>
+ <channel name="f360_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMY" text="Three Color Composite" InkID="CMYK">
+ <Channels>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhysicalCMYKkk" text="Eight Color Raw" InkID="Extended">
+ <Channels>
+ <channel name="f360_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="extended_black" index="1">
+ <subchannel color="0" subchannel="1" name="LightBlack" text="Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_extended_photo3_black" index="2">
+ <subchannel color="0" subchannel="3" headOffset="1" name="LightLightBlack" text="Light Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="3">
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_extended_cyan" index="4">
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_standard_magenta" index="5">
+ <subchannel color="1" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="extended_magenta" index="6">
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="7">
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+</InkList>
+
+<InkList translate="text" name="ultra3matte" text="Matte Black">
+ <initSequence>IK\002\000\000\121</initSequence>
+ <Shades>
+ <shade count="3">1.000000 0.278000 0.093000</shade>
+ <shade count="2">1.000000 0.340000</shade>
+ <shade count="2">1.000000 0.250000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ </Shades>
+
+ <InkName translate="text" name="PhotoCMYK8" text="Eight Color Photo" InkID="CcMmYKk">
+ <Channels>
+ <channel name="f360_photo3_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="DarkGrayTrans"/>
+ </subchannel>
+ <subchannel color="0" subchannel="1" name="LightBlack" text="Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="DarkGrayTrans"/>
+ <SubchannelValueParam name="DarkGrayValue"/>
+ <SubchannelScaleParam name="DarkGrayScale"/>
+ </subchannel>
+ <subchannel color="0" subchannel="3" headOffset="1" name="LightLightBlack" text="Light Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="LightGrayTrans"/>
+ <SubchannelValueParam name="LightGrayValue"/>
+ <SubchannelScaleParam name="LightGrayScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhotoCMYK7" text="Seven Color Photo" InkID="CcMmYKk">
+ <Channels>
+ <channel name="f360_photo2_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="GrayTrans"/>
+ </subchannel>
+ <subchannel color="0" subchannel="1" name="LightBlack" text="Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ <SubchannelTransitionParam name="GrayTrans"/>
+ <SubchannelValueParam name="GrayValue"/>
+ <SubchannelScaleParam name="GrayScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhotoCMYK" text="Six Color Photo" InkID="CcMmYK">
+ <Channels>
+ <channel name="f360_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhotoCMY" text="Five Color Photo Composite" InkID="CcMmYK">
+ <Channels>
+ <channel name="f360x_photo_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" subchannel="0" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ </subchannel>
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ <SubchannelTransitionParam name="LightCyanTrans"/>
+ <SubchannelValueParam name="LightCyanValue"/>
+ <SubchannelScaleParam name="LightCyanScale"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_photo_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" subchannel="0" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ </subchannel>
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ <SubchannelTransitionParam name="LightMagentaTrans"/>
+ <SubchannelValueParam name="LightMagentaValue"/>
+ <SubchannelScaleParam name="LightMagentaScale"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMYK" text="Four Color Standard" InkID="CMYK">
+ <Channels>
+ <channel name="f360_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMY" text="Three Color Composite" InkID="CMYK">
+ <Channels>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhysicalCMYKkk" text="Eight Color Raw" InkID="Extended">
+ <Channels>
+ <channel name="f360_black" index="0">
+ <subchannel color="0" subchannel="0" headOffset="1" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="extended_black" index="1">
+ <subchannel color="0" subchannel="1" name="LightBlack" text="Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_extended_photo3_black" index="2">
+ <subchannel color="0" subchannel="3" headOffset="1" name="LightLightBlack" text="Light Light Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="3">
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_extended_cyan" index="4">
+ <subchannel color="2" subchannel="1" headOffset="1" name="LightCyan" text="Light Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="f360_standard_magenta" index="5">
+ <subchannel color="1" headOffset="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="extended_magenta" index="6">
+ <subchannel color="1" subchannel="1" name="LightMagenta" text="Light Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="7">
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+</InkList>
+</escp2:InkGroup>
+</gutenprint>
diff --git a/src/xml/escp2/inks/pro_ultrachrome_k3.xml b/src/xml/escp2/inks/pro_ultrachrome_k3.xml
index 294a8d3..dd9ae97 100644
--- a/src/xml/escp2/inks/pro_ultrachrome_k3.xml
+++ b/src/xml/escp2/inks/pro_ultrachrome_k3.xml
@@ -22,6 +22,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</copyright>
<escp2:InkGroup name="pro_ultrachrome_k3">
<InkList translate="text" name="ultra3photo" text="Photo Black">
+ <initSequence>IK\002\000\000\061</initSequence>
<Shades>
<shade count="3">1.000000 0.480000 0.160000</shade>
<shade count="2">1.000000 0.350000</shade>
@@ -46,7 +47,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<SubchannelValueParam name="DarkGrayValue"/>
<SubchannelScaleParam name="DarkGrayScale"/>
</subchannel>
- <subchannel color="0" subchannel="2" name="LightLightBlack" text="Light Light Black" translate="text">
+ <subchannel color="0" subchannel="3" name="LightLightBlack" text="Light Light Black" translate="text">
<ChannelDensityParam name="BlackDensity"/>
<SubchannelTransitionParam name="LightGrayTrans"/>
<SubchannelValueParam name="LightGrayValue"/>
@@ -314,6 +315,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</InkList>
<InkList translate="text" name="ultra3matte" text="Matte Black">
+ <initSequence>IK\002\000\000\121</initSequence>
<Shades>
<shade count="3">1.000000 0.278000 0.093000</shade>
<shade count="2">1.000000 0.350000</shade>
diff --git a/src/xml/escp2/inks/pro_ultrachrome_k34.xml b/src/xml/escp2/inks/pro_ultrachrome_k34.xml
new file mode 100644
index 0000000..941ab5d
--- /dev/null
+++ b/src/xml/escp2/inks/pro_ultrachrome_k34.xml
@@ -0,0 +1,204 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:InkGroup name="pro_ultrachrome_k3">
+<InkList translate="text" name="ultra3photo" text="Photo Black">
+ <initSequence>IK\002\000\000\061</initSequence>
+ <Shades>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ </Shades>
+
+ <InkName translate="text" name="CMYK" text="Four Color Standard" InkID="CMYK">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMY" text="Three Color Composite" InkID="CMYK">
+ <Channels>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhysicalCMYK" text="Four Color Raw" InkID="Extended">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+</InkList>
+
+<InkList translate="text" name="ultra3matte" text="Matte Black">
+ <initSequence>IK\002\000\000\121</initSequence>
+ <Shades>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ </Shades>
+
+ <InkName translate="text" name="CMYK" text="Four Color Standard" InkID="CMYK">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" subchannel="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMY" text="Three Color Composite" InkID="CMYK">
+ <Channels>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhysicalCMYK" text="Four Color Raw" InkID="Extended">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+</InkList>
+</escp2:InkGroup>
+</gutenprint>
diff --git a/src/xml/escp2/inks/pro_ultrachrome_k3v.xml b/src/xml/escp2/inks/pro_ultrachrome_k3v.xml
index bcebe49..a217f5f 100644
--- a/src/xml/escp2/inks/pro_ultrachrome_k3v.xml
+++ b/src/xml/escp2/inks/pro_ultrachrome_k3v.xml
@@ -22,6 +22,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</copyright>
<escp2:InkGroup name="pro_ultrachrome_k3v">
<InkList translate="text" name="ultra3photo" text="Photo Black">
+ <initSequence>IK\002\000\000\061</initSequence>
<Shades>
<shade count="3">1.000000 0.480000 0.160000</shade>
<shade count="2">1.000000 0.340000</shade>
@@ -314,6 +315,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</InkList>
<InkList translate="text" name="ultra3matte" text="Matte Black">
+ <initSequence>IK\002\000\000\121</initSequence>
<Shades>
<shade count="3">1.000000 0.278000 0.093000</shade>
<shade count="2">1.000000 0.340000</shade>
diff --git a/src/xml/escp2/inks/pro_ultrachrome_k3v4.xml b/src/xml/escp2/inks/pro_ultrachrome_k3v4.xml
new file mode 100644
index 0000000..b5c3034
--- /dev/null
+++ b/src/xml/escp2/inks/pro_ultrachrome_k3v4.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:InkGroup name="pro_ultrachrome_k3v4">
+<InkList translate="text" name="ultra3photo" text="Photo Black">
+ <initSequence>IK\002\000\000\061</initSequence>
+ <Shades>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ </Shades>
+
+ <InkName translate="text" name="CMYK" text="Four Color Standard" InkID="CMYK">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="CMY" text="Three Color Composite" InkID="CMYK">
+ <Channels>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+</InkList>
+
+ <InkName translate="text" name="PhysicalCMYK" text="Four Color Raw" InkID="Extended">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+<InkList translate="text" name="ultra3matte" text="Matte Black">
+ <initSequence>IK\002\000\000\121</initSequence>
+ <Shades>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ <shade count="1">1.000000</shade>
+ </Shades>
+
+ <InkName translate="text" name="CMYK" text="Four Color Standard" InkID="CMYK">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <HueCurveParam name="CyanHueCurve"/>
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <HueCurveParam name="MagentaHueCurve"/>
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <HueCurveParam name="YellowHueCurve"/>
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+
+ <InkName translate="text" name="PhysicalCMYK" text="Four Color Raw" InkID="Extended">
+ <Channels>
+ <channel name="black" index="0">
+ <subchannel color="0" name="Black" text="Black" translate="text">
+ <ChannelDensityParam name="BlackDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_cyan" index="1">
+ <subchannel color="2" name="Cyan" text="Cyan" translate="text">
+ <ChannelDensityParam name="CyanDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_magenta" index="2">
+ <subchannel color="1" name="Magenta" text="Magenta" translate="text">
+ <ChannelDensityParam name="MagentaDensity"/>
+ </subchannel>
+ </channel>
+ <channel name="standard_yellow" index="3">
+ <subchannel color="4" name="Yellow" text="Yellow" translate="text">
+ <ChannelDensityParam name="YellowDensity"/>
+ </subchannel>
+ </channel>
+ </Channels>
+ </InkName>
+</InkList>
+</escp2:InkGroup>
+</gutenprint>
diff --git a/src/xml/escp2/inputslots/Makefile.in b/src/xml/escp2/inputslots/Makefile.in
index 5112b30..1e93697 100644
--- a/src/xml/escp2/inputslots/Makefile.in
+++ b/src/xml/escp2/inputslots/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -306,14 +324,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/inputslots/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/inputslots/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/inputslots/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/inputslots/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -331,6 +349,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -340,20 +359,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -377,13 +399,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -418,6 +444,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -436,6 +463,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -444,18 +473,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -516,6 +555,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/media/Makefile.in b/src/xml/escp2/media/Makefile.in
index 4f21d46..4025510 100644
--- a/src/xml/escp2/media/Makefile.in
+++ b/src/xml/escp2/media/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -330,14 +348,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/media/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/media/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/media/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/media/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -355,6 +373,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -364,20 +383,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -401,13 +423,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -442,6 +468,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -460,6 +487,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -468,18 +497,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -540,6 +579,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/media/claria.xml b/src/xml/escp2/media/claria.xml
index 42f8fe7..c54e054 100644
--- a/src/xml/escp2/media/claria.xml
+++ b/src/xml/escp2/media/claria.xml
@@ -1349,7 +1349,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</resolution>
<ink translate="text" name="None" text="EPSON Standard Inks">
- <parameter type="float" name="Density">0.833000</parameter>
+ <parameter type="float" name="Density">0.667000</parameter>
<parameter type="float" name="SubchannelCutoff">0.250000</parameter>
<parameter type="float" name="BlackTrans">0.500000</parameter>
<parameter type="float" name="GCRLower">0.250000</parameter>
diff --git a/src/xml/escp2/media/claria1400.xml b/src/xml/escp2/media/claria1400.xml
index 66541a2..d521ef0 100644
--- a/src/xml/escp2/media/claria1400.xml
+++ b/src/xml/escp2/media/claria1400.xml
@@ -1349,7 +1349,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</resolution>
<ink translate="text" name="None" text="EPSON Standard Inks">
- <parameter type="float" name="Density">0.833000</parameter>
+ <parameter type="float" name="Density">0.667000</parameter>
<parameter type="float" name="SubchannelCutoff">0.250000</parameter>
<parameter type="float" name="BlackTrans">0.500000</parameter>
<parameter type="float" name="GCRLower">0.250000</parameter>
diff --git a/src/xml/escp2/media/f360_ultrachrome_k3.xml b/src/xml/escp2/media/f360_ultrachrome_k3.xml
index 770816d..ff77158 100644
--- a/src/xml/escp2/media/f360_ultrachrome_k3.xml
+++ b/src/xml/escp2/media/f360_ultrachrome_k3.xml
@@ -99,7 +99,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</curve>
</namedParam>
</Curves>
-<paper translate="text" name="Plain" text="Plain Paper" class="plain" PreferredInkset="UltraMatte">
+<paper translate="text" name="Plain" text="Plain Paper" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">0</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -134,7 +134,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -151,7 +151,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -169,7 +169,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="UltraMatte">
+<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -204,7 +204,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x73</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -221,7 +221,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -239,7 +239,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="UltraPhoto">
+<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">7</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -274,7 +274,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -291,7 +291,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -309,7 +309,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">9</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -344,7 +344,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.750000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -361,7 +361,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -379,7 +379,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="UltraMatte">
+<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PrintMethod">0x41</parameter>
@@ -414,7 +414,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -431,7 +431,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -449,7 +449,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="UltraPhoto">
+<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">10</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -484,7 +484,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.750000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -501,7 +501,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -519,7 +519,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="UltraMatte">
+<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -554,7 +554,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -571,7 +571,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -589,7 +589,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="UltraMatte">
+<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">5</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -624,7 +624,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -641,7 +641,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -659,7 +659,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="UltraMatte">
+<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -694,7 +694,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -711,7 +711,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.300000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -729,7 +729,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -764,7 +764,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -781,7 +781,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -799,7 +799,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">6</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -834,7 +834,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x70</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">1.000000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -851,7 +851,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">1.000000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -869,7 +869,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">11</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -904,7 +904,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -921,7 +921,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="premium_sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -939,7 +939,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">12</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -974,7 +974,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -991,7 +991,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="premium_sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1009,7 +1009,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">13</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -1044,7 +1044,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1061,7 +1061,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="premium_sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1079,7 +1079,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="UltraMatte">
+<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -1114,7 +1114,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1131,7 +1131,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1149,7 +1149,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="UltraMatte">
+<paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -1184,7 +1184,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1201,7 +1201,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1219,7 +1219,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="UltraPhoto">
+<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">19</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -1254,7 +1254,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x70</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1271,7 +1271,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1289,7 +1289,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="UltraMatte">
+<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -1324,7 +1324,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1341,7 +1341,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1359,7 +1359,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">23</parameter>
<parameter type="integer" name="PrintMethod">0x51</parameter>
@@ -1394,7 +1394,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1411,7 +1411,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1429,8 +1429,8 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="UltraMatte">
- <ink translate="text" name="ultra3photo" text="Photo Black">
+<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="ultra3matte">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1447,7 +1447,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">0.400000</parameter>
diff --git a/src/xml/escp2/media/f360_ultrachrome_k3v.xml b/src/xml/escp2/media/f360_ultrachrome_k3v.xml
index 5fb8a99..ba9610a 100644
--- a/src/xml/escp2/media/f360_ultrachrome_k3v.xml
+++ b/src/xml/escp2/media/f360_ultrachrome_k3v.xml
@@ -20,7 +20,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
</copyright>
-<escp2:papers name="f360_ultrachrome_k3">
+<escp2:papers name="f360_ultrachrome_k3v">
<feature name="PlatenGap"/>
<feature name="PaperMedia"/>
<feature name="PrintMethod"/>
@@ -99,7 +99,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</curve>
</namedParam>
</Curves>
-<paper translate="text" name="Plain" text="Plain Paper" class="plain" PreferredInkset="UltraMatte">
+<paper translate="text" name="Plain" text="Plain Paper" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">0</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -134,7 +134,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x50</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -151,7 +151,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -169,7 +169,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="UltraMatte">
+<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -204,7 +204,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x50</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -221,7 +221,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -239,7 +239,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="UltraPhoto">
+<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">7</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -274,7 +274,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x50</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -291,7 +291,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -309,7 +309,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">9</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -344,7 +344,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.750000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -361,7 +361,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -379,7 +379,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="UltraMatte">
+<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -414,7 +414,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x50</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -431,7 +431,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -449,7 +449,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="UltraPhoto">
+<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">10</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -484,7 +484,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x71</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.750000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -501,7 +501,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -519,7 +519,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="UltraMatte">
+<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PrintMethod">0x73</parameter>
@@ -554,7 +554,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x73</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -571,7 +571,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -589,7 +589,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="UltraMatte">
+<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">5</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -624,7 +624,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -641,7 +641,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -659,7 +659,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="UltraMatte">
+<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -694,7 +694,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x50</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -711,7 +711,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.300000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -729,7 +729,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PrintMethod">0x21</parameter>
@@ -764,7 +764,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x50</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -781,7 +781,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -799,7 +799,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">6</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -834,7 +834,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">1.000000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -851,7 +851,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">1.000000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -869,7 +869,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">11</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -904,7 +904,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -921,7 +921,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="premium_sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -939,7 +939,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">12</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -974,7 +974,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -991,7 +991,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="premium_sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1009,7 +1009,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">13</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -1044,7 +1044,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1061,7 +1061,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="premium_sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1079,7 +1079,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="UltraMatte">
+<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PrintMethod">0x73</parameter>
@@ -1114,7 +1114,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0x73</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1131,7 +1131,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1149,7 +1149,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="UltraMatte">
+<paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -1184,7 +1184,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1201,7 +1201,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1219,7 +1219,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="UltraPhoto">
+<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">19</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -1254,7 +1254,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1271,7 +1271,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1289,7 +1289,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="UltraMatte">
+<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -1324,7 +1324,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1341,7 +1341,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1359,7 +1359,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="UltraPhoto">
+<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="ultra3photo">
<parameter type="integer" name="PaperMedia">23</parameter>
<parameter type="integer" name="PrintMethod">0x50</parameter>
@@ -1394,7 +1394,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="integer" name="PrintMethod">0xa0</parameter>
</resolution>
- <ink translate="text" name="ultra3photo" text="Photo Black">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1411,7 +1411,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1429,8 +1429,8 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</ink>
</paper>
-<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="UltraMatte">
- <ink translate="text" name="ultra3photo" text="Photo Black">
+<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="ultra3matte">
+ <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
@@ -1447,7 +1447,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
- <ink translate="text" name="ultra3matte" text="Matte Black">
+ <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">0.400000</parameter>
diff --git a/src/xml/escp2/media/pro_ultrachrome_k3.xml b/src/xml/escp2/media/pro_ultrachrome_k3.xml
index 58f3cdb..557a4c1 100644
--- a/src/xml/escp2/media/pro_ultrachrome_k3.xml
+++ b/src/xml/escp2/media/pro_ultrachrome_k3.xml
@@ -20,7 +20,8 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
</copyright>
-<escp2:papers name="pro_ultrachrome">
+<escp2:papers name="pro_ultrachrome_k3">
+<feature name="PlatenGap"/>
<feature name="PaperThickness"/>
<feature name="VacuumIntensity"/>
<feature name="FeedAdjustment"/>
@@ -35,20 +36,20 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
-0.18 -0.21 -0.22 -0.22 -0.22 -0.22 -0.22 -0.22
-0.22 -0.28 -0.34 -0.4 -0.5 -0.4 -0.3 -0.2
-0.12 -0.07 -0.04 -0.02 0 0 0 0
- 0 0 -0.03 -0.07 -0.11 -0.15 -0.19 -0.22
- -0.25 -0.22 -0.19 -0.15 -0.12 -0.1 -0.06 -0.03
+ 0 0 -0.03 -0.07 -0.11 -0.15 -0.17 -0.18
+ -0.19 -0.2 -0.19 -0.18 -0.16 -0.12 -0.08 -0.04
</sequence>
</curve>
</namedParam>
<namedParam name="lum_map">
<curve wrap="wrap" type="linear" gamma="0" piecewise="false">
<sequence count="48" lower-bound="0" upper-bound="4">
- 0.49 0.51 0.55 0.61 0.67 0.71 0.76 0.79
+ 0.55 0.57 0.61 0.64 0.67 0.69 0.72 0.75
0.83 0.8 0.76 0.76 0.78 0.79 0.83 0.86
0.93 0.95 0.97 0.97 0.97 0.97 0.96 0.96
0.96 0.97 0.97 0.98 0.99 1 1 1
- 1 0.98 0.97 0.95 0.94 0.93 0.9 0.86
- 0.82 0.69 0.6 0.54 0.52 0.51 0.5 0.49
+ 1 0.98 0.97 0.95 0.93 0.91 0.88 0.83
+ 0.83 0.71 0.65 0.61 0.58 0.56 0.55 0.55
</sequence>
</curve>
</namedParam>
@@ -79,12 +80,12 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<namedParam name="premium_lum_map">
<curve wrap="wrap" type="linear" gamma="0" piecewise="false">
<sequence count="48" lower-bound="0" upper-bound="4">
- 0.49 0.53 0.6 0.64 0.69 0.73 0.77 0.8
- 0.84 0.81 0.77 0.77 0.78 0.8 0.84 0.87
+ 0.55 0.57 0.61 0.64 0.67 0.69 0.72 0.75
+ 0.75 0.71 0.7 0.7 0.72 0.76 0.81 0.87
0.93 0.95 0.97 0.98 0.98 0.97 0.96 0.96
0.96 0.97 0.98 0.98 0.99 1 1 1
1 0.98 0.97 0.96 0.95 0.93 0.9 0.87
- 0.83 0.69 0.61 0.55 0.53 0.52 0.5 0.49
+ 0.83 0.71 0.65 0.61 0.58 0.56 0.55 0.55
</sequence>
</curve>
</namedParam>
@@ -102,19 +103,20 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</namedParam>
</Curves>
<paper translate="text" name="Plain" text="Plain Paper" class="plain" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">0</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -128,34 +130,10 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
- <parameter type="float" name="Saturation">1.000000</parameter>
- <parameter type="float" name="Gamma">1.000000</parameter>
- <parameter type="curve" name="HueMap" ref="hue_map"/>
- <parameter type="curve" name="LumMap" ref="lum_map"/>
- <parameter type="curve" name="SatMap" ref="sat_map"/>
- </ink>
-</paper>
-
-<paper translate="text" name="PlainFast" text="Plain Paper Fast Load" class="plain"
-PreferredInkset="Ultra3matte">
- <parameter type="integer" name="PaperThickness">1</parameter>
- <parameter type="integer" name="VacuumIntensity">26</parameter>
- <parameter type="integer" name="FeedAdjustment">107</parameter>
-
- <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
- <parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
- <parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -163,39 +141,23 @@ PreferredInkset="Ultra3matte">
<parameter type="curve" name="LumMap" ref="lum_map"/>
<parameter type="curve" name="SatMap" ref="sat_map"/>
</ink>
-
- <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
- <parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
- <parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
- <parameter type="float" name="Saturation">1.000000</parameter>
- <parameter type="float" name="Gamma">1.000000</parameter>
- <parameter type="curve" name="HueMap" ref="hue_map"/>
- <parameter type="curve" name="LumMap" ref="lum_map"/>
- <parameter type="curve" name="SatMap" ref="sat_map"/>
- </ink>
</paper>
-<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -209,11 +171,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -222,7 +184,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="Ultra3photo">
+<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">7</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">109</parameter>
@@ -234,8 +197,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -248,12 +211,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -262,7 +225,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">9</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">109</parameter>
@@ -274,8 +238,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -288,12 +252,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -302,20 +266,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -329,11 +294,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -342,7 +307,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="Ultra3photo">
+<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">10</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">109</parameter>
@@ -354,8 +320,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -368,12 +334,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -382,20 +348,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -406,14 +373,14 @@ PreferredInkset="Ultra3matte">
<ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
<parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -422,20 +389,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="Ultra3matte">
+<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">5</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -446,14 +414,14 @@ PreferredInkset="Ultra3matte">
<ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
- <parameter type="float" name="BlackTrans">0.400000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
+ <parameter type="float" name="BlackTrans">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -462,20 +430,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -488,12 +457,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.300000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -502,20 +471,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -528,12 +498,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -542,20 +512,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">6</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">103</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">1.000000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.750000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -568,12 +539,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">1.000000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -582,20 +553,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">11</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.800000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
@@ -608,12 +580,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
<parameter type="curve" name="HueMap" ref="premium_hue_map"/>
@@ -622,7 +594,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">12</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
@@ -634,8 +607,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.800000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
@@ -648,12 +621,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
<parameter type="curve" name="HueMap" ref="premium_hue_map"/>
@@ -662,7 +635,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">13</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
@@ -674,8 +648,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.800000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
@@ -688,11 +662,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
@@ -702,20 +676,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="Ultra3matte">
+<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -729,11 +704,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
+ <parameter type="float" name="GCRUpper">0.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">1.000000</parameter>
+ <parameter type="float" name="BlackDensity">0.600000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -742,20 +717,21 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
- <paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="Ultra3matte">
- <parameter type="integer" name="PaperThickness">2</parameter>
- <parameter type="integer" name="VacuumIntensity">0</parameter>
- <parameter type="integer" name="FeedAdjustment">0</parameter>
+<paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">15</parameter>
+ <parameter type="integer" name="PaperThickness">2</parameter>
+ <parameter type="integer" name="VacuumIntensity">0</parameter>
+ <parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -768,12 +744,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -782,7 +758,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="Ultra3photo">
+<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">19</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
@@ -794,8 +771,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -808,12 +785,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -822,7 +799,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
@@ -834,8 +812,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -848,12 +826,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -862,7 +840,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">23</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">103</parameter>
@@ -874,8 +853,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -888,12 +867,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -902,7 +881,7 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
@@ -914,8 +893,8 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="GCRLower">0.010000</parameter>
<parameter type="float" name="GCRUpper">1.500000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
@@ -929,11 +908,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">0.400000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
+ <parameter type="float" name="GCRUpper">1.250000</parameter>
<parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="MagentaBalance">0.950000</parameter>
+ <parameter type="float" name="YellowBalance">0.900000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
diff --git a/src/xml/escp2/media/pro_ultrachrome_k3v.xml b/src/xml/escp2/media/pro_ultrachrome_k3v.xml
index 58f3cdb..a48a9c7 100644
--- a/src/xml/escp2/media/pro_ultrachrome_k3v.xml
+++ b/src/xml/escp2/media/pro_ultrachrome_k3v.xml
@@ -20,7 +20,8 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
</copyright>
-<escp2:papers name="pro_ultrachrome">
+<escp2:papers name="pro_ultrachrome_k3v">
+<feature name="PlatenGap"/>
<feature name="PaperThickness"/>
<feature name="VacuumIntensity"/>
<feature name="FeedAdjustment"/>
@@ -35,20 +36,20 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
-0.18 -0.21 -0.22 -0.22 -0.22 -0.22 -0.22 -0.22
-0.22 -0.28 -0.34 -0.4 -0.5 -0.4 -0.3 -0.2
-0.12 -0.07 -0.04 -0.02 0 0 0 0
- 0 0 -0.03 -0.07 -0.11 -0.15 -0.19 -0.22
- -0.25 -0.22 -0.19 -0.15 -0.12 -0.1 -0.06 -0.03
+ 0 0 -0.03 -0.07 -0.11 -0.15 -0.17 -0.18
+ -0.19 -0.2 -0.19 -0.18 -0.16 -0.12 -0.08 -0.04
</sequence>
</curve>
</namedParam>
<namedParam name="lum_map">
<curve wrap="wrap" type="linear" gamma="0" piecewise="false">
<sequence count="48" lower-bound="0" upper-bound="4">
- 0.49 0.51 0.55 0.61 0.67 0.71 0.76 0.79
+ 0.55 0.57 0.61 0.64 0.67 0.69 0.72 0.75
0.83 0.8 0.76 0.76 0.78 0.79 0.83 0.86
0.93 0.95 0.97 0.97 0.97 0.97 0.96 0.96
0.96 0.97 0.97 0.98 0.99 1 1 1
- 1 0.98 0.97 0.95 0.94 0.93 0.9 0.86
- 0.82 0.69 0.6 0.54 0.52 0.51 0.5 0.49
+ 1 0.98 0.97 0.95 0.93 0.91 0.88 0.83
+ 0.83 0.71 0.65 0.61 0.58 0.56 0.55 0.55
</sequence>
</curve>
</namedParam>
@@ -79,12 +80,12 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<namedParam name="premium_lum_map">
<curve wrap="wrap" type="linear" gamma="0" piecewise="false">
<sequence count="48" lower-bound="0" upper-bound="4">
- 0.49 0.53 0.6 0.64 0.69 0.73 0.77 0.8
- 0.84 0.81 0.77 0.77 0.78 0.8 0.84 0.87
+ 0.55 0.57 0.61 0.64 0.67 0.69 0.72 0.75
+ 0.75 0.71 0.7 0.7 0.72 0.76 0.81 0.87
0.93 0.95 0.97 0.98 0.98 0.97 0.96 0.96
0.96 0.97 0.98 0.98 0.99 1 1 1
1 0.98 0.97 0.96 0.95 0.93 0.9 0.87
- 0.83 0.69 0.61 0.55 0.53 0.52 0.5 0.49
+ 0.83 0.71 0.65 0.61 0.58 0.56 0.55 0.55
</sequence>
</curve>
</namedParam>
@@ -102,58 +103,18 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</namedParam>
</Curves>
<paper translate="text" name="Plain" text="Plain Paper" class="plain" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">0</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
- <parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">1.000000</parameter>
- <parameter type="float" name="Saturation">1.000000</parameter>
- <parameter type="float" name="Gamma">1.000000</parameter>
- <parameter type="curve" name="HueMap" ref="hue_map"/>
- <parameter type="curve" name="LumMap" ref="lum_map"/>
- <parameter type="curve" name="SatMap" ref="sat_map"/>
- </ink>
-
- <ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
- <parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
- <parameter type="float" name="MagentaBalance">1.000000</parameter>
- <parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
- <parameter type="float" name="Saturation">1.000000</parameter>
- <parameter type="float" name="Gamma">1.000000</parameter>
- <parameter type="curve" name="HueMap" ref="hue_map"/>
- <parameter type="curve" name="LumMap" ref="lum_map"/>
- <parameter type="curve" name="SatMap" ref="sat_map"/>
- </ink>
-</paper>
-
-<paper translate="text" name="PlainFast" text="Plain Paper Fast Load" class="plain"
-PreferredInkset="Ultra3matte">
- <parameter type="integer" name="PaperThickness">1</parameter>
- <parameter type="integer" name="VacuumIntensity">26</parameter>
- <parameter type="integer" name="FeedAdjustment">107</parameter>
-
- <ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
- <parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
- <parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -169,11 +130,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -182,18 +143,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Postcard" text="Postcard" class="plain" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -209,11 +171,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -222,18 +184,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="Ultra3photo">
+<paper translate="text" name="GlossyFilm" text="Glossy Film" class="photo" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">7</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">109</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
- <parameter type="float" name="SubchannelCutoff">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -248,12 +211,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -262,7 +225,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Transparency" text="Transparencies" class="transparency" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">9</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">109</parameter>
@@ -271,9 +235,9 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.750000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -288,12 +252,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -302,18 +266,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Envelope" text="Envelopes" class="plain" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -329,11 +294,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -342,7 +307,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="Ultra3photo">
+<paper translate="text" name="BackFilm" text="Back Light Film" class="transparency" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">10</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">109</parameter>
@@ -351,9 +317,9 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.750000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -368,12 +334,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -382,18 +348,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Matte" text="Matte Paper" class="good" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -406,14 +373,14 @@ PreferredInkset="Ultra3matte">
<ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">1.250000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -422,18 +389,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="Ultra3matte">
+<paper translate="text" name="MatteHeavy" text="Matte Paper Heavyweight" class="good" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">5</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -446,14 +414,14 @@ PreferredInkset="Ultra3matte">
<ink translate="text" name="ultra3matte" text="UltraChrome Matte Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
- <parameter type="float" name="BlackTrans">0.400000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
+ <parameter type="float" name="BlackTrans">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -462,7 +430,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Inkjet" text="Inkjet Paper" class="good" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">1</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
@@ -471,9 +440,9 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -488,12 +457,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.300000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -502,7 +471,8 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Coated" text="Photo Quality Inkjet Paper" class="good" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">3</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
@@ -511,9 +481,9 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -528,12 +498,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -542,18 +512,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Photo" text="Photo Paper" class="photo" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">6</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">103</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">1.000000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.750000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -568,12 +539,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">1.000000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -582,18 +553,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="GlossyPhoto" text="Premium Glossy Photo Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">11</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.800000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -608,12 +580,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">1.000000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
<parameter type="curve" name="HueMap" ref="premium_hue_map"/>
@@ -622,18 +594,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Semigloss" text="Premium Semigloss Photo Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">12</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.800000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -648,12 +621,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">0.920000</parameter>
<parameter type="curve" name="HueMap" ref="premium_hue_map"/>
@@ -662,18 +635,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="Luster" text="Premium Luster Photo Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">13</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.800000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -688,9 +662,9 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.720000</parameter>
<parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -702,18 +676,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="Ultra3matte">
+<paper translate="text" name="ArchivalMatte" text="Archival Matte Paper" class="premium" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -728,12 +703,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">1.000000</parameter>
+ <parameter type="float" name="BlackDensity">0.600000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -742,18 +717,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
- <paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="Ultra3matte">
+<paper translate="text" name="WaterColorRadiant" text="Watercolor Paper - Radiant White" class="premium" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">0</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.920000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.400000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.800000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -768,12 +744,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.920000</parameter>
<parameter type="float" name="SubchannelCutoff">0.400000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -782,18 +758,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="Ultra3photo">
+<paper translate="text" name="GlossyPaper" text="Photo Quality Glossy Paper" class="photo" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">19</parameter>
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
- <parameter type="float" name="SubchannelCutoff">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -808,12 +785,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -822,18 +799,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Ilford" text="Ilford Heavy Paper" class="premium" PreferredInkset="ultra3matte">
+ <parameter type="integer" name="PaperMedia">15</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">128</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
- <parameter type="float" name="SubchannelCutoff">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -848,12 +826,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -862,18 +840,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="Ultra3photo">
+<paper translate="text" name="ColorLife" text="ColorLife Paper" class="premium" PreferredInkset="ultra3photo">
+ <parameter type="integer" name="PaperMedia">23</parameter>
<parameter type="integer" name="PaperThickness">2</parameter>
<parameter type="integer" name="VacuumIntensity">0</parameter>
<parameter type="integer" name="FeedAdjustment">103</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.830000</parameter>
- <parameter type="float" name="SubchannelCutoff">1.000000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -888,12 +867,12 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="Density">0.830000</parameter>
<parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
@@ -902,18 +881,19 @@ PreferredInkset="Ultra3matte">
</ink>
</paper>
-<paper translate="text" name="Other" text="Other" class="plain" PreferredInkset="Ultra3matte">
+<paper translate="text" name="Other" text="Other" class="plain"
+PreferredInkset="ultra3matte">
<parameter type="integer" name="PaperThickness">1</parameter>
<parameter type="integer" name="VacuumIntensity">26</parameter>
<parameter type="integer" name="FeedAdjustment">107</parameter>
<ink translate="text" name="ultra3photo" text="UltraChrome Photo Black">
<parameter type="float" name="Density">0.720000</parameter>
- <parameter type="float" name="SubchannelCutoff">0.100000</parameter>
+ <parameter type="float" name="SubchannelCutoff">0.500000</parameter>
<parameter type="float" name="BlackTrans">1.000000</parameter>
- <parameter type="float" name="GCRLower">0.010000</parameter>
- <parameter type="float" name="GCRUpper">1.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRLower">0.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
<parameter type="float" name="BlackDensity">1.000000</parameter>
@@ -929,11 +909,11 @@ PreferredInkset="Ultra3matte">
<parameter type="float" name="SubchannelCutoff">0.100000</parameter>
<parameter type="float" name="BlackTrans">0.400000</parameter>
<parameter type="float" name="GCRLower">0.000000</parameter>
- <parameter type="float" name="GCRUpper">0.500000</parameter>
- <parameter type="float" name="CyanBalance">1.000000</parameter>
+ <parameter type="float" name="GCRUpper">0.000000</parameter>
+ <parameter type="float" name="CyanBalance">0.900000</parameter>
<parameter type="float" name="MagentaBalance">1.000000</parameter>
<parameter type="float" name="YellowBalance">1.000000</parameter>
- <parameter type="float" name="BlackDensity">0.600000</parameter>
+ <parameter type="float" name="BlackDensity">1.000000</parameter>
<parameter type="float" name="Saturation">1.000000</parameter>
<parameter type="float" name="Gamma">1.000000</parameter>
<parameter type="curve" name="HueMap" ref="hue_map"/>
diff --git a/src/xml/escp2/mediasizes/Makefile.in b/src/xml/escp2/mediasizes/Makefile.in
index b86829e..655767d 100644
--- a/src/xml/escp2/mediasizes/Makefile.in
+++ b/src/xml/escp2/mediasizes/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -290,14 +308,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/mediasizes/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/mediasizes/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/mediasizes/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/mediasizes/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -315,6 +333,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -324,20 +343,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -361,13 +383,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -402,6 +428,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -420,6 +447,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -428,18 +457,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -500,6 +539,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/model/Makefile.am b/src/xml/escp2/model/Makefile.am
index efb63a0..44427f2 100644
--- a/src/xml/escp2/model/Makefile.am
+++ b/src/xml/escp2/model/Makefile.am
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.21 2010/08/11 00:26:09 rlk Exp $
+## $Id: Makefile.am,v 1.27 2011/03/05 18:49:13 rlk Exp $
## Copyright (C) 2008 Robert Krawitz
##
## This program is free software; you can redistribute it and/or modify
@@ -133,7 +133,15 @@ pkgxmldata_DATA = \
model_104.xml \
model_105.xml \
model_106.xml \
- model_107.xml
+ model_107.xml \
+ model_108.xml \
+ model_109.xml \
+ model_110.xml \
+ model_111.xml \
+ model_112.xml \
+ model_113.xml \
+ model_114.xml \
+ model_115.xml
xml-stamp: $(pkgxmldata_DATA) Makefile.am
-rm -f $@ $@.tmp
diff --git a/src/xml/escp2/model/Makefile.in b/src/xml/escp2/model/Makefile.in
index edd8d3f..aa4c874 100644
--- a/src/xml/escp2/model/Makefile.in
+++ b/src/xml/escp2/model/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -386,7 +404,15 @@ pkgxmldata_DATA = \
model_104.xml \
model_105.xml \
model_106.xml \
- model_107.xml
+ model_107.xml \
+ model_108.xml \
+ model_109.xml \
+ model_110.xml \
+ model_111.xml \
+ model_112.xml \
+ model_113.xml \
+ model_114.xml \
+ model_115.xml
CLEANFILES = xmli18n-tmp.h xml-stamp xml-stamp.tmp
EXTRA_DIST = $(pkgxmldata_DATA)
@@ -397,14 +423,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/model/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/model/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/model/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/model/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -422,6 +448,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -431,20 +458,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -468,13 +498,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -509,6 +543,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -527,6 +562,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -535,18 +572,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -607,6 +654,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/model/model_102.xml b/src/xml/escp2/model/model_102.xml
index 1e433b5..393c19b 100644
--- a/src/xml/escp2/model/model_102.xml
+++ b/src/xml/escp2/model/model_102.xml
@@ -45,7 +45,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
<zeroMarginOffset>43</zeroMarginOffset>
<microLeftMargin>5</microLeftMargin>
@@ -60,76 +60,86 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Light Light Black"/>
- <ChannelName translate="name" name="Vivid Light Magenta"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Black"/>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Vivid Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_103.xml b/src/xml/escp2/model/model_103.xml
index cf7c331..c6a1016 100644
--- a/src/xml/escp2/model/model_103.xml
+++ b/src/xml/escp2/model/model_103.xml
@@ -22,15 +22,14 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</copyright>
<escp2:model id="103">
<media src="escp2/media/pro_ultrachrome_k3.xml"/>
- <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <inputSlots src="escp2/inputslots/pro_cutter_roll_feed.xml"/>
<qualityPresets src="escp2/qualitypresets/standard.xml"/>
<inkGroup src="escp2/inks/pro_ultrachrome_k3.xml"/>
<printerWeaves src="escp2/weaves/pro7600.xml"/>
- <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
<preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
<postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
<commandSet>Pro</commandSet>
- <borderless>Yes</borderless>
+ <borderless>HorizontalOnly</borderless>
<supportsVariableDropsizes/>
<hasFastGraymode/>
<sendZeroAdvance/>
@@ -42,18 +41,18 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<FirstNozzle>0</FirstNozzle>
<NozzleSeparation>1</NozzleSeparation>
</headConfiguration>
- <physicalChannels>7</physicalChannels>
+ <physicalChannels>8</physicalChannels>
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
- <zeroMarginOffset>80</zeroMarginOffset>
- <microLeftMargin>42</microLeftMargin>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>1728 86400</maximumMediaSize>
<maximumImageableArea>1728 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
@@ -61,74 +60,86 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Magenta"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_104.xml b/src/xml/escp2/model/model_104.xml
index ba3a2a5..996bac0 100644
--- a/src/xml/escp2/model/model_104.xml
+++ b/src/xml/escp2/model/model_104.xml
@@ -22,15 +22,14 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</copyright>
<escp2:model id="104">
<media src="escp2/media/pro_ultrachrome_k3.xml"/>
- <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <inputSlots src="escp2/inputslots/pro_cutter_roll_feed.xml"/>
<qualityPresets src="escp2/qualitypresets/standard.xml"/>
<inkGroup src="escp2/inks/pro_ultrachrome_k3.xml"/>
<printerWeaves src="escp2/weaves/pro7600.xml"/>
- <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
<preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
<postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
<commandSet>Pro</commandSet>
- <borderless>Yes</borderless>
+ <borderless>HorizontalOnly</borderless>
<supportsVariableDropsizes/>
<hasFastGraymode/>
<sendZeroAdvance/>
@@ -42,18 +41,18 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<FirstNozzle>0</FirstNozzle>
<NozzleSeparation>1</NozzleSeparation>
</headConfiguration>
- <physicalChannels>7</physicalChannels>
+ <physicalChannels>8</physicalChannels>
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
- <zeroMarginOffset>80</zeroMarginOffset>
- <microLeftMargin>42</microLeftMargin>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>3168 86400</maximumMediaSize>
<maximumImageableArea>3168 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
@@ -61,74 +60,86 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Magenta"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_105.xml b/src/xml/escp2/model/model_105.xml
index d89b881..551c2e4 100644
--- a/src/xml/escp2/model/model_105.xml
+++ b/src/xml/escp2/model/model_105.xml
@@ -22,15 +22,14 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</copyright>
<escp2:model id="105">
<media src="escp2/media/pro_ultrachrome_k3.xml"/>
- <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <inputSlots src="escp2/inputslots/pro_cutter_roll_feed.xml"/>
<qualityPresets src="escp2/qualitypresets/standard.xml"/>
<inkGroup src="escp2/inks/pro_ultrachrome_k3.xml"/>
<printerWeaves src="escp2/weaves/pro7600.xml"/>
- <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
<preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
<postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
<commandSet>Pro</commandSet>
- <borderless>Yes</borderless>
+ <borderless>HorizontalOnly</borderless>
<supportsVariableDropsizes/>
<hasFastGraymode/>
<sendZeroAdvance/>
@@ -42,18 +41,18 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<FirstNozzle>0</FirstNozzle>
<NozzleSeparation>1</NozzleSeparation>
</headConfiguration>
- <physicalChannels>7</physicalChannels>
+ <physicalChannels>8</physicalChannels>
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
- <zeroMarginOffset>80</zeroMarginOffset>
- <microLeftMargin>42</microLeftMargin>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>4608 86400</maximumMediaSize>
<maximumImageableArea>4608 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
@@ -61,76 +60,86 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Light Light Black"/>
- <ChannelName translate="name" name="Light Magenta"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Black"/>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_106.xml b/src/xml/escp2/model/model_106.xml
index 65a3c65..92bd2d4 100644
--- a/src/xml/escp2/model/model_106.xml
+++ b/src/xml/escp2/model/model_106.xml
@@ -22,15 +22,14 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
</copyright>
<escp2:model id="106">
<media src="escp2/media/pro_ultrachrome_k3.xml"/>
- <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <inputSlots src="escp2/inputslots/pro_cutter_roll_feed.xml"/>
<qualityPresets src="escp2/qualitypresets/standard.xml"/>
<inkGroup src="escp2/inks/pro_ultrachrome_k3.xml"/>
<printerWeaves src="escp2/weaves/pro7600.xml"/>
- <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
<preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
<postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
<commandSet>Pro</commandSet>
- <borderless>Yes</borderless>
+ <borderless>HorizontalOnly</borderless>
<supportsVariableDropsizes/>
<hasFastGraymode/>
<sendZeroAdvance/>
@@ -42,18 +41,18 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<FirstNozzle>0</FirstNozzle>
<NozzleSeparation>1</NozzleSeparation>
</headConfiguration>
- <physicalChannels>7</physicalChannels>
+ <physicalChannels>8</physicalChannels>
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
- <zeroMarginOffset>80</zeroMarginOffset>
- <microLeftMargin>42</microLeftMargin>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>1224 86400</maximumMediaSize>
<maximumImageableArea>1224 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
@@ -61,74 +60,86 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Magenta"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_107.xml b/src/xml/escp2/model/model_107.xml
index 00ac63b..ee6047b 100644
--- a/src/xml/escp2/model/model_107.xml
+++ b/src/xml/escp2/model/model_107.xml
@@ -19,14 +19,13 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- ************* file was modified by Sergey Y. from R2880 to be used for Pro3880
</copyright>
<escp2:model id="107">
- <media src="escp2/media/pro3880_ultrachrome_k3v.xml"/>
+ <media src="escp2/media/pro_ultrachrome_k3v.xml"/>
<inputSlots src="escp2/inputslots/pro3880.xml"/>
- <qualityPresets src="escp2/qualitypresets/v2880.xml"/>
- <inkGroup src="escp2/inks/f360_ultrachrome_k3v.xml"/>
- <mediaSizes src="escp2/mediasizes/standard.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome_k3v.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
<verticalBorderlessSequence>US\003\000\000\000\002</verticalBorderlessSequence>
<preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
<preinitRemoteSequence>SN\001\000\000</preinitRemoteSequence>
@@ -37,97 +36,113 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<hasFastGraymode/>
<sendZeroAdvance/>
<supportsD4Mode/>
- <hasInterchangeableInkCartridges/>
<preferredEnvelopeOrientation>Portrait</preferredEnvelopeOrientation>
<headConfiguration type="default">
- <Nozzles>180</Nozzles>
+ <Nozzles>1</Nozzles>
<MinNozzles>1</MinNozzles>
<FirstNozzle>0</FirstNozzle>
- <NozzleSeparation>2</NozzleSeparation>
+ <NozzleSeparation>1</NozzleSeparation>
</headConfiguration>
- <physicalChannels>8</physicalChannels>
+ <physicalChannels>9</physicalChannels>
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
- <extraVerticalFeed>10</extraVerticalFeed>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
- <zeroMarginOffset>50</zeroMarginOffset>
- <microLeftMargin>42</microLeftMargin>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
<minHorizontalAlignment>1</minHorizontalAlignment>
- <baseHorizontalAlignment>180</baseHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
<minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>1224 86400</maximumMediaSize>
<maximumImageableArea>1224 86400</maximumImageableArea>
- <margins interleave="soft" media="sheet">9 9 0 0</margins>
- <margins interleave="printer" media="sheet">9 9 0 0</margins>
- <AlignmentChoices>4 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Light Light Black"/>
- <ChannelName translate="name" name="Vivid Light Magenta"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Black"/>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Vivid Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- </ChannelNames>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
- <parameter type="float" name="escp2_density">2.300000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
- <parameter type="integer" name="escp2_base_res">360</parameter>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">1.000000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
- <resolution translate="text" name="360dpi" text="360 DPI">
+ <resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
- <parameter type="float" name="escp2_density">1.150000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
- <parameter type="integer" name="escp2_base_res">360</parameter>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">1.000000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
- <resolution translate="text" name="720x360dpi" text="720 x 360 DPI">
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
- <printerWeave command="\033(i\003\000\001\000\000"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
- <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.180000</parameter>
- <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
- <resolution translate="text" name="720dpi" text="720 DPI">
+ <resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
- <printerWeave command="\033(i\003\000\001\000\000"/>
- <parameter type="float" name="escp2_density">0.775000</parameter>
- <parameter type="integer" name="escp2_ink_type">18</parameter>
- <parameter type="integer" name="escp2_base_res">720</parameter>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.180000</parameter>
- <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
- <resolution translate="text" name="1440x720dpi" text="1440 x 720 DPI">
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
- <printerWeave command="\033(i\003\000\001\000\000"/>
- <parameter type="float" name="escp2_density">0.575000</parameter>
- <parameter type="integer" name="escp2_ink_type">18</parameter>
- <parameter type="integer" name="escp2_base_res">1440</parameter>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.180000</parameter>
- <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
- <resolution translate="text" name="2880x1440dpi" text="2880 x 1440 DPI">
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
- <printerWeave command="\033(i\003\000\001\000\000"/>
- <parameter type="float" name="escp2_density">0.875000</parameter>
- <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
<parameter type="float" name="DropSize1">1.000000</parameter>
diff --git a/src/xml/escp2/model/model_108.xml b/src/xml/escp2/model/model_108.xml
new file mode 100644
index 0000000..1f5d5a1
--- /dev/null
+++ b/src/xml/escp2/model/model_108.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="108">
+ <media src="escp2/media/pro_ultrachrome_k3.xml"/>
+ <inputSlots src="escp2/inputslots/pro3880.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome_k3.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <verticalBorderlessSequence>US\003\000\000\000\002</verticalBorderlessSequence>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <preinitRemoteSequence>SN\001\000\000</preinitRemoteSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>Yes</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <hasInterchangeableInkCartridges/>
+ <preferredEnvelopeOrientation>Portrait</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>9</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>1224 86400</maximumMediaSize>
+ <maximumImageableArea>1224 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <ChannelNames>
+ <ChannelName translate="name" name="Light Light Black"/>
+ <ChannelName translate="name" name="Light Magenta"/>
+ <ChannelName translate="name" name="Light Cyan"/>
+ <ChannelName translate="name" name="Light Black"/>
+ <ChannelName translate="name" name="Black"/>
+ <ChannelName translate="name" name="Cyan"/>
+ <ChannelName translate="name" name="Magenta"/>
+ <ChannelName translate="name" name="Yellow"/>
+ </ChannelNames>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_109.xml b/src/xml/escp2/model/model_109.xml
new file mode 100644
index 0000000..768e8f9
--- /dev/null
+++ b/src/xml/escp2/model/model_109.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="109">
+ <media src="escp2/media/pro_ultrachrome_k3v.xml"/>
+ <inputSlots src="escp2/inputslots/pro_cutter_roll_feed.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome_k3v4.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>HorizontalOnly</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <preferredEnvelopeOrientation>Landscape</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>8</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>1728 86400</maximumMediaSize>
+ <maximumImageableArea>1728 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_110.xml b/src/xml/escp2/model/model_110.xml
new file mode 100644
index 0000000..15d06c9
--- /dev/null
+++ b/src/xml/escp2/model/model_110.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="110">
+ <media src="escp2/media/pro_ultrachrome_k3v.xml"/>
+ <inputSlots src="escp2/inputslots/pro_cutter_roll_feed.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome_k3v4.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>HorizontalOnly</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <preferredEnvelopeOrientation>Landscape</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>8</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>43</zeroMarginOffset>
+ <microLeftMargin>5</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>3168 86400</maximumMediaSize>
+ <maximumImageableArea>3168 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_111.xml b/src/xml/escp2/model/model_111.xml
new file mode 100644
index 0000000..5736029
--- /dev/null
+++ b/src/xml/escp2/model/model_111.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="111">
+ <media src="escp2/media/pro_ultrachrome_k3.xml"/>
+ <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome_k34.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>Yes</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <preferredEnvelopeOrientation>Landscape</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>7</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 1440</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>80</zeroMarginOffset>
+ <microLeftMargin>42</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>504 504</minimumMediaSize>
+ <maximumMediaSize>1224 86400</maximumMediaSize>
+ <maximumImageableArea>1224 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <ChannelNames>
+ <ChannelName translate="name" name="Black"/>
+ <ChannelName translate="name" name="Cyan"/>
+ <ChannelName translate="name" name="Magenta"/>
+ <ChannelName translate="name" name="Yellow"/>
+ </ChannelNames>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.766000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_112.xml b/src/xml/escp2/model/model_112.xml
new file mode 100644
index 0000000..fa3b364
--- /dev/null
+++ b/src/xml/escp2/model/model_112.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="112">
+ <media src="escp2/media/pro_ultrachrome.xml"/>
+ <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>Yes</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <preferredEnvelopeOrientation>Landscape</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>7</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 1440</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>80</zeroMarginOffset>
+ <microLeftMargin>42</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>1224 86400</maximumMediaSize>
+ <maximumImageableArea>1224 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <ChannelNames>
+ <ChannelName translate="name" name="Black"/>
+ <ChannelName translate="name" name="Cyan"/>
+ <ChannelName translate="name" name="Magenta"/>
+ <ChannelName translate="name" name="Yellow"/>
+ <ChannelName translate="name" name="Light Cyan"/>
+ <ChannelName translate="name" name="Light Magenta"/>
+ </ChannelNames>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.766000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_113.xml b/src/xml/escp2/model/model_113.xml
new file mode 100644
index 0000000..c1c5202
--- /dev/null
+++ b/src/xml/escp2/model/model_113.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="113">
+ <media src="escp2/media/pro_ultrachrome.xml"/>
+ <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>Yes</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <preferredEnvelopeOrientation>Landscape</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>7</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 1440</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>80</zeroMarginOffset>
+ <microLeftMargin>42</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>4608 86400</maximumMediaSize>
+ <maximumImageableArea>4608 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <ChannelNames>
+ <ChannelName translate="name" name="Black"/>
+ <ChannelName translate="name" name="Cyan"/>
+ <ChannelName translate="name" name="Magenta"/>
+ <ChannelName translate="name" name="Yellow"/>
+ <ChannelName translate="name" name="Light Cyan"/>
+ <ChannelName translate="name" name="Light Magenta"/>
+ </ChannelNames>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.766000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_114.xml b/src/xml/escp2/model/model_114.xml
new file mode 100644
index 0000000..96e04c6
--- /dev/null
+++ b/src/xml/escp2/model/model_114.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="114">
+ <media src="escp2/media/pro_ultrachrome.xml"/>
+ <inputSlots src="escp2/inputslots/pro_roll_feed.xml"/>
+ <qualityPresets src="escp2/qualitypresets/standard.xml"/>
+ <inkGroup src="escp2/inks/pro_ultrachrome.xml"/>
+ <printerWeaves src="escp2/weaves/pro7600.xml"/>
+ <verticalBorderlessSequence>SN\003\000\000\011\001</verticalBorderlessSequence>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>Pro</commandSet>
+ <borderless>Yes</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <preferredEnvelopeOrientation>Landscape</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>1</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>1</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>7</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>2880 1440</maximumResolution>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>80</zeroMarginOffset>
+ <microLeftMargin>42</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>28800</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>1224 86400</maximumMediaSize>
+ <maximumImageableArea>1224 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 9 40</margins>
+ <margins interleave="printer" media="sheet">9 9 9 40</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <AlignmentChoices>3 15 0 0</AlignmentChoices>
+ <ChannelNames>
+ <ChannelName translate="name" name="Black"/>
+ <ChannelName translate="name" name="Cyan"/>
+ <ChannelName translate="name" name="Magenta"/>
+ <ChannelName translate="name" name="Yellow"/>
+ <ChannelName translate="name" name="Light Cyan"/>
+ <ChannelName translate="name" name="Light Magenta"/>
+ </ChannelNames>
+ <resolutions>
+ <resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <printerWeave command="\033(i\001\000\000"/>
+ <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360pro" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360mw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.160000</parameter>
+ <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720mw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.766000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_115.xml b/src/xml/escp2/model/model_115.xml
new file mode 100644
index 0000000..bd5c3e1
--- /dev/null
+++ b/src/xml/escp2/model/model_115.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0"?>
+
+<gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.xsd">
+<copyright>
+ * Copyright 2008 Robert Krawitz (rlk@alum.mit.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+</copyright>
+<escp2:model id="115">
+ <media src="escp2/media/f360_ultrachrome_k3v.xml"/>
+ <inputSlots src="escp2/inputslots/r2880.xml"/>
+ <qualityPresets src="escp2/qualitypresets/v2880.xml"/>
+ <inkGroup src="escp2/inks/f360_ultrachrome_k3v_2.xml"/>
+ <mediaSizes src="escp2/mediasizes/standard.xml"/>
+ <verticalBorderlessSequence>US\003\000\000\000\002</verticalBorderlessSequence>
+ <preinitSequence>\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012\033@</preinitSequence>
+ <preinitRemoteSequence>SN\001\000\000</preinitRemoteSequence>
+ <postinitRemoteSequence>JE\001\000\000</postinitRemoteSequence>
+ <commandSet>2000</commandSet>
+ <borderless>Full</borderless>
+ <supportsVariableDropsizes/>
+ <hasFastGraymode/>
+ <sendZeroAdvance/>
+ <supportsD4Mode/>
+ <hasInterchangeableInkCartridges/>
+ <preferredEnvelopeOrientation>Portrait</preferredEnvelopeOrientation>
+ <headConfiguration type="default">
+ <Nozzles>180</Nozzles>
+ <MinNozzles>1</MinNozzles>
+ <FirstNozzle>0</FirstNozzle>
+ <NozzleSeparation>2</NozzleSeparation>
+ </headConfiguration>
+ <physicalChannels>9</physicalChannels>
+ <baseSeparation>360</baseSeparation>
+ <resolutionScale>14400</resolutionScale>
+ <minimumResolution>360 180</minimumResolution>
+ <maximumResolution>5760 2880</maximumResolution>
+ <extraVerticalFeed>10</extraVerticalFeed>
+ <separationRows>1</separationRows>
+ <zeroMarginOffset>96</zeroMarginOffset>
+ <microLeftMargin>42</microLeftMargin>
+ <minHorizontalAlignment>1</minHorizontalAlignment>
+ <baseHorizontalAlignment>180</baseHorizontalAlignment>
+ <bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
+ <minimumMediaSize>144 144</minimumMediaSize>
+ <maximumMediaSize>936 86400</maximumMediaSize>
+ <maximumImageableArea>936 86400</maximumImageableArea>
+ <margins interleave="soft" media="sheet">9 9 0 0</margins>
+ <margins interleave="printer" media="sheet">9 9 0 0</margins>
+ <margins interleave="soft" media="roll">9 9 0 0</margins>
+ <margins interleave="printer" media="roll">9 9 0 0</margins>
+ <CDOffset>221 262</CDOffset>
+ <CDMediaSize>595 842</CDMediaSize>
+ <AlignmentChoices>4 15 0 0</AlignmentChoices>
+ <ChannelNames>
+ </ChannelNames>
+ <resolutions>
+ <resolution translate="text" name="360x180sw" text="360 x 180 DPI Draft">
+ <physicalResolution>360 180</physicalResolution>
+ <parameter type="float" name="escp2_density">3.270000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">360</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="360sw" text="360 DPI">
+ <physicalResolution>360 360</physicalResolution>
+ <parameter type="float" name="escp2_density">1.630000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">360</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720x360sw" text="720 x 360 DPI">
+ <physicalResolution>720 360</physicalResolution>
+ <parameter type="float" name="escp2_density">3.110000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.180000</parameter>
+ <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="720sw" text="720 DPI">
+ <physicalResolution>720 720</physicalResolution>
+ <parameter type="float" name="escp2_density">1.550000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.180000</parameter>
+ <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x720sw" text="1440 x 720 DPI">
+ <physicalResolution>1440 720</physicalResolution>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.180000</parameter>
+ <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440ov" text="1440 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <printedResolution>1440 1440</printedResolution>
+ <parameter type="float" name="escp2_density">0.387000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.180000</parameter>
+ <parameter type="float" name="DropSize2">0.440000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x1440sw" text="2880 x 1440 DPI">
+ <physicalResolution>2880 1440</physicalResolution>
+ <parameter type="float" name="escp2_density">0.420000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.410000</parameter>
+ <parameter type="float" name="DropSize2">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="5760x1440sw" text="5760 x 1440 DPI">
+ <physicalResolution>5760 1440</physicalResolution>
+ <parameter type="float" name="escp2_density">0.513000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880sw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <parameter type="float" name="escp2_density">0.513000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="5760x2880sw" text="5760 x 2880 DPI">
+ <physicalResolution>5760 2880</physicalResolution>
+ <parameter type="float" name="escp2_density">0.255000</parameter>
+ <parameter type="integer" name="escp2_ink_type">18</parameter>
+ <parameter type="integer" name="escp2_base_res">720</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ </resolutions>
+</escp2:model>
+</gutenprint>
diff --git a/src/xml/escp2/model/model_48.xml b/src/xml/escp2/model/model_48.xml
index 7ae84d7..402e28d 100644
--- a/src/xml/escp2/model/model_48.xml
+++ b/src/xml/escp2/model/model_48.xml
@@ -53,7 +53,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>1728 86400</maximumMediaSize>
<maximumImageableArea>1728 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
diff --git a/src/xml/escp2/model/model_49.xml b/src/xml/escp2/model/model_49.xml
index 41ebb87..0186d97 100644
--- a/src/xml/escp2/model/model_49.xml
+++ b/src/xml/escp2/model/model_49.xml
@@ -53,7 +53,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>3168 86400</maximumMediaSize>
<maximumImageableArea>3168 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
diff --git a/src/xml/escp2/model/model_88.xml b/src/xml/escp2/model/model_88.xml
index 34f46fe..755938c 100644
--- a/src/xml/escp2/model/model_88.xml
+++ b/src/xml/escp2/model/model_88.xml
@@ -45,14 +45,14 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
<zeroMarginOffset>43</zeroMarginOffset>
<microLeftMargin>5</microLeftMargin>
<minHorizontalAlignment>1</minHorizontalAlignment>
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
- <minimumMediaSize>504 504</minimumMediaSize>
+ <minimumMediaSize>144 144</minimumMediaSize>
<maximumMediaSize>4608 86400</maximumMediaSize>
<maximumImageableArea>4608 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
@@ -60,76 +60,86 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Light Light Black"/>
- <ChannelName translate="name" name="Vivid Light Magenta"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Black"/>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Vivid Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_89.xml b/src/xml/escp2/model/model_89.xml
index adb40bb..9866e37 100644
--- a/src/xml/escp2/model/model_89.xml
+++ b/src/xml/escp2/model/model_89.xml
@@ -45,7 +45,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
<zeroMarginOffset>43</zeroMarginOffset>
<microLeftMargin>5</microLeftMargin>
@@ -53,83 +53,93 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
<minimumMediaSize>144 144</minimumMediaSize>
- <maximumMediaSize>1224 86400</maximumMediaSize>
- <maximumImageableArea>1224 86400</maximumImageableArea>
+ <maximumMediaSize>1728 86400</maximumMediaSize>
+ <maximumImageableArea>1728 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
<margins interleave="printer" media="sheet">9 9 9 40</margins>
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Light Light Black"/>
- <ChannelName translate="name" name="Vivid Light Magenta"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Black"/>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Vivid Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/model/model_90.xml b/src/xml/escp2/model/model_90.xml
index bddd7fe..0a6962d 100644
--- a/src/xml/escp2/model/model_90.xml
+++ b/src/xml/escp2/model/model_90.xml
@@ -45,7 +45,7 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<baseSeparation>360</baseSeparation>
<resolutionScale>14400</resolutionScale>
<minimumResolution>360 180</minimumResolution>
- <maximumResolution>2880 1440</maximumResolution>
+ <maximumResolution>2880 2880</maximumResolution>
<separationRows>1</separationRows>
<zeroMarginOffset>43</zeroMarginOffset>
<microLeftMargin>5</microLeftMargin>
@@ -53,83 +53,93 @@ xsi:schemaLocation="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0 gutenprint.
<baseHorizontalAlignment>28800</baseHorizontalAlignment>
<bidirectionalAutoUpperLimit>2073600</bidirectionalAutoUpperLimit>
<minimumMediaSize>144 144</minimumMediaSize>
- <maximumMediaSize>1224 86400</maximumMediaSize>
- <maximumImageableArea>1224 86400</maximumImageableArea>
+ <maximumMediaSize>3168 86400</maximumMediaSize>
+ <maximumImageableArea>3168 86400</maximumImageableArea>
<margins interleave="soft" media="sheet">9 9 9 40</margins>
<margins interleave="printer" media="sheet">9 9 9 40</margins>
<margins interleave="soft" media="roll">9 9 0 0</margins>
<margins interleave="printer" media="roll">9 9 0 0</margins>
<AlignmentChoices>3 15 0 0</AlignmentChoices>
- <ChannelNames>
- <ChannelName translate="name" name="Light Light Black"/>
- <ChannelName translate="name" name="Vivid Light Magenta"/>
- <ChannelName translate="name" name="Light Cyan"/>
- <ChannelName translate="name" name="Light Black"/>
- <ChannelName translate="name" name="Black"/>
- <ChannelName translate="name" name="Cyan"/>
- <ChannelName translate="name" name="Vivid Magenta"/>
- <ChannelName translate="name" name="Yellow"/>
- </ChannelNames>
<resolutions>
<resolution translate="text" name="360x180dpi" text="360 x 180 DPI Draft">
<physicalResolution>360 180</physicalResolution>
<printerWeave command="\033(i\001\000\000"/>
- <parameter type="float" name="escp2_density">2.300000</parameter>
+ <parameter type="float" name="escp2_density">10.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="360pro" text="360 DPI">
<physicalResolution>360 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">1.150000</parameter>
+ <parameter type="float" name="escp2_density">5.000000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720x360mw" text="720 x 360 DPI">
<physicalResolution>720 360</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.580000</parameter>
+ <parameter type="float" name="escp2_density">2.520000</parameter>
<parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.160000</parameter>
- <parameter type="float" name="DropSize2">0.400000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="720mw" text="720 DPI">
<physicalResolution>720 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.766000</parameter>
- <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="float" name="escp2_density">1.260000</parameter>
+ <parameter type="integer" name="escp2_ink_type">17</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
- <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize1">0.290000</parameter>
+ <parameter type="float" name="DropSize2">0.630000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="1440x720mw" text="1440 x 720 DPI">
<physicalResolution>1440 720</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.388000</parameter>
+ <parameter type="float" name="escp2_density">0.891000</parameter>
+ <parameter type="integer" name="escp2_ink_type">16</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">2</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
+ <parameter type="float" name="DropSize2">0.450000</parameter>
+ <parameter type="float" name="DropSize3">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="1440x1440mw" text="1440 x 1440 DPI">
+ <physicalResolution>1440 1440</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.446000</parameter>
<parameter type="integer" name="escp2_ink_type">16</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">2</parameter>
- <parameter type="float" name="DropSize1">0.200000</parameter>
+ <parameter type="float" name="DropSize1">0.275000</parameter>
<parameter type="float" name="DropSize2">0.450000</parameter>
<parameter type="float" name="DropSize3">1.000000</parameter>
</resolution>
<resolution translate="text" name="2880x1440mw" text="2880 x 1440 DPI">
<physicalResolution>2880 1440</physicalResolution>
<printerWeave command="\033(i\001\000\001"/>
- <parameter type="float" name="escp2_density">0.479000</parameter>
+ <parameter type="float" name="escp2_density">0.775000</parameter>
+ <parameter type="integer" name="escp2_ink_type">5</parameter>
+ <parameter type="integer" name="escp2_base_res">2880</parameter>
+ <parameter type="integer" name="escp2_bits">1</parameter>
+ <parameter type="float" name="DropSize1">1.000000</parameter>
+ </resolution>
+ <resolution translate="text" name="2880x2880mw" text="2880 x 2880 DPI">
+ <physicalResolution>2880 2880</physicalResolution>
+ <printerWeave command="\033(i\001\000\001"/>
+ <parameter type="float" name="escp2_density">0.388000</parameter>
<parameter type="integer" name="escp2_ink_type">5</parameter>
<parameter type="integer" name="escp2_base_res">2880</parameter>
<parameter type="integer" name="escp2_bits">1</parameter>
diff --git a/src/xml/escp2/qualitypresets/Makefile.in b/src/xml/escp2/qualitypresets/Makefile.in
index 39a8ab9..386aa44 100644
--- a/src/xml/escp2/qualitypresets/Makefile.in
+++ b/src/xml/escp2/qualitypresets/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -294,14 +312,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/qualitypresets/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/qualitypresets/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/qualitypresets/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/qualitypresets/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -319,6 +337,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -328,20 +347,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -365,13 +387,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -406,6 +432,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -424,6 +451,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -432,18 +461,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -504,6 +543,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/escp2/weaves/Makefile.in b/src/xml/escp2/weaves/Makefile.in
index 1f949eb..d20c246 100644
--- a/src/xml/escp2/weaves/Makefile.in
+++ b/src/xml/escp2/weaves/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,8 +22,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -57,6 +59,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -64,9 +67,23 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgxmldatadir)"
-pkgxmldataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgxmldata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -186,6 +203,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
@@ -293,14 +311,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/weaves/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/xml/escp2/weaves/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xml/escp2/weaves/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/xml/escp2/weaves/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -318,6 +336,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -327,20 +346,23 @@ clean-libtool:
install-pkgxmldataDATA: $(pkgxmldata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)"
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgxmldataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- $(pkgxmldataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgxmldatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgxmldatadir)" || exit $$?; \
done
uninstall-pkgxmldataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgxmldata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgxmldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgxmldatadir)/$$f"; \
- done
+ @list='$(pkgxmldata_DATA)'; test -n "$(pkgxmldatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgxmldatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgxmldatadir)" && rm -f $$files
tags: TAGS
TAGS:
@@ -364,13 +386,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -405,6 +431,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -423,6 +450,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -431,18 +460,28 @@ install-data-am: install-pkgxmldataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -503,6 +542,7 @@ xml-stamp: $(pkgxmldata_DATA) Makefile.am
all-local: xml-stamp
dist-hook: xml-stamp
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/xml/papers.xml b/src/xml/papers.xml
index 80f5036..b774529 100644
--- a/src/xml/papers.xml
+++ b/src/xml/papers.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
- "$Id: papers.xml,v 1.8 2009/08/25 12:54:57 rlk Exp $"
+ "$Id: papers.xml,v 1.9 2010/11/16 13:51:55 gernot2270 Exp $"
XML description of papers known to libgutenprint.
You can add additional paper sizes here.
@@ -122,12 +122,24 @@
<height value="360"/>
<unit value="english-extended"/>
</paper>
+ <paper name="w252h360J">
+ <description translate="value" value="L"/>
+ <width value="252"/>
+ <height value="360"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="w288h432">
<description translate="value" value="4x6"/>
<width value="288"/>
<height value="432"/>
<unit value="english"/>
</paper>
+ <paper name="w288h432J">
+ <description translate="value" value="KG"/>
+ <width value="288"/>
+ <height value="432"/>
+ <unit value="english"/>
+ </paper>
<paper name="w324h495">
<description translate="value" value="Epson 4x6 Photo Paper (tear-off borders)"/>
<width value="324"/>
@@ -148,12 +160,24 @@
<right value="22"/>
<bottom value="43"/>
</paper>
+ <paper name="w288h576">
+ <description translate="value" value="4x8"/>
+ <width value="288"/>
+ <height value="576"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="w360h504">
<description translate="value" value="5x7"/>
<width value="360"/>
<height value="504"/>
<unit value="english-extended"/>
</paper>
+ <paper name="w360h504J">
+ <description translate="value" value="2L"/>
+ <width value="360"/>
+ <height value="504"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="w360h576">
<description translate="value" value="5x8"/>
<width value="360"/>
@@ -172,6 +196,13 @@
<height value="720"/>
<unit value="english-extended"/>
</paper>
+ <paper name="c8x10J">
+ <description translate="value" value="Rokukire"/>
+ <comment value="Same size as 8x10"/>
+ <width value="576"/>
+ <height value="720"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="Statement">
<description translate="value" value="Manual"/>
<comment value="5.5in x 8.5in (Statement)"/>
@@ -208,12 +239,26 @@
<height value="864"/>
<unit value="english-extended"/>
</paper>
+ <paper name="w720h864J">
+ <description translate="value" value="YonKire"/>
+ <comment value="10in x 12in"/>
+ <width value="720"/>
+ <height value="864"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="w792h1008">
<description translate="value" value="11x14"/>
<width value="792"/>
<height value="1008"/>
<unit value="english-extended"/>
</paper>
+ <paper name="w1008h1224J">
+ <description translate="value" value="HanKire"/>
+ <comment value="14in x 17in"/>
+ <width value="1008"/>
+ <height value="1224"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="w1152h1440">
<description translate="value" value="16x20"/>
<width value="1152"/>
@@ -1179,6 +1224,13 @@
<height value="504"/>
<unit value="english-extended"/>
</paper>
+ <paper name="w288h512">
+ <description translate="value" value="Wide 101.6x180.6"/>
+ <comment value="Wide 101.6mm x 180.6mm (4in x 7.11in)"/>
+ <width value="288"/>
+ <height value="512"/>
+ <unit value="english-extended"/>
+ </paper>
<paper name="w253h337">
<description translate="value" value="CP_L"/>
<comment value="89mm x 119mm"/>
@@ -1221,6 +1273,14 @@
<height value="1871"/>
<unit value="english-extended"/>
</paper>
+ <paper name="A3plus">
+ <description translate="value" value="A3+"/>
+ <comment value="329mm x 483mm"/>
+ <width value="932"/>
+ <height value="1369"/>
+ <unit value="metric-extended"/>
+ </paper>
+
<!--
Custom
-->
diff --git a/src/xml/printers.xml b/src/xml/printers.xml
index 5e045f3..ed84699 100644
--- a/src/xml/printers.xml
+++ b/src/xml/printers.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
- "$Id: printers.xml,v 1.58 2010/08/11 00:26:09 rlk Exp $"
+ "$Id: printers.xml,v 1.126 2011/05/01 15:36:25 gernot2270 Exp $"
XML description of printers known to libgutenprint
You can add additional printers here, but the underlying driver has
@@ -10,6 +10,10 @@
printers that are functionally identical but have different ink
characteristics.
+ Each printer must have a unique driver name (even if the underlying
+ driver is identical) to allow a unique mapping between driver
+ name and printer name (the mapping is done both ways).
+
NOTE TO TRANSLATORS: Printer names should not be translated into
their equivalents (the same printer sold under a different name)
in other countries. The correct way to handle this is to add
@@ -126,7 +130,19 @@
<printer translate="name" name="Canon S630" driver="bjc-s630" manufacturer="Canon" model="8200" parameters="density_800_params" foomaticid="Canon-S630" />
<printer translate="name" name="Canon S800" driver="bjc-s800" manufacturer="Canon" model="8200" parameters="density_800_params" foomaticid="Canon-S800" />
<printer translate="name" name="Canon S4500" driver="bjc-s4500" manufacturer="Canon" model="6500" parameters="gamma_750_params" foomaticid="Canon-S4500" />
+ <printer translate="name" name="Canon PIXMA iP1000" driver="bjc-PIXMA-iP1000" manufacturer="Canon" model="3001000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1000" />
+ <printer translate="name" name="Canon PIXMA iP1200" driver="bjc-PIXMA-iP1200" manufacturer="Canon" model="3001200" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1200" />
+ <printer translate="name" name="Canon PIXMA iP1300" driver="bjc-PIXMA-iP1200" manufacturer="Canon" model="3001200" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1300" />
+ <printer translate="name" name="Canon PIXMA iP1500" driver="bjc-PIXMA-iP1500" manufacturer="Canon" model="3001500" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1500" />
+ <printer translate="name" name="Canon PIXMA iP1600" driver="bjc-PIXMA-iP1600" manufacturer="Canon" model="3001600" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1600" />
+ <printer translate="name" name="Canon PIXMA iP1700" driver="bjc-PIXMA-iP1600" manufacturer="Canon" model="3001600" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1700" />
+ <printer translate="name" name="Canon PIXMA iP1800" driver="bjc-PIXMA-iP1600" manufacturer="Canon" model="3001600" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1800" />
+ <printer translate="name" name="Canon PIXMA iP1900" driver="bjc-PIXMA-iP1900" manufacturer="Canon" model="3001900" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP1900" />
<printer translate="name" name="Canon PIXMA iP2000" driver="bjc-PIXMA-iP2000" manufacturer="Canon" model="3002000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP2000" />
+ <printer translate="name" name="Canon PIXMA iP2200" driver="bjc-PIXMA-iP2200" manufacturer="Canon" model="3002200" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP2200" />
+ <printer translate="name" name="Canon PIXMA iP2500" driver="bjc-PIXMA-iP2500" manufacturer="Canon" model="3002500" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP2500" />
+ <printer translate="name" name="Canon PIXMA iP2600" driver="bjc-PIXMA-iP2600" manufacturer="Canon" model="3002600" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP2600" />
+ <printer translate="name" name="Canon PIXUS iP2700" driver="bjc-PIXUS-iP2700" manufacturer="Canon" model="3002700" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXUS-iP2700" />
<printer translate="name" name="Canon PIXMA iP3000" driver="bjc-PIXMA-iP3000" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP3000" />
<printer translate="name" name="Canon PIXMA iP3100" driver="bjc-PIXMA-iP3100" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP3100" />
<printer translate="name" name="Canon PIXMA iP4000" driver="bjc-iP4000" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" foomaticid="Canon-iP4000" />
@@ -135,27 +151,50 @@
<printer translate="name" name="Canon PIXMA iP4300" driver="bjc-PIXMA-iP4300" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-iP4300" />
<printer translate="name" name="Canon PIXMA iP4500" driver="bjc-PIXMA-iP4500" manufacturer="Canon" model="3004500" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-iP4500" />
<printer translate="name" name="Canon PIXMA iP4600" driver="bjc-PIXMA-iP4600" manufacturer="Canon" model="3004600" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-iP4600" />
+ <printer translate="name" name="Canon PIXMA iP4700" driver="bjc-PIXMA-iP4700" manufacturer="Canon" model="3004700" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-iP4700" />
+ <printer translate="name" name="Canon PIXMA iP4800" driver="bjc-PIXMA-iP4800" manufacturer="Canon" model="3004800" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-iP4800" />
<printer translate="name" name="Canon PIXMA iP5000" driver="bjc-PIXMA-iP5000" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP5000" />
<printer translate="name" name="Canon PIXMA iP5200" driver="bjc-PIXMA-iP5200" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP5200" />
<printer translate="name" name="Canon PIXMA iP5300" driver="bjc-PIXMA-iP5300" manufacturer="Canon" model="3005300" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP5300" />
<printer translate="name" name="Canon PIXMA iP6000D" driver="bjc-PIXMA-iP6000D" manufacturer="Canon" model="3006000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP6000D" />
+ <printer translate="name" name="Canon PIXMA iP6100D" driver="bjc-PIXMA-iP6100D" manufacturer="Canon" model="3006100" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP6100D" />
+ <printer translate="name" name="Canon PIXMA iP6600D" driver="bjc-PIXMA-iP6600D" manufacturer="Canon" model="3006600" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP6600D" />
<printer translate="name" name="Canon PIXMA iP6700" driver="bjc-PIXMA-iP6700" manufacturer="Canon" model="3006700" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP6700" />
<printer translate="name" name="Canon PIXMA iP8500" driver="bjc-PIXMA-iP8500" manufacturer="Canon" model="3008500" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-iP8500" />
<printer translate="name" name="Canon PIXMA iX4000" driver="bjc-PIXMA-iX4000" manufacturer="Canon" model="4005000" parameters="PIXMA_iX5000_params" foomaticid="Canon-PIXMA-iX4000" />
<printer translate="name" name="Canon PIXMA iX5000" driver="bjc-PIXMA-iX5000" manufacturer="Canon" model="4005000" parameters="PIXMA_iX5000_params" foomaticid="Canon-PIXMA-iX5000" />
+ <printer translate="name" name="Canon PIXMA iX6500" driver="bjc-PIXMA-iX6500" manufacturer="Canon" model="4006500" parameters="PIXMA_iX5000_params" foomaticid="Canon-PIXMA-iX6500" />
+ <printer translate="name" name="Canon PIXMA iX7000" driver="bjc-PIXMA-iX7000" manufacturer="Canon" model="4007000" parameters="PIXMA_iX5000_params" foomaticid="Canon-PIXMA-iX7000" />
+ <printer translate="name" name="Canon PIXMA Pro9000" driver="bjc-PIXMA-Pro9000" manufacturer="Canon" model="7009000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-Pro9000" />
+ <printer translate="name" name="Canon PIXMA Pro9000mk2" driver="bjc-PIXMA-Pro9000mk2" manufacturer="Canon" model="7009002" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-Pro9000-Mk2" />
<printer translate="name" name="Canon PIXMA Pro9500" driver="bjc-PIXMA-Pro9500" manufacturer="Canon" model="7009500" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-Pro9500" />
+ <printer translate="name" name="Canon PIXMA Pro9500mk2" driver="bjc-PIXMA-Pro9500mk2" manufacturer="Canon" model="7009502" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXMA-Pro9500-Mk2" />
<printer translate="name" name="Canon PIXMA MP150" driver="bjc-MULTIPASS-MP150" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP150" />
<printer translate="name" name="Canon PIXMA MP160" driver="bjc-MULTIPASS-MP160" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP160" />
- <printer translate="name" name="Canon PIXMA MP170" driver="bjc-MULTIPASS-MP170" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP170" />
+ <printer translate="name" name="Canon PIXMA MP170" driver="bjc-MULTIPASS-MP170" manufacturer="Canon" model="5000170" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP170" />
<printer translate="name" name="Canon PIXMA MP180" driver="bjc-MULTIPASS-MP180" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP180" />
<printer translate="name" name="Canon PIXMA MP220" driver="bjc-MULTIPASS-MP220" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP220" />
+ <printer translate="name" name="Canon PIXMA MP250" driver="bjc-MULTIPASS-MP250" manufacturer="Canon" model="5000250" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP250" />
+ <printer translate="name" name="Canon PIXMA MP270" driver="bjc-MULTIPASS-MP270" manufacturer="Canon" model="5000270" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP270" />
+ <printer translate="name" name="Canon PIXMA MP280" driver="bjc-MULTIPASS-MP280" manufacturer="Canon" model="5000280" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP280" />
<printer translate="name" name="Canon PIXMA MP360" driver="bjc-MULTIPASS-MP360" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP360" />
<printer translate="name" name="Canon PIXMA MP370" driver="bjc-MULTIPASS-MP370" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP370" />
<printer translate="name" name="Canon PIXMA MP390" driver="bjc-MULTIPASS-MP390" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP390" />
+ <printer translate="name" name="Canon PIXMA MP450" driver="bjc-MULTIPASS-MP450" manufacturer="Canon" model="5000450" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP450" />
+ <printer translate="name" name="Canon PIXMA MP460" driver="bjc-MULTIPASS-MP460" manufacturer="Canon" model="5000450" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP460" />
+ <printer translate="name" name="Canon PIXMA MP480" driver="bjc-MULTIPASS-MP480" manufacturer="Canon" model="5000480" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP480" />
+ <printer translate="name" name="Canon PIXMA MP493" driver="bjc-MULTIPASS-MP493" manufacturer="Canon" model="5000493" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP493" />
+ <printer translate="name" name="Canon PIXMA MP495" driver="bjc-MULTIPASS-MP495" manufacturer="Canon" model="5000495" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP495" />
<printer translate="name" name="Canon PIXMA MP500" driver="bjc-MULTIPASS-MP500" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP500" />
- <printer translate="name" name="Canon PIXMA MP510" driver="bjc-MULTIPASS-MP510" manufacturer="Canon" model="5000520" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP510" />
+ <printer translate="name" name="Canon PIXMA MP510" driver="bjc-MULTIPASS-MP510" manufacturer="Canon" model="5000510" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP510" />
<printer translate="name" name="Canon PIXMA MP520" driver="bjc-MULTIPASS-MP520" manufacturer="Canon" model="5000520" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP520" />
+ <printer translate="name" name="Canon PIXMA MP540" driver="bjc-MULTIPASS-MP540" manufacturer="Canon" model="5000540" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP540" />
+ <printer translate="name" name="Canon PIXMA MP550" driver="bjc-MULTIPASS-MP550" manufacturer="Canon" model="5000550" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP550" />
+ <printer translate="name" name="Canon PIXMA MP600" driver="bjc-MULTIPASS-MP600" manufacturer="Canon" model="5000600" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP600" />
<printer translate="name" name="Canon PIXMA MP610" driver="bjc-MULTIPASS-MP610" manufacturer="Canon" model="3005300" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP610" />
+ <printer translate="name" name="Canon PIXMA MP620" driver="bjc-MULTIPASS-MP620" manufacturer="Canon" model="5000540" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP620" />
+ <printer translate="name" name="Canon PIXMA MP630" driver="bjc-MULTIPASS-MP630" manufacturer="Canon" model="5000630" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP630" />
+ <printer translate="name" name="Canon PIXMA MP640" driver="bjc-MULTIPASS-MP640" manufacturer="Canon" model="5000640" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP640" />
<printer translate="name" name="Canon PIXMA MP700" driver="bjc-MULTIPASS-MP700" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP700" />
<printer translate="name" name="Canon PIXMA MP710" driver="bjc-MULTIPASS-MP710" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP710" />
<printer translate="name" name="Canon PIXMA MP730" driver="bjc-MULTIPASS-MP730" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP730" />
@@ -165,10 +204,34 @@
<printer translate="name" name="Canon PIXMA MP770" driver="bjc-MULTIPASS-MP770" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP770" />
<printer translate="name" name="Canon PIXMA MP780" driver="bjc-MULTIPASS-MP780" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP780" />
<printer translate="name" name="Canon PIXMA MP790" driver="bjc-MULTIPASS-MP790" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP790" />
+ <printer translate="name" name="Canon PIXMA MP800" driver="bjc-MULTIPASS-MP800" manufacturer="Canon" model="5000800" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP800" />
+ <printer translate="name" name="Canon PIXMA MP810" driver="bjc-MULTIPASS-MP810" manufacturer="Canon" model="5000810" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP810" />
<printer translate="name" name="Canon PIXMA MP830" driver="bjc-MULTIPASS-MP830" manufacturer="Canon" model="5000830" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP830" />
+ <printer translate="name" name="Canon PIXMA MP950" driver="bjc-MULTIPASS-MP950" manufacturer="Canon" model="5000950" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP950" />
+ <printer translate="name" name="Canon PIXMA MP960" driver="bjc-MULTIPASS-MP960" manufacturer="Canon" model="5000960" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP960" />
<printer translate="name" name="Canon PIXMA MP970" driver="bjc-MULTIPASS-MP970" manufacturer="Canon" model="5000970" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP970" />
+ <printer translate="name" name="Canon PIXMA MP980" driver="bjc-MULTIPASS-MP980" manufacturer="Canon" model="5000980" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP980" />
+ <printer translate="name" name="Canon PIXMA MP990" driver="bjc-MULTIPASS-MP990" manufacturer="Canon" model="5000990" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MP990" />
<printer translate="name" name="Canon PIXUS iP3100" driver="bjc-PIXUS-iP3100" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXUS-iP3100" />
<printer translate="name" name="Canon PIXUS iP4100" driver="bjc-PIXUS-iP4100" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" foomaticid="Canon-PIXUS-iP4100" />
+ <printer translate="name" name="Canon PIXMA MG5100" driver="bjc-PIXMA-MG5100" manufacturer="Canon" model="8005100" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-MG5100" />
+ <printer translate="name" name="Canon PIXMA MG5200" driver="bjc-PIXMA-MG5200" manufacturer="Canon" model="8005200" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-MG5200" />
+ <printer translate="name" name="Canon PIXMA MG6100" driver="bjc-PIXMA-MG6100" manufacturer="Canon" model="8006100" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-MG6100" />
+ <printer translate="name" name="Canon PIXMA MG8100" driver="bjc-PIXMA-MG8100" manufacturer="Canon" model="8008100" parameters="PIXMA_iP4300_params" foomaticid="Canon-PIXMA-MG8100" />
+ <printer translate="name" name="Canon PIXMA MX300" driver="bjc-MULTIPASS-MX300" manufacturer="Canon" model="9000300" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX300" />
+ <printer translate="name" name="Canon PIXMA MX310" driver="bjc-MULTIPASS-MX300" manufacturer="Canon" model="9000300" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX310" />
+ <printer translate="name" name="Canon PIXMA MX330" driver="bjc-MULTIPASS-MX330" manufacturer="Canon" model="9000330" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX330" />
+ <printer translate="name" name="Canon PIXMA MX340" driver="bjc-MULTIPASS-MX340" manufacturer="Canon" model="9000340" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX340" />
+ <printer translate="name" name="Canon PIXMA MX350" driver="bjc-MULTIPASS-MX340" manufacturer="Canon" model="9000340" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX350" />
+ <printer translate="name" name="Canon PIXMA MX360" driver="bjc-MULTIPASS-MX360" manufacturer="Canon" model="9000360" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX360" />
+ <printer translate="name" name="Canon PIXMA MX410" driver="bjc-MULTIPASS-MX410" manufacturer="Canon" model="9000360" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX410" />
+ <printer translate="name" name="Canon PIXMA MX420" driver="bjc-MULTIPASS-MX420" manufacturer="Canon" model="9000420" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX420" />
+ <printer translate="name" name="Canon PIXMA MX700" driver="bjc-MULTIPASS-MX700" manufacturer="Canon" model="9000700" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX700" />
+ <printer translate="name" name="Canon PIXMA MX850" driver="bjc-MULTIPASS-MX850" manufacturer="Canon" model="9000850" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX850" />
+ <printer translate="name" name="Canon PIXMA MX860" driver="bjc-MULTIPASS-MX860" manufacturer="Canon" model="9000860" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX860" />
+ <printer translate="name" name="Canon PIXMA MX870" driver="bjc-MULTIPASS-MX870" manufacturer="Canon" model="9000870" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX870" />
+ <printer translate="name" name="Canon PIXMA MX880" driver="bjc-MULTIPASS-MX880" manufacturer="Canon" model="9000880" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX880" />
+ <printer translate="name" name="Canon PIXMA MX7600" driver="bjc-MULTIPASS-MX7600" manufacturer="Canon" model="9007600" parameters="PIXMA_iP4000_params" foomaticid="Canon-MULTIPASS-MX7600" />
<printer translate="name" name="Canon i80" driver="bjc-i80" manufacturer="Canon" model="2000080" parameters="density_800_params" foomaticid="Canon-i80" />
<printer translate="name" name="Canon i560" driver="bjc-i560" manufacturer="Canon" model="2000560" parameters="gamma_6_density_800_params" foomaticid="Canon-i560" />
<printer translate="name" name="Canon i850" driver="bjc-i850" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" foomaticid="Canon-i850" />
@@ -205,8 +268,11 @@
<printer translate="name" name="Epson Artisan 810" driver="escp2-artisan810" manufacturer="Epson" model="96" parameters="claria_params" foomaticid="Epson-Artisan_810" />
<printer translate="name" name="Epson B-300" driver="escp2-b300" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B300" />
<printer translate="name" name="Epson B-308" driver="escp2-b308" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B308" />
+ <printer translate="name" name="Epson B-310" driver="escp2-b310" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B310" />
+ <printer translate="name" name="Epson B-310N" driver="escp2-b310n" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B310N" />
<printer translate="name" name="Epson B-500DN" driver="escp2-b500dn" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B500DN" />
<printer translate="name" name="Epson B-508DN" driver="escp2-b508dn" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B508DN" />
+ <printer translate="name" name="Epson B-510DN" driver="escp2-b510dn" manufacturer="Epson" model="87" parameters="standard_params" foomaticid="Epson-B510DN" />
<printer translate="name" name="Epson Stylus C20" deviceid="MFG:EPSON;MDL:Stylus C20;DES:EPSON Stylus C20;CMD:ESCPL2,BDC,D4;" driver="escp2-c20" manufacturer="Epson" model="42" parameters="480_params" foomaticid="Epson-Stylus_C20" />
<printer translate="name" name="Epson Stylus C20SX" driver="escp2-c20sx" manufacturer="Epson" model="42" parameters="480_params" foomaticid="Epson-Stylus_C20SX" />
<printer translate="name" name="Epson Stylus C20UX" deviceid="MFG:EPSON;MDL:Stylus C20;DES:EPSON Stylus C20;CMD:ESCPL2,BDC,D4;" driver="escp2-c20ux" manufacturer="Epson" model="42" parameters="480_params" foomaticid="Epson-Stylus_C20UX" />
@@ -311,7 +377,7 @@
<printer translate="name" name="Epson Stylus Photo 820" deviceid="MFG:EPSON;MDL:Stylus Photo 820;DES:EPSON Stylus Photo 820;CMD:ESCPL2,BDC,D4;" driver="escp2-820" manufacturer="Epson" model="78" parameters="standard_params" foomaticid="Epson-Stylus_Photo_820" />
<printer translate="name" name="Epson Stylus Photo 825" deviceid="MFG:EPSON;MDL:Stylus Photo 825;DES:EPSON Stylus Photo 825;CMD:ESCPL2,BDC,D4;" driver="escp2-825" manufacturer="Epson" model="50" parameters="standard_params" foomaticid="Epson-Stylus_Photo_825" />
<printer translate="name" name="Epson Stylus Photo 830" deviceid="MFG:EPSON;MDL:Stylus Photo 830U;DES:EPSON Stylus Photo 830U;CMD:ESCPL2,BDC,D4;" driver="escp2-830" manufacturer="Epson" model="50" parameters="standard_params" foomaticid="Epson-Stylus_Photo_830" />
- <printer translate="name" name="Epson Stylus Photo 830U" driver="escp2-830u" manufacturer="Epson" model="50" parameters="standard_params" foomaticid="Epson-Stylus_Photo_830U" />
+ <printer translate="name" name="Epson Stylus Photo 830U" deviceid="MFG:EPSON;MDL:Stylus Photo 830U;DES:EPSON Stylus Photo 830U;CMD:ESCPL2,BDC,D4;" driver="escp2-830u" manufacturer="Epson" model="50" parameters="standard_params" foomaticid="Epson-Stylus_Photo_830U" />
<printer translate="name" name="Epson Stylus Photo 870" deviceid="MFG:EPSON;MDL:Stylus Photo 870;DES:EPSON Stylus Photo 870;CMD:ESCPL2,BDC,D4;" driver="escp2-870" manufacturer="Epson" model="22" parameters="standard_params" foomaticid="Epson-Stylus_Photo_870" />
<printer translate="name" name="Epson Stylus Photo 875" driver="escp2-875" manufacturer="Epson" model="22" parameters="standard_params" foomaticid="Epson-Stylus_Photo_875" />
<printer translate="name" name="Epson Stylus Photo 890" deviceid="MFG:EPSON;MDL:Stylus Photo 890;DES:EPSON Stylus Photo 890;CMD:ESCPL2,BDC,D4;" driver="escp2-890" manufacturer="Epson" model="36" parameters="standard_params" foomaticid="Epson-Stylus_Photo_890" />
@@ -327,17 +393,16 @@
<printer translate="name" name="Epson Stylus Photo 1280" driver="escp2-1280" manufacturer="Epson" model="37" parameters="standard_params" foomaticid="Epson-Stylus_Photo_1280" />
<printer translate="name" name="Epson Stylus Photo 1290" driver="escp2-1290" manufacturer="Epson" model="37" parameters="standard_params" foomaticid="Epson-Stylus_Photo_1290" />
<printer translate="name" name="Epson Stylus Photo 1290s" driver="escp2-1290s" manufacturer="Epson" model="37" parameters="standard_params" foomaticid="Epson-Stylus_Photo_1290s" />
- <printer translate="name" name="Epson Stylus Photo 1400" driver="escp2-1400" manufacturer="Epson" model="82" parameters="claria_params" foomaticid="Epson-Stylus_Photo_1400" />
+ <printer translate="name" name="Epson Stylus Photo 1400" deviceid="MFG:EPSON;MDL:Stylus Photo 1400;DES:EPSON Stylus Photo 1400;CMD:ESCPL2,BDC,D4,D4PX,ESCPR1;" driver="escp2-1400" manufacturer="Epson" model="82" parameters="claria_params" foomaticid="Epson-Stylus_Photo_1400" />
<printer translate="name" name="Epson Stylus Photo 1410" driver="escp2-1410" manufacturer="Epson" model="82" parameters="claria_params" foomaticid="Epson-Stylus_Photo_1410" />
<printer translate="name" name="Epson Stylus Photo 2000P" driver="escp2-2000" manufacturer="Epson" model="26" parameters="standard_params" foomaticid="Epson-Stylus_Photo_2000P" />
<printer translate="name" name="Epson Stylus Photo 2100" driver="escp2-2100" manufacturer="Epson" model="47" parameters="standard_params" foomaticid="Epson-Stylus_Photo_2100" />
<printer translate="name" name="Epson Stylus Photo 2200" driver="escp2-2200" manufacturer="Epson" model="47" parameters="standard_params" foomaticid="Epson-Stylus_Photo_2200" />
<printer translate="name" name="Epson Stylus Photo P50" driver="escp2-p50" manufacturer="Epson" model="97" parameters="claria_params" foomaticid="Epson-Stylus_Photo_P50" />
- <printer translate="name" name="Epson Stylus Photo PX650" driver="escp2-px650" manufacturer="Epson" model="97" parameters="claria_params" foomaticid="Epson-Stylus_Photo_PX650" />
<printer translate="name" name="Epson Stylus Photo R200" deviceid="MFG:EPSON;MDL:Stylus Photo R200;DES:EPSON Stylus Photo R200;CMD:ESCPL2,BDC,D4;" driver="escp2-r200" manufacturer="Epson" model="63" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R200" />
<printer translate="name" name="Epson Stylus Photo R210" deviceid="MFG:EPSON;MDL:Stylus Photo R210;DES:EPSON Stylus Photo R210;CMD:ESCPL2,BDC,D4;" driver="escp2-r210" manufacturer="Epson" model="63" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R210" />
<printer translate="name" name="Epson Stylus Photo R220" deviceid="MFG:EPSON;MDL:Stylus Photo R220;DES:EPSON Stylus Photo R220;CMD:ESCPL2,BDC,D4;" driver="escp2-r220" manufacturer="Epson" model="84" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R220" />
- <printer translate="name" name="Epson Stylus Photo R230" driver="escp2-r230" manufacturer="Epson" model="84" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R230" />
+ <printer translate="name" name="Epson Stylus Photo R230" deviceid="MFG:EPSON;MDL:Stylus Photo R230;" driver="escp2-r230" manufacturer="Epson" model="84" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R230" />
<printer translate="name" name="Epson Stylus Photo R240" driver="escp2-r240" manufacturer="Epson" model="83" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R240" />
<printer translate="name" name="Epson Stylus Photo R245" driver="escp2-r245" manufacturer="Epson" model="83" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R245" />
<printer translate="name" name="Epson Stylus Photo R260" driver="escp2-r260" manufacturer="Epson" model="81" parameters="claria_params" foomaticid="Epson-Stylus_Photo_R260" />
@@ -359,6 +424,7 @@
<printer translate="name" name="Epson Stylus Photo R1900" driver="escp2-r1900" manufacturer="Epson" model="91" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R1900" />
<printer translate="name" name="Epson Stylus Photo R2400" driver="escp2-r2400" manufacturer="Epson" model="71" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R2400" />
<printer translate="name" name="Epson Stylus Photo R2880" driver="escp2-r2880" manufacturer="Epson" model="98" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R2880" />
+ <printer translate="name" name="Epson Stylus Photo R3000" driver="escp2-r3000" manufacturer="Epson" model="115" parameters="standard_params" foomaticid="Epson-Stylus_Photo_R3000" />
<printer translate="name" name="Epson Stylus Photo RX400" deviceid="MFG:EPSON;MDL:Stylus Photo RX400;DES:EPSON Stylus Photo RX400;CMD:ESCPL2,BDC,D4;" driver="escp2-rx400" manufacturer="Epson" model="84" parameters="standard_params" foomaticid="Epson-Stylus_Photo_RX400" />
<printer translate="name" name="Epson Stylus Photo RX420" deviceid="MFG:EPSON;MDL:Stylus Photo RX420;DES:EPSON Stylus Photo RX420;CMD:ESCPL2,BDC,D4;" driver="escp2-rx420" manufacturer="Epson" model="84" parameters="standard_params" foomaticid="Epson-Stylus_Photo_RX420" />
<printer translate="name" name="Epson Stylus Photo RX425" deviceid="MFG:EPSON;MDL:Stylus Photo RX425;DES:EPSON Stylus Photo RX425;CMD:ESCPL2,BDC,D4;" driver="escp2-rx425" manufacturer="Epson" model="84" parameters="standard_params" foomaticid="Epson-Stylus_Photo_RX425" />
@@ -383,8 +449,11 @@
<printer translate="name" name="Epson Stylus Photo TX710W" driver="escp2-tx710w" manufacturer="Epson" model="96" parameters="claria_params" foomaticid="Epson-Stylus_Photo_TX710W" />
<printer translate="name" name="Epson Stylus Photo TX800FW" driver="escp2-tx800w" manufacturer="Epson" model="96" parameters="claria_params" foomaticid="Epson-Stylus_Photo_TX800FW" />
<printer translate="name" name="Epson Stylus Photo TX810FW" driver="escp2-tx810fw" manufacturer="Epson" model="96" parameters="claria_params" foomaticid="Epson-Stylus_Photo_TX810FW" />
- <printer translate="name" name="Epson Stylus Pro 3800" driver="escp2-3800" manufacturer="Epson" model="107" parameters="standard_params" foomaticid="Epson-Stylus_Pro_3800" />
+ <printer translate="name" name="Epson Stylus Pro 3800" driver="escp2-3800" manufacturer="Epson" model="108" parameters="standard_params" foomaticid="Epson-Stylus_Pro_3800" />
<printer translate="name" name="Epson Stylus Pro 3880" driver="escp2-3880" manufacturer="Epson" model="107" parameters="standard_params" foomaticid="Epson-Stylus_Pro_3880" />
+ <printer translate="name" name="Epson Stylus Pro 3885" driver="escp2-3885" manufacturer="Epson" model="107" parameters="standard_params" foomaticid="Epson-Stylus_Pro_3885" />
+ <printer translate="name" name="Epson Stylus Pro 4000" driver="escp2-4000" manufacturer="Epson" model="114" parameters="standard_params" foomaticid="Epson-Stylus_Pro_4000" />
+ <printer translate="name" name="Epson Stylus Pro 4800/4880 Back Compatible" driver="escp2-4600" manufacturer="Epson" model="112" parameters="standard_params" foomaticid="Epson-Stylus_Pro_4600" />
<printer translate="name" name="Epson Stylus Pro 4800" driver="escp2-4800" manufacturer="Epson" model="106" parameters="standard_params" foomaticid="Epson-Stylus_Pro_4800" />
<printer translate="name" name="Epson Stylus Pro 4880" driver="escp2-4880" manufacturer="Epson" model="102" parameters="standard_params" foomaticid="Epson-Stylus_Pro_4880" />
<printer translate="name" name="Epson Stylus Pro 5000" driver="escp2-5000" manufacturer="Epson" model="27" parameters="standard_params" foomaticid="Epson-Stylus_Pro_5000" />
@@ -392,14 +461,19 @@
<printer translate="name" name="Epson Stylus Pro 7000" driver="escp2-7000" manufacturer="Epson" model="28" parameters="standard_params" foomaticid="Epson-Stylus_Pro_7000" />
<printer translate="name" name="Epson Stylus Pro 7500" driver="escp2-7500" manufacturer="Epson" model="29" parameters="pro_5500_params" foomaticid="Epson-Stylus_Pro_7500" />
<printer translate="name" name="Epson Stylus Pro 7600" driver="escp2-7600" manufacturer="Epson" model="48" parameters="standard_params" foomaticid="Epson-Stylus_Pro_7600" />
+ <printer translate="name" name="Epson Stylus Pro 7700" driver="escp2-7700" manufacturer="Epson" model="109" parameters="standard_params" foomaticid="Epson-Stylus_Pro_7700" />
<printer translate="name" name="Epson Stylus Pro 7800" driver="escp2-7800" manufacturer="Epson" model="103" parameters="standard_params" foomaticid="Epson-Stylus_Pro_7800" />
<printer translate="name" name="Epson Stylus Pro 7880" driver="escp2-7880" manufacturer="Epson" model="89" parameters="standard_params" foomaticid="Epson-Stylus_Pro_7880" />
+ <printer translate="name" name="Epson Stylus Pro 7890" driver="escp2-7890" manufacturer="Epson" model="89" parameters="standard_params" foomaticid="Epson-Stylus_Pro_7890" />
<printer translate="name" name="Epson Stylus Pro 9000" driver="escp2-9000" manufacturer="Epson" model="30" parameters="standard_params" foomaticid="Epson-Stylus_Pro_9000" />
<printer translate="name" name="Epson Stylus Pro 9500" driver="escp2-9500" manufacturer="Epson" model="31" parameters="pro_5500_params" foomaticid="Epson-Stylus_Pro_9500" />
<printer translate="name" name="Epson Stylus Pro 9600" driver="escp2-9600" manufacturer="Epson" model="49" parameters="standard_params" foomaticid="Epson-Stylus_Pro_9600" />
+ <printer translate="name" name="Epson Stylus Pro 9700" driver="escp2-9700" manufacturer="Epson" model="110" parameters="standard_params" foomaticid="Epson-Stylus_Pro_9700" />
<printer translate="name" name="Epson Stylus Pro 9800" driver="escp2-9800" manufacturer="Epson" model="104" parameters="standard_params" foomaticid="Epson-Stylus_Pro_9800" />
<printer translate="name" name="Epson Stylus Pro 9880" driver="escp2-9880" manufacturer="Epson" model="90" parameters="standard_params" foomaticid="Epson-Stylus_Pro_9880" />
+ <printer translate="name" name="Epson Stylus Pro 9890" driver="escp2-9890" manufacturer="Epson" model="90" parameters="standard_params" foomaticid="Epson-Stylus_Pro_9890" />
<printer translate="name" name="Epson Stylus Pro 10000" driver="escp2-10000" manufacturer="Epson" model="41" parameters="standard_params" foomaticid="Epson-Stylus_Pro_10000" />
+ <printer translate="name" name="Epson Stylus Pro 11800/11880 Back Compatible" driver="escp2-11600" manufacturer="Epson" model="113" parameters="standard_params" foomaticid="Epson-Stylus_Pro_11600" />
<printer translate="name" name="Epson Stylus Pro 11800" driver="escp2-11800" manufacturer="Epson" model="105" parameters="standard_params" foomaticid="Epson-Stylus_Pro_11800" />
<printer translate="name" name="Epson Stylus Pro 11880" driver="escp2-11880" manufacturer="Epson" model="88" parameters="standard_params" foomaticid="Epson-Stylus_Pro_11880" />
<printer translate="name" name="Epson Stylus Scan 2000" driver="escp2-scan2000" manufacturer="Epson" model="12" parameters="standard_params" foomaticid="Epson-Stylus_Scan_2000" />
@@ -449,7 +523,7 @@
<printer translate="name" name="Epson Stylus CX9475F" driver="escp2-cx9475f" manufacturer="Epson" model="65" parameters="cx3500_params" foomaticid="Epson-Stylus_CX9475F" />
<printer translate="name" name="Epson Stylus D68" deviceid="MFG:EPSON;MDL:Stylus D68;DES:EPSON Stylus D68;CMD:ESCPL2,BDC,D4;" driver="escp2-d68" manufacturer="Epson" model="66" parameters="standard_params" foomaticid="Epson-Stylus_D68" />
<printer translate="name" name="Epson Stylus D88" deviceid="MFG:EPSON;MDL:Stylus D88;DES:EPSON Stylus D88;CMD:ESCPL2,BDC,D4;" driver="escp2-d88" manufacturer="Epson" model="69" parameters="standard_params" foomaticid="Epson-Stylus_D88" />
- <printer translate="name" name="Epson Stylus D92" driver="escp2-d92" manufacturer="Epson" model="66" parameters="standard_params" foomaticid="Epson-Stylus_D92" />
+ <printer translate="name" name="Epson Stylus D92" deviceid="MFG:EPSON;CMD:ESCPL2,BDC,D4,D4PX;MDL:Stylus D92;DES:EPSON Stylus D92;" driver="escp2-d92" manufacturer="Epson" model="66" parameters="standard_params" foomaticid="Epson-Stylus_D92" />
<printer translate="name" name="Epson Stylus D120" driver="escp2-d120" manufacturer="Epson" model="85" parameters="standard_params" foomaticid="Epson-Stylus_D120" />
<printer translate="name" name="Epson Stylus DX3800" deviceid="MFG:EPSON;MDL:Stylus DX3800;DES:EPSON Stylus DX3800;CMD:ESCPL2,BDC,D4;" driver="escp2-dx3800" manufacturer="Epson" model="72" parameters="standard_params" foomaticid="Epson-Stylus_DX3800" />
<printer translate="name" name="Epson Stylus DX3850" deviceid="MFG:EPSON;MDL:Stylus DX3850;DES:EPSON Stylus DX3850;CMD:ESCPL2,BDC,D4;" driver="escp2-dx3850" manufacturer="Epson" model="72" parameters="standard_params" foomaticid="Epson-Stylus_DX3850" />
@@ -470,8 +544,8 @@
<printer translate="name" name="Epson Stylus NX100" driver="escp2-nx100" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_NX100" />
<printer translate="name" name="Epson Stylus NX105" driver="escp2-nx105" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_NX105" />
<printer translate="name" name="Epson Stylus NX115" driver="escp2-nx115" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_NX115" />
- <printer translate="name" name="Epson Stylus NX200" driver="escp2-nx200" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_NX200" />
- <printer translate="name" name="Epson Stylus NX215" driver="escp2-nx215" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_NX215" />
+ <printer translate="name" name="Epson Stylus NX200" driver="escp2-nx200" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_NX200" />
+ <printer translate="name" name="Epson Stylus NX215" driver="escp2-nx215" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_NX215" />
<printer translate="name" name="Epson Stylus NX300" driver="escp2-nx300" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_NX300" />
<printer translate="name" name="Epson Stylus NX400" driver="escp2-nx400" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_NX400" />
<printer translate="name" name="Epson Stylus NX415" driver="escp2-nx415" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_NX415" />
@@ -488,10 +562,10 @@
<printer translate="name" name="Epson Stylus SX105" driver="escp2-sx105" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX105" />
<printer translate="name" name="Epson Stylus SX110" driver="escp2-sx110" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX110" />
<printer translate="name" name="Epson Stylus SX115" driver="escp2-sx115" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX115" />
- <printer translate="name" name="Epson Stylus SX200" driver="escp2-sx200" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX200" />
- <printer translate="name" name="Epson Stylus SX205" driver="escp2-sx205" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX205" />
- <printer translate="name" name="Epson Stylus SX210" driver="escp2-sx210" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX210" />
- <printer translate="name" name="Epson Stylus SX215" driver="escp2-sx215" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX215" />
+ <printer translate="name" name="Epson Stylus SX200" driver="escp2-sx200" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX200" />
+ <printer translate="name" name="Epson Stylus SX205" driver="escp2-sx205" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX205" />
+ <printer translate="name" name="Epson Stylus SX210" driver="escp2-sx210" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX210" />
+ <printer translate="name" name="Epson Stylus SX215" driver="escp2-sx215" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_SX215" />
<printer translate="name" name="Epson Stylus SX400" driver="escp2-sx400" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX400" />
<printer translate="name" name="Epson Stylus SX405" driver="escp2-sx405" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX405" />
<printer translate="name" name="Epson Stylus SX410" driver="escp2-sx410" manufacturer="Epson" model="93" parameters="standard_params" foomaticid="Epson-Stylus_SX410" />
@@ -502,8 +576,11 @@
<printer translate="name" name="Epson Stylus SX610FW" driver="escp2-sx610fw" manufacturer="Epson" model="92" parameters="standard_params" foomaticid="Epson-Stylus_SX610FW" />
<printer translate="name" name="Epson Stylus SX615" driver="escp2-sx615" manufacturer="Epson" model="92" parameters="standard_params" foomaticid="Epson-Stylus_SX615" />
<printer translate="name" name="Epson Stylus SX650" driver="escp2-sx650" manufacturer="Epson" model="97" parameters="standard_params" foomaticid="Epson-Stylus_SX650" />
+ <printer translate="name" name="Epson Stylus T13" driver="escp2-t13" manufacturer="Epson" model="101" parameters="standard_params" foomaticid="Epson-Stylus_T13" />
<printer translate="name" name="Epson Stylus T20" driver="escp2-t20" manufacturer="Epson" model="101" parameters="standard_params" foomaticid="Epson-Stylus_T20" />
<printer translate="name" name="Epson Stylus T21" driver="escp2-t21" manufacturer="Epson" model="101" parameters="standard_params" foomaticid="Epson-Stylus_T21" />
+ <printer translate="name" name="Epson Stylus T22" driver="escp2-t22" manufacturer="Epson" model="101" parameters="standard_params" foomaticid="Epson-Stylus_T22" />
+ <printer translate="name" name="Epson Stylus T22E" driver="escp2-t22e" manufacturer="Epson" model="101" parameters="standard_params" foomaticid="Epson-Stylus_T22E" />
<printer translate="name" name="Epson Stylus T26" driver="escp2-t26" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-Stylus_T26" />
<printer translate="name" name="Epson Stylus T30" driver="escp2-t30" manufacturer="Epson" model="92" parameters="standard_params" foomaticid="Epson-Stylus_T30" />
<printer translate="name" name="Epson Stylus T40W" driver="escp2-t40w" manufacturer="Epson" model="85" parameters="standard_params" foomaticid="Epson-Stylus_T40W" />
@@ -582,9 +659,12 @@
<printer translate="name" name="Epson MC 9000" driver="escp2-mc9000" manufacturer="Epson" model="31" parameters="pro_5500_params" foomaticid="Epson-MC_9000" />
<printer translate="name" name="Epson MC 10000" driver="escp2-mc10000" manufacturer="Epson" model="41" parameters="standard_params" foomaticid="Epson-MC_10000" />
<printer translate="name" name="Epson ME 300" driver="escp2-me300" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-ME_300" />
+ <printer translate="name" name="Epson ME 320" driver="escp2-me320" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-ME_320" />
<printer translate="name" name="Epson ME Office 70" driver="escp2-meof70" manufacturer="Epson" model="85" parameters="standard_params" foomaticid="Epson-ME_Office_70" />
<printer translate="name" name="Epson ME Office 80W" driver="escp2-meof80w" manufacturer="Epson" model="92" parameters="standard_params" foomaticid="Epson-ME_Office_80W" />
<printer translate="name" name="Epson ME Office 360" driver="escp2-meof360" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-ME_Office_360" />
+ <printer translate="name" name="Epson ME Office 600F" driver="escp2-meof600f" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-ME_Office_600F" />
+ <printer translate="name" name="Epson ME Office 620F" driver="escp2-meof620f" manufacturer="Epson" model="94" parameters="standard_params" foomaticid="Epson-ME_Office_620F" />
<printer translate="name" name="Epson ME Office 700FW" driver="escp2-meof700fw" manufacturer="Epson" model="92" parameters="standard_params" foomaticid="Epson-ME_Office_700FW" />
<printer translate="name" name="Epson ME Office 1100" driver="escp2-meof1100" manufacturer="Epson" model="99" parameters="standard_params" foomaticid="Epson-ME_Office_1100" />
<printer translate="name" name="Epson MJ 930C" driver="escp2-mj930c" manufacturer="Epson" model="4" parameters="standard_params" foomaticid="Epson-MJ_930C" />
@@ -706,7 +786,7 @@
<printer translate="name" name="Brother HL-1870N" driver="brother-hl-1870n" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-1870N" />
<printer translate="name" name="Brother HL-2030" driver="brother-hl-2030" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-2030" />
<printer translate="name" name="Brother HL-2035" driver="brother-hl-2035" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-2035" />
- <printer translate="name" name="Brother HL-2060" deviceid="MFG:Brother;MDL:HL-2040 series;DES:None;CMD:PJL,HBP;" driver="brother-hl-2060" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-2060" />
+ <printer translate="name" name="Brother HL-2060" driver="brother-hl-2060" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-2060" />
<printer translate="name" name="Brother HL-2460" deviceid="MFG:Brother;MDL:Brother HL-2460 series;" driver="brother-hl-2460" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-2460" />
<printer translate="name" name="Brother HL-2460N" driver="brother-hl-2460n" manufacturer="Brother" model="6" parameters="pcl_laser_params" foomaticid="Brother-HL-2460N" />
<printer translate="name" name="Brother HL-4Ve" driver="brother-hl-4ve" manufacturer="Brother" model="2" parameters="pcl_laser_params" foomaticid="Brother-HL-4Ve" />
@@ -740,12 +820,12 @@
<printer translate="name" name="DEC LN17" driver="dec-ln17" manufacturer="DEC" model="6" parameters="pcl_laser_params" foomaticid="DEC-LN17" />
<printer translate="name" name="Epson ActionLaser 1100" driver="epson-actl_1100" manufacturer="Epson" model="3" parameters="pcl_laser_params" foomaticid="Epson-ActionLaser_1100" />
<printer translate="name" name="Epson ActionLaser II" driver="epson-actl_ii" manufacturer="Epson" model="2" parameters="pcl_laser_params" foomaticid="Epson-ActionLaser_II" />
- <printer translate="name" name="Epson AcuLaser C2000" driver="epson-acl_c2000" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AcuLaser_C2000" />
- <printer translate="name" name="Epson AcuLaser C2000PS" deviceid="MFG:Epson;MDL:AL-C2000 PS3;" driver="epson-acl_c2000ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AcuLaser_C2000PS" />
- <printer translate="name" name="Epson AcuLaser C8500" driver="epson-acl_c8500" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AcuLaser_C8500" />
- <printer translate="name" name="Epson AcuLaser C8500PS" driver="epson-acl_c8500ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AcuLaser_C8500PS" />
- <printer translate="name" name="Epson AcuLaser C8600" driver="epson-acl_c8600" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AcuLaser_C8600" />
- <printer translate="name" name="Epson AcuLaser C8600PS" deviceid="MFG:Epson;MDL:AL-C8600 PS3;" driver="epson-acl_c8600ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AcuLaser_C8600PS" />
+ <printer translate="name" name="Epson AL-C2000" driver="epson-acl_c2000" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AL-C2000" />
+ <printer translate="name" name="Epson AL-C2000 PS3" deviceid="MFG:Epson;MDL:AL-C2000 PS3;" driver="epson-acl_c2000ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AL-C2000_PS3" />
+ <printer translate="name" name="Epson AL-C8500" driver="epson-acl_c8500" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AL-C8500" />
+ <printer translate="name" name="Epson AL-C8500PS" driver="epson-acl_c8500ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AL-C8500PS" />
+ <printer translate="name" name="Epson AL-C8600" driver="epson-acl_c8600" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AL-C8600" />
+ <printer translate="name" name="Epson AL-C8600 PS3" deviceid="MFG:Epson;MDL:AL-C8600 PS3;" driver="epson-acl_c8600ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-AL-C8600_PS3" />
<printer translate="name" name="Epson EPL-5200" driver="epson-epl-5200" manufacturer="Epson" model="3" parameters="pcl_laser_params" foomaticid="Epson-EPL-5200" />
<printer translate="name" name="Epson EPL-5200+" driver="epson-epl-5200plus" manufacturer="Epson" model="3" parameters="pcl_laser_params" foomaticid="Epson-EPL-5200plus" />
<printer translate="name" name="Epson EPL-5700" deviceid="MFG:EPSON;MDL:EPL-5700;DES:EPSON EPL-5700;CMD:PJL,EJL,ESCPL2-00,ESCP9-84,PRPXL24-01,HP ENHANCED PCL5,HPGL2-01,;" driver="epson-epl-5700" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-5700" />
@@ -753,9 +833,9 @@
<printer translate="name" name="Epson EPL-5800" driver="epson-epl-5800" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-5800" />
<printer translate="name" name="Epson EPL-5800PS" driver="epson-epl-5800ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-5800PS" />
<printer translate="name" name="Epson EPL-5900" driver="epson-epl-5900" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-5900" />
- <printer translate="name" name="Epson EPL-5900PS" deviceid="MFG:Epson;MDL:EPL-5900 PS3;" driver="epson-epl-5900ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-5900PS" />
+ <printer translate="name" name="Epson EPL-5900 PS3" deviceid="MFG:Epson;MDL:EPL-5900 PS3;" driver="epson-epl-5900ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-5900_PS3" />
<printer translate="name" name="Epson EPL-6100" driver="epson-epl-6100" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-6100" />
- <printer translate="name" name="Epson EPL-6100PS" deviceid="MFG:Epson;MDL:EPL-6100 PS3;" driver="epson-epl-6100ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-6100PS" />
+ <printer translate="name" name="Epson EPL-6100 PS3" deviceid="MFG:Epson;MDL:EPL-6100 PS3;" driver="epson-epl-6100ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-6100_PS3" />
<printer translate="name" name="Epson EPL-7100" driver="epson-epl-7100" manufacturer="Epson" model="2" parameters="pcl_laser_params" foomaticid="Epson-EPL-7100" />
<printer translate="name" name="Epson EPL-N2050" driver="epson-epl-n2050" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2050" />
<printer translate="name" name="Epson EPL-N2050+" driver="epson-epl-n2050plus" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2050plus" />
@@ -763,7 +843,7 @@
<printer translate="name" name="Epson EPL-N2050PS+" driver="epson-epl-n2050psplus" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2050PSplus" />
<printer translate="name" name="Epson EPL-N2120" driver="epson-epl-n2120" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2120" />
<printer translate="name" name="Epson EPL-N2500" driver="epson-epl-n2500" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2500" />
- <printer translate="name" name="Epson EPL-N2500PS" driver="epson-epl-n2500ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2500PS" />
+ <printer translate="name" name="Epson EPL-N2500 PS3" deviceid="MFG:Epson;MDL:EPL-N2500 PS3;" driver="epson-epl-n2500ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2500_PS3" />
<printer translate="name" name="Epson EPL-N2750" driver="epson-epl-n2750" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2750" />
<printer translate="name" name="Epson EPL-N2750PS" driver="epson-epl-n2750ps" manufacturer="Epson" model="6" parameters="pcl_laser_params" foomaticid="Epson-EPL-N2750PS" />
<printer translate="name" name="Fujitsu PrintPartner 10V" driver="fujitsu-pp_10v" manufacturer="Fujitsu" model="6" parameters="pcl_laser_params" foomaticid="Fujitsu-PrintPartner_10V" />
@@ -925,7 +1005,7 @@
<printer translate="name" name="HP DeskJet 952C" driver="hp-dj_952c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_952C" />
<printer translate="name" name="HP DeskJet 955C" driver="hp-dj_955c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_955C" />
<printer translate="name" name="HP DeskJet 957C" driver="hp-dj_957c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_957C" />
- <printer translate="name" name="HP DeskJet 959C" driver="hp-dj_959c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_959C" />
+ <printer translate="name" name="HP DeskJet 959C" deviceid="MFG:HEWLETT-PACKARD;MDL:DESKJET 950C;DES:Hewlett-Packard DeskJet 950C;CMD:MLC,PCL,PML;" driver="hp-dj_959c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_959C" />
<printer translate="name" name="HP DeskJet 960C" deviceid="MFG:HEWLETT-PACKARD;MDL:DESKJET 960C;DES:Hewlett-Packard DeskJet 960C;CMD:MLC,PCL,PML;" driver="hp-dj_960c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_960C" />
<printer translate="name" name="HP DeskJet 970C" deviceid="MFG:HEWLETT-PACKARD;MDL:DESKJET 970C;DES:Hewlett-Packard DeskJet 970C;CMD:MLC,PCL,PML;" driver="hp-dj_970c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_970C" />
<printer translate="name" name="HP DeskJet 975C" driver="hp-dj_975c" manufacturer="HP" model="900" parameters="pcl_inkjet_params" foomaticid="HP-DeskJet_975C" />
@@ -1018,8 +1098,8 @@
<printer translate="name" name="HP LaserJet 4300" deviceid="MFG:Hewlett-Packard;MDL:hp LaserJet 4300;CMD:PJL,MLC,POSTSCRIPT,PJL,PCLXL,PCL;" driver="hp-lj_4300" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_4300" />
<printer translate="name" name="HP LaserJet 4345 mfp" driver="hp-lj_4345_mfp" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_4345_mfp" />
<printer translate="name" name="HP LaserJet 4350" deviceid="MFG:HP;MDL:hp LaserJet 4350L;" driver="hp-lj_4350" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_4350" />
- <printer translate="name" name="HP LaserJet 5000" deviceid="MFG:Hewlett-Packard;MDL:HP LaserJet 5000 Series;DES:Hewlett-Packard LaserJet 5000 Series;CMD:PJL,MLC,PCL,PCLXL,POSTSCRIPT;" driver="hp-lj_5000" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_5000" />
- <printer translate="name" name="HP LaserJet 5100" driver="hp-lj_5100" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_5100" />
+ <printer translate="name" name="HP LaserJet 5000" deviceid="MFG:Hewlett-Packard;MDL:HP LaserJet 5000 Series;DES:Hewlett-Packard LaserJet 5000 Series;CMD:PJL,MLC,PCL,PCLXL,POSTSCRIPT;" driver="hp-lj_5000" manufacturer="HP" model="63" parameters="pcl_laser_params" foomaticid="HP-LaserJet_5000" />
+ <printer translate="name" name="HP LaserJet 5100" driver="hp-lj_5100" manufacturer="HP" model="63" parameters="pcl_laser_params" foomaticid="HP-LaserJet_5100" />
<printer translate="name" name="HP LaserJet 5200" driver="hp-lj_5200" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_5200" />
<printer translate="name" name="HP LaserJet 5200L" driver="hp-lj_5200l" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_5200L" />
<printer translate="name" name="HP LaserJet 8000" driver="hp-lj_8000" manufacturer="HP" model="6" parameters="pcl_laser_params" foomaticid="HP-LaserJet_8000" />
@@ -1665,11 +1745,12 @@
<printer translate="name" name="Canon SELPHY-CP-730" driver="canon-cp730" manufacturer="Canon" model="1001" foomaticid="Canon-SELPHY-CP-730" />
<printer translate="name" name="Canon SELPHY-CP-740" driver="canon-cp740" manufacturer="Canon" model="1001" foomaticid="Canon-SELPHY-CP-740" />
<printer translate="name" name="Canon SELPHY-CP-750" driver="canon-cp750" manufacturer="Canon" model="1001" foomaticid="Canon-SELPHY-CP-750" />
+ <printer translate="name" name="Canon SELPHY-CP-800" driver="canon-cp800" manufacturer="Canon" model="1001" foomaticid="Canon-SELPHY-CP-800" />
<printer translate="name" name="Canon SELPHY ES1" driver="canon-es1" manufacturer="Canon" model="1003" foomaticid="Canon-SELPHY-ES1" />
<printer translate="name" name="Canon SELPHY ES2" driver="canon-es2" manufacturer="Canon" model="1003" foomaticid="Canon-SELPHY-ES2" />
<printer translate="name" name="Canon SELPHY ES20" driver="canon-es20" manufacturer="Canon" model="1003" foomaticid="Canon-SELPHY-ES20" />
<printer translate="name" name="Sony DPP-EX5" driver="sony-dppex5" manufacturer="Sony" model="2002" foomaticid="Sony-DPP-EX5" />
- <printer translate="name" name="Sony DPP-EX7" driver="sony-dppex5" manufacturer="Sony" model="2002" foomaticid="Sony-DPP-EX5" />
+ <printer translate="name" name="Sony DPP-EX7" driver="sony-dppex7" manufacturer="Sony" model="2002" foomaticid="Sony-DPP-EX7" />
<printer translate="name" name="Sony UP-DP10" driver="sony-updp10" manufacturer="Sony" model="2000" foomaticid="Sony-UP-DP10" />
<printer translate="name" name="Sony UP-DR100" driver="sony-updr100" manufacturer="Sony" model="2003" foomaticid="Sony-UP-DR100" />
<printer translate="name" name="Sony UP-DR150" driver="sony-updr150" manufacturer="Sony" model="2001" foomaticid="Sony-UP-DR150" />
@@ -1677,6 +1758,13 @@
<printer translate="name" name="Fujifilm Printpix-CX-550" driver="fujifilm-cx550" manufacturer="Fujifilm" model="3001" foomaticid="Fujifilm-Printpix-CX-550" />
<printer translate="name" name="Fujifilm FinePix-NX-500" driver="fujifilm-nx500" manufacturer="Fujifilm" model="3002" foomaticid="Fujifilm-FinePix-NX-500" />
<printer translate="name" name="Kodak Easyshare-Printer-Dock" driver="kodak-dock" manufacturer="Kodak" model="4000" foomaticid="Kodak-Easyshare-Printer-Dock" />
+ <printer translate="name" name="Kodak EasyShare-G600-Printer-Dock" driver="kodak-g600-dock" manufacturer="Kodak" model="4000" foomaticid="Kodak-EasyShare-G600-Printer-Dock" />
+ <printer translate="name" name="Kodak PD-4000" driver="kodak-pd-4000" manufacturer="Kodak" model="4000" foomaticid="Kodak-PD-4000" />
+ <printer translate="name" name="Kodak PD-6000" driver="kodak-pd-6000" manufacturer="Kodak" model="4000" foomaticid="Kodak-PD-6000" />
+ <printer translate="name" name="Kodak Photo-Printer" driver="kodak-photo-printer" manufacturer="Kodak" model="4000" foomaticid="Kodak-Photo-Printer" />
+ <printer translate="name" name="Kodak Photo-Printer-500" driver="kodak-photo-printer-500" manufacturer="Kodak" model="4000" foomaticid="Kodak-Photo-Printer-500" />
+ <printer translate="name" name="Kodak Printer-Dock-Plus" driver="kodak-dock-plus" manufacturer="Kodak" model="4000" foomaticid="Kodak-Printer-Dock-Plus" />
+ <printer translate="name" name="Kodak Printer-Dock-Plus-S3" driver="kodak-dock-plus-s3" manufacturer="Kodak" model="4000" foomaticid="Kodak-Printer-Dock-Plus-S3" />
<printer translate="name" name="Shinko CHC-S9045" driver="shinko-chcs9045" manufacturer="Shinko" model="5000" foomaticid="Shinko-CHC-S9045" />
<printer translate="name" name="Dai Nippon Printing DS40" driver="dnp-ds40" manufacturer="DNP" model="6000" foomaticid="DNP-DS40" />
<printer translate="name" name="Dai Nippon Printing DS80" driver="dnp-ds80" manufacturer="DNP" model="6001" foomaticid="DNP-DS80" />