diff options
author | Roger Leigh <rleigh@debian.org> | 2011-05-03 10:28:02 +0100 |
---|---|---|
committer | Roger Leigh <rleigh@debian.org> | 2011-05-03 10:28:02 +0100 |
commit | 15578e218035547ca17e25ef351fbe56bc55a4ae (patch) | |
tree | 06a97de2b9f0d9e04ee05d5ff806ef7c53a2003e /src | |
parent | 4bc88c4aa9026d5c679008a4dbbb8ec4d9a901bd (diff) |
Imported Upstream version 5.2.7
Diffstat (limited to 'src')
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" /> |