diff options
author | Roger Leigh <rleigh@debian.org> | 2008-10-26 16:18:09 +0000 |
---|---|---|
committer | Roger Leigh <rleigh@debian.org> | 2008-10-26 16:18:09 +0000 |
commit | f9238b191d14686b9beba78893dff0a8dff9c087 (patch) | |
tree | f563eacc3307021378e7c50d4c1ee4797a2392dc /src | |
parent | cda0fb3b8a7cb56045b24fd0af0ed36591b5d7eb (diff) |
Imported Upstream version 5.0.2
Diffstat (limited to 'src')
73 files changed, 6012 insertions, 4127 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index ba6f519..1ce3791 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. @@ -18,15 +18,11 @@ #export STP_MODULE_PATH = $(top_builddir)/src/main/.libs:$(top_builddir)/src/main #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -61,61 +57,26 @@ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -125,8 +86,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -207,14 +166,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -234,9 +190,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -255,27 +210,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -287,6 +241,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -332,8 +287,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) SUBDIRS = \ main \ @@ -387,10 +345,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -422,8 +376,7 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -524,23 +477,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -554,7 +505,7 @@ distdir: $(DISTFILES) list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -562,6 +513,8 @@ distdir: $(DISTFILES) $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -602,8 +555,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive @@ -617,12 +569,20 @@ info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -641,22 +601,24 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am @SET_MAKE@ diff --git a/src/cups/Makefile.am b/src/cups/Makefile.am index 8b99888..04d870c 100644 --- a/src/cups/Makefile.am +++ b/src/cups/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.87.8.2 2007/05/29 01:47:26 rlk Exp $ +## $Id: Makefile.am,v 1.87.8.3 2007/12/15 20:35:36 rlk Exp $ ## Copyright (C) 2000 Roger Leigh ## ## This program is free software; you can redistribute it and/or modify @@ -48,8 +48,6 @@ 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/main -TESTS= test-ppds - ## Programs if BUILD_TRANSLATED_CUPS_PPDS @@ -72,6 +70,9 @@ sbin_PROGRAMS = cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION sbin_SCRIPTS = cups-genppdconfig.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ cups-genppdupdate.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ cupsexec_backend_PROGRAMS = epson canon cupsexec_filter_PROGRAMS = rastertogutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ commandtoepson commandtocanon + +TESTS= test-ppds test-rastertogutenprint +noinst_SCRIPTS=test-rastertogutenprint endif if BUILD_GENPPD_STATIC diff --git a/src/cups/Makefile.in b/src/cups/Makefile.in index e1f7f29..dc0a6d7 100644 --- a/src/cups/Makefile.in +++ b/src/cups/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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,13 +21,9 @@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,6 +39,7 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/cups-genppdconfig.in $(srcdir)/cups-genppdupdate.in \ + $(srcdir)/test-rastertogutenprint.in \ $(top_srcdir)/scripts/global.mk COPYING @BUILD_CUPS_1_2_TRUE@cupsexec_driver_PROGRAMS = gutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT) @BUILD_CUPS_TRUE@bin_PROGRAMS = cups-calibrate$(EXEEXT) @@ -66,7 +63,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = cups-genppdconfig cups-genppdupdate +CONFIG_CLEAN_FILES = cups-genppdconfig cups-genppdupdate \ + test-rastertogutenprint am__installdirs = "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(cupsexec_backenddir)" \ "$(DESTDIR)$(cupsexec_driverdir)" \ @@ -96,35 +94,53 @@ cups_calibrate_OBJECTS = $(am_cups_calibrate_OBJECTS) cups_calibrate_DEPENDENCIES = am_cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.$(OBJEXT) cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = $(am_cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) -am__DEPENDENCIES_2 = $(top_builddir)/src/main/libgutenprint.la cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES = \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(GUTENPRINT_LIBS) +cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK = \ + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) \ + $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) \ + $(CFLAGS) \ + $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) \ + $(LDFLAGS) -o $@ am_epson_OBJECTS = epson.$(OBJEXT) epson_OBJECTS = $(am_epson_OBJECTS) epson_DEPENDENCIES = $(am__DEPENDENCIES_1) am_gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.$(OBJEXT) gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = $(am_gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES = \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(GUTENPRINT_LIBS) +gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK = \ + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) \ + $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_CFLAGS) \ + $(CFLAGS) \ + $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) \ + $(LDFLAGS) -o $@ am_rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = \ rastertoprinter.$(OBJEXT) rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = $(am_rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES = \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(GUTENPRINT_LIBS) +rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK = \ + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) \ + $(LDFLAGS) -o $@ sbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(sbin_SCRIPTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +SCRIPTS = $(noinst_SCRIPTS) $(sbin_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(canon_SOURCES) $(commandtocanon_SOURCES) \ $(commandtoepson_SOURCES) $(cups_calibrate_SOURCES) \ $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES) \ @@ -153,51 +169,13 @@ pkgdatadir = $(cups_conf_datadir) pkglibdir = $(cups_conf_serverbin) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -207,8 +185,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -289,14 +265,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -316,9 +289,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -337,27 +309,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -369,6 +340,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -414,8 +386,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @cups_sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) empty = pkgsysconfdir = $(cups_conf_serverroot) @@ -427,12 +402,13 @@ cupsexec_filterdir = $(pkglibdir)/filter @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/main -TESTS = test-ppds @BUILD_TRANSLATED_CUPS_PPDS_TRUE@PPD_NLS = $(PPD_NLS_1) @BUILD_TRANSLATED_CUPS_PPDS_TRUE@LINGUAS = $(ALL_LINGUAS) @BUILD_TRANSLATED_CUPS_PPDS_TRUE@TRANSLATE_PPDS = -DCUPS_TRANSLATED_PPDS @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@BUILD_SIMPLE_PPDS = -DGENERATE_SIMPLIFIED_PPDS @BUILD_CUPS_TRUE@sbin_SCRIPTS = cups-genppdconfig.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ cups-genppdupdate.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@ +@BUILD_CUPS_TRUE@TESTS = test-ppds test-rastertogutenprint +@BUILD_CUPS_TRUE@noinst_SCRIPTS = test-rastertogutenprint @BUILD_GENPPD_STATIC_TRUE@STATIC_LDOPTS = -static -export-dynamic cups_calibrate_SOURCES = cups-calibrate.c cups_calibrate_LDADD = -lm @@ -509,9 +485,11 @@ cups-genppdconfig: $(top_builddir)/config.status $(srcdir)/cups-genppdconfig.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ cups-genppdupdate: $(top_builddir)/config.status $(srcdir)/cups-genppdupdate.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +test-rastertogutenprint: $(top_builddir)/config.status $(srcdir)/test-rastertogutenprint.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + 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 \ @@ -539,7 +517,7 @@ clean-binPROGRAMS: done install-cupsexec_backendPROGRAMS: $(cupsexec_backend_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(cupsexec_backenddir)" || $(mkdir_p) "$(DESTDIR)$(cupsexec_backenddir)" + test -z "$(cupsexec_backenddir)" || $(MKDIR_P) "$(DESTDIR)$(cupsexec_backenddir)" @list='$(cupsexec_backend_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ @@ -567,7 +545,7 @@ clean-cupsexec_backendPROGRAMS: done install-cupsexec_driverPROGRAMS: $(cupsexec_driver_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(cupsexec_driverdir)" || $(mkdir_p) "$(DESTDIR)$(cupsexec_driverdir)" + 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 \ @@ -595,7 +573,7 @@ clean-cupsexec_driverPROGRAMS: done install-cupsexec_filterPROGRAMS: $(cupsexec_filter_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(cupsexec_filterdir)" || $(mkdir_p) "$(DESTDIR)$(cupsexec_filterdir)" + 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 \ @@ -623,7 +601,7 @@ clean-cupsexec_filterPROGRAMS: done install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" + 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 \ @@ -651,31 +629,31 @@ clean-sbinPROGRAMS: done canon$(EXEEXT): $(canon_OBJECTS) $(canon_DEPENDENCIES) @rm -f canon$(EXEEXT) - $(LINK) $(canon_LDFLAGS) $(canon_OBJECTS) $(canon_LDADD) $(LIBS) + $(LINK) $(canon_OBJECTS) $(canon_LDADD) $(LIBS) commandtocanon$(EXEEXT): $(commandtocanon_OBJECTS) $(commandtocanon_DEPENDENCIES) @rm -f commandtocanon$(EXEEXT) - $(LINK) $(commandtocanon_LDFLAGS) $(commandtocanon_OBJECTS) $(commandtocanon_LDADD) $(LIBS) + $(LINK) $(commandtocanon_OBJECTS) $(commandtocanon_LDADD) $(LIBS) commandtoepson$(EXEEXT): $(commandtoepson_OBJECTS) $(commandtoepson_DEPENDENCIES) @rm -f commandtoepson$(EXEEXT) - $(LINK) $(commandtoepson_LDFLAGS) $(commandtoepson_OBJECTS) $(commandtoepson_LDADD) $(LIBS) + $(LINK) $(commandtoepson_OBJECTS) $(commandtoepson_LDADD) $(LIBS) cups-calibrate$(EXEEXT): $(cups_calibrate_OBJECTS) $(cups_calibrate_DEPENDENCIES) @rm -f cups-calibrate$(EXEEXT) - $(LINK) $(cups_calibrate_LDFLAGS) $(cups_calibrate_OBJECTS) $(cups_calibrate_LDADD) $(LIBS) + $(LINK) $(cups_calibrate_OBJECTS) $(cups_calibrate_LDADD) $(LIBS) cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT): $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES) @rm -f cups-genppd.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT) - $(LINK) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) + $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) epson$(EXEEXT): $(epson_OBJECTS) $(epson_DEPENDENCIES) @rm -f epson$(EXEEXT) - $(LINK) $(epson_LDFLAGS) $(epson_OBJECTS) $(epson_LDADD) $(LIBS) + $(LINK) $(epson_OBJECTS) $(epson_LDADD) $(LIBS) gutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT): $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES) @rm -f gutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT) - $(LINK) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) + $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) rastertogutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT): $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES) @rm -f rastertogutenprint.@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@$(EXEEXT) - $(LINK) $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) + $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK) $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(rastertogutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) install-sbinSCRIPTS: $(sbin_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" + test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" @list='$(sbin_SCRIPTS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ @@ -709,50 +687,50 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rastertoprinter.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(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@ then mv -f "$(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo" "$(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po"; else rm -f "$(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo"; exit 1; fi +@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 @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@ if $(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@ then mv -f "$(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo" "$(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po"; else rm -f "$(DEPDIR)/cups_genppd_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo"; exit 1; fi +@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 @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` gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.o: genppd.c -@am__fastdepCC_TRUE@ if $(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@ then mv -f "$(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo" "$(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po"; else rm -f "$(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo"; exit 1; fi +@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 @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@ if $(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@ then mv -f "$(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo" "$(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Po"; else rm -f "$(DEPDIR)/gutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@-genppd.Tpo"; exit 1; fi +@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 @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` @@ -762,13 +740,9 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)" + test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @list='$(pkgdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -785,7 +759,7 @@ uninstall-pkgdataDATA: done install-pkgsysconfDATA: $(pkgsysconf_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgsysconfdir)" || $(mkdir_p) "$(DESTDIR)$(pkgsysconfdir)" + test -z "$(pkgsysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgsysconfdir)" @list='$(pkgsysconf_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -850,9 +824,9 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ - list='$(TESTS)'; \ + list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ @@ -861,7 +835,7 @@ check-TESTS: $(TESTS) if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *" $$tst "*) \ + *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ @@ -873,7 +847,7 @@ check-TESTS: $(TESTS) elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *" $$tst "*) \ + *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ @@ -923,23 +897,21 @@ check-TESTS: $(TESTS) else :; fi distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -959,7 +931,7 @@ check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) all-local installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cupsexec_backenddir)" "$(DESTDIR)$(cupsexec_driverdir)" "$(DESTDIR)$(cupsexec_filterdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(pkgsysconfdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -999,7 +971,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -1016,15 +988,23 @@ install-data-am: install-data-local install-pkgdataDATA \ @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS install-cupsexec_backendPROGRAMS \ install-cupsexec_driverPROGRAMS \ install-cupsexec_filterPROGRAMS install-sbinPROGRAMS \ install-sbinSCRIPTS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -1047,10 +1027,12 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-cupsexec_backendPROGRAMS \ uninstall-cupsexec_driverPROGRAMS \ - uninstall-cupsexec_filterPROGRAMS uninstall-info-am \ - uninstall-local uninstall-pkgdataDATA uninstall-pkgsysconfDATA \ + uninstall-cupsexec_filterPROGRAMS uninstall-local \ + uninstall-pkgdataDATA uninstall-pkgsysconfDATA \ uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS +.MAKE: 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_backendPROGRAMS \ clean-cupsexec_driverPROGRAMS clean-cupsexec_filterPROGRAMS \ @@ -1061,9 +1043,11 @@ uninstall-am: uninstall-binPROGRAMS uninstall-cupsexec_backendPROGRAMS \ install-cupsexec_backendPROGRAMS \ install-cupsexec_driverPROGRAMS \ install-cupsexec_filterPROGRAMS install-data install-data-am \ - install-data-hook install-data-local install-exec \ - install-exec-am install-info install-info-am install-man \ - install-pkgdataDATA install-pkgsysconfDATA \ + install-data-hook install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-pkgdataDATA \ + install-pkgsysconfDATA install-ps install-ps-am \ install-sbinPROGRAMS install-sbinSCRIPTS install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ @@ -1071,8 +1055,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-cupsexec_backendPROGRAMS \ tags uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-cupsexec_backendPROGRAMS \ uninstall-cupsexec_driverPROGRAMS \ - uninstall-cupsexec_filterPROGRAMS uninstall-info-am \ - uninstall-local uninstall-pkgdataDATA uninstall-pkgsysconfDATA \ + uninstall-cupsexec_filterPROGRAMS uninstall-local \ + uninstall-pkgdataDATA uninstall-pkgsysconfDATA \ uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS diff --git a/src/cups/command.types b/src/cups/command.types index 5b33d45..de77a08 100644 --- a/src/cups/command.types +++ b/src/cups/command.types @@ -1,36 +1,28 @@ # -# "$Id: command.types,v 1.1 2001/01/22 20:22:54 rleigh Exp $" +# "$Id: command.types,v 1.1.78.1 2007/12/23 17:30:03 easysw Exp $" # # MIME types file for the CUPS drivers. # # Copyright 1993-2000 by Easy Software Products. # -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License, -# version 2, as published by the Free Software Foundation. +# 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. +# 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, please contact Easy Software -# Products at: -# -# Attn: CUPS Licensing Information -# Easy Software Products -# 44141 Airport View Drive, Suite 204 -# Hollywood, Maryland 20636-3111 USA -# -# Voice: (301) 373-9603 -# EMail: cups-info@cups.org -# WWW: http://www.cups.org +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Define the new application/vnd.cups-command filetype... application/vnd.cups-command string(0,'#CUPS-COMMAND') # -# End of "$Id: command.types,v 1.1 2001/01/22 20:22:54 rleigh Exp $". +# End of "$Id: command.types,v 1.1.78.1 2007/12/23 17:30:03 easysw Exp $". # diff --git a/src/cups/commandtoepson.c b/src/cups/commandtoepson.c index c63f51d..1d0a4e3 100644 --- a/src/cups/commandtoepson.c +++ b/src/cups/commandtoepson.c @@ -1,31 +1,23 @@ /* - * "$Id: commandtoepson.c,v 1.2 2001/06/03 20:53:24 rlk Exp $" + * "$Id: commandtoepson.c,v 1.2.68.1 2007/12/23 17:30:04 easysw Exp $" * * EPSON ESC/P2 command filter for the Common UNIX Printing System. * * Copyright 1993-2000 by Easy Software Products. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License, - * version 2, as published by the Free Software Foundation. + * 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. + * 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, please contact Easy Software - * Products at: - * - * Attn: CUPS Licensing Information - * Easy Software Products - * 44141 Airport View Drive, Suite 204 - * Hollywood, Maryland 20636-3111 USA - * - * Voice: (301) 373-9603 - * EMail: cups-info@cups.org - * WWW: http://www.cups.org + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Contents: * @@ -237,5 +229,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: commandtoepson.c,v 1.2 2001/06/03 20:53:24 rlk Exp $". + * End of "$Id: commandtoepson.c,v 1.2.68.1 2007/12/23 17:30:04 easysw Exp $". */ diff --git a/src/cups/cups-calibrate.c b/src/cups/cups-calibrate.c index 20e8f49..50c4eb7 100644 --- a/src/cups/cups-calibrate.c +++ b/src/cups/cups-calibrate.c @@ -1,32 +1,24 @@ /* - * "$Id: cups-calibrate.c,v 1.5 2004/09/17 18:38:10 rleigh Exp $" + * "$Id: cups-calibrate.c,v 1.5.18.1 2007/12/23 17:30:04 easysw Exp $" * * Super simple color calibration program for the Common UNIX * Printing System. * * Copyright 1993-2000 by Easy Software Products. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License, - * version 2, as published by the Free Software Foundation. + * 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. + * 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, please contact Easy Software - * Products at: - * - * Attn: CUPS Licensing Information - * Easy Software Products - * 44141 Airport View Drive, Suite 204 - * Hollywood, Maryland 20636-3111 USA - * - * Voice: (301) 373-9603 - * EMail: cups-info@cups.org - * WWW: http://www.cups.org + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Contents: * diff --git a/src/cups/cups-genppdupdate.in b/src/cups/cups-genppdupdate.in index ee49a0b..119c350 100644 --- a/src/cups/cups-genppdupdate.in +++ b/src/cups/cups-genppdupdate.in @@ -1,5 +1,5 @@ #! @PERL@ -w -# $Id: cups-genppdupdate.in,v 1.25.8.2 2007/05/29 01:47:26 rlk Exp $ +# $Id: cups-genppdupdate.in,v 1.25.8.4 2007/12/29 20:42:25 rlk Exp $ # Update CUPS PPDs for Gutenprint queues. # Copyright (C) 2002-2003 Roger Leigh (rleigh@debian.org) # @@ -37,6 +37,8 @@ our $opt_h; # Help our $opt_n; # No action our $opt_q; # Quiet mode our $opt_s; # Source PPD location +our $opt_p; # New PPD location +our $opt_P; # PPD generator location our $opt_v; # Verbose mode our $opt_N; # Don't update PPD file options our $opt_o; # Output directory @@ -62,6 +64,11 @@ my $updated_ppd_count = 0; my $exit_after_parse_args = 0; my $serverdir = "@cups_conf_serverbin@"; +my $driver_bin = "$serverdir/driver/gutenprint.$version"; +my $driver_version = `$driver_bin VERSION`; +chomp $driver_version; + +$Getopt::Std::STANDARD_HELP_VERSION = 1; $Getopt::Std::STANDARD_HELP_VERSION = 1; @@ -192,6 +199,8 @@ sub HELP_MESSAGE($;$$$) { print $fh " -n No-action. Don't overwrite any PPD files.\n"; print $fh " -q Quiet mode. No messages except errors.\n"; print $fh " -s ppd_dir Use ppd_dir as the source PPD directory.\n"; + print $fh " -p ppd_dir Update PPD files in ppd_dir.\n"; + print $fh " -P driver Use the specified driver binary to generate PPD files.\n"; print $fh " -v Verbose messages.\n"; print $fh " -N Reset options to defaults.\n"; print $fh " -o out_dir Output PPD files to out_dir.\n"; @@ -213,7 +222,7 @@ sub help() { } sub parse_options () { - if (!getopts('d:hnqs:vNo:')) { + if (!getopts('d:hnqs:vNo:p:P:')) { help(); } if ($opt_n) { @@ -230,6 +239,22 @@ sub parse_options () { die "$opt_s: invalid directory: $!\n"; } } + if ($opt_p) { + if (-d $opt_p) { + $ppd_dir = "$opt_p"; + } + else { + die "$opt_p: invalid directory: $!\n"; + } + } + if ($opt_P) { + if (-x $opt_P) { + $driver_bin = "$opt_P"; + } + else { + die "$opt_P: invalid executable: $!\n"; + } + } if ($opt_v) { $verbose = 1; $quiet = 0; @@ -246,7 +271,7 @@ sub parse_options () { $ppd_out_dir = "$opt_o"; } else { - die "$opt_s: invalid directory: $!\n"; + die "$opt_o: invalid directory: $!\n"; } } if ($opt_h) { @@ -263,30 +288,34 @@ sub get_ppd_contents($$$$$) { my $source_data; my ($new_ppd_filename); - if ($use_static_ppd eq "no") { - my ($driver_bin) = "$serverdir/driver/gutenprint.$version"; - my ($driver_version) = `$driver_bin VERSION`; - chomp $driver_version; - if ($driver_version eq "@VERSION@") { - my ($simplified); - if ($filename =~ m,.*/([^/]*)(.sim)(.ppd)?(.gz)?$,) { - $simplified = "simple"; - } else { - $simplified = "expert"; + if ($use_static_ppd eq "no" && $driver_version eq "@VERSION@") { + my ($simplified); + if ($filename =~ m,.*/([^/]*)(.sim)(.ppd)?(.gz)?$,) { + $simplified = "simple"; + } else { + $simplified = "expert"; + } + my ($url); + my (@url_list); + if ($locale) { + if ($region) { + push @url_list, "gutenprint.$version://$driver/$simplified/${locale}_${region}"; } - my ($url); - foreach $url ("gutenprint.$version://$driver/$simplified/${locale}_${region}", - "gutenprint.$version://$driver/$simplified/${locale}", - "gutenprint.$version://$driver/$simplified") { - $new_ppd_filename = $url; - if (open PPD, "$driver_bin cat $url 2>/dev/null |") { - while (<PPD>) { - $source_data .= $_; - } - close PPD; - if ($source_data) { - return ( $new_ppd_filename, $source_data ); - } + push @url_list, "gutenprint.$version://$driver/$simplified/${locale}"; + } + push @url_list, "gutenprint.$version://$driver/$simplified"; + foreach $url (@url_list) { + $new_ppd_filename = $url; + if ($debug & 8) { + print "Trying $driver_bin cat $url for $driver, $simplified, $locale, $region\n"; + } + if (open PPD, "$driver_bin cat $url 2>/dev/null |") { + while (<PPD>) { + $source_data .= $_; + } + close PPD; + if ($source_data) { + return ( $new_ppd_filename, $source_data ); } } } @@ -372,7 +401,7 @@ sub update_ppd ($) { } } if (! $valid) { - print STDERR "$ppd_source_filename: this PPD file cannot be upgraded automatically (only files based on Gutenprint 4.3.21 and newer can be)\n"; + print STDERR "$ppd_source_filename: this PPD file cannot be upgraded automatically (only files based on Gutenprint 5.0.0 and newer can be)\n"; return 0; } if ($debug & 2) { @@ -408,7 +437,8 @@ sub update_ppd ($) { $driver, $locale, $region); if (! $source_data) { - die "Unable to retrieve PPD file!\n"; + print "Unable to retrieve PPD file!\n"; + return 0; } # Save new PPD in a temporary file, for processing... @@ -426,12 +456,19 @@ sub update_ppd ($) { my %new_default_types = get_default_types($tmpfile); my %defaults = get_defaults(ORIG); my %options = get_options($tmpfile, %new_default_types); + my %resolution_map = get_resolution_map($tmpfile); # Close original and temporary files... - close ORIG or die "$_: can't close file: $!"; - close $tmpfile or die "can't close temporary file $tmpfile: $!"; + if (! close ORIG) { + print "$_: can't close file: $!\n"; + return 0; + } + if (! close $tmpfile) { + print "can't close temporary file $tmpfile: $!\n"; + return 0; + } if ($debug & 4) { @@ -456,6 +493,12 @@ sub update_ppd ($) { } print "\n"; } + if (keys %resolution_map) { + print "Resolution Map:\n"; + foreach (sort keys %resolution_map) { + print "$_: $resolution_map{$_}\n"; + } + } print "Non-UI Defaults:\n"; foreach (sort keys %defaults) { my ($xkey) = $_; @@ -488,10 +531,9 @@ sub update_ppd ($) { # Loop through each default in turn. default_loop: - foreach (sort keys %defaults) { - my $default_option = $_; + foreach my $default_option (sort keys %defaults) { my $option; - ($option = $_) =~ s/Default//; # Strip off `Default' + ($option = $default_option) =~ s/Default//; # Strip off `Default' # Check method is valid my $orig_method = $orig_default_types{$option}; my $new_method = $new_default_types{$option}; @@ -501,12 +543,16 @@ default_loop: } if ($new_method eq "PickOne") { # Check the old setting is valid - foreach (@{$options{$option}}) { - if ($defaults{$default_option} eq $_) { # Valid option + foreach my $opt (@{$options{$option}}) { + my $def_option = $defaults{$default_option}; + if (($def_option eq $opt) || + ($option eq "Resolution" && + (defined $resolution_map{$defaults{$default_option}}) && + ($def_option = $resolution_map{$defaults{$default_option}}) eq $opt)) { # Valid option # Set the option in the new PPD - $source_data =~ s/\*($default_option).*/*$1:$defaults{$default_option}/m; + $source_data =~ s/\*($default_option).*/*$1:$def_option/m; if ($verbose) { - print "$ppd_source_filename: Set *$default_option to $defaults{$default_option}\n"; + print "$ppd_source_filename: Set *$default_option to $def_option\n"; } next default_loop; } @@ -514,7 +560,7 @@ default_loop: warn "Warning: $ppd_source_filename: Invalid option: *$default_option: $defaults{$default_option}. Using default setting.\n"; next; } - warn "Warning: $ppd_source_filename: PPD OpenUI method $new_default_types{$_} not understood.\n"; + warn "Warning: $ppd_source_filename: PPD OpenUI method $new_default_types{$default_option} not understood.\n"; } } @@ -658,6 +704,25 @@ sub get_default_types(*) { # Return the default options from the given PPD filename +sub get_resolution_map(*) { + my $fh = $_[0]; + my %resolution_map; + + # Read each line of the original PPD file, and store all OpenUI + # names and their types in a hash... + seek ($fh, 0, 0) or die "can't seek to start of PPD file"; + while (<$fh>) { + if ( m/^\*StpResolutionMap:/ ) { + chomp; + my ($junk, $new, $old) = split; + $resolution_map{$old} = $new; + } + } + return %resolution_map; +} + + +# Return the default options from the given PPD filename sub get_defaults(*) { my $fh = $_[0]; my %defaults; diff --git a/src/cups/epson.c b/src/cups/epson.c index e1e14c4..f3e326c 100644 --- a/src/cups/epson.c +++ b/src/cups/epson.c @@ -1,31 +1,23 @@ /* - * "$Id: epson.c,v 1.7.8.1 2007/05/12 19:32:08 faust3 Exp $" + * "$Id: epson.c,v 1.7.8.2 2007/12/23 17:30:04 easysw Exp $" * * EPSON backend for the Common UNIX Printing System. * * Copyright 1993-2000 by Easy Software Products. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License, - * version 2, as published by the Free Software Foundation. + * 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. + * 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, please contact Easy Software - * Products at: - * - * Attn: CUPS Licensing Information - * Easy Software Products - * 44141 Airport View Drive, Suite 204 - * Hollywood, Maryland 20636-3111 USA - * - * Voice: (301) 373-9603 - * EMail: cups-info@cups.org - * WWW: http://www.cups.org + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Contents: * @@ -883,5 +875,5 @@ list_devices(void) /* - * End of "$Id: epson.c,v 1.7.8.1 2007/05/12 19:32:08 faust3 Exp $". + * End of "$Id: epson.c,v 1.7.8.2 2007/12/23 17:30:04 easysw Exp $". */ diff --git a/src/cups/genppd.c b/src/cups/genppd.c index 4b49ba6..3ba6953 100644 --- a/src/cups/genppd.c +++ b/src/cups/genppd.c @@ -1,31 +1,23 @@ /* - * "$Id: genppd.c,v 1.119.2.3 2007/05/29 01:47:26 rlk Exp $" + * "$Id: genppd.c,v 1.119.2.5 2007/12/23 17:30:05 easysw Exp $" * * PPD file generation program for the CUPS drivers. * * Copyright 1993-2007 by Easy Software Products and Robert Krawitz. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License, - * version 2, as published by the Free Software Foundation. + * 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. + * 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, please contact Easy Software - * Products at: - * - * Attn: CUPS Licensing Information - * Easy Software Products - * 44141 Airport View Drive, Suite 204 - * Hollywood, Maryland 20636 USA - * - * Voice: (301) 373-9603 - * EMail: cups-info@cups.org - * WWW: http://www.cups.org + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Contents: * @@ -96,11 +88,18 @@ static const char *gzext = ""; * In Gutenprint 5.0, use the legacy names with the CUPS 1.1 interface * for back compatibility. With CUPS 1.2, or Gutenprint 5.1 or above, * generate compliant names. + * + * As of Gutenprint 5.0.2 and 5.1.4, *always* use the compliant names. + * OS X Leopard seems to be very unhappy if there are invalid resolution + * names. We've added a mapping between the invalid names and the + * valid names so that genppdupdate knows how to translate the names. */ +#if 0 #if defined(CUPS_DRIVER_INTERFACE) || (STP_MAJOR_VERSION > 5) || (STP_MAJOR_VERSION == 5 && STP_MINOR_VERSION > 0) #define USE_COMPLIANT_RESOLUTIONS 1 #endif +#endif /* * Note: @@ -996,6 +995,8 @@ write_ppd( 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 stp_vars_t *printvars; /* Printer option names */ @@ -1020,6 +1021,8 @@ write_ppd( */ 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); printvars = stp_printer_get_defaults(p); @@ -1154,6 +1157,7 @@ write_ppd( gzputs(fp, "*cupsFilter: \"application/vnd.cups-command 33 commandtoepson\"\n"); gzputs(fp, "\n"); 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"); @@ -1235,6 +1239,9 @@ write_ppd( gzputs(fp, "*OpenUI *PageSize: PickOne\n"); gzputs(fp, "*OrderDependency: 10 AnySetup *PageSize\n"); + 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); gzprintf(fp, "*DefaultPageSize: %s\n", desc.deflt.str); gzprintf(fp, "*StpDefaultPageSize: %s\n", desc.deflt.str); for (i = 0; i < cur_opt; i ++) @@ -1409,6 +1416,9 @@ write_ppd( { gzprintf(fp, "*OpenUI *MediaType/%s: PickOne\n", _("Media Type")); gzputs(fp, "*OrderDependency: 10 AnySetup *MediaType\n"); + 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); gzprintf(fp, "*DefaultMediaType: %s\n", desc.deflt.str); gzprintf(fp, "*StpDefaultMediaType: %s\n", desc.deflt.str); @@ -1434,6 +1444,9 @@ write_ppd( { gzprintf(fp, "*OpenUI *InputSlot/%s: PickOne\n", _("Media Source")); gzputs(fp, "*OrderDependency: 10 AnySetup *InputSlot\n"); + 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); gzprintf(fp, "*DefaultInputSlot: %s\n", desc.deflt.str); gzprintf(fp, "*StpDefaultInputSlot: %s\n", desc.deflt.str); @@ -1459,6 +1472,9 @@ write_ppd( has_quality_parameter = 1; gzprintf(fp, "*OpenUI *StpQuality/%s: PickOne\n", gettext(desc.text)); gzputs(fp, "*OrderDependency: 10 AnySetup *StpQuality\n"); + gzprintf(fp, "*StpStp%s: %d %d %d %d %d %.3f %.3f %.3f\n", + desc.name, desc.p_type, desc.is_mandatory, + desc.p_type, desc.p_level, desc.channel, 0.0, 0.0, 0.0); gzprintf(fp, "*DefaultStpQuality: %s\n", desc.deflt.str); gzprintf(fp, "*StpDefaultStpQuality: %s\n", desc.deflt.str); num_opts = stp_string_list_count(desc.bounds.str); @@ -1494,23 +1510,46 @@ write_ppd( if (!simplified || desc.p_level == STP_PARAMETER_LEVEL_BASIC) { -#ifdef USE_COMPLIANT_RESOLUTIONS 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; -#endif gzprintf(fp, "*OpenUI *Resolution/%s: PickOne\n", _("Resolution")); gzputs(fp, "*OrderDependency: 10 AnySetup *Resolution\n"); + 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 (has_quality_parameter) { - gzprintf(fp, "*DefaultResolution: None\n"); - gzprintf(fp, "*StpDefaultResolution: None\n"); + stp_parameter_t desc1; + stp_clear_string_parameter(v, "Resolution"); + stp_describe_parameter(v, "Quality", &desc1); + stp_set_string_parameter(v, "Quality", desc1.deflt.str); + stp_describe_resolution(v, &xdpi, &ydpi); + stp_clear_string_parameter(v, "Quality"); + tmp_xdpi = xdpi; + tmp_ydpi = ydpi; + if (tmp_ydpi > tmp_xdpi) + tmp_ydpi = tmp_xdpi; + else + tmp_xdpi = tmp_ydpi; + /* + Make the default resolution look like an almost square resolution + so that applications using it will be less likely to generate + excess resolution. However, make the hardware resolution + match the printer default. + */ + (void) snprintf(res_name, 63, "%dx%ddpi", tmp_xdpi, tmp_xdpi + 1); + stp_string_list_add_string(res_list, res_name, res_name); + gzprintf(fp, "*DefaultResolution: %s\n", res_name); + gzprintf(fp, "*StpDefaultResolution: %s\n", res_name); + gzprintf(fp, "*Resolution %s/Automatic:\t\"<</HWResolution[%d %d]>>setpagedevice\"\n", + res_name, xdpi, ydpi); + gzprintf(fp, "*StpResolutionMap: %s %s\n", res_name, "None"); } else { -#ifdef USE_COMPLIANT_RESOLUTIONS stp_set_string_parameter(v, "Resolution", desc.deflt.str); stp_describe_resolution(v, &xdpi, &ydpi); @@ -1526,15 +1565,9 @@ write_ppd( * default resolution name */ stp_string_list_add_string(res_list, res_name, res_name); -#else /* !USE_COMPLIANT_RESOLUTIONS */ - gzprintf(fp, "*DefaultResolution: %s\n", desc.deflt.str); - gzprintf(fp, "*StpDefaultResolution: %s\n", desc.deflt.str); -#endif /* USE_COMPLIANT_RESOLUTIONS */ } stp_clear_string_parameter(v, "Quality"); - if (has_quality_parameter) - gzprintf(fp, "*Resolution None/%s: \"\"\n", _("Automatic")); for (i = 0; i < num_opts; i ++) { /* @@ -1548,7 +1581,6 @@ write_ppd( if (xdpi == -1 || ydpi == -1) continue; -#ifdef USE_COMPLIANT_RESOLUTIONS resolution_ok = 0; tmp_xdpi = xdpi; tmp_ydpi = ydpi; @@ -1571,15 +1603,11 @@ write_ppd( } while (!resolution_ok); gzprintf(fp, "*Resolution %s/%s:\t\"<</HWResolution[%d %d]/cupsCompression %d>>setpagedevice\"\n", res_name, opt->text, xdpi, ydpi, i + 1); -#else /* !USE_COMPLIANT_RESOLUTIONS */ - gzprintf(fp, "*Resolution %s/%s:\t\"<</HWResolution[%d %d]/cupsCompression %d>>setpagedevice\"\n", - opt->name, opt->text, xdpi, ydpi, i + 1); -#endif /* USE_COMPLIANT_RESOLUTIONS */ + if (strcmp(res_name, opt->name) != 0) + gzprintf(fp, "*StpResolutionMap: %s %s\n", res_name, opt->name); } -#ifdef USE_COMPLIANT_RESOLUTIONS stp_string_list_destroy(res_list); -#endif gzputs(fp, "*CloseUI: *Resolution\n\n"); } @@ -1612,6 +1640,9 @@ write_ppd( { gzprintf(fp, "*OpenUI *Duplex/%s: PickOne\n", _("2-Sided Printing")); gzputs(fp, "*OrderDependency: 10 AnySetup *Duplex\n"); + 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); gzprintf(fp, "*DefaultDuplex: %s\n", desc.deflt.str); gzprintf(fp, "*StpDefaultDuplex: %s\n", desc.deflt.str); @@ -1676,6 +1707,10 @@ write_ppd( switch (desc.p_type) { case STP_PARAMETER_TYPE_STRING_LIST: + 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", @@ -1699,6 +1734,10 @@ write_ppd( } break; case STP_PARAMETER_TYPE_BOOLEAN: + 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, @@ -1719,6 +1758,11 @@ write_ppd( desc.name, "True", _("Yes")); break; case STP_PARAMETER_TYPE_DOUBLE: + 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; @@ -1754,6 +1798,9 @@ write_ppd( { gzprintf(fp, "*OpenUI *StpFine%s/%s %s: PickOne\n", desc.name, gettext(desc.text), _("Fine Adjustment")); + 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); @@ -1766,6 +1813,12 @@ write_ppd( break; case STP_PARAMETER_TYPE_DIMENSION: + 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", @@ -1871,5 +1924,5 @@ write_ppd( /* - * End of "$Id: genppd.c,v 1.119.2.3 2007/05/29 01:47:26 rlk Exp $". + * End of "$Id: genppd.c,v 1.119.2.5 2007/12/23 17:30:05 easysw Exp $". */ diff --git a/src/cups/rastertoprinter.c b/src/cups/rastertoprinter.c index 52d3592..2f636ea 100644 --- a/src/cups/rastertoprinter.c +++ b/src/cups/rastertoprinter.c @@ -1,31 +1,23 @@ /* - * "$Id: rastertoprinter.c,v 1.105.2.1 2007/03/02 12:01:16 rlk Exp $" + * "$Id: rastertoprinter.c,v 1.105.2.6 2008/01/02 01:38:09 rlk Exp $" * * Gutenprint based raster filter for the Common UNIX Printing System. * * Copyright 1993-2007 by Easy Software Products. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License, - * version 2, as published by the Free Software Foundation. + * 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. + * 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, please contact Easy Software - * Products at: - * - * Attn: CUPS Licensing Information - * Easy Software Products - * 44141 Airport View Drive, Suite 204 - * Hollywood, Maryland 20636-3111 USA - * - * Voice: (301) 373-9603 - * EMail: cups-info@cups.org - * WWW: http://www.cups.org + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Contents: * @@ -120,11 +112,13 @@ static stp_image_t theImage = static volatile stp_image_status_t Image_status = STP_IMAGE_STATUS_OK; static double total_bytes_printed = 0; static int print_messages_as_errors = 0; +static int suppress_messages = 0; static void set_string_parameter(stp_vars_t *v, const char *name, const char *val) { - fprintf(stderr, "DEBUG: Gutenprint set string %s to %s\n", name, val); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set special string %s to %s\n", name, val); stp_set_string_parameter(v, name, val); } @@ -139,23 +133,32 @@ set_special_parameter(stp_vars_t *v, const char *name, int choice) if (choice < 0) { stp_clear_string_parameter(v, name); - fprintf(stderr, "DEBUG: Gutenprint clear special parameter %s\n", - name); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint clear special parameter %s\n", + name); } else if (choice >= stp_string_list_count(desc.bounds.str)) - fprintf(stderr, "ERROR: Gutenprint unable to set %s!\n", name); + { + if (! suppress_messages) + fprintf(stderr, "ERROR: Gutenprint UNABLE to set %s (%d > %d)!\n", + name, choice, stp_string_list_count(desc.bounds.str)); + } else { stp_set_string_parameter (v, name, stp_string_list_param(desc.bounds.str, choice)->name); - fprintf(stderr, "DEBUG: Gutenprint set special parameter %s to choice %d (%s)\n", - name, choice, - stp_string_list_param(desc.bounds.str, choice)->name); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set special parameter %s to choice %d (%s)\n", + name, choice, + stp_string_list_param(desc.bounds.str, choice)->name); } } else - fprintf(stderr, "DEBUG: Gutenprint unable to set special %s: not a string\n", - name); + { + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint UNABLE to set special %s: not a string\n", + name); + } stp_parameter_description_destroy(&desc); } @@ -165,62 +168,62 @@ print_debug_block(const stp_vars_t *v, const cups_image_t *cups) stp_parameter_list_t params; int nparams; int i; - fprintf(stderr, "DEBUG: Gutenprint StartPage...\n"); - fprintf(stderr, "DEBUG: Gutenprint MediaClass = \"%s\"\n", cups->header.MediaClass); - fprintf(stderr, "DEBUG: Gutenprint MediaColor = \"%s\"\n", cups->header.MediaColor); - fprintf(stderr, "DEBUG: Gutenprint MediaType = \"%s\"\n", cups->header.MediaType); - fprintf(stderr, "DEBUG: Gutenprint OutputType = \"%s\"\n", cups->header.OutputType); - - fprintf(stderr, "DEBUG: Gutenprint AdvanceDistance = %d\n", cups->header.AdvanceDistance); - fprintf(stderr, "DEBUG: Gutenprint AdvanceMedia = %d\n", cups->header.AdvanceMedia); - fprintf(stderr, "DEBUG: Gutenprint Collate = %d\n", cups->header.Collate); - fprintf(stderr, "DEBUG: Gutenprint CutMedia = %d\n", cups->header.CutMedia); - fprintf(stderr, "DEBUG: Gutenprint Duplex = %d\n", cups->header.Duplex); - fprintf(stderr, "DEBUG: Gutenprint HWResolution = [ %d %d ]\n", cups->header.HWResolution[0], + fprintf(stderr, "DEBUG: Gutenprint Page data:\n"); + fprintf(stderr, "DEBUG: Gutenprint MediaClass = \"%s\"\n", cups->header.MediaClass); + fprintf(stderr, "DEBUG: Gutenprint MediaColor = \"%s\"\n", cups->header.MediaColor); + fprintf(stderr, "DEBUG: Gutenprint MediaType = \"%s\"\n", cups->header.MediaType); + fprintf(stderr, "DEBUG: Gutenprint OutputType = \"%s\"\n", cups->header.OutputType); + + fprintf(stderr, "DEBUG: Gutenprint AdvanceDistance = %d\n", cups->header.AdvanceDistance); + fprintf(stderr, "DEBUG: Gutenprint AdvanceMedia = %d\n", cups->header.AdvanceMedia); + fprintf(stderr, "DEBUG: Gutenprint Collate = %d\n", cups->header.Collate); + fprintf(stderr, "DEBUG: Gutenprint CutMedia = %d\n", cups->header.CutMedia); + fprintf(stderr, "DEBUG: Gutenprint Duplex = %d\n", cups->header.Duplex); + fprintf(stderr, "DEBUG: Gutenprint HWResolution = [ %d %d ]\n", cups->header.HWResolution[0], cups->header.HWResolution[1]); - fprintf(stderr, "DEBUG: Gutenprint ImagingBoundingBox = [ %d %d %d %d ]\n", + fprintf(stderr, "DEBUG: Gutenprint ImagingBoundingBox = [ %d %d %d %d ]\n", cups->header.ImagingBoundingBox[0], cups->header.ImagingBoundingBox[1], cups->header.ImagingBoundingBox[2], cups->header.ImagingBoundingBox[3]); - fprintf(stderr, "DEBUG: Gutenprint InsertSheet = %d\n", cups->header.InsertSheet); - fprintf(stderr, "DEBUG: Gutenprint Jog = %d\n", cups->header.Jog); - fprintf(stderr, "DEBUG: Gutenprint LeadingEdge = %d\n", cups->header.LeadingEdge); - fprintf(stderr, "DEBUG: Gutenprint Margins = [ %d %d ]\n", cups->header.Margins[0], + fprintf(stderr, "DEBUG: Gutenprint InsertSheet = %d\n", cups->header.InsertSheet); + fprintf(stderr, "DEBUG: Gutenprint Jog = %d\n", cups->header.Jog); + fprintf(stderr, "DEBUG: Gutenprint LeadingEdge = %d\n", cups->header.LeadingEdge); + fprintf(stderr, "DEBUG: Gutenprint Margins = [ %d %d ]\n", cups->header.Margins[0], cups->header.Margins[1]); - fprintf(stderr, "DEBUG: Gutenprint ManualFeed = %d\n", cups->header.ManualFeed); - fprintf(stderr, "DEBUG: Gutenprint MediaPosition = %d\n", cups->header.MediaPosition); - fprintf(stderr, "DEBUG: Gutenprint MediaWeight = %d\n", cups->header.MediaWeight); - fprintf(stderr, "DEBUG: Gutenprint MirrorPrint = %d\n", cups->header.MirrorPrint); - fprintf(stderr, "DEBUG: Gutenprint NegativePrint = %d\n", cups->header.NegativePrint); - fprintf(stderr, "DEBUG: Gutenprint NumCopies = %d\n", cups->header.NumCopies); - fprintf(stderr, "DEBUG: Gutenprint Orientation = %d\n", cups->header.Orientation); - fprintf(stderr, "DEBUG: Gutenprint OutputFaceUp = %d\n", cups->header.OutputFaceUp); - fprintf(stderr, "DEBUG: Gutenprint PageSize = [ %d %d ]\n", cups->header.PageSize[0], + fprintf(stderr, "DEBUG: Gutenprint ManualFeed = %d\n", cups->header.ManualFeed); + fprintf(stderr, "DEBUG: Gutenprint MediaPosition = %d\n", cups->header.MediaPosition); + fprintf(stderr, "DEBUG: Gutenprint MediaWeight = %d\n", cups->header.MediaWeight); + fprintf(stderr, "DEBUG: Gutenprint MirrorPrint = %d\n", cups->header.MirrorPrint); + fprintf(stderr, "DEBUG: Gutenprint NegativePrint = %d\n", cups->header.NegativePrint); + fprintf(stderr, "DEBUG: Gutenprint NumCopies = %d\n", cups->header.NumCopies); + fprintf(stderr, "DEBUG: Gutenprint Orientation = %d\n", cups->header.Orientation); + fprintf(stderr, "DEBUG: Gutenprint OutputFaceUp = %d\n", cups->header.OutputFaceUp); + fprintf(stderr, "DEBUG: Gutenprint PageSize = [ %d %d ]\n", cups->header.PageSize[0], cups->header.PageSize[1]); - fprintf(stderr, "DEBUG: Gutenprint Separations = %d\n", cups->header.Separations); - fprintf(stderr, "DEBUG: Gutenprint TraySwitch = %d\n", cups->header.TraySwitch); - fprintf(stderr, "DEBUG: Gutenprint Tumble = %d\n", cups->header.Tumble); - fprintf(stderr, "DEBUG: Gutenprint cupsWidth = %d\n", cups->header.cupsWidth); - fprintf(stderr, "DEBUG: Gutenprint cupsHeight = %d\n", cups->header.cupsHeight); - fprintf(stderr, "DEBUG: Gutenprint cups->width = %d\n", cups->width); - fprintf(stderr, "DEBUG: Gutenprint cups->height = %d\n", cups->height); - fprintf(stderr, "DEBUG: Gutenprint cups->adjusted_width = %d\n", cups->adjusted_width); - fprintf(stderr, "DEBUG: Gutenprint cups->adjusted_height = %d\n", cups->adjusted_height); - fprintf(stderr, "DEBUG: Gutenprint cupsMediaType = %d\n", cups->header.cupsMediaType); - fprintf(stderr, "DEBUG: Gutenprint cupsBitsPerColor = %d\n", cups->header.cupsBitsPerColor); - fprintf(stderr, "DEBUG: Gutenprint cupsBitsPerPixel = %d\n", cups->header.cupsBitsPerPixel); - fprintf(stderr, "DEBUG: Gutenprint cupsBytesPerLine = %d\n", cups->header.cupsBytesPerLine); - fprintf(stderr, "DEBUG: Gutenprint cupsColorOrder = %d\n", cups->header.cupsColorOrder); - fprintf(stderr, "DEBUG: Gutenprint cupsColorSpace = %d\n", cups->header.cupsColorSpace); - fprintf(stderr, "DEBUG: Gutenprint cupsCompression = %d\n", cups->header.cupsCompression); - fprintf(stderr, "DEBUG: Gutenprint cupsRowCount = %d\n", cups->header.cupsRowCount); - fprintf(stderr, "DEBUG: Gutenprint cupsRowFeed = %d\n", cups->header.cupsRowFeed); - fprintf(stderr, "DEBUG: Gutenprint cupsRowStep = %d\n", cups->header.cupsRowStep); - fprintf(stderr, "DEBUG: Gutenprint stp_get_driver(v) |%s|\n", stp_get_driver(v)); - fprintf(stderr, "DEBUG: Gutenprint stp_get_left(v) |%d|\n", stp_get_left(v)); - fprintf(stderr, "DEBUG: Gutenprint stp_get_top(v) |%d|\n", stp_get_top(v)); - fprintf(stderr, "DEBUG: Gutenprint stp_get_page_width(v) |%d|\n", stp_get_page_width(v)); - fprintf(stderr, "DEBUG: Gutenprint stp_get_page_height(v) |%d|\n", stp_get_page_height(v)); - fprintf(stderr, "DEBUG: Gutenprint shrink page to fit %d\n", cups->shrink_to_fit); + fprintf(stderr, "DEBUG: Gutenprint Separations = %d\n", cups->header.Separations); + fprintf(stderr, "DEBUG: Gutenprint TraySwitch = %d\n", cups->header.TraySwitch); + fprintf(stderr, "DEBUG: Gutenprint Tumble = %d\n", cups->header.Tumble); + fprintf(stderr, "DEBUG: Gutenprint cupsWidth = %d\n", cups->header.cupsWidth); + fprintf(stderr, "DEBUG: Gutenprint cupsHeight = %d\n", cups->header.cupsHeight); + fprintf(stderr, "DEBUG: Gutenprint cups->width = %d\n", cups->width); + fprintf(stderr, "DEBUG: Gutenprint cups->height = %d\n", cups->height); + fprintf(stderr, "DEBUG: Gutenprint cups->adjusted_width = %d\n", cups->adjusted_width); + fprintf(stderr, "DEBUG: Gutenprint cups->adjusted_height = %d\n", cups->adjusted_height); + fprintf(stderr, "DEBUG: Gutenprint cupsMediaType = %d\n", cups->header.cupsMediaType); + fprintf(stderr, "DEBUG: Gutenprint cupsBitsPerColor = %d\n", cups->header.cupsBitsPerColor); + fprintf(stderr, "DEBUG: Gutenprint cupsBitsPerPixel = %d\n", cups->header.cupsBitsPerPixel); + fprintf(stderr, "DEBUG: Gutenprint cupsBytesPerLine = %d\n", cups->header.cupsBytesPerLine); + fprintf(stderr, "DEBUG: Gutenprint cupsColorOrder = %d\n", cups->header.cupsColorOrder); + fprintf(stderr, "DEBUG: Gutenprint cupsColorSpace = %d\n", cups->header.cupsColorSpace); + fprintf(stderr, "DEBUG: Gutenprint cupsCompression = %d\n", cups->header.cupsCompression); + fprintf(stderr, "DEBUG: Gutenprint cupsRowCount = %d\n", cups->header.cupsRowCount); + fprintf(stderr, "DEBUG: Gutenprint cupsRowFeed = %d\n", cups->header.cupsRowFeed); + fprintf(stderr, "DEBUG: Gutenprint cupsRowStep = %d\n", cups->header.cupsRowStep); + fprintf(stderr, "DEBUG: Gutenprint stp_get_driver(v) |%s|\n", stp_get_driver(v)); + fprintf(stderr, "DEBUG: Gutenprint stp_get_left(v) %d\n", stp_get_left(v)); + fprintf(stderr, "DEBUG: Gutenprint stp_get_top(v) %d\n", stp_get_top(v)); + fprintf(stderr, "DEBUG: Gutenprint stp_get_page_width(v) %d\n", stp_get_page_width(v)); + fprintf(stderr, "DEBUG: Gutenprint stp_get_page_height(v) %d\n", stp_get_page_height(v)); + fprintf(stderr, "DEBUG: Gutenprint shrink page to fit %d\n", cups->shrink_to_fit); params = stp_get_parameter_list(v); nparams = stp_parameter_list_count(params); for (i = 0; i < nparams; i++) @@ -229,28 +232,28 @@ print_debug_block(const stp_vars_t *v, const cups_image_t *cups) switch (p->p_type) { case STP_PARAMETER_TYPE_STRING_LIST: - fprintf(stderr, "DEBUG: Gutenprint stp_get_string %s(v) |%s| %d\n", + fprintf(stderr, "DEBUG: Gutenprint stp_get_string %s(v) |%s| %d\n", p->name, stp_get_string_parameter(v, p->name) ? stp_get_string_parameter(v, p->name) : "NULL", stp_get_string_parameter_active(v, p->name)); break; case STP_PARAMETER_TYPE_DOUBLE: - fprintf(stderr, "DEBUG: Gutenprint stp_get_float %s(v) |%.3f| %d\n", + fprintf(stderr, "DEBUG: Gutenprint stp_get_float %s(v) |%.3f| %d\n", p->name, stp_get_float_parameter(v, p->name), stp_get_float_parameter_active(v, p->name)); break; case STP_PARAMETER_TYPE_DIMENSION: - fprintf(stderr, "DEBUG: Gutenprint stp_get_dimension %s(v) |%d| %d\n", + fprintf(stderr, "DEBUG: Gutenprint stp_get_dimension %s(v) |%d| %d\n", p->name, stp_get_dimension_parameter(v, p->name), stp_get_dimension_parameter_active(v, p->name)); break; case STP_PARAMETER_TYPE_INT: - fprintf(stderr, "DEBUG: Gutenprint stp_get_int %s(v) |%d| %d\n", + fprintf(stderr, "DEBUG: Gutenprint stp_get_int %s(v) |%d| %d\n", p->name, stp_get_int_parameter(v, p->name), stp_get_int_parameter_active(v, p->name)); break; case STP_PARAMETER_TYPE_BOOLEAN: - fprintf(stderr, "DEBUG: Gutenprint stp_get_boolean %s(v) |%d| %d\n", + fprintf(stderr, "DEBUG: Gutenprint stp_get_boolean %s(v) |%d| %d\n", p->name, stp_get_boolean_parameter(v, p->name), stp_get_boolean_parameter_active(v, p->name)); break; @@ -261,6 +264,7 @@ print_debug_block(const stp_vars_t *v, const cups_image_t *cups) break; } } + fprintf(stderr, "DEBUG: Gutenprint End page data\n"); stp_parameter_list_destroy(params); } @@ -282,6 +286,8 @@ validate_options(stp_vars_t *v, cups_image_t *cups) stp_parameter_list_t params = stp_get_parameter_list(v); int nparams = stp_parameter_list_count(params); int i; + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint validating options\n"); for (i = 0; i < nparams; i++) { const stp_parameter_t *param = stp_parameter_list_param(params, i); @@ -292,14 +298,18 @@ validate_options(stp_vars_t *v, cups_image_t *cups) if (!stp_string_list_is_present (desc.bounds.str, stp_get_string_parameter(v, desc.name))) { - const char *val = stp_get_string_parameter(v, desc.name); - fprintf(stderr, "DEBUG: Gutenprint clearing string %s (%s)\n", - desc.name, val ? val : "(null)"); + if (! suppress_messages) + { + const char *val = stp_get_string_parameter(v, desc.name); + fprintf(stderr, "DEBUG: Gutenprint clearing string %s (%s)\n", + desc.name, val ? val : "(null)"); + } stp_clear_string_parameter(v, desc.name); if (!desc.read_only && desc.is_mandatory && desc.is_active) { - fprintf(stderr, "DEBUG: Gutenprint setting default string %s to %s\n", - desc.name, desc.deflt.str ? desc.deflt.str : "(null)"); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint setting default string %s to %s\n", + desc.name, desc.deflt.str ? desc.deflt.str : "(null)"); stp_set_string_parameter(v, desc.name, desc.deflt.str); if (strcmp(desc.name, "PageSize") == 0) { @@ -307,15 +317,17 @@ validate_options(stp_vars_t *v, cups_image_t *cups) stp_get_papersize_by_name(desc.deflt.str); if (ps->width > 0) { - fprintf(stderr, "DEBUG: Gutenprint setting page width to %d\n", - ps->width); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint setting page width to %d\n", + ps->width); if (ps->width < stp_get_page_width(v)) stp_set_page_width(v, ps->width); } if (ps->height > 0) { - fprintf(stderr, "DEBUG: Gutenprint setting page height to %d\n", - ps->height); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint setting page height to %d\n", + ps->height); if (ps->height < stp_get_page_height(v)) stp_set_page_height(v, ps->height); } @@ -325,6 +337,8 @@ validate_options(stp_vars_t *v, cups_image_t *cups) } stp_parameter_description_destroy(&desc); } + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint done validating options\n"); stp_parameter_list_destroy(params); } @@ -335,6 +349,9 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) int tmp_left, tmp_right, tmp_top, tmp_bottom, tmp_width, tmp_height; stp_vars_t *v = stp_vars_create_copy(default_settings); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint Initialize page\n"); + stp_set_page_width(v, cups->header.PageSize[0]); stp_set_page_height(v, cups->header.PageSize[1]); stp_set_outfunc(v, cups_writefunc); @@ -392,15 +409,19 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) if (cups->header.MediaType && strlen(cups->header.MediaType) > 0) set_string_parameter(v, "MediaType", cups->header.MediaType); - fprintf(stderr, "DEBUG: Gutenprint PageSize = %dx%d\n", cups->header.PageSize[0], - cups->header.PageSize[1]); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint PageSize = %dx%d\n", cups->header.PageSize[0], + cups->header.PageSize[1]); if ((size = stp_get_papersize_by_size(cups->header.PageSize[1], cups->header.PageSize[0])) != NULL) set_string_parameter(v, "PageSize", size->name); else - fprintf(stderr, "DEBUG: Gutenprint Unable to get media size for (%d, %d)\n", - cups->header.PageSize[1], cups->header.PageSize[0]); + { + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint UNABLE to get media size for (%d, %d)\n", + cups->header.PageSize[1], cups->header.PageSize[0]); + } /* * Duplex @@ -424,10 +445,13 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) &tmp_bottom, &tmp_top); stp_get_imageable_area(v, &(cups->left), &(cups->right), &(cups->bottom), &(cups->top)); - fprintf(stderr, "DEBUG: Gutenprint limits w %d l %d r %d h %d t %d b %d\n", - cups->width, cups->left, cups->right, cups->height, cups->top, cups->bottom); - fprintf(stderr, "DEBUG: Gutenprint max limits l %d r %d t %d b %d\n", - tmp_left, tmp_right, tmp_top, tmp_bottom); + if (! suppress_messages) + { + fprintf(stderr, "DEBUG: Gutenprint limits w %d l %d r %d h %d t %d b %d\n", + cups->width, cups->left, cups->right, cups->height, cups->top, cups->bottom); + fprintf(stderr, "DEBUG: Gutenprint max limits l %d r %d t %d b %d\n", + tmp_left, tmp_right, tmp_top, tmp_bottom); + } if (tmp_left < 0) tmp_left = 0; @@ -448,13 +472,15 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) } else cups->left_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint left margin %d\n", cups->left_trim); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint left margin %d\n", cups->left_trim); } else { cups->left_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint adjusting left margin from %d to %d\n", - cups->left, tmp_left); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint adjusting left margin from %d to %d\n", + cups->left, tmp_left); cups->left = tmp_left; } if (tmp_right > cups->right) @@ -466,13 +492,15 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) } else cups->right_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint right margin %d\n", cups->right_trim); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint right margin %d\n", cups->right_trim); } else { cups->right_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint adjusting right margin from %d to %d\n", - cups->right, tmp_right); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint adjusting right margin from %d to %d\n", + cups->right, tmp_right); cups->right = tmp_right; } if (tmp_top < cups->top) @@ -484,13 +512,15 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) } else cups->top_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint top margin %d\n", cups->top_trim); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint top margin %d\n", cups->top_trim); } else { cups->top_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint adjusting top margin from %d to %d\n", - cups->top, tmp_top); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint adjusting top margin from %d to %d\n", + cups->top, tmp_top); cups->top = tmp_top; } if (tmp_bottom > cups->bottom) @@ -502,13 +532,15 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) } else cups->bottom_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint bottom margin %d\n", cups->bottom_trim); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint bottom margin %d\n", cups->bottom_trim); } else { cups->bottom_trim = 0; - fprintf(stderr, "DEBUG: Gutenprint adjusting bottom margin from %d to %d\n", - cups->bottom, tmp_bottom); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint adjusting bottom margin from %d to %d\n", + cups->bottom, tmp_bottom); cups->bottom = tmp_bottom; } @@ -556,10 +588,13 @@ initialize_page(cups_image_t *cups, const stp_vars_t *default_settings) cups->adjusted_height = cups->height; if (cups->adjusted_height > cups->header.cupsHeight) cups->adjusted_height = cups->header.cupsHeight; - fprintf(stderr, "DEBUG: Gutenprint CUPS settings w %d %d l %d r %d h %d %d t %d b %d\n", - cups->width, cups->adjusted_width, cups->left, cups->right, - cups->height, cups->adjusted_height, cups->top, cups->bottom); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint CUPS settings w %d (%d) l %d r %d h %d (%d) t %d b %d\n", + cups->width, cups->adjusted_width, cups->left, cups->right, + cups->height, cups->adjusted_height, cups->top, cups->bottom); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint End initialize page\n"); return v; } @@ -569,8 +604,9 @@ purge_excess_data(cups_image_t *cups) char *buffer = stp_malloc(cups->header.cupsBytesPerLine); if (buffer) { - fprintf(stderr, "DEBUG: Gutenprint purging %d rows\n", - cups->header.cupsHeight - cups->row); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint purging %d rows\n", + cups->header.cupsHeight - cups->row); while (cups->row < cups->header.cupsHeight) { cupsRasterReadPixels(cups->ras, (unsigned char *)buffer, @@ -590,6 +626,8 @@ set_all_options(stp_vars_t *v, cups_option_t *options, int num_options, int i; const char *val; /* CUPS option value */ ppd_option_t *ppd_option; + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set options:\n"); val = cupsGetOption("StpiShrinkOutput", num_options, options); if (!val) { @@ -629,31 +667,45 @@ set_all_options(stp_vars_t *v, cups_option_t *options, int num_options, { double dval = atof(val + 7); - fprintf(stderr, "DEBUG: Gutenprint set float %s to %f\n", - desc.name, dval); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set float %s to %f\n", + desc.name, dval); if (dval > desc.bounds.dbl.upper) dval = desc.bounds.dbl.upper; stp_set_float_parameter(v, desc.name, dval); } else if (val && strlen(val) > 0 && strcmp(val, "None") != 0) { - double coarse_val = atof(val) * 0.001; double fine_val = 0; - sprintf(ppd_option_name, "StpFine%s", desc.name); - val = cupsGetOption(ppd_option_name, num_options, options); - if (!val) + if (strchr(val, (int) '.')) + { + fine_val = atof(val); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set float %s to %f (%s)\n", + desc.name, fine_val, val); + } + else { - ppd_option = ppdFindOption(ppd, ppd_option_name); - if (ppd_option) - val = ppd_option->defchoice; + double coarse_val = atof(val) * 0.001; + sprintf(ppd_option_name, "StpFine%s", desc.name); + val = cupsGetOption(ppd_option_name, num_options, options); + if (!val) + { + ppd_option = ppdFindOption(ppd, ppd_option_name); + if (ppd_option) + val = ppd_option->defchoice; + } + if (val && strlen(val) > 0 && strcmp(val, "None") != 0) + fine_val = atof(val) * 0.001; + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set float %s to %f + %f\n", + desc.name, coarse_val, fine_val); + fine_val += coarse_val; } - if (val && strlen(val) > 0 && strcmp(val, "None") != 0) - fine_val = atof(val) * 0.001; - fprintf(stderr, "DEBUG: Gutenprint set float %s to %f + %f\n", - desc.name, coarse_val, fine_val); - fine_val += coarse_val; if (fine_val > desc.bounds.dbl.upper) fine_val = desc.bounds.dbl.upper; + if (fine_val < desc.bounds.dbl.lower) + fine_val = desc.bounds.dbl.lower; stp_set_float_parameter(v, desc.name, fine_val); } } @@ -673,53 +725,66 @@ set_all_options(stp_vars_t *v, cups_option_t *options, int num_options, switch (desc.p_type) { case STP_PARAMETER_TYPE_STRING_LIST: - fprintf(stderr, "DEBUG: Gutenprint set string %s to %s\n", - desc.name, val); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set string %s to %s\n", + desc.name, val); set_string_parameter(v, desc.name, val); break; case STP_PARAMETER_TYPE_INT: if (!strncasecmp(val, "Custom.", 7)) val += 7; - fprintf(stderr, "DEBUG: Gutenprint set int %s to %s\n", - desc.name, val); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set int %s to %s (%d)\n", + desc.name, val, atoi(val)); stp_set_int_parameter(v, desc.name, atoi(val)); break; case STP_PARAMETER_TYPE_DIMENSION: if (!strncasecmp(val, "Custom.", 7)) val += 7; - fprintf(stderr, "DEBUG: Gutenprint set dimension %s to %s\n", - desc.name, val); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set dimension %s to %s (%d)\n", + desc.name, val, atoi(val)); stp_set_dimension_parameter(v, desc.name, atoi(val)); break; case STP_PARAMETER_TYPE_BOOLEAN: - fprintf(stderr, "DEBUG: Gutenprint set bool %s to %s\n", - desc.name, val); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint set bool %s to %s (%d)\n", + desc.name, val, strcasecmp(val, "true") == 0 ? 1 : 0); stp_set_boolean_parameter - (v, desc.name, strcmp(val, "True") == 0 ? 1 : 0); + (v, desc.name, strcasecmp(val, "true") == 0 ? 1 : 0); break; case STP_PARAMETER_TYPE_CURVE: /* figure this out later... */ case STP_PARAMETER_TYPE_FILE: /* Probably not, security hole */ case STP_PARAMETER_TYPE_RAW: /* figure this out later, too */ - fprintf(stderr, "DEBUG: Gutenprint ignoring option %s %s type %d\n", - desc.name, val, desc.p_type); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint ignoring option %s %s type %d\n", + desc.name, val, desc.p_type); break; default: break; } } else if (val) - fprintf(stderr, "DEBUG: Gutenprint NOT setting %s to '%s'\n", - desc.name, val); + { + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint NOT setting %s to '%s'\n", + desc.name, val); + } else - fprintf(stderr, "DEBUG: Gutenprint NOT setting %s to (null)\n", - desc.name); + { + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint NOT setting %s to (null)\n", + desc.name); + } } stp_parameter_description_destroy(&desc); stp_free(ppd_option_name); } + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint end options\n"); stp_parameter_list_destroy(params); } @@ -749,6 +814,9 @@ main(int argc, /* I - Number of command-line arguments */ struct timeval t1, t2; struct timezone tz; + if (getenv("STP_SUPPRESS_MESSAGES")) + suppress_messages = 1; + /* * Initialise libgutenprint */ @@ -763,7 +831,8 @@ main(int argc, /* I - Number of command-line arguments */ /* * Check for valid arguments... */ - fprintf(stderr, "DEBUG: Gutenprint %s Starting\n", version_id); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint %s Starting\n", version_id); if (argc < 6 || argc > 7) { @@ -776,6 +845,16 @@ main(int argc, /* I - Number of command-line arguments */ return (1); } + if (! suppress_messages) + { + fprintf(stderr, "DEBUG: Gutenprint %s Starting\n", version_id); + fprintf(stderr, "DEBUG: Gutenprint command line: %s '%s' '%s' '%s' '%s' %s%s%s%s\n", + argv[0], argv[1], argv[2], argv[3], argv[4], "<args>", + argc >= 7 ? " '" : "", + argc >= 7 ? argv[6] : "", + argc >= 7 ? "'" : ""); + } + /* * Get the PPD file... */ @@ -785,7 +864,8 @@ main(int argc, /* I - Number of command-line arguments */ fputs("ERROR: Gutenprint Fatal error: PPD environment variable not set!\n", stderr); return (1); } - fprintf(stderr, "DEBUG: Gutenprint using PPD file %s\n", ppdfile); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint using PPD file %s\n", ppdfile); if ((ppd = ppdOpenFile(ppdfile)) == NULL) { @@ -853,15 +933,17 @@ main(int argc, /* I - Number of command-line arguments */ num_options = cupsParseOptions(argv[5], 0, &options); - fprintf(stderr, "DEBUG: Gutenprint CUPS option count is %d (%d bytes)\n", - num_options, strlen(argv[5])); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint CUPS option count is %d (%d bytes)\n", + num_options, strlen(argv[5])); if (num_options > 0) { int i; for (i = 0; i < num_options; i++) - fprintf(stderr, "DEBUG: Gutenprint CUPS option %d %s = %s\n", - i, options[i].name, options[i].value); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint CUPS option %d %s = %s\n", + i, options[i].name, options[i].value); } /* @@ -879,7 +961,8 @@ main(int argc, /* I - Number of command-line arguments */ ppdClose(ppd); return (1); } - fprintf(stderr, "DEBUG: Gutenprint driver %s\n", ppd->modelname); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint driver %s\n", ppd->modelname); /* * Open the page stream... @@ -896,7 +979,8 @@ main(int argc, /* I - Number of command-line arguments */ } else fd = 0; - fprintf(stderr, "DEBUG: Gutenprint using fd %d\n", fd); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint using fd %d\n", fd); stp_set_printer_defaults(default_settings, printer); stp_set_float_parameter(default_settings, "AppGamma", 1.0); @@ -912,7 +996,8 @@ main(int argc, /* I - Number of command-line arguments */ cups.page = 0; - fprintf(stderr, "DEBUG: Gutenprint about to start printing loop.\n"); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint about to start printing loop.\n"); /* * Read the first page header, which we need in order to set up @@ -935,12 +1020,16 @@ main(int argc, /* I - Number of command-line arguments */ /* * Setup printer driver variables... */ + if (! suppress_messages) + { + fprintf(stderr, "DEBUG: Gutenprint printing page %d\n", cups.page + 1); + fprintf(stderr, "PAGE: %d 1\n", cups.page + 1); + } v = initialize_page(&cups, default_settings); stp_set_int_parameter(v, "PageNumber", cups.page); cups.row = 0; - fprintf(stderr, "DEBUG: Gutenprint printing page %d\n", cups.page + 1); - fprintf(stderr, "PAGE: %d 1\n", cups.page + 1); - print_debug_block(v, &cups); + if (! suppress_messages) + print_debug_block(v, &cups); print_messages_as_errors = 1; if (!stp_verify(v)) { @@ -971,12 +1060,16 @@ main(int argc, /* I - Number of command-line arguments */ */ if (cups.row < cups.header.cupsHeight) purge_excess_data(&cups); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint done printing page %d\n", cups.page + 1); cups.page ++; } if (v) { - fprintf(stderr, "DEBUG: Gutenprint ending job\n"); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint ending job\n"); stp_end_job(v, &theImage); + fflush(stdout); stp_vars_destroy(v); } cupsRasterClose(cups.ras); @@ -990,12 +1083,21 @@ main(int argc, /* I - Number of command-line arguments */ (double) tms.tms_stime / clocks_per_sec, (double) (t2.tv_sec - t1.tv_sec) + ((double) (t2.tv_usec - t1.tv_usec)) / 1000000.0); - fputs("INFO: Gutenprint Ready to print.\n", stderr); + if (! suppress_messages) + fputs("INFO: Gutenprint Ready to print.\n", stderr); if (fd != 0) close(fd); + stp_vars_destroy(default_settings); return 0; cups_abort: + if (v) + { + stp_end_job(v, &theImage); + fflush(stdout); + stp_vars_destroy(v); + } + cupsRasterClose(cups.ras); clk = times(&tms); (void) gettimeofday(&t2, &tz); clocks_per_sec = sysconf(_SC_CLK_TCK); @@ -1008,9 +1110,7 @@ cups_abort: ((double) (t2.tv_usec - t1.tv_usec)) / 1000000.0); fputs("ERROR: Gutenprint No pages found!\n", stderr); fputs("ERROR: Gutenprint Invalid printer settings!\n", stderr); - stp_end_job(v, &theImage); - stp_vars_destroy(v); - cupsRasterClose(cups.ras); + stp_vars_destroy(default_settings); if (fd != 0) close(fd); return 1; @@ -1129,22 +1229,25 @@ Image_get_row(stp_image_t *image, /* I - Image */ if (cups->row < cups->header.cupsHeight) { - fprintf(stderr, "DEBUG2: Gutenprint reading %d %d\n", - bytes_per_line, cups->row); + if (! suppress_messages) + fprintf(stderr, "DEBUG2: Gutenprint reading %d %d\n", + bytes_per_line, cups->row); while (cups->row <= row && cups->row < cups->header.cupsHeight) { if (left_margin > 0) { - fprintf(stderr, "DEBUG2: Gutenprint tossing left %d (%d)\n", - left_margin, cups->left_trim); + if (! suppress_messages) + fprintf(stderr, "DEBUG2: Gutenprint tossing left %d (%d)\n", + left_margin, cups->left_trim); throwaway_data(left_margin, cups); } cupsRasterReadPixels(cups->ras, data, bytes_per_line); cups->row ++; if (margin + right_margin > 0) { - fprintf(stderr, "DEBUG2: Gutenprint tossing right %d (%d) + %d\n", - right_margin, cups->right_trim, margin); + if (!suppress_messages) + fprintf(stderr, "DEBUG2: Gutenprint tossing right %d (%d) + %d\n", + right_margin, cups->right_trim, margin); throwaway_data(margin + right_margin, cups); } } @@ -1197,13 +1300,17 @@ Image_get_row(stp_image_t *image, /* I - Image */ new_percent = (int) (100.0 * cups->row / cups->header.cupsHeight); if (new_percent > cups->last_percent) { - fprintf(stderr, "INFO: Gutenprint Printing page %d, %d%%\n", - cups->page + 1, new_percent); + if (! suppress_messages) + fprintf(stderr, "INFO: Gutenprint Printing page %d, %d%%\n", + cups->page + 1, new_percent); cups->last_percent = new_percent; } if (tmp_image_status != STP_IMAGE_STATUS_OK) - fprintf(stderr, "DEBUG: Gutenprint image status %d\n", tmp_image_status); + { + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint image status %d\n", tmp_image_status); + } return tmp_image_status; } @@ -1221,7 +1328,8 @@ Image_height(stp_image_t *image) /* I - Image */ if ((cups = (cups_image_t *)(image->rep)) == NULL) return (0); - fprintf(stderr, "DEBUG: Gutenprint: Image_height %d\n", cups->adjusted_height); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint: Image_height %d\n", cups->adjusted_height); return (cups->adjusted_height); } @@ -1239,7 +1347,8 @@ Image_init(stp_image_t *image) /* I - Image */ return; cups->last_percent = 0; - fprintf(stderr, "INFO: Starting page %d...\n", cups->page + 1); + if (! suppress_messages) + fprintf(stderr, "INFO: Starting page %d...\n", cups->page + 1); /* cups->page + 1 because users expect 1-based counting */ } @@ -1256,7 +1365,8 @@ Image_conclude(stp_image_t *image) /* I - Image */ if ((cups = (cups_image_t *)(image->rep)) == NULL) return; - fprintf(stderr, "INFO: Gutenprint Finished page %d...\n", cups->page + 1); + if (! suppress_messages) + fprintf(stderr, "INFO: Gutenprint Finished page %d...\n", cups->page + 1); } /* @@ -1272,11 +1382,12 @@ Image_width(stp_image_t *image) /* I - Image */ if ((cups = (cups_image_t *)(image->rep)) == NULL) return (0); - fprintf(stderr, "DEBUG: Gutenprint: Image_width %d\n", cups->adjusted_width); + if (! suppress_messages) + fprintf(stderr, "DEBUG: Gutenprint: Image_width %d\n", cups->adjusted_width); return (cups->adjusted_width); } /* - * End of "$Id: rastertoprinter.c,v 1.105.2.1 2007/03/02 12:01:16 rlk Exp $". + * End of "$Id: rastertoprinter.c,v 1.105.2.6 2008/01/02 01:38:09 rlk Exp $". */ diff --git a/src/cups/test-ppds b/src/cups/test-ppds index 050906a..868b072 100755 --- a/src/cups/test-ppds +++ b/src/cups/test-ppds @@ -1,56 +1,20 @@ #!/bin/sh -status=0 -verbose=0 -strict=0 +rm -rf ppd ppd-stamp -usage() { - echo "Usage: run-testpattern [-v] [-s]" - exit -} +make ppd -set_args() { - while true ; do - case "$1" in - -h*|--h*) usage ;; - -v) verbose=1 ;; - -s) strict=1 ;; - --) shift; args="$@"; return ;; - *) return ;; - esac - shift - done -} +ppd_count=`find ppd \( -name '*.ppd.gz' -o -name '*.ppd' \) -print | wc -l` -set_args `getopt vhs "$@"` +failures="`find ppd -name '*.ppd*' -print | xargs cupstestppd |grep 'FAIL$' | awk -F: '{print $1}'`" - -if [ -d ppd ] ; then - for f in ppd/* ; do - echo -n "$f..." - cupstestppd -r -q $f/* - if [ $? -ne 0 ] ; then - echo -n "FAILED" - if [ $verbose -ne 0 ] ; then - cupstestppd $f/* 2>&1 | grep FAIL - fi - status=1 - else - cupstestppd -q $f/* - if [ $? -ne 0 ] ; then - # Don't actually error if strict checks fail. - # These errors are less important, and we'll accept them. - echo -n "WARNING: strict checks failed" - if [ $verbose -ne 0 ] ; then - cupstestppd $f/* 2>&1 | grep FAIL - fi - if [ $strict -ne 0 ] ; then - status=1 - fi - fi - fi - echo - done +if [ -z "$failures" ] ; then + echo "All $ppd_count PPD files pass" + exit 0 fi -exit $status +echo $failures | xargs cupstestppd + +fail_count=`echo "$failures" | wc -l` +echo "$fail_count/$ppd_count fail" +exit 1 diff --git a/src/cups/test-rastertogutenprint.in b/src/cups/test-rastertogutenprint.in new file mode 100755 index 0000000..afa38d7 --- /dev/null +++ b/src/cups/test-rastertogutenprint.in @@ -0,0 +1,103 @@ +#!/bin/sh + +retval=0 + +if [ -z "$STP_DATA_PATH" ] ; then + STP_DATA_PATH=`pwd`/../main + export STP_DATA_PATH +fi + +if [ -z "$STP_MODULE_PATH" ] ; then + STP_MODULE_PATH=`pwd`/../main:`pwd`/../main/.libs + export STP_MODULE_PATH +fi + +single='' +all_models='' + +usage() { + echo "Usage: test-rastertogutenprint [-s] [-v|--valgrind]" + exit 0; +} + +set_args() { + while true ; do + case "$1" in + -s) single=1 ;; + -h*|--h*) usage ;; + -v|--valgrind) valopts='--tool=memcheck' ; valgrind=`expr $valgrind + 1` ;; + -c|--cachegrind) valopts='--tool=cachegrind'; valgrind=4 ;; + -g|--gdb-attach) valopts='--gdb-attach=yes' ;; + --) shift; args="$@"; return ;; + *) return ;; + esac + shift + done +} + + +set_args `getopt vcgs "$@"` + +version="@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@"; +cupsdir="@cups_conf_serverbin@/filter" +pages='24-26' + +if [ ! -x "$cupsdir/cgpdftoraster" -a ! -x "$cupsdir/pdftops" ] ; then + echo 'CUPS does not appear to be installed, skipping test' + exit 0 +fi + +STP_SUPPRESS_MESSAGES=1 +export STP_SUPPRESS_MESSAGES + +is_duplicate() { + model=`gunzip -c "$1" | grep '^.StpDriverModelFamily' | awk '{print $2}'` + for m in $all_models; do + if [ "$model" = "$m" ] ; then + skip=1 + fi + done + all_models="$model $all_models" +} + +run_rastertogp() { + case "$valgrind" in + 1) valgrind $valopts -q --num-callers=100 --leak-check=yes --error-limit=no ./rastertogutenprint.$version 1 1 1 1 '' ;; + 2) valgrind $valopts --num-callers=100 --leak-resolution=high --leak-check=yes --error-limit=no ./rastertogutenprint.$version 1 1 1 1 '' ;; + 3) valgrind $valopts --error-limit=no --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./rastertogutenprint.$version 1 1 1 1 '' ;; + 4) valgrind $valopts ./rastertogutenprint.$version 1 1 1 1 '' ;; + *) ./rastertogutenprint.$version 1 1 1 1 '' ;; + esac + if [ $? -ne 0 ] ; then + retval=1 + fi + exit $retval +} + +if [ -d ppd/C ] ; then + for f in ppd/C/*.ppd* ; do + skip='' + if [ -n "$single" ] ; then + is_duplicate $f + fi + if [ -z "$skip" ] ; then + echo "$f " + PPD=$f + export PPD + if [ -x "$cupsdir/cgpdftoraster" ] ; then + output="`($cupsdir/cgpdftoraster 1 1 1 1 page-ranges=$pages < ../../doc/gutenprint-users-manual.pdf 2>/dev/null | run_rastertogp > /dev/null) 2>&1`" + else + output="`($cupsdir/pdftops 1 1 1 1 page-ranges=$pages < ../../doc/gutenprint-users-manual.pdf 2>/dev/null | $cupsdir/pstops 1 1 1 1 page-ranges=$pages 2>/dev/null | $cupsdir/pstoraster 2>/dev/null | run_rastertogp > /dev/null) 2>&1`" + fi + if [ $? -ne 0 ] ; then + retval=1 + fi + echo "$output" + echo "$output" |grep ERROR + if [ $? -eq 0 ] ; then + retval=1 + fi + fi + done +fi +exit $retval diff --git a/src/escputil/Makefile.in b/src/escputil/Makefile.in index 95fee43..c4c7077 100644 --- a/src/escputil/Makefile.in +++ b/src/escputil/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. @@ -19,15 +19,11 @@ #export STP_MODULE_PATH = $(top_builddir)/src/main/.libs:$(top_builddir)/src/main #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -64,20 +60,20 @@ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_escputil_OBJECTS = d4lib.$(OBJEXT) escputil.$(OBJEXT) escputil_OBJECTS = $(am_escputil_OBJECTS) -am__DEPENDENCIES_1 = $(top_builddir)/src/main/libgutenprint.la -am__DEPENDENCIES_2 = -escputil_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +am__DEPENDENCIES_1 = +escputil_DEPENDENCIES = $(GUTENPRINT_LIBS) $(am__DEPENDENCIES_1) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(escputil_SOURCES) DIST_SOURCES = $(escputil_SOURCES) ETAGS = etags @@ -85,51 +81,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -139,8 +97,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -221,14 +177,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -248,9 +201,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -269,27 +221,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -301,6 +252,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -346,8 +298,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) escputil_SOURCES = d4lib.c escputil.c d4lib.h escputil_LDADD = $(GUTENPRINT_LIBS) $(LIBREADLINE_DEPS) @@ -387,7 +342,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + 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 \ @@ -415,7 +370,7 @@ clean-binPROGRAMS: done escputil$(EXEEXT): $(escputil_OBJECTS) $(escputil_DEPENDENCIES) @rm -f escputil$(EXEEXT) - $(LINK) $(escputil_LDFLAGS) $(escputil_OBJECTS) $(escputil_LDADD) $(LIBS) + $(LINK) $(escputil_OBJECTS) $(escputil_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -427,22 +382,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escputil.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< @@ -453,10 +408,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -506,23 +457,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -538,7 +487,7 @@ check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -573,7 +522,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -587,12 +536,20 @@ info-am: install-data-am: +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -613,19 +570,23 @@ ps: ps-am ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am + uninstall-binPROGRAMS @SET_MAKE@ diff --git a/src/escputil/d4lib.c b/src/escputil/d4lib.c index 5525abd..ee36227 100644 --- a/src/escputil/d4lib.c +++ b/src/escputil/d4lib.c @@ -52,8 +52,8 @@ #ifndef RDTIMEOUT -#define RDTIMEOUT 2000 -#define WRTIMEOUT 2000 +#define RDTIMEOUT 10000 +#define WRTIMEOUT 10000 #endif int d4WrTimeout = WRTIMEOUT; diff --git a/src/escputil/escputil.c b/src/escputil/escputil.c index 5394b77..a28cd07 100644 --- a/src/escputil/escputil.c +++ b/src/escputil/escputil.c @@ -1,5 +1,5 @@ /* - * "$Id: escputil.c,v 1.87.8.1 2007/05/29 01:47:27 rlk Exp $" + * "$Id: escputil.c,v 1.87.8.3 2007/12/29 20:42:25 rlk Exp $" * * Printer maintenance utility for EPSON Stylus (R) printers * @@ -150,11 +150,12 @@ Examples: escputil --ink-level --raw-device /dev/usb/lp0\n\ Default is the default system printer.\n\ -r|--raw-device Specify the name of the device to write to directly\n\ rather than going through a printer queue.\n\ + -m|--model Specify the printer model.\n\ -u|--new The printer is a new printer (Stylus Color 740 or\n\ - newer). Only needed when not using a raw device.\n\ + newer). Only needed when not using a raw device or\n\ + when the model is not specified.\n\ -q|--quiet Suppress the banner.\n\ -S|--short-name Print the short name of the printer with --identify.\n\ - -m|--model Specify the precise printer model for head alignment.\n\ -C|--choices Specify the number of pattern choices for alignment\n\ -p|--patterns Specify the number of sets of patterns for alignment\n"); #else @@ -207,6 +208,7 @@ char *printer_model = NULL; char printer_cmd[1025]; int bufpos = 0; int isnew = 0; +int interchangeable_inks = 0; int found_unknown_old_printer = 0; int print_short_name = 0; const stp_printer_t *the_printer_t = NULL; @@ -286,7 +288,9 @@ main(int argc, char **argv) /* Set up gettext */ #ifdef HAVE_LOCALE_H - setlocale (LC_ALL, ""); + char *locale = stp_strdup(setlocale (LC_ALL, "")); +#endif +#ifdef ENABLE_NLS bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR); #endif @@ -300,9 +304,9 @@ main(int argc, char **argv) { #if defined(HAVE_GETOPT_H) && defined(HAVE_GETOPT_LONG) int option_index = 0; - c = getopt_long(argc, argv, "P:r:iecnasduqm:hlMS", optlist, &option_index); + c = getopt_long(argc, argv, "P:r:iecnasduqm:hlMSC:p:", optlist, &option_index); #else - c = getopt(argc, argv, "P:r:iecnasduqm:hlMS"); + c = getopt(argc, argv, "P:r:iecnasduqm:hlMSC:p:"); #endif if (c == -1) break; @@ -649,28 +653,6 @@ do_remote_cmd_only(const char *cmd, int nargs, ...) } static void -add_string(const char *str, int size) -{ - if (size > 0) - { - memcpy(printer_cmd + bufpos, str, size); - bufpos += size; - } -} - -static void -add_newlines(int count) -{ - int i; - STP_DEBUG(fprintf(stderr, "Add %d newlines\n", count)); - for (i = 0; i < count; i++) - { - printer_cmd[bufpos++] = '\r'; - printer_cmd[bufpos++] = '\n'; - } -} - -static void add_resets(int count) { int i; @@ -759,14 +741,54 @@ open_raw_device(void) return fd; } +static void +set_printer_model(void) +{ + int i = 0; + int printer_count = stp_printer_model_count(); + for (i = 0; i < printer_count; i++) + { + the_printer_t = stp_get_printer_by_index(i); + + if (strcmp(stp_printer_get_family(the_printer_t), "escp2") == 0) + { + const char *short_name = stp_printer_get_driver(the_printer_t); + const char *long_name = stp_printer_get_long_name(the_printer_t); + if (!strcasecmp(printer_model, short_name) || + !strcasecmp(printer_model, long_name) || + (!strncmp(short_name, "escp2-", strlen("escp2-")) && + !strcasecmp(printer_model, short_name + strlen("escp2-"))) || + (!strncasecmp(long_name, "Epson ", strlen("Epson ")) && + !strcasecmp(printer_model, long_name + strlen("Epson ")))) + { + const stp_vars_t *printvars; + stp_parameter_t desc; + + printvars = stp_printer_get_defaults(the_printer_t); + stp_describe_parameter(printvars, "SupportsPacketMode", + &desc); + if (desc.p_type == STP_PARAMETER_TYPE_BOOLEAN) + isnew = desc.deflt.boolean; + stp_parameter_description_destroy(&desc); + stp_describe_parameter(printvars, "InterchangeableInk", + &desc); + 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)); + return; + } + } + } + fprintf(stderr, _("Unknown printer %s!\n"), printer_model); + the_printer_t = NULL; +} + static const stp_printer_t * initialize_printer(int quiet, int fail_if_not_found) { - int printer_count = stp_printer_model_count(); - int found = 0; int packet_initialized = 0; int fd; - int i; int credit; int retry = 4; int tries = 0; @@ -847,15 +869,16 @@ initialize_printer(int quiet, int fail_if_not_found) do { status = readData(fd, socket_id, (unsigned char*)buf, 1023); - if (status <= -1 ) - return NULL; STP_DEBUG(fprintf(stderr, "readData try %d status %d\n", retry, status)); + if (status <= -1 ) + return NULL; } while ( (retry-- != 0) && strncmp("di", (char*)buf, 2) && strncmp("@EJL ID", (char*)buf, 7)); if (!retry) { + STP_DEBUG(fprintf(stderr, "No retries left!\n")); return NULL; } } @@ -905,7 +928,10 @@ initialize_printer(int quiet, int fail_if_not_found) printer_model = c_strdup("escp2-photo"); } else - return NULL; + { + STP_DEBUG(fprintf(stderr, "Can't get response to @EJL ID\n")); + return NULL; + } } else { @@ -917,38 +943,7 @@ initialize_printer(int quiet, int fail_if_not_found) } } - i = 0; - while ((i < printer_count) && !found) - { - the_printer_t = stp_get_printer_by_index(i); - - if (strcmp(stp_printer_get_family(the_printer_t), "escp2") == 0) - { - const char *short_name = stp_printer_get_driver(the_printer_t); - const char *long_name = stp_printer_get_long_name(the_printer_t); - if (!strcasecmp(printer_model, short_name) || - !strcasecmp(printer_model, long_name) || - (!strncmp(short_name, "escp2-", strlen("escp2-")) && - !strcasecmp(printer_model, short_name + strlen("escp2-"))) || - (!strncasecmp(long_name, "Epson ", strlen("Epson ")) && - !strcasecmp(printer_model, long_name + strlen("Epson ")))) - { - const stp_vars_t *printvars; - stp_parameter_t desc; - - printvars = stp_printer_get_defaults(the_printer_t); - stp_describe_parameter(printvars, "SupportsPacketMode", - &desc); - if (desc.p_type == STP_PARAMETER_TYPE_BOOLEAN) - isnew = desc.deflt.boolean; - stp_parameter_description_destroy(&desc); - found = 1; - STP_DEBUG(fprintf(stderr, "Found it! %s\n", printer_model)); - - } - } - i++; - } + set_printer_model(); if (isnew && !packet_initialized) { @@ -956,9 +951,8 @@ initialize_printer(int quiet, int fail_if_not_found) } close(fd); - STP_DEBUG(fprintf(stderr, "new? %s found? %s\n", isnew?"yes":"no", - found?"yes":"no")); - return (found)?the_printer_t:NULL; + STP_DEBUG(fprintf(stderr, "new? %s\n", isnew ? "yes" : "no")); + return the_printer_t; } static const stp_printer_t * @@ -1003,18 +997,18 @@ static const char *aux_colors[] = N_("Cyan"), /* 1 */ N_("Magenta"), /* 2 */ N_("Yellow"), /* 3 */ - N_("Unknown"), /* 4 */ - N_("Unknown"), /* 5 */ - N_("Unknown"), /* 6 */ - N_("Unknown"), /* 7 */ - N_("Unknown"), /* 8 */ + NULL, /* 4 */ + NULL, /* 5 */ + NULL, /* 6 */ + NULL, /* 7 */ + NULL, /* 8 */ N_("Red"), /* 9 */ N_("Blue"), /* a */ - N_("Unknown"), /* b */ - N_("Unknown"), /* c */ - N_("Unknown"), /* d */ - N_("Unknown"), /* e */ - N_("Unknown"), /* f */ + NULL, /* b */ + NULL, /* c */ + NULL, /* d */ + NULL, /* e */ + NULL, /* f */ }; static int aux_color_count = sizeof(aux_colors) / sizeof(const char *); @@ -1239,24 +1233,26 @@ do_new_status(status_cmd_t cmd, char *buf, int bytes, STP_DEBUG(fprintf(stderr, "Header: %x param count: %d\n", hdr, total_param_count)); if (hdr == 0x0f) /* Always report ink */ { - size_t count = (total_param_count - 1) / 3; + size_t count = (total_param_count - 1) / param; ind = buf + i + 3; if (cmd == CMD_STATUS) printf(_("Ink Levels:\n")); printf("%18s %20s\n", _("Ink color"), _("Percent remaining")); for (j = 0; j < count; j++) { - if (ind[0] < color_count) + if (ind[0] < color_count && param == 3 && + (interchangeable_inks || ind[1] >= aux_color_count || + ! aux_colors[(int) ind[1]])) printf("%18s %20d\n", gettext(colors_new[(int) ind[0]]), ind[2]); - else if (ind[j] == 0x40 && ind[1] < aux_color_count) + else if (ind[1] < aux_color_count && aux_colors[(int) ind[1]]) printf("%18s %20d\n", gettext(aux_colors[(int) ind[1]]), ind[2]); else printf("%8s 0x%2x 0x%2x %20d\n", _("Unknown"), (unsigned char) ind[0], (unsigned char) ind[1], ind[2]); - ind += 3; + ind += param; } if (cmd == CMD_STATUS) printf("\n"); @@ -1362,7 +1358,7 @@ do_status_command_internal(status_cmd_t cmd) if (!found_unknown_old_printer) STP_DEBUG(fprintf(stderr, "%s found %s%s\n", gettext(cmd_name), printer ? stp_printer_get_long_name(printer) : - printer_model, + printer_model ? printer_model : "(null)", printer ? "" : "(Unknown model)")); fd = open_raw_device(); @@ -1471,7 +1467,7 @@ do_extended_ink_info(int extended_output) else fprintf(stderr, "Warning! Printer %s is not known; information may be incomplete or incorrect\n", - printer_model); + printer_model ? printer_model : "(unknown printer)"); fd = open_raw_device(); @@ -1599,7 +1595,7 @@ do_extended_ink_info(int extended_output) { int j; printf("%18s %20s %12s %7s\n", - _("Ink color"), _("Percent remaining"), _("Part number"), + _("Ink cartridge"), _("Percent remaining"), _("Part number"), _("Date")); printf("%18s %20d T0%03d %2d%02d-%02d\n", gettext(stp_string_list_param(color_list, 0)->text), @@ -1623,7 +1619,7 @@ do_extended_ink_info(int extended_output) { int j; printf("%18s %20s %12s %7s\n", - _("Ink color"), _("Percent remaining"), _("Part number"), + _("Ink cartridge"), _("Percent remaining"), _("Part number"), _("Date")); printf("%18s %20d T0%03d %2d%02d-%02d\n", gettext(stp_string_list_param(color_list, 0)->text), @@ -1643,7 +1639,7 @@ do_extended_ink_info(int extended_output) { if (i == 0) printf("%18s %20s %12s %7s\n", - _("Ink color"), _("Percent remaining"), _("Part number"), + _("Ink cartridge"), _("Percent remaining"), _("Part number"), _("Date")); printf("%18s %20d T0%03d %2d%02d-%02d\n", gettext(stp_string_list_param(color_list, i)->text), @@ -1706,7 +1702,9 @@ do_status(void) void do_head_clean(void) { - if (raw_device) + if (printer_model) + set_printer_model(); + else if (raw_device) (void) get_printer(1, 0); initialize_print_cmd(1); do_remote_cmd("CH", 2, 0, 0); @@ -1717,7 +1715,9 @@ do_head_clean(void) void do_nozzle_check(void) { - if (raw_device) + if (printer_model) + set_printer_model(); + else if (raw_device) (void) get_printer(1, 0); initialize_print_cmd(1); start_remote_sequence(); @@ -1905,7 +1905,7 @@ do_final_alignment(void) } const char *printer_msg = -N_("This procedure assumes that your printer is an Epson %s.\n" +N_("This procedure assumes that your printer is an %s.\n" "If this is not your printer model, please type control-C now and\n" "choose your actual printer model.\n\n" "Please place a sheet of paper in your printer to begin the head\n" @@ -1921,16 +1921,20 @@ do_align(void) long answer; char *endptr; int curpass; - const stp_printer_t *printer = get_printer(0, 0); stp_parameter_t desc; const char *printer_name; stp_vars_t *v = stp_vars_create(); - if (!printer || found_unknown_old_printer) + if (printer_model) + set_printer_model(); + else if (raw_device) + (void) get_printer(0, 0); + + if (!the_printer_t || found_unknown_old_printer) return; - printer_name = stp_printer_get_long_name(printer); - stp_set_driver(v, stp_printer_get_driver(printer)); + printer_name = stp_printer_get_long_name(the_printer_t); + stp_set_driver(v, stp_printer_get_driver(the_printer_t)); if (alignment_passes == 0) { diff --git a/src/foomatic/Makefile.in b/src/foomatic/Makefile.in index 830736e..872d850 100644 --- a/src/foomatic/Makefile.in +++ b/src/foomatic/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. @@ -19,15 +19,11 @@ #export STP_MODULE_PATH = $(top_builddir)/src/main/.libs:$(top_builddir)/src/main #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -67,31 +63,31 @@ CONFIG_CLEAN_FILES = foomatic-generator mk_printerlist PROGRAMS = $(noinst_PROGRAMS) am_gutenprint_version_OBJECTS = gutenprint-version.$(OBJEXT) gutenprint_version_OBJECTS = $(am_gutenprint_version_OBJECTS) -am__DEPENDENCIES_1 = $(top_builddir)/src/main/libgutenprint.la -gutenprint_version_DEPENDENCIES = $(am__DEPENDENCIES_1) +gutenprint_version_DEPENDENCIES = $(GUTENPRINT_LIBS) am_paper_sizes_OBJECTS = paper_sizes.$(OBJEXT) paper_sizes_OBJECTS = $(am_paper_sizes_OBJECTS) -paper_sizes_DEPENDENCIES = $(am__DEPENDENCIES_1) +paper_sizes_DEPENDENCIES = $(GUTENPRINT_LIBS) am_printer_margins_OBJECTS = printer_margins.$(OBJEXT) printer_margins_OBJECTS = $(am_printer_margins_OBJECTS) -printer_margins_DEPENDENCIES = $(am__DEPENDENCIES_1) +printer_margins_DEPENDENCIES = $(GUTENPRINT_LIBS) am_printer_options_OBJECTS = printer_options.$(OBJEXT) printer_options_OBJECTS = $(am_printer_options_OBJECTS) -printer_options_DEPENDENCIES = $(am__DEPENDENCIES_1) +printer_options_DEPENDENCIES = $(GUTENPRINT_LIBS) am_printers_OBJECTS = printers.$(OBJEXT) printers_OBJECTS = $(am_printers_OBJECTS) -printers_DEPENDENCIES = $(am__DEPENDENCIES_1) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +printers_DEPENDENCIES = $(GUTENPRINT_LIBS) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(gutenprint_version_SOURCES) $(paper_sizes_SOURCES) \ $(printer_margins_SOURCES) $(printer_options_SOURCES) \ $(printers_SOURCES) @@ -103,51 +99,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -157,8 +115,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -239,14 +195,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -266,9 +219,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -287,27 +239,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -319,6 +270,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -364,8 +316,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) DISTDIRS = foomatic-templates-ijs LOCAL_CPPFLAGS = $(GUTENPRINT_CFLAGS) @@ -436,19 +391,19 @@ clean-noinstPROGRAMS: done gutenprint-version$(EXEEXT): $(gutenprint_version_OBJECTS) $(gutenprint_version_DEPENDENCIES) @rm -f gutenprint-version$(EXEEXT) - $(LINK) $(gutenprint_version_LDFLAGS) $(gutenprint_version_OBJECTS) $(gutenprint_version_LDADD) $(LIBS) + $(LINK) $(gutenprint_version_OBJECTS) $(gutenprint_version_LDADD) $(LIBS) paper_sizes$(EXEEXT): $(paper_sizes_OBJECTS) $(paper_sizes_DEPENDENCIES) @rm -f paper_sizes$(EXEEXT) - $(LINK) $(paper_sizes_LDFLAGS) $(paper_sizes_OBJECTS) $(paper_sizes_LDADD) $(LIBS) + $(LINK) $(paper_sizes_OBJECTS) $(paper_sizes_LDADD) $(LIBS) printer_margins$(EXEEXT): $(printer_margins_OBJECTS) $(printer_margins_DEPENDENCIES) @rm -f printer_margins$(EXEEXT) - $(LINK) $(printer_margins_LDFLAGS) $(printer_margins_OBJECTS) $(printer_margins_LDADD) $(LIBS) + $(LINK) $(printer_margins_OBJECTS) $(printer_margins_LDADD) $(LIBS) printer_options$(EXEEXT): $(printer_options_OBJECTS) $(printer_options_DEPENDENCIES) @rm -f printer_options$(EXEEXT) - $(LINK) $(printer_options_LDFLAGS) $(printer_options_OBJECTS) $(printer_options_LDADD) $(LIBS) + $(LINK) $(printer_options_OBJECTS) $(printer_options_LDADD) $(LIBS) printers$(EXEEXT): $(printers_OBJECTS) $(printers_DEPENDENCIES) @rm -f printers$(EXEEXT) - $(LINK) $(printers_LDFLAGS) $(printers_OBJECTS) $(printers_LDADD) $(LIBS) + $(LINK) $(printers_OBJECTS) $(printers_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -463,22 +418,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printers.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< @@ -489,10 +444,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -542,23 +493,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -611,7 +560,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -625,12 +574,20 @@ info-am: install-data-am: install-data-local +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -651,20 +608,23 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ clean-generic clean-libtool clean-local clean-noinstPROGRAMS \ ctags dist-hook distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-data-local install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-info-am + install-data-am install-data-local install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am @SET_MAKE@ diff --git a/src/foomatic/foomatic-printermap b/src/foomatic/foomatic-printermap index bb0df69..d2efaa9 100644 --- a/src/foomatic/foomatic-printermap +++ b/src/foomatic/foomatic-printermap @@ -46,6 +46,8 @@ #gptofoo bjc-4000 printer/Canon-BJC-4000 #gptofoo bjc-4300 printer/Canon-BJC-4300 #gptofoo bjc-4400 printer/Canon-BJC-4400 +#gptofoo bjc-5100 printer/Canon-BJC-5100 +#gptofoo bjc-5500 printer/Canon-BJC-5500 #gptofoo bjc-50 printer/Canon-BJC-50 #gptofoo bjc-55 printer/Canon-BJC-55 #gptofoo bjc-6000 printer/Canon-BJC-6000 @@ -56,6 +58,7 @@ #gptofoo bjc-7100 printer/Canon-BJC-7100 #gptofoo bjc-80 printer/Canon-BJC-80 #gptofoo bjc-8200 printer/Canon-BJC-8200 +#gptofoo bjc-8500 printer/Canon-BJC-8500 #gptofoo bjc-85 printer/Canon-BJC-85 #gptofoo canon-cp10 printer/Canon-CP-10 #gptofoo canon-cp100 printer/Canon-CP-100 @@ -84,6 +87,13 @@ #gptofoo canon-cp510 printer/Canon-SELPHY-CP-510 #gptofoo canon-cp600 printer/Canon-SELPHY-CP-600 #gptofoo canon-cp710 printer/Canon-SELPHY-CP-710 +#gptofoo canon-cp720 printer/Canon-SELPHY-CP-720 +#gptofoo canon-cp730 printer/Canon-SELPHY-CP-730 +#gptofoo canon-cp740 printer/Canon-SELPHY-CP-740 +#gptofoo canon-cp750 printer/Canon-SELPHY-CP-750 +#gptofoo canon-es1 printer/Canon-SELPHY-ES1 +#gptofoo canon-es2 printer/Canon-SELPHY-ES2 +#gptofoo canon-es20 printer/Canon-SELPHY-ES20 #gptofoo bjc-PIXMA-iP2000 printer/Canon-PIXMA-iP2000 #gptofoo bjc-PIXMA-iP3000 printer/Canon-PIXMA-iP3000 #gptofoo bjc-PIXMA-iP3100 printer/Canon-PIXMA-iP3100 @@ -91,13 +101,23 @@ #gptofoo bjc-PIXMA-iP4100 printer/Canon-PIXMA-iP4100 #gptofoo bjc-PIXMA-iP4200 printer/Canon-PIXMA-iP4200 #gptofoo bjc-PIXMA-iP4300 printer/Canon-PIXMA-iP4300 +#gptofoo bjc-PIXMA-iP4500 printer/Canon-PIXMA-iP4500 #gptofoo bjc-PIXMA-iP5000 printer/Canon-PIXMA-iP5000 #gptofoo bjc-PIXMA-iP5200 printer/Canon-PIXMA-iP5200 +#gptofoo bjc-PIXMA-iP5300 printer/Canon-PIXMA-iP5300 #gptofoo bjc-PIXMA-iP6700 printer/Canon-PIXMA-iP6700 +#gptofoo bjc-PIXMA-iP8500 printer/Canon-PIXMA-iP8500 +#gptofoo bjc-PIXMA-iX5000 printer/Canon-PIXMA-iX5000 +#gptofoo bjc-PIXMA-Pro9500 printer/Canon-PIXMA-Pro9500 #gptofoo bjc-MULTIPASS-MP150 printer/Canon-MULTIPASS-MP150 +#gptofoo bjc-MULTIPASS-MP170 printer/Canon-MULTIPASS-MP170 +#gptofoo bjc-MULTIPASS-MP180 printer/Canon-MULTIPASS-MP180 #gptofoo bjc-MULTIPASS-MP500 printer/Canon-MULTIPASS-MP500 +#gptofoo bjc-MULTIPASS-MP610 printer/Canon-MULTIPASS-MP610 #gptofoo bjc-MULTIPASS-MP700 printer/Canon-MULTIPASS-MP700 +#gptofoo bjc-MULTIPASS-MP710 printer/Canon-MULTIPASS-MP710 #gptofoo bjc-MULTIPASS-MP730 printer/Canon-MULTIPASS-MP730 +#gptofoo bjc-MULTIPASS-MP740 printer/Canon-MULTIPASS-MP740 #gptofoo bjc-MULTIPASS-MP750 printer/Canon-MULTIPASS-MP750 #gptofoo bjc-MULTIPASS-MP760 printer/Canon-MULTIPASS-MP760 #gptofoo bjc-MULTIPASS-MP770 printer/Canon-MULTIPASS-MP770 @@ -106,6 +126,7 @@ #gptofoo bjc-MULTIPASS-MP830 printer/Canon-MULTIPASS-MP830 #gptofoo bjc-PIXUS-iP3100 printer/Canon-PIXUS-iP3100 #gptofoo bjc-PIXUS-iP4100 printer/Canon-PIXUS-iP4100 +#gptofoo bjc-i80 printer/Canon-i80 #gptofoo bjc-i560 printer/Canon-i560 #gptofoo bjc-i850 printer/Canon-i850 #gptofoo bjc-i860 printer/Canon-i860 @@ -161,6 +182,7 @@ #gptofoo escp2-pm4000px printer/Epson-PM_4000PX #gptofoo escp2-pm5000c printer/Epson-PM_5000C #gptofoo escp2-pm7000c printer/Epson-PM_7000C +#gptofoo escp2-pm670c printer/Epson-PM_670C #gptofoo escp2-pm700c printer/Epson-PM_700C #gptofoo escp2-pm730c printer/Epson-PM_730C #gptofoo escp2-pm740c printer/Epson-PM_740C @@ -208,6 +230,7 @@ #gptofoo escp2-pxv500 printer/Epson-PX_V500 #gptofoo escp2-pxv600 printer/Epson-PX_V600 #gptofoo escp2-pxv630 printer/Epson-PX_V630 +#gptofoo escp2-pxv780 printer/Epson-PX_V780 #gptofoo escp2-picmate printer/Epson-PictureMate #gptofoo escp2-picmated printer/Epson-PictureMate_Deluxe #gptofoo escp2-picmateflash printer/Epson-PictureMate_Flash @@ -258,6 +281,8 @@ #gptofoo escp2-c86 printer/Epson-Stylus_C86 #gptofoo escp2-c87 printer/Epson-Stylus_C87 #gptofoo escp2-c88 printer/Epson-Stylus_C88 +#gptofoo escp2-c110 printer/Epson-Stylus_C110 +#gptofoo escp2-c120 printer/Epson-Stylus_C120 #gptofoo escp2-cx1500 printer/Epson-Stylus_CX1500 #gptofoo escp2-cx3100 printer/Epson-Stylus_CX3100 #gptofoo escp2-cx3200 printer/Epson-Stylus_CX3200 @@ -270,16 +295,19 @@ #gptofoo escp2-cx3810 printer/Epson-Stylus_CX3810 #gptofoo escp2-cx4100 printer/Epson-Stylus_CX4100 #gptofoo escp2-cx4200 printer/Epson-Stylus_CX4200 +#gptofoo escp2-cx4400 printer/Epson-Stylus_CX4400 #gptofoo escp2-cx4500 printer/Epson-Stylus_CX4500 #gptofoo escp2-cx4600 printer/Epson-Stylus_CX4600 #gptofoo escp2-cx4700 printer/Epson-Stylus_CX4700 #gptofoo escp2-cx4800 printer/Epson-Stylus_CX4800 +#gptofoo escp2-cx4900 printer/Epson-Stylus_CX4900 #gptofoo escp2-cx5000 printer/Epson-Stylus_CX5000 #gptofoo escp2-cx5000f printer/Epson-Stylus_CX5000F #gptofoo escp2-cx5100 printer/Epson-Stylus_CX5100 #gptofoo escp2-cx5200 printer/Epson-Stylus_CX5200 #gptofoo escp2-cx5300 printer/Epson-Stylus_CX5300 #gptofoo escp2-cx5400 printer/Epson-Stylus_CX5400 +#gptofoo escp2-cx5600 printer/Epson-Stylus_CX5600 #gptofoo escp2-cx5700 printer/Epson-Stylus_CX5700 #gptofoo escp2-cx5800 printer/Epson-Stylus_CX5800 #gptofoo escp2-cx6000 printer/Epson-Stylus_CX6000 @@ -288,10 +316,12 @@ #gptofoo escp2-cx6500 printer/Epson-Stylus_CX6500 #gptofoo escp2-cx6600 printer/Epson-Stylus_CX6600 #gptofoo escp2-cx7000f printer/Epson-Stylus_CX7000F +#gptofoo escp2-cx7400 printer/Epson-Stylus_CX7400 #gptofoo escp2-cx7700 printer/Epson-Stylus_CX7700 #gptofoo escp2-cx7800 printer/Epson-Stylus_CX7800 #gptofoo escp2-cx8300 printer/Epson-Stylus_CX8300 #gptofoo escp2-cx8400 printer/Epson-Stylus_CX8400 +#gptofoo escp2-cx9400 printer/Epson-Stylus_CX9400 #gptofoo escp2 printer/Epson-Stylus_Color #gptofoo escp2-1160 printer/Epson-Stylus_Color_1160 #gptofoo escp2-1500 printer/Epson-Stylus_Color_1500 @@ -324,8 +354,10 @@ #gptofoo escp2-pro printer/Epson-Stylus_Color_PRO #gptofoo escp2-d68 printer/Epson-Stylus_D68 #gptofoo escp2-d88 printer/Epson-Stylus_D88 +#gptofoo escp2-d120 printer/Epson-Stylus_D120 #gptofoo escp2-dx3800 printer/Epson-Stylus_DX3800 #gptofoo escp2-dx3850 printer/Epson-Stylus_DX3850 +#gptofoo escp2-dx4050 printer/Epson-Stylus_DX4050 #gptofoo escp2-dx4200 printer/Epson-Stylus_DX4200 #gptofoo escp2-dx4250 printer/Epson-Stylus_DX4250 #gptofoo escp2-dx4800 printer/Epson-Stylus_DX4800 @@ -391,6 +423,7 @@ #gptofoo escp2-rx560 printer/Epson-Stylus_Photo_RX560 #gptofoo escp2-rx580 printer/Epson-Stylus_Photo_RX580 #gptofoo escp2-rx590 printer/Epson-Stylus_Photo_RX590 +#gptofoo escp2-rx595 printer/Epson-Stylus_Photo_RX595 #gptofoo escp2-rx600 printer/Epson-Stylus_Photo_RX600 #gptofoo escp2-rx620 printer/Epson-Stylus_Photo_RX620 #gptofoo escp2-rx630 printer/Epson-Stylus_Photo_RX630 @@ -539,6 +572,7 @@ #gptofoo hp-lj_1010 printer/HP-LaserJet_1010 #gptofoo hp-lj_1012 printer/HP-LaserJet_1012 #gptofoo hp-lj_1015 printer/HP-LaserJet_1015 +#gptofoo hp-lj_1022 printer/HP-LaserJet_1022 #gptofoo hp-lj_1100 printer/HP-LaserJet_1100 #gptofoo hp-lj_1100a printer/HP-LaserJet_1100A #gptofoo hp-lj_1150 printer/HP-LaserJet_1150 @@ -794,6 +828,8 @@ #gptofoo samsung-ql-6050 printer/Samsung-QL-6050 #gptofoo seiko-sj_200 printer/Seiko-SpeedJET_200 #gptofoo sharp-ar-161 printer/Sharp-AR-161 +#gptofoo sharp-ar-m257 printer/Sharp-AR-M257 +#gptofoo shinko-chcs9045 printer/Shinko-CHC-S9045 #gptofoo sony-ijp-v100 printer/Sony-IJP-V100 #gptofoo sony-dppex5 printer/Sony-DPP-EX5 #gptofoo sony-updp10 printer/Sony-UP-DP10 diff --git a/src/ghost/Makefile.in b/src/ghost/Makefile.in index da11a47..d9a27df 100644 --- a/src/ghost/Makefile.in +++ b/src/ghost/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. @@ -19,15 +19,11 @@ #export STP_MODULE_PATH = $(top_builddir)/src/main/.libs:$(top_builddir)/src/main #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -67,22 +63,27 @@ am__ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES_ @BUILD_GHOSTSCRIPT_TRUE@am_ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = \ @BUILD_GHOSTSCRIPT_TRUE@ ijsgutenprint.$(OBJEXT) ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS = $(am_ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) -am__DEPENDENCIES_1 = $(top_builddir)/src/main/libgutenprint.la -am__DEPENDENCIES_2 = +am__DEPENDENCIES_1 = @BUILD_GHOSTSCRIPT_TRUE@ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_DEPENDENCIES = \ -@BUILD_GHOSTSCRIPT_TRUE@ $(am__DEPENDENCIES_1) \ -@BUILD_GHOSTSCRIPT_TRUE@ $(am__DEPENDENCIES_2) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +@BUILD_GHOSTSCRIPT_TRUE@ $(GUTENPRINT_LIBS) \ +@BUILD_GHOSTSCRIPT_TRUE@ $(am__DEPENDENCIES_1) +ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LINK = \ + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES) DIST_SOURCES = $(am__ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_SOURCES_DIST) ETAGS = etags @@ -90,51 +91,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -144,8 +107,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -226,14 +187,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -253,9 +211,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -274,27 +231,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -306,6 +262,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -351,8 +308,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) MAINTAINERCLEANFILES = Makefile.in LOCAL_CPPFLAGS = $(GUTENPRINT_CFLAGS) @IJS_CFLAGS@ @@ -394,7 +354,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + 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 \ @@ -422,7 +382,7 @@ clean-binPROGRAMS: done 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) - $(LINK) $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDFLAGS) $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_OBJECTS) $(ijsgutenprint_@GUTENPRINT_MAJOR_VERSION@_@GUTENPRINT_MINOR_VERSION@_LDADD) $(LIBS) + $(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) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -433,22 +393,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ijsgutenprint.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< @@ -459,10 +419,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -512,23 +468,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -544,7 +498,7 @@ check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -579,7 +533,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -593,12 +547,20 @@ info-am: install-data-am: +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -619,19 +581,23 @@ ps: ps-am ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am + uninstall-binPROGRAMS @SET_MAKE@ diff --git a/src/ghost/ijsgutenprint.c b/src/ghost/ijsgutenprint.c index 58b63ff..3056037 100644 --- a/src/ghost/ijsgutenprint.c +++ b/src/ghost/ijsgutenprint.c @@ -1,5 +1,5 @@ /* - * $Id: ijsgutenprint.c,v 1.18 2006/07/04 02:19:15 rlk Exp $ + * $Id: ijsgutenprint.c,v 1.18.8.1 2007/12/15 20:35:39 rlk Exp $ * * IJS server for Gutenprint. * @@ -385,10 +385,10 @@ list_all_parameters(void) stp_malloc(strlen(param->name) + strlen("STP_Enable") + 1); sprintf(tmp1, "STP_Enable%s", param->name); stp_string_list_add_string(sl, tmp1, NULL); - free(tmp1); + stp_free(tmp1); } } - free(tmp); + stp_free(tmp); } stp_parameter_list_destroy(params); } diff --git a/src/gimp/Makefile.in b/src/gimp/Makefile.in index 83fc3fd..e25eb5b 100644 --- a/src/gimp/Makefile.in +++ b/src/gimp/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. @@ -19,15 +19,11 @@ #export STP_MODULE_PATH = $(top_builddir)/src/main/.libs:$(top_builddir)/src/main #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -65,19 +61,18 @@ PROGRAMS = $(gimp_plug_in_PROGRAMS) am_print_OBJECTS = print-image-gimp.$(OBJEXT) print.$(OBJEXT) print_OBJECTS = $(am_print_OBJECTS) am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = \ - $(top_builddir)/src/gutenprintui/libgutenprintui.la -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(print_SOURCES) DIST_SOURCES = $(print_SOURCES) ETAGS = etags @@ -85,51 +80,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -139,8 +96,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -221,14 +176,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -248,9 +200,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -269,27 +220,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -301,6 +251,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -346,8 +297,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) LOCAL_CPPFLAGS = $(GUTENPRINT_CFLAGS) $(GIMP_CFLAGS) print_SOURCES = \ @@ -394,7 +348,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-gimp_plug_inPROGRAMS: $(gimp_plug_in_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(gimp_plug_indir)" || $(mkdir_p) "$(DESTDIR)$(gimp_plug_indir)" + test -z "$(gimp_plug_indir)" || $(MKDIR_P) "$(DESTDIR)$(gimp_plug_indir)" @list='$(gimp_plug_in_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ @@ -422,7 +376,7 @@ clean-gimp_plug_inPROGRAMS: done print$(EXEEXT): $(print_OBJECTS) $(print_DEPENDENCIES) @rm -f print$(EXEEXT) - $(LINK) $(print_LDFLAGS) $(print_OBJECTS) $(print_LDADD) $(LIBS) + $(LINK) $(print_OBJECTS) $(print_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -434,22 +388,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< @@ -460,10 +414,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -513,23 +463,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -545,7 +493,7 @@ check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(gimp_plug_indir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -581,7 +529,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -595,12 +543,20 @@ info-am: install-data-am: install-gimp_plug_inPROGRAMS +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -621,20 +577,23 @@ ps: ps-am ps-am: -uninstall-am: uninstall-gimp_plug_inPROGRAMS uninstall-info-am +uninstall-am: uninstall-gimp_plug_inPROGRAMS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-gimp_plug_inPROGRAMS clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-gimp_plug_inPROGRAMS install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am \ + install-gimp_plug_inPROGRAMS install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-gimp_plug_inPROGRAMS \ - uninstall-info-am + tags uninstall uninstall-am uninstall-gimp_plug_inPROGRAMS @SET_MAKE@ diff --git a/src/gimp2/Makefile.in b/src/gimp2/Makefile.in index 0f31ca7..18a85fc 100644 --- a/src/gimp2/Makefile.in +++ b/src/gimp2/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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. @@ -19,15 +19,11 @@ #export STP_MODULE_PATH = $(top_builddir)/src/main/.libs:$(top_builddir)/src/main #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -67,22 +63,21 @@ am__objects_1 = print-image-gimp.$(OBJEXT) print.$(OBJEXT) am_gutenprint_OBJECTS = $(am__objects_1) print-gutenprint.$(OBJEXT) gutenprint_OBJECTS = $(am_gutenprint_OBJECTS) am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = \ - $(top_builddir)/src/gutenprintui2/libgutenprintui2.la -am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(GUTENPRINTUI2_LIBS) am_print_OBJECTS = $(am__objects_1) print-print.$(OBJEXT) print_OBJECTS = $(am_print_OBJECTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(gutenprint_SOURCES) $(print_SOURCES) DIST_SOURCES = $(gutenprint_SOURCES) $(print_SOURCES) ETAGS = etags @@ -90,51 +85,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -144,8 +101,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -226,14 +181,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -253,9 +205,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -274,27 +225,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -306,6 +256,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -351,8 +302,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) LOCAL_CPPFLAGS = $(GUTENPRINT_CFLAGS) $(GIMP2_CFLAGS) COMMON_PRINT_SOURCES = \ @@ -404,7 +358,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-gimp2_plug_inPROGRAMS: $(gimp2_plug_in_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(gimp2_plug_indir)" || $(mkdir_p) "$(DESTDIR)$(gimp2_plug_indir)" + 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 \ @@ -432,10 +386,10 @@ clean-gimp2_plug_inPROGRAMS: done gutenprint$(EXEEXT): $(gutenprint_OBJECTS) $(gutenprint_DEPENDENCIES) @rm -f gutenprint$(EXEEXT) - $(LINK) $(gutenprint_LDFLAGS) $(gutenprint_OBJECTS) $(gutenprint_LDADD) $(LIBS) + $(LINK) $(gutenprint_OBJECTS) $(gutenprint_LDADD) $(LIBS) print$(EXEEXT): $(print_OBJECTS) $(print_DEPENDENCIES) @rm -f print$(EXEEXT) - $(LINK) $(print_LDFLAGS) $(print_OBJECTS) $(print_LDADD) $(LIBS) + $(LINK) $(print_OBJECTS) $(print_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -449,22 +403,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< @@ -475,10 +429,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -528,23 +478,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -560,7 +508,7 @@ check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(gimp2_plug_indir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -597,7 +545,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -611,12 +559,20 @@ info-am: install-data-am: install-gimp2_plug_inPROGRAMS +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -637,20 +593,23 @@ ps: ps-am ps-am: -uninstall-am: uninstall-gimp2_plug_inPROGRAMS uninstall-info-am +uninstall-am: uninstall-gimp2_plug_inPROGRAMS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-gimp2_plug_inPROGRAMS clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-gimp2_plug_inPROGRAMS install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am \ + install-gimp2_plug_inPROGRAMS install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-gimp2_plug_inPROGRAMS \ - uninstall-info-am + tags uninstall uninstall-am uninstall-gimp2_plug_inPROGRAMS @SET_MAKE@ diff --git a/src/gutenprintui/Makefile.am b/src/gutenprintui/Makefile.am index 215dc96..074ba93 100644 --- a/src/gutenprintui/Makefile.am +++ b/src/gutenprintui/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.5 2005/11/21 11:16:23 rleigh Exp $ +## $Id: Makefile.am,v 1.5.10.1 2007/12/02 02:40:39 rlk Exp $ ## Copyright (C) 2000 Roger Leigh ## ## This program is free software; you can redistribute it and/or modify @@ -62,7 +62,9 @@ plist.o: printrcy.o ## Data +if BUILD_LIBGUTENPRINTUI pkgconfigdata_DATA = gutenprintui.pc +endif ## Rules diff --git a/src/gutenprintui/Makefile.in b/src/gutenprintui/Makefile.in index 2da21b8..72d00db 100644 --- a/src/gutenprintui/Makefile.in +++ b/src/gutenprintui/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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,15 +20,11 @@ #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -77,24 +73,33 @@ am_libgutenprintui_la_OBJECTS = libgutenprintui_la-printrcy.lo \ libgutenprintui_la-panel.lo libgutenprintui_la-ui-utils.lo \ libgutenprintui_la-print-image-thumbnail.lo libgutenprintui_la_OBJECTS = $(am_libgutenprintui_la_OBJECTS) +libgutenprintui_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(libgutenprintui_la_CFLAGS) $(CFLAGS) \ + $(libgutenprintui_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_LIBGUTENPRINTUI_TRUE@am_libgutenprintui_la_rpath = -rpath \ @BUILD_LIBGUTENPRINTUI_TRUE@ $(libdir) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ || LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +YLWRAP = $(top_srcdir)/scripts/ylwrap +@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) -LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \ - $(AM_YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS) SOURCES = $(libgutenprintui_la_SOURCES) DIST_SOURCES = $(libgutenprintui_la_SOURCES) pkgconfigdataDATA_INSTALL = $(INSTALL_DATA) @@ -104,51 +109,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -158,8 +125,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -240,14 +205,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -267,9 +229,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -288,27 +249,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -320,6 +280,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -365,8 +326,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) m4datadir = $(datadir)/aclocal pkgconfigdatadir = $(libdir)/pkgconfig @@ -393,7 +357,7 @@ libgutenprintui_la_LDFLAGS = \ AM_LFLAGS = -i AM_YFLAGS = -d -pkgconfigdata_DATA = gutenprintui.pc +@BUILD_LIBGUTENPRINTUI_TRUE@pkgconfigdata_DATA = gutenprintui.pc MAINTAINERCLEANFILES = Makefile.in printrcl.c printrcy.c printrcy.h all: all-am @@ -432,7 +396,7 @@ gutenprintui.pc: $(top_builddir)/config.status $(srcdir)/gutenprintui.pc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ @@ -443,7 +407,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ @@ -460,10 +424,10 @@ clean-libLTLIBRARIES: printrcy.h: printrcy.c @if test ! -f $@; then \ rm -f printrcy.c; \ - $(MAKE) printrcy.c; \ + $(MAKE) $(AM_MAKEFLAGS) printrcy.c; \ else :; fi libgutenprintui.la: $(libgutenprintui_la_OBJECTS) $(libgutenprintui_la_DEPENDENCIES) - $(LINK) $(am_libgutenprintui_la_rpath) $(libgutenprintui_la_LDFLAGS) $(libgutenprintui_la_OBJECTS) $(libgutenprintui_la_LIBADD) $(LIBS) + $(libgutenprintui_la_LINK) $(am_libgutenprintui_la_rpath) $(libgutenprintui_la_OBJECTS) $(libgutenprintui_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -479,106 +443,82 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgutenprintui_la-ui-utils.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< libgutenprintui_la-printrcy.lo: printrcy.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-printrcy.lo -MD -MP -MF "$(DEPDIR)/libgutenprintui_la-printrcy.Tpo" -c -o libgutenprintui_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgutenprintui_la-printrcy.Tpo" "$(DEPDIR)/libgutenprintui_la-printrcy.Plo"; else rm -f "$(DEPDIR)/libgutenprintui_la-printrcy.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-printrcy.lo -MD -MP -MF $(DEPDIR)/libgutenprintui_la-printrcy.Tpo -c -o libgutenprintui_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui_la-printrcy.Tpo $(DEPDIR)/libgutenprintui_la-printrcy.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='printrcy.c' object='libgutenprintui_la-printrcy.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_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) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_la-printrcy.lo `test -f 'printrcy.c' || echo '$(srcdir)/'`printrcy.c libgutenprintui_la-printrcl.lo: printrcl.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-printrcl.lo -MD -MP -MF "$(DEPDIR)/libgutenprintui_la-printrcl.Tpo" -c -o libgutenprintui_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgutenprintui_la-printrcl.Tpo" "$(DEPDIR)/libgutenprintui_la-printrcl.Plo"; else rm -f "$(DEPDIR)/libgutenprintui_la-printrcl.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-printrcl.lo -MD -MP -MF $(DEPDIR)/libgutenprintui_la-printrcl.Tpo -c -o libgutenprintui_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui_la-printrcl.Tpo $(DEPDIR)/libgutenprintui_la-printrcl.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='printrcl.c' object='libgutenprintui_la-printrcl.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_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) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_la-printrcl.lo `test -f 'printrcl.c' || echo '$(srcdir)/'`printrcl.c libgutenprintui_la-plist.lo: plist.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-plist.lo -MD -MP -MF "$(DEPDIR)/libgutenprintui_la-plist.Tpo" -c -o libgutenprintui_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgutenprintui_la-plist.Tpo" "$(DEPDIR)/libgutenprintui_la-plist.Plo"; else rm -f "$(DEPDIR)/libgutenprintui_la-plist.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-plist.lo -MD -MP -MF $(DEPDIR)/libgutenprintui_la-plist.Tpo -c -o libgutenprintui_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui_la-plist.Tpo $(DEPDIR)/libgutenprintui_la-plist.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='plist.c' object='libgutenprintui_la-plist.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_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) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_la-plist.lo `test -f 'plist.c' || echo '$(srcdir)/'`plist.c libgutenprintui_la-panel.lo: panel.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-panel.lo -MD -MP -MF "$(DEPDIR)/libgutenprintui_la-panel.Tpo" -c -o libgutenprintui_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgutenprintui_la-panel.Tpo" "$(DEPDIR)/libgutenprintui_la-panel.Plo"; else rm -f "$(DEPDIR)/libgutenprintui_la-panel.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-panel.lo -MD -MP -MF $(DEPDIR)/libgutenprintui_la-panel.Tpo -c -o libgutenprintui_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui_la-panel.Tpo $(DEPDIR)/libgutenprintui_la-panel.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='panel.c' object='libgutenprintui_la-panel.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_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) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_la-panel.lo `test -f 'panel.c' || echo '$(srcdir)/'`panel.c libgutenprintui_la-ui-utils.lo: ui-utils.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-ui-utils.lo -MD -MP -MF "$(DEPDIR)/libgutenprintui_la-ui-utils.Tpo" -c -o libgutenprintui_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgutenprintui_la-ui-utils.Tpo" "$(DEPDIR)/libgutenprintui_la-ui-utils.Plo"; else rm -f "$(DEPDIR)/libgutenprintui_la-ui-utils.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-ui-utils.lo -MD -MP -MF $(DEPDIR)/libgutenprintui_la-ui-utils.Tpo -c -o libgutenprintui_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui_la-ui-utils.Tpo $(DEPDIR)/libgutenprintui_la-ui-utils.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ui-utils.c' object='libgutenprintui_la-ui-utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_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) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_la-ui-utils.lo `test -f 'ui-utils.c' || echo '$(srcdir)/'`ui-utils.c libgutenprintui_la-print-image-thumbnail.lo: print-image-thumbnail.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-print-image-thumbnail.lo -MD -MP -MF "$(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Tpo" -c -o libgutenprintui_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Tpo" "$(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Plo"; else rm -f "$(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -MT libgutenprintui_la-print-image-thumbnail.lo -MD -MP -MF $(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Tpo -c -o libgutenprintui_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Tpo $(DEPDIR)/libgutenprintui_la-print-image-thumbnail.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='print-image-thumbnail.c' object='libgutenprintui_la-print-image-thumbnail.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_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) $(libgutenprintui_la_CFLAGS) $(CFLAGS) -c -o libgutenprintui_la-print-image-thumbnail.lo `test -f 'print-image-thumbnail.c' || echo '$(srcdir)/'`print-image-thumbnail.c .l.c: - $(LEXCOMPILE) $< - sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ - rm -f $(LEX_OUTPUT_ROOT).c + $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) .y.c: - $(YACCCOMPILE) $< - if test -f y.tab.h; then \ - to=`echo "$*_H" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ - sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ - y.tab.h >$*.ht; \ - rm -f y.tab.h; \ - if cmp -s $*.ht $*.h; then \ - rm -f $*.ht ;\ - else \ - mv $*.ht $*.h; \ - fi; \ - fi - if test -f y.output; then \ - mv y.output $*.output; \ - fi - sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ - rm -f y.tab.c + $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-pkgconfigdataDATA: $(pkgconfigdata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgconfigdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdatadir)" + test -z "$(pkgconfigdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdatadir)" @list='$(pkgconfigdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -643,23 +583,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -675,7 +613,7 @@ check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdatadir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -714,7 +652,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -728,12 +666,20 @@ info-am: install-data-am: install-pkgconfigdataDATA +install-dvi: install-dvi-am + install-exec-am: install-libLTLIBRARIES +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -754,22 +700,24 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-pkgconfigdataDATA +uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigdataDATA + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am \ - install-libLTLIBRARIES install-man install-pkgconfigdataDATA \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-pkgconfigdataDATA install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-pkgconfigdataDATA + uninstall-libLTLIBRARIES uninstall-pkgconfigdataDATA @SET_MAKE@ diff --git a/src/gutenprintui/panel.c b/src/gutenprintui/panel.c index a8b1858..eed8a65 100644 --- a/src/gutenprintui/panel.c +++ b/src/gutenprintui/panel.c @@ -1,5 +1,5 @@ /* - * "$Id: panel.c,v 1.9.6.1 2007/03/02 12:01:17 rlk Exp $" + * "$Id: panel.c,v 1.9.6.2 2007/12/15 20:35:39 rlk Exp $" * * Main window code for Print plug-in for the GIMP. * @@ -256,6 +256,7 @@ static void plist_build_combo(GtkWidget *combo, gpointer data); static void initialize_thumbnail(void); static void set_color_defaults (void); +static void set_printer_defaults (void); static void redraw_color_swatch (void); static void color_update (GtkAdjustment *adjustment); static void dimension_update (GtkAdjustment *adjustment); @@ -1942,6 +1943,17 @@ create_printer_settings_frame (void) gtk_table_attach_defaults(GTK_TABLE(table), scrolled_window, 0, 6, vpos, vpos + 1); gtk_widget_show(scrolled_window); + vpos++; + + button = gtk_button_new_with_label (_("Set Printer Option Defaults")); + stpui_set_help_data (button, _("Set all printer options to their defaults")); + gtk_table_attach(GTK_TABLE(table), button, 0, 6, vpos, vpos + 1, + GTK_EXPAND|GTK_FILL, GTK_SHRINK|GTK_FILL, 0, 0); + gtk_widget_show (button); + + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (set_printer_defaults), NULL); + } static void @@ -5069,6 +5081,64 @@ set_controls_active (GtkObject *checkbutton, gpointer xopt) } static void +set_printer_defaults (void) +{ + int i; + for (i = 0; i < current_option_count; i++) + { + option_t *opt = &(current_options[i]); + if (opt->fast_desc->p_level <= MAXIMUM_PARAMETER_LEVEL && + opt->fast_desc->p_class == STP_PARAMETER_CLASS_FEATURE && + opt->is_active && !opt->fast_desc->read_only) + { + stp_parameter_activity_t active; + gdouble unit_scaler; + switch (opt->fast_desc->p_type) + { + case STP_PARAMETER_TYPE_DOUBLE: + active = + stp_get_float_parameter_active(pv->v, opt->fast_desc->name); + stp_set_float_parameter(pv->v, opt->fast_desc->name, + opt->info.flt.deflt); + stp_set_float_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + case STP_PARAMETER_TYPE_DIMENSION: + unit_scaler = units[pv->unit].scale; + active = + stp_get_dimension_parameter_active(pv->v, + opt->fast_desc->name); + stp_set_dimension_parameter(pv->v, opt->fast_desc->name, + opt->info.flt.deflt * unit_scaler); + stp_set_dimension_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + case STP_PARAMETER_TYPE_BOOLEAN: + active = + stp_get_boolean_parameter_active(pv->v, opt->fast_desc->name); + stp_set_boolean_parameter(pv->v, opt->fast_desc->name, + opt->info.bool.deflt); + stp_set_boolean_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + case STP_PARAMETER_TYPE_STRING_LIST: + active = + stp_get_string_parameter_active(pv->v, opt->fast_desc->name); + stp_set_string_parameter(pv->v, opt->fast_desc->name, + opt->info.list.default_val); + stp_set_string_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + default: + break; + } + } + } + + do_all_updates (); +} + +static void set_color_defaults (void) { int i; diff --git a/src/gutenprintui/plist.c b/src/gutenprintui/plist.c index 3809eeb..ecd6234 100644 --- a/src/gutenprintui/plist.c +++ b/src/gutenprintui/plist.c @@ -1,5 +1,5 @@ /* - * "$Id: plist.c,v 1.3.6.1 2007/03/02 12:01:18 rlk Exp $" + * "$Id: plist.c,v 1.3.6.2 2007/12/15 20:35:42 rlk Exp $" * * Print plug-in for the GIMP. * @@ -204,6 +204,28 @@ stpui_build_standard_print_command(const stpui_plist_t *plist, return print_cmd; } +static void +append_external_options(char **command, const stp_vars_t *v) +{ + stp_string_list_t *external_options; + if (! command || ! *command) + return; + external_options = stp_get_external_options(v); + if (external_options) + { + int count = stp_string_list_count(external_options); + int i; + for (i = 0; i < count; i++) + { + stp_param_string_t *param = stp_string_list_param(external_options, i); + /* No g_shell_quote in glib 1.2...unfortunate */ + stp_catprintf(command, " -o'%s'='%s'", param->name, param->text); + } + stp_string_list_destroy(external_options); + } +} + + void stpui_set_printrc_file(const char *name) { @@ -940,6 +962,7 @@ static void stpui_printrc_load_v2(FILE *fp) { int retval; + char *locale; yyin = fp; stpui_printrc_current_printer = NULL; @@ -1573,14 +1596,18 @@ stpui_print(const stpui_plist_t *printer, stpui_image_t *image) } else /* Child 2 (printer command) */ { - const char *command; + char *command; if (stpui_plist_get_command_type(printer) == COMMAND_TYPE_DEFAULT) - command = - stpui_build_standard_print_command - (printer, stp_get_printer(printer->v)); + { + command = + stpui_build_standard_print_command + (printer, stp_get_printer(printer->v)); + append_external_options(&command, printer->v); + } else - command = stpui_plist_get_custom_command(printer); + command = + (char *) stpui_plist_get_custom_command(printer); (void) close(2); (void) close(1); dup2 (errfd[1], 2); @@ -1762,5 +1789,5 @@ stpui_print(const stpui_plist_t *printer, stpui_image_t *image) } /* - * End of "$Id: plist.c,v 1.3.6.1 2007/03/02 12:01:18 rlk Exp $". + * End of "$Id: plist.c,v 1.3.6.2 2007/12/15 20:35:42 rlk Exp $". */ diff --git a/src/gutenprintui/printrcl.c b/src/gutenprintui/printrcl.c index f4490d4..075fa0a 100644 --- a/src/gutenprintui/printrcl.c +++ b/src/gutenprintui/printrcl.c @@ -649,7 +649,7 @@ int yy_flex_debug = 0; char *yytext; #line 1 "printrcl.l" /* -*-Mode: C-*- - * "$Id: printrcl.l,v 1.1 2004/09/17 18:38:14 rleigh Exp $" + * "$Id: printrcl.l,v 1.10 2004/08/19 03:24:35 rlk Exp $" * * printrc parser * diff --git a/src/gutenprintui2/Makefile.am b/src/gutenprintui2/Makefile.am index 2b49f89..94279a3 100644 --- a/src/gutenprintui2/Makefile.am +++ b/src/gutenprintui2/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.6 2005/11/21 11:16:23 rleigh Exp $ +## $Id: Makefile.am,v 1.6.10.1 2007/12/02 02:41:10 rlk Exp $ ## Copyright (C) 2000 Roger Leigh ## ## This program is free software; you can redistribute it and/or modify @@ -65,7 +65,9 @@ plist.o: printrcy.o ## Data +if BUILD_LIBGUTENPRINTUI2 pkgconfigdata_DATA = gutenprintui2.pc +endif ## Rules diff --git a/src/gutenprintui2/Makefile.in b/src/gutenprintui2/Makefile.in index 3500a8d..6eed08e 100644 --- a/src/gutenprintui2/Makefile.in +++ b/src/gutenprintui2/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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,15 +20,11 @@ #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -79,24 +75,33 @@ am_libgutenprintui2_la_OBJECTS = libgutenprintui2_la-printrcy.lo \ libgutenprintui2_la-curve.lo libgutenprintui2_la-gammacurve.lo \ libgutenprintui2_la-typebuiltins.lo libgutenprintui2_la_OBJECTS = $(am_libgutenprintui2_la_OBJECTS) +libgutenprintui2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(libgutenprintui2_la_CFLAGS) $(CFLAGS) \ + $(libgutenprintui2_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_LIBGUTENPRINTUI2_TRUE@am_libgutenprintui2_la_rpath = -rpath \ @BUILD_LIBGUTENPRINTUI2_TRUE@ $(libdir) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ || LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +YLWRAP = $(top_srcdir)/scripts/ylwrap +@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) -LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \ - $(AM_YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS) SOURCES = $(libgutenprintui2_la_SOURCES) DIST_SOURCES = $(libgutenprintui2_la_SOURCES) pkgconfigdataDATA_INSTALL = $(INSTALL_DATA) @@ -106,51 +111,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -160,8 +127,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -242,14 +207,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -269,9 +231,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -290,27 +251,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -322,6 +282,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -367,8 +328,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) m4datadir = $(datadir)/aclocal pkgconfigdatadir = $(libdir)/pkgconfig @@ -398,7 +362,7 @@ libgutenprintui2_la_LDFLAGS = \ AM_LFLAGS = -i AM_YFLAGS = -d -pkgconfigdata_DATA = gutenprintui2.pc +@BUILD_LIBGUTENPRINTUI2_TRUE@pkgconfigdata_DATA = gutenprintui2.pc # Copied from include/gutenprintui2/Makefile.am # This duplication needs fixing somehow @@ -446,7 +410,7 @@ 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)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ @@ -457,7 +421,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ @@ -474,10 +438,10 @@ clean-libLTLIBRARIES: printrcy.h: printrcy.c @if test ! -f $@; then \ rm -f printrcy.c; \ - $(MAKE) printrcy.c; \ + $(MAKE) $(AM_MAKEFLAGS) printrcy.c; \ else :; fi libgutenprintui2.la: $(libgutenprintui2_la_OBJECTS) $(libgutenprintui2_la_DEPENDENCIES) - $(LINK) $(am_libgutenprintui2_la_rpath) $(libgutenprintui2_la_LDFLAGS) $(libgutenprintui2_la_OBJECTS) $(libgutenprintui2_la_LIBADD) $(LIBS) + $(libgutenprintui2_la_LINK) $(am_libgutenprintui2_la_rpath) $(libgutenprintui2_la_OBJECTS) $(libgutenprintui2_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -496,127 +460,103 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgutenprintui2_la-ui-utils.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-printrcy.Tpo" "$(DEPDIR)/libgutenprintui2_la-printrcy.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-printrcy.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-printrcl.Tpo" "$(DEPDIR)/libgutenprintui2_la-printrcl.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-printrcl.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-panel.Tpo" "$(DEPDIR)/libgutenprintui2_la-panel.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-panel.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-plist.Tpo" "$(DEPDIR)/libgutenprintui2_la-plist.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-plist.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-ui-utils.Tpo" "$(DEPDIR)/libgutenprintui2_la-ui-utils.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-ui-utils.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Tpo" "$(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-print-image-thumbnail.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-curve.Tpo" "$(DEPDIR)/libgutenprintui2_la-curve.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-curve.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-gammacurve.Tpo" "$(DEPDIR)/libgutenprintui2_la-gammacurve.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-gammacurve.Tpo"; exit 1; fi +@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 @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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libgutenprintui2_la-typebuiltins.Tpo" "$(DEPDIR)/libgutenprintui2_la-typebuiltins.Plo"; else rm -f "$(DEPDIR)/libgutenprintui2_la-typebuiltins.Tpo"; exit 1; fi +@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 @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 --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: - $(LEXCOMPILE) $< - sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ - rm -f $(LEX_OUTPUT_ROOT).c + $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) .y.c: - $(YACCCOMPILE) $< - if test -f y.tab.h; then \ - to=`echo "$*_H" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ - sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ - y.tab.h >$*.ht; \ - rm -f y.tab.h; \ - if cmp -s $*.ht $*.h; then \ - rm -f $*.ht ;\ - else \ - mv $*.ht $*.h; \ - fi; \ - fi - if test -f y.output; then \ - mv y.output $*.output; \ - fi - sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ - rm -f y.tab.c + $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-pkgconfigdataDATA: $(pkgconfigdata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgconfigdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdatadir)" + test -z "$(pkgconfigdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdatadir)" @list='$(pkgconfigdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -681,23 +621,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -713,7 +651,7 @@ check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdatadir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -752,7 +690,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -766,12 +704,20 @@ info-am: install-data-am: install-pkgconfigdataDATA +install-dvi: install-dvi-am + install-exec-am: install-libLTLIBRARIES +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -792,22 +738,24 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-pkgconfigdataDATA +uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigdataDATA + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am \ - install-libLTLIBRARIES install-man install-pkgconfigdataDATA \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-pkgconfigdataDATA install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-pkgconfigdataDATA + uninstall-libLTLIBRARIES uninstall-pkgconfigdataDATA @SET_MAKE@ diff --git a/src/gutenprintui2/panel.c b/src/gutenprintui2/panel.c index cf4a06b..7fa3de0 100644 --- a/src/gutenprintui2/panel.c +++ b/src/gutenprintui2/panel.c @@ -1,5 +1,5 @@ /* - * "$Id: panel.c,v 1.11.8.2 2007/05/29 01:47:27 rlk Exp $" + * "$Id: panel.c,v 1.11.8.3 2007/12/15 20:35:42 rlk Exp $" * * Main window code for Print plug-in for the GIMP. * @@ -256,6 +256,7 @@ static void plist_build_combo(GtkWidget *combo, gpointer data); static void initialize_thumbnail(void); static void set_color_defaults (void); +static void set_printer_defaults (void); static void redraw_color_swatch (void); static void color_update (GtkAdjustment *adjustment); static void dimension_update (GtkAdjustment *adjustment); @@ -1942,6 +1943,17 @@ create_printer_settings_frame (void) gtk_table_attach_defaults(GTK_TABLE(table), scrolled_window, 0, 6, vpos, vpos + 1); gtk_widget_show(scrolled_window); + vpos++; + + button = gtk_button_new_with_label (_("Set Printer Option Defaults")); + stpui_set_help_data (button, _("Set all printer options to their defaults")); + gtk_table_attach(GTK_TABLE(table), button, 0, 6, vpos, vpos + 1, + GTK_EXPAND|GTK_FILL, GTK_SHRINK|GTK_FILL, 0, 0); + gtk_widget_show (button); + + g_signal_connect (G_OBJECT (button), "clicked", + G_CALLBACK (set_printer_defaults), NULL); + } static void @@ -5107,6 +5119,64 @@ set_controls_active (GtkObject *checkbutton, gpointer xopt) } static void +set_printer_defaults (void) +{ + int i; + for (i = 0; i < current_option_count; i++) + { + option_t *opt = &(current_options[i]); + if (opt->fast_desc->p_level <= MAXIMUM_PARAMETER_LEVEL && + opt->fast_desc->p_class == STP_PARAMETER_CLASS_FEATURE && + opt->is_active && !opt->fast_desc->read_only) + { + stp_parameter_activity_t active; + gdouble unit_scaler; + switch (opt->fast_desc->p_type) + { + case STP_PARAMETER_TYPE_DOUBLE: + active = + stp_get_float_parameter_active(pv->v, opt->fast_desc->name); + stp_set_float_parameter(pv->v, opt->fast_desc->name, + opt->info.flt.deflt); + stp_set_float_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + case STP_PARAMETER_TYPE_DIMENSION: + unit_scaler = units[pv->unit].scale; + active = + stp_get_dimension_parameter_active(pv->v, + opt->fast_desc->name); + stp_set_dimension_parameter(pv->v, opt->fast_desc->name, + opt->info.flt.deflt * unit_scaler); + stp_set_dimension_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + case STP_PARAMETER_TYPE_BOOLEAN: + active = + stp_get_boolean_parameter_active(pv->v, opt->fast_desc->name); + stp_set_boolean_parameter(pv->v, opt->fast_desc->name, + opt->info.bool.deflt); + stp_set_boolean_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + case STP_PARAMETER_TYPE_STRING_LIST: + active = + stp_get_string_parameter_active(pv->v, opt->fast_desc->name); + stp_set_string_parameter(pv->v, opt->fast_desc->name, + opt->info.list.default_val); + stp_set_string_parameter_active(pv->v, opt->fast_desc->name, + active); + break; + default: + break; + } + } + } + + do_all_updates (); +} + +static void set_color_defaults (void) { int i; diff --git a/src/gutenprintui2/plist.c b/src/gutenprintui2/plist.c index 96036a4..01d752e 100644 --- a/src/gutenprintui2/plist.c +++ b/src/gutenprintui2/plist.c @@ -1,5 +1,5 @@ /* - * "$Id: plist.c,v 1.6.10.3 2007/05/29 01:47:28 rlk Exp $" + * "$Id: plist.c,v 1.6.10.4 2007/12/15 20:35:43 rlk Exp $" * * Print plug-in for the GIMP. * @@ -208,6 +208,31 @@ stpui_build_standard_print_command(const stpui_plist_t *plist, return print_cmd; } +static void +append_external_options(char **command, const stp_vars_t *v) +{ + stp_string_list_t *external_options; + if (! command || ! *command) + return; + external_options = stp_get_external_options(v); + if (external_options) + { + int count = stp_string_list_count(external_options); + int i; + for (i = 0; i < count; i++) + { + stp_param_string_t *param = stp_string_list_param(external_options, i); + char *quoted_name=g_shell_quote(param->name); + char *quoted_value=g_shell_quote(param->text); + stp_catprintf(command, " -o%s=%s", quoted_name, quoted_value); + SAFE_FREE(quoted_name); + SAFE_FREE(quoted_value); + } + stp_string_list_destroy(external_options); + } +} + + void stpui_set_printrc_file(const char *name) { @@ -939,8 +964,8 @@ static void stpui_printrc_load_v2(FILE *fp) { int retval; - yyin = fp; char *locale; + yyin = fp; stpui_printrc_current_printer = NULL; #ifdef HAVE_LOCALE_H @@ -1597,14 +1622,18 @@ stpui_print(const stpui_plist_t *printer, stpui_image_t *image) } else /* Child 2 (printer command) */ { - const char *command; + char *command; if (stpui_plist_get_command_type(printer) == COMMAND_TYPE_DEFAULT) - command = - stpui_build_standard_print_command - (printer, stp_get_printer(printer->v)); + { + command = + stpui_build_standard_print_command + (printer, stp_get_printer(printer->v)); + append_external_options(&command, printer->v); + } else - command = stpui_plist_get_custom_command(printer); + command = + (char *) stpui_plist_get_custom_command(printer); (void) close(2); (void) close(1); dup2 (errfd[1], 2); @@ -1786,5 +1815,5 @@ stpui_print(const stpui_plist_t *printer, stpui_image_t *image) } /* - * End of "$Id: plist.c,v 1.6.10.3 2007/05/29 01:47:28 rlk Exp $". + * End of "$Id: plist.c,v 1.6.10.4 2007/12/15 20:35:43 rlk Exp $". */ diff --git a/src/gutenprintui2/printrcl.c b/src/gutenprintui2/printrcl.c index 1c4d8e1..94a58f5 100644 --- a/src/gutenprintui2/printrcl.c +++ b/src/gutenprintui2/printrcl.c @@ -1,31 +1,92 @@ -/* 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 33 +#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 __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 @@ -34,34 +95,17 @@ #if __STDC__ -#define YY_USE_PROTOS #define YY_USE_CONST #endif /* __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 +120,75 @@ * 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 ) +#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; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef unsigned int 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 +225,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 +248,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 +287,90 @@ 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; 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[335] = { 0, 0, 0, 41, 40, 37, 39, 40, 38, 40, 40, 31, 35, 35, 35, 35, 35, 35, 35, 35, 35, @@ -328,7 +411,7 @@ static yyconst short int yy_accept[335] = 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, @@ -360,7 +443,7 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[39] = +static yyconst flex_int32_t yy_meta[39] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, @@ -368,7 +451,7 @@ static yyconst int yy_meta[39] = 3, 3, 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[340] = +static yyconst flex_int16_t yy_base[340] = { 0, 0, 0, 374, 375, 371, 375, 368, 343, 364, 29, 32, 336, 341, 18, 26, 21, 32, 343, 0, 340, @@ -409,7 +492,7 @@ static yyconst short int yy_base[340] = 81, 375, 375, 375, 94, 97, 100, 89, 103 } ; -static yyconst short int yy_def[340] = +static yyconst flex_int16_t yy_def[340] = { 0, 334, 1, 334, 334, 334, 334, 335, 336, 337, 334, 334, 338, 338, 338, 338, 338, 338, 338, 338, 338, @@ -450,7 +533,7 @@ static yyconst short int yy_def[340] = 334, 334, 334, 0, 334, 334, 334, 334, 334 } ; -static yyconst short int yy_nxt[414] = +static yyconst flex_int16_t yy_nxt[414] = { 0, 4, 5, 6, 7, 8, 9, 10, 10, 4, 11, 11, 4, 4, 12, 13, 14, 15, 16, 17, 18, @@ -500,7 +583,7 @@ static yyconst short int yy_nxt[414] = 334, 334, 334 } ; -static yyconst short int yy_chk[414] = +static yyconst flex_int16_t yy_chk[414] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -553,6 +636,9 @@ static yyconst short int yy_chk[414] = 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 +648,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 +706,23 @@ q_strdup(const char *s) return g_strndup(s + 1, strlen(s) - 2); } -#line 625 "printrcl.c" +#line 710 "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 ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -629,65 +730,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,7 +762,6 @@ 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(). @@ -709,9 +774,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 = '*'; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -721,9 +787,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 +823,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 +851,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 866 "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,34 +881,36 @@ 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 ) { @@ -838,24 +927,22 @@ 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 +1106,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 +1122,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 +1138,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 +1148,33 @@ YY_RULE_SETUP #line 116 "printrcl.l" ECHO; YY_BREAK -#line 1062 "printrcl.c" +#line 1152 "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 +1184,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 +1203,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 +1237,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 +1245,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 +1279,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 +1288,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 +1321,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 +1357,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 +1367,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), 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,32 +1403,31 @@ 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; + (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 ) { @@ -1357,30 +1439,23 @@ static yy_state_type yy_get_previous_state() } 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 ) { @@ -1392,80 +1467,73 @@ yy_state_type yy_current_state; yy_is_jam = (yy_current_state == 334); 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 +1547,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 +1566,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 +1660,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 ); - - yy_flex_free( (void *) b ); - } + yyfree((void *) b->yy_ch_buf ); + yyfree((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 - +#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 +1745,121 @@ 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*) + ); + + 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*) + ); + + /* 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 +1873,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 str 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 +1927,177 @@ int len; b->yy_is_our_buffer = 1; return b; - } -#endif - +} -#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; +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 #endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); +static void yy_fatal_error (yyconst char* msg ) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); +#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 ) - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); +/* Accessor methods (get/set functions) to struct members. */ - 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 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 ; +} +void yyset_out (FILE * out_str ) +{ + yyout = out_str ; +} -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif +int yyget_debug (void) +{ + return yy_flex_debug; +} -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif +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 +2106,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/main/Makefile.in b/src/main/Makefile.in index 1d50529..ef0e99e 100644 --- a/src/main/Makefile.in +++ b/src/main/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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,15 +20,11 @@ #export STP_DATA_PATH = $(top_srcdir)/src/main -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -73,6 +69,9 @@ LTLIBRARIES = $(lib_LTLIBRARIES) $(pkgmodule_LTLIBRARIES) color_traditional_la_LIBADD = am_color_traditional_la_OBJECTS = print-color.lo color-conversions.lo color_traditional_la_OBJECTS = $(am_color_traditional_la_OBJECTS) +color_traditional_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(color_traditional_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_color_traditional_la_rpath = -rpath \ @BUILD_MODULES_TRUE@ $(pkgmoduledir) am__DEPENDENCIES_1 = @@ -119,47 +118,72 @@ am_libgutenprint_la_OBJECTS = array.lo bit-ops.lo channel.lo color.lo \ printers.lo sequence.lo string-list.lo xml.lo $(am__objects_1) \ $(am__objects_2) $(am__objects_12) libgutenprint_la_OBJECTS = $(am_libgutenprint_la_OBJECTS) +libgutenprint_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libgutenprint_la_LDFLAGS) $(LDFLAGS) -o $@ print_canon_la_LIBADD = am_print_canon_la_OBJECTS = print-canon.lo print_canon_la_OBJECTS = $(am_print_canon_la_OBJECTS) +print_canon_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_canon_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_canon_la_rpath = -rpath $(pkgmoduledir) print_escp2_la_LIBADD = am_print_escp2_la_OBJECTS = print-escp2.lo escp2-driver.lo \ print-escp2-data.lo escp2-channels.lo escp2-inks.lo \ escp2-papers.lo escp2-resolutions.lo print_escp2_la_OBJECTS = $(am_print_escp2_la_OBJECTS) +print_escp2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_escp2_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_escp2_la_rpath = -rpath $(pkgmoduledir) print_lexmark_la_LIBADD = am_print_lexmark_la_OBJECTS = print-lexmark.lo print_lexmark_la_OBJECTS = $(am_print_lexmark_la_OBJECTS) +print_lexmark_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_lexmark_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_lexmark_la_rpath = -rpath $(pkgmoduledir) print_olympus_la_LIBADD = am_print_olympus_la_OBJECTS = print-olympus.lo print_olympus_la_OBJECTS = $(am_print_olympus_la_OBJECTS) +print_olympus_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_olympus_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_olympus_la_rpath = -rpath $(pkgmoduledir) print_pcl_la_LIBADD = am_print_pcl_la_OBJECTS = print-pcl.lo print_pcl_la_OBJECTS = $(am_print_pcl_la_OBJECTS) +print_pcl_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_pcl_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_pcl_la_rpath = -rpath $(pkgmoduledir) print_ps_la_LIBADD = am_print_ps_la_OBJECTS = print-ps.lo print_ps_la_OBJECTS = $(am_print_ps_la_OBJECTS) +print_ps_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_ps_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_ps_la_rpath = -rpath $(pkgmoduledir) print_raw_la_LIBADD = am_print_raw_la_OBJECTS = print-raw.lo print_raw_la_OBJECTS = $(am_print_raw_la_OBJECTS) +print_raw_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(print_raw_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_MODULES_TRUE@am_print_raw_la_rpath = -rpath $(pkgmoduledir) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(color_traditional_la_SOURCES) $(libgutenprint_la_SOURCES) \ $(print_canon_la_SOURCES) $(print_escp2_la_SOURCES) \ $(print_lexmark_la_SOURCES) $(print_olympus_la_SOURCES) \ @@ -178,51 +202,13 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -232,8 +218,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -314,14 +298,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -341,9 +322,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -362,27 +342,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -394,6 +373,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -439,8 +419,11 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) pkgconfigdatadir = $(libdir)/pkgconfig pkgxmldatadir = $(pkgdatadir)/$(VERSION)/xml @@ -610,7 +593,7 @@ 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)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ @@ -621,7 +604,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ @@ -637,7 +620,7 @@ clean-libLTLIBRARIES: done install-pkgmoduleLTLIBRARIES: $(pkgmodule_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(pkgmoduledir)" || $(mkdir_p) "$(DESTDIR)$(pkgmoduledir)" + test -z "$(pkgmoduledir)" || $(MKDIR_P) "$(DESTDIR)$(pkgmoduledir)" @list='$(pkgmodule_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ @@ -648,7 +631,7 @@ install-pkgmoduleLTLIBRARIES: $(pkgmodule_LTLIBRARIES) uninstall-pkgmoduleLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(pkgmodule_LTLIBRARIES)'; for p in $$list; do \ + @list='$(pkgmodule_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkgmoduledir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkgmoduledir)/$$p"; \ @@ -663,23 +646,23 @@ clean-pkgmoduleLTLIBRARIES: rm -f "$${dir}/so_locations"; \ done color-traditional.la: $(color_traditional_la_OBJECTS) $(color_traditional_la_DEPENDENCIES) - $(LINK) $(am_color_traditional_la_rpath) $(color_traditional_la_LDFLAGS) $(color_traditional_la_OBJECTS) $(color_traditional_la_LIBADD) $(LIBS) + $(color_traditional_la_LINK) $(am_color_traditional_la_rpath) $(color_traditional_la_OBJECTS) $(color_traditional_la_LIBADD) $(LIBS) libgutenprint.la: $(libgutenprint_la_OBJECTS) $(libgutenprint_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libgutenprint_la_LDFLAGS) $(libgutenprint_la_OBJECTS) $(libgutenprint_la_LIBADD) $(LIBS) + $(libgutenprint_la_LINK) -rpath $(libdir) $(libgutenprint_la_OBJECTS) $(libgutenprint_la_LIBADD) $(LIBS) print-canon.la: $(print_canon_la_OBJECTS) $(print_canon_la_DEPENDENCIES) - $(LINK) $(am_print_canon_la_rpath) $(print_canon_la_LDFLAGS) $(print_canon_la_OBJECTS) $(print_canon_la_LIBADD) $(LIBS) + $(print_canon_la_LINK) $(am_print_canon_la_rpath) $(print_canon_la_OBJECTS) $(print_canon_la_LIBADD) $(LIBS) print-escp2.la: $(print_escp2_la_OBJECTS) $(print_escp2_la_DEPENDENCIES) - $(LINK) $(am_print_escp2_la_rpath) $(print_escp2_la_LDFLAGS) $(print_escp2_la_OBJECTS) $(print_escp2_la_LIBADD) $(LIBS) + $(print_escp2_la_LINK) $(am_print_escp2_la_rpath) $(print_escp2_la_OBJECTS) $(print_escp2_la_LIBADD) $(LIBS) print-lexmark.la: $(print_lexmark_la_OBJECTS) $(print_lexmark_la_DEPENDENCIES) - $(LINK) $(am_print_lexmark_la_rpath) $(print_lexmark_la_LDFLAGS) $(print_lexmark_la_OBJECTS) $(print_lexmark_la_LIBADD) $(LIBS) + $(print_lexmark_la_LINK) $(am_print_lexmark_la_rpath) $(print_lexmark_la_OBJECTS) $(print_lexmark_la_LIBADD) $(LIBS) print-olympus.la: $(print_olympus_la_OBJECTS) $(print_olympus_la_DEPENDENCIES) - $(LINK) $(am_print_olympus_la_rpath) $(print_olympus_la_LDFLAGS) $(print_olympus_la_OBJECTS) $(print_olympus_la_LIBADD) $(LIBS) + $(print_olympus_la_LINK) $(am_print_olympus_la_rpath) $(print_olympus_la_OBJECTS) $(print_olympus_la_LIBADD) $(LIBS) print-pcl.la: $(print_pcl_la_OBJECTS) $(print_pcl_la_DEPENDENCIES) - $(LINK) $(am_print_pcl_la_rpath) $(print_pcl_la_LDFLAGS) $(print_pcl_la_OBJECTS) $(print_pcl_la_LIBADD) $(LIBS) + $(print_pcl_la_LINK) $(am_print_pcl_la_rpath) $(print_pcl_la_OBJECTS) $(print_pcl_la_LIBADD) $(LIBS) print-ps.la: $(print_ps_la_OBJECTS) $(print_ps_la_DEPENDENCIES) - $(LINK) $(am_print_ps_la_rpath) $(print_ps_la_LDFLAGS) $(print_ps_la_OBJECTS) $(print_ps_la_LIBADD) $(LIBS) + $(print_ps_la_LINK) $(am_print_ps_la_rpath) $(print_ps_la_OBJECTS) $(print_ps_la_LIBADD) $(LIBS) print-raw.la: $(print_raw_la_OBJECTS) $(print_raw_la_DEPENDENCIES) - $(LINK) $(am_print_raw_la_rpath) $(print_raw_la_LDFLAGS) $(print_raw_la_OBJECTS) $(print_raw_la_LIBADD) $(LIBS) + $(print_raw_la_LINK) $(am_print_raw_la_rpath) $(print_raw_la_OBJECTS) $(print_raw_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -737,22 +720,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< @@ -762,13 +745,9 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-pkgconfigdataDATA: $(pkgconfigdata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgconfigdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdatadir)" + test -z "$(pkgconfigdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdatadir)" @list='$(pkgconfigdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -785,7 +764,7 @@ uninstall-pkgconfigdataDATA: done install-pkgxmldataDATA: $(pkgxmldata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgxmldatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgxmldatadir)" + test -z "$(pkgxmldatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgxmldatadir)" @list='$(pkgxmldata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -850,23 +829,21 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -885,7 +862,7 @@ check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) all-local installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgmoduledir)" "$(DESTDIR)$(pkgconfigdatadir)" "$(DESTDIR)$(pkgxmldatadir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -922,7 +899,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -937,12 +914,20 @@ info-am: install-data-am: install-pkgconfigdataDATA \ install-pkgmoduleLTLIBRARIES install-pkgxmldataDATA +install-dvi: install-dvi-am + install-exec-am: install-libLTLIBRARIES +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -963,24 +948,26 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-pkgconfigdataDATA uninstall-pkgmoduleLTLIBRARIES \ - uninstall-pkgxmldataDATA +uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigdataDATA \ + uninstall-pkgmoduleLTLIBRARIES uninstall-pkgxmldataDATA + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ clean-generic clean-libLTLIBRARIES clean-libtool \ clean-pkgmoduleLTLIBRARIES ctags dist-hook distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am \ - install-libLTLIBRARIES install-man install-pkgconfigdataDATA \ - install-pkgmoduleLTLIBRARIES install-pkgxmldataDATA \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-info-am uninstall-libLTLIBRARIES \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-pkgconfigdataDATA install-pkgmoduleLTLIBRARIES \ + install-pkgxmldataDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-libLTLIBRARIES \ uninstall-pkgconfigdataDATA uninstall-pkgmoduleLTLIBRARIES \ uninstall-pkgxmldataDATA diff --git a/src/main/buffer-image.c b/src/main/buffer-image.c index 030d398..8113a90 100644 --- a/src/main/buffer-image.c +++ b/src/main/buffer-image.c @@ -120,6 +120,8 @@ buffered_image_conclude(stp_image_t * image) if(priv->image->conclude) priv->image->conclude(priv->image); + stp_free(priv); + stp_free(image); } stp_image_t* @@ -141,6 +143,7 @@ stpi_buffer_image(stp_image_t* image, unsigned int flags) buffered_image->width = buffered_image_width; buffered_image->height = buffered_image_height; buffered_image->get_row = buffered_image_get_row; + buffered_image->conclude = buffered_image_conclude; priv->image = image; priv->flags = flags; if(image->get_appname) diff --git a/src/main/canon-inks.h b/src/main/canon-inks.h index 458cb2a..a3a3fbb 100644 --- a/src/main/canon-inks.h +++ b/src/main/canon-inks.h @@ -280,6 +280,18 @@ 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}, + {'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_C3M3Y2K2_c_inkset[] = { {'C',1.0,&canon_2b_3l_c_ink}, {'M',1.0,&canon_2b_3l_c_ink}, @@ -292,6 +304,7 @@ static const canon_inkset_t canon_9_C3M3Y2K2_c_inkset[] = { {0,0.0,NULL} }; +/* iP4000 default print mode (quality 2) */ static const canon_inkset_t canon_9_C3M3Y2K2k3_c_inkset[] = { {'C',1.0,&canon_2b_3l_c_ink}, {'M',1.0,&canon_2b_3l_c_ink}, @@ -304,18 +317,47 @@ static const canon_inkset_t canon_9_C3M3Y2K2k3_c_inkset[] = { {0,0.0,NULL} }; -static const canon_inkset_t canon_9_C4M4Y4K2c4m4k4_inkset[] = { +/* 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}, + {'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}, + {'k',1.0,&canon_2b_3l_c_ink}, + {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}, {'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}, +}; + +/* iP4000 mode used for CD printing (quality 3) */ +static const canon_inkset_t canon_9_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}, {'c',0.5,&canon_2b_4l_ink}, {'m',0.5,&canon_2b_4l_ink}, {0,0.0,NULL}, - {'k',0.5,&canon_2b_4l_ink}, + {'k',1.0,&canon_2b_4l_ink}, {0,0.0,NULL} }; + +/* iP4000 mode used for Professional Photo Paper in Quality 4 */ static const canon_inkset_t canon_9_C8M8Y8c16m16k8_inkset[] = { {'C',1.0,&canon_4b_8l_ink}, {'M',1.0,&canon_4b_8l_ink}, @@ -328,6 +370,21 @@ static const canon_inkset_t canon_9_C8M8Y8c16m16k8_inkset[] = { {0,0.0,NULL} }; +/* PIXMA Pro9500, 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}, + {'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} +}; + static const canon_inkset_t canon_13_C3M3Y2K2_inkset[] = { {'C',1.0,&canon_2b_3l_ink}, {'M',1.0,&canon_2b_3l_ink}, @@ -344,6 +401,23 @@ static const canon_inkset_t canon_13_C3M3Y2K2_inkset[] = { {0,0.0,NULL}, }; +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}, + {'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}, + {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}, @@ -391,6 +465,31 @@ static const canon_inkset_t canon_22_C3M3Y2K2k3_c_inkset[] = { {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}, +}; + static const canon_inkset_t canon_22_C4M4Y4K2c4m4k4_inkset[] = { {'C',1.0,&canon_2b_4l_ink}, {'M',1.0,&canon_2b_4l_ink}, @@ -416,5 +515,30 @@ static const canon_inkset_t canon_22_C4M4Y4K2c4m4k4_inkset[] = { {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}, +}; + #endif diff --git a/src/main/canon-media.h b/src/main/canon-media.h index d6ed971..11e5ef2 100644 --- a/src/main/canon-media.h +++ b/src/main/canon-media.h @@ -79,12 +79,6 @@ typedef struct { const char *text; /* Translateable name */ unsigned char media_code_c; /* Media Code used for the ESC (c (SetColor) command */ unsigned char media_code_l; /* Media Code used for the ESC (l (SetTray) command */ - unsigned int qualities; -#define Q0 0 /* lowest quality */ -#define Q1 1 -#define Q2 2 -#define Q3 4 -#define Q4 8 /* highest quality */ double base_density; double k_lower_scale; double k_upper; @@ -110,35 +104,35 @@ static const canon_paperlist_t name##_paperlist = { \ /* paperlists for the various printers. The first entry will be the default */ static const canon_paper_t canon_default_papers[] = { - { "Plain", N_ ("Plain Paper"), 0x00, 0x00,Q2,0.50, 0.25, 0.500, 0, 0, 0 }, - { "Transparency", N_ ("Transparencies"), 0x02, 0x02,Q2,1.00, 1.00, 0.900, 0, 0, 0 }, - { "BackPrint", N_ ("Back Print Film"), 0x03, 0x03,Q2,1.00, 1.00, 0.900, 0, 0, 0 }, - { "Fabric", N_ ("Fabric Sheets"), 0x04, 0x04,Q2,0.50, 0.25, 0.500, 0, 0, 0 }, - { "Envelope", N_ ("Envelope"), 0x08, 0x08,Q2,0.50, 0.25, 0.500, 0, 0, 0 }, - { "Coated", N_ ("High Resolution Paper"), 0x07, 0x07,Q2,0.78, 0.25, 0.500, 0, 0, 0 }, - { "TShirt", N_ ("T-Shirt Transfers"), 0x03, 0x03,Q2,0.50, 0.25, 0.500, 0, 0, 0 }, - { "GlossyFilm", N_ ("High Gloss Film"), 0x06, 0x06,Q2,1.00, 1.00, 0.999, 0, 0, 0 }, - { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05, 0x05,Q2,1.00, 1.00, 0.999, 0, 0, 0 }, - { "GlossyCard", N_ ("Glossy Photo Cards"), 0x0a, 0x0a,Q2,1.00, 1.00, 0.999, 0, 0, 0 }, - { "GlossyPro", N_ ("Photo Paper Pro"), 0x09, 0x09,Q2,1.00, 1.00, 0.999, 0, 0, 0 }, - { "Other", N_ ("Other"), 0x00, 0x00,Q2,0.50, 0.25, .5, 0, 0, 0 }, + { "Plain", N_ ("Plain Paper"), 0x00, 0x00,0.50, 0.25, 0.500, 0, 0, 0 }, + { "Transparency", N_ ("Transparencies"), 0x02, 0x02,1.00, 1.00, 0.900, 0, 0, 0 }, + { "BackPrint", N_ ("Back Print Film"), 0x03, 0x03,1.00, 1.00, 0.900, 0, 0, 0 }, + { "Fabric", N_ ("Fabric Sheets"), 0x04, 0x04,0.50, 0.25, 0.500, 0, 0, 0 }, + { "Envelope", N_ ("Envelope"), 0x08, 0x08,0.50, 0.25, 0.500, 0, 0, 0 }, + { "Coated", N_ ("High Resolution Paper"), 0x07, 0x07,0.78, 0.25, 0.500, 0, 0, 0 }, + { "TShirt", N_ ("T-Shirt Transfers"), 0x03, 0x03,0.50, 0.25, 0.500, 0, 0, 0 }, + { "GlossyFilm", N_ ("High Gloss Film"), 0x06, 0x06,1.00, 1.00, 0.999, 0, 0, 0 }, + { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05, 0x05,1.00, 1.00, 0.999, 0, 0, 0 }, + { "GlossyCard", N_ ("Glossy Photo Cards"), 0x0a, 0x0a,1.00, 1.00, 0.999, 0, 0, 0 }, + { "GlossyPro", N_ ("Photo Paper Pro"), 0x09, 0x09,1.00, 1.00, 0.999, 0, 0, 0 }, + { "Other", N_ ("Other"), 0x00, 0x00,0.50, 0.25, .5, 0, 0, 0 }, }; DECLARE_PAPERS(canon_default); static const canon_paper_t canon_PIXMA_iP4000_papers[] = { - { "Plain", N_ ("Plain Paper"), 0x00,0x00,Q0|Q1|Q2|Q3,1.00, 0.25, 0.500, 0, 0, 0 }, - { "Transparency", N_ ("Transparencies"), 0x02,0x02,Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, - { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,Q2,0.78, 0.25, 0.500, 0, 0, 0 }, - { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, - { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, - { "Envelope", N_ ("Envelope"), 0x08,0x08,Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, - { "PhotopaperPro", N_ ("Professional Photo Paper"), 0x09,0x0d,Q2|Q3|Q4,0.78, 0.25, 0.500, 0, 0, 0 }, - { "PhotopaperMatte", N_ ("Photo Paper Matte"), 0x0a,0x10,Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, - { "PhotopaperPlus", N_ ("Glossy Photo Paper Plus"), 0x0b,0x11,Q1|Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, - { "CD", N_ ("CD"), 0x00,0x12,Q2|Q3|Q4,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Plain", N_ ("Plain Paper"), 0x00,0x00,1.00, 0.25, 0.500, 0, 0, 0 }, + { "Transparency", N_ ("Transparencies"), 0x02,0x02,0.78, 0.25, 0.500, 0, 0, 0 }, + { "TShirt", N_ ("T-Shirt Transfers"), 0x03,0x03,0.78, 0.25, 0.500, 0, 0, 0 }, + { "GlossyPaper", N_ ("Glossy Photo Paper"), 0x05,0x05,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Coated", N_ ("High Resolution Paper"), 0x07,0x07,0.78, 0.25, 0.500, 0, 0, 0 }, + { "Envelope", N_ ("Envelope"), 0x08,0x08,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperPro", N_ ("Professional Photo Paper"), 0x09,0x0d,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperMatte", N_ ("Photo Paper Matte"), 0x0a,0x10,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperPlus", N_ ("Glossy Photo Paper Plus"), 0x0b,0x11,0.78, 0.25, 0.500, 0, 0, 0 }, + { "CD", N_ ("CD"), 0x00,0x12,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,Q2,0.78, 0.25, 0.500, 0, 0, 0 }, - { "PhotopaperPlusDouble", N_ ("Photoper Plus Double-Sided"), 0x10,0x15,Q2|Q3,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperOther", N_ ("Other Photo Paper"), 0x0f,0x14,0.78, 0.25, 0.500, 0, 0, 0 }, + { "PhotopaperPlusDouble", N_ ("Photoper Plus Double-Sided"), 0x10,0x15,0.78, 0.25, 0.500, 0, 0, 0 }, }; DECLARE_PAPERS(canon_PIXMA_iP4000); diff --git a/src/main/canon-modes.h b/src/main/canon-modes.h index 42e7f8b..815481b 100644 --- a/src/main/canon-modes.h +++ b/src/main/canon-modes.h @@ -27,6 +27,36 @@ #ifndef GUTENPRINT_INTERNAL_CANON_MODES_H #define GUTENPRINT_INTERNAL_CANON_MODES_H +static const char iP4200_300dpi_lum_adjustment[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n" +/* C */ "1.60 1.60 1.60 1.60 1.60 1.60 1.60 1.60 " /* B */ +/* B */ "1.60 1.60 1.60 1.60 1.60 1.60 1.60 1.60 " /* M */ +/* M */ "1.60 1.60 1.55 1.50 1.45 1.40 1.35 1.35 " /* R */ +/* R */ "1.35 1.35 1.35 1.35 1.35 1.35 1.35 1.35 " /* Y */ +/* Y */ "1.35 1.42 1.51 1.58 1.60 1.60 1.60 1.60 " /* G */ +/* G */ "1.60 1.60 1.60 1.60 1.60 1.60 1.60 1.60 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + +static const char iP4200_300dpi_draft_lum_adjustment[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n" +/* C */ "2.13 2.15 2.20 2.25 2.30 2.35 2.40 2.40 " /* B */ +/* B */ "2.40 2.40 2.35 2.30 2.22 2.10 2.08 1.92 " /* M */ +/* M */ "1.90 1.85 1.80 1.70 1.60 1.55 1.42 1.35 " /* R */ +/* R */ "1.35 1.35 1.35 1.35 1.30 1.34 1.38 1.40 " /* Y */ +/* Y */ "1.40 1.45 1.55 1.68 1.80 1.92 2.02 2.10 " /* G */ +/* G */ "2.10 2.05 1.95 1.90 2.00 2.10 2.11 2.13 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + /* delay settings sometimes the raster data has to be sent | K | @@ -74,12 +104,15 @@ 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_IP8500 0x10 /* special ink settings for the PIXMA iP8500 */ const canon_delay_t* delay; /* delay settings for this printmode */ const double density; /* density multiplier */ const double gamma; /* gamma multiplier */ const char *lum_adjustment; /* optional lum adj. */ const char *hue_adjustment; /* optional hue adj. */ const char *sat_adjustment; /* optional sat adj. */ + const int quality; /* quality (unused for some printers, default is usually 2) */ } canon_mode_t; #define INKSET(a) sizeof(canon_##a##_inkset)/sizeof(canon_inkset_t),canon_##a##_inkset @@ -103,65 +136,65 @@ static const canon_modelist_t name##_modelist = { \ /* modelist for every printer,modes ordered by ascending resolution ink_type and quality */ static const canon_mode_t canon_BJC_30_modes[] = { - { 180, 180,CANON_INK_K,"180x180dpi",N_("180x180 DPI"),INKSET(1_K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_K,"360x360dpi",N_("360x360 DPI"),INKSET(1_K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 720, 360,CANON_INK_K,"720x360dpi",N_("720x360 DPI"),INKSET(1_K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 180, 180,CANON_INK_K,"180x180dpi",N_("180x180 DPI"),INKSET(1_K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_K,"360x360dpi",N_("360x360 DPI"),INKSET(1_K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 720, 360,CANON_INK_K,"720x360dpi",N_("720x360 DPI"),INKSET(1_K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_30,0); static const canon_mode_t canon_BJC_85_modes[] = { { 360, 360,CANON_INK_K | CANON_INK_CMYK | CANON_INK_CcMmYK, - "360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + "360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 360, 360,CANON_INK_K | CANON_INK_CMYK | CANON_INK_CcMmYK, - "360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.0,1.0,NULL,NULL,NULL}, + "360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 720, 360,CANON_INK_K | CANON_INK_CMYK | CANON_INK_CcMmYK, - "720x360dpi",N_("720x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + "720x360dpi",N_("720x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_85,0); /* we treat the printers that can either print in K or CMY as CMYK printers here by assigning a CMYK inkset */ static const canon_mode_t canon_BJC_210_modes[] = { - { 90, 90,CANON_INK_K | CANON_INK_CMY,"90x90dpi",N_("90x90 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 180, 180,CANON_INK_K | CANON_INK_CMY,"180x180dpi",N_("180x180 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_K | CANON_INK_CMY,"360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 720, 360,CANON_INK_K | CANON_INK_CMY,"720x360dpi",N_("720x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 90, 90,CANON_INK_K | CANON_INK_CMY,"90x90dpi",N_("90x90 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 180, 180,CANON_INK_K | CANON_INK_CMY,"180x180dpi",N_("180x180 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_K | CANON_INK_CMY,"360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 720, 360,CANON_INK_K | CANON_INK_CMY,"720x360dpi",N_("720x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_210,0); static const canon_mode_t canon_BJC_240_modes[] = { - { 90, 90,CANON_INK_K | CANON_INK_CMY,"90x90dpi",N_("90x90 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 180, 180,CANON_INK_K | CANON_INK_CMY,"180x180dpi",N_("180x180 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_K | CANON_INK_CMY,"360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_K | CANON_INK_CMY,"360x360dmt",N_("360x360 DMT"),INKSET(4_C4M4Y4K4),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 720, 360,CANON_INK_K | CANON_INK_CMY,"720x360dpi",N_("720x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 90, 90,CANON_INK_K | CANON_INK_CMY,"90x90dpi",N_("90x90 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 180, 180,CANON_INK_K | CANON_INK_CMY,"180x180dpi",N_("180x180 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_K | CANON_INK_CMY,"360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_K | CANON_INK_CMY,"360x360dmt",N_("360x360 DMT"),INKSET(4_C4M4Y4K4),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 720, 360,CANON_INK_K | CANON_INK_CMY,"720x360dpi",N_("720x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_240,0); static const canon_mode_t canon_BJC_2000_modes[] = { - { 180, 180,CANON_INK_CMYK,"180x180dpi",N_("180x180 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_CMYK,"360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 180, 180,CANON_INK_CMYK,"180x180dpi",N_("180x180 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_CMYK,"360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_2000,0); static const canon_mode_t canon_BJC_3000_modes[] = { - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 720, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"720x720dpi",N_("720x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 1440, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"1440x720dpi",N_("1440x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,delay_1440,1.0,1.0,NULL,NULL,NULL}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 720, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"720x720dpi",N_("720x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1440, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"1440x720dpi",N_("1440x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,delay_1440,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_3000,0); static const canon_mode_t canon_BJC_4300_modes[] = { - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 720, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"720x720dpi",N_("720x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 1440, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"1440x720dpi",N_("1440x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,delay_1440,1.0,1.0,NULL,NULL,NULL}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 720, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"720x720dpi",N_("720x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1440, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"1440x720dpi",N_("1440x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,delay_1440,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_4300,0); @@ -169,88 +202,108 @@ DECLARE_MODES(canon_BJC_4300,0); static const canon_mode_t canon_BJC_4400_modes[] = { { 360, 360,CANON_INK_K | CANON_INK_CMYK | CANON_INK_CcMmYK, - "360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + "360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, { 720, 360,CANON_INK_K | CANON_INK_CMYK | CANON_INK_CcMmYK, - "720x360dpi",N_("720x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + "720x360dpi",N_("720x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_4400,0); static const canon_mode_t canon_BJC_5500_modes[] = { - { 180, 180,CANON_INK_CMYK | CANON_INK_CcMmYK,"180x180dpi",N_("180x180 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 180, 180,CANON_INK_CMYK | CANON_INK_CcMmYK,"180x180dpi",N_("180x180 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_5500,0); static const canon_mode_t canon_BJC_6000_modes[] = { - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.8,1.0,NULL,NULL,NULL}, - { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.8,1.0,NULL,NULL,NULL}, - { 720, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"720x720dpi",N_("720x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 1440, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"1440x720dpi",N_("1440x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,delay_1440,0.5,1.0,NULL,NULL,NULL}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dpi",N_("360x360 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.8,1.0,NULL,NULL,NULL,2}, + { 360, 360,CANON_INK_CMYK | CANON_INK_CcMmYK,"360x360dmt",N_("360x360 DPI DMT"),INKSET(6_C4M4Y4K4c4m4),0,NULL,1.8,1.0,NULL,NULL,NULL,2}, + { 720, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"720x720dpi",N_("720x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1440, 720,CANON_INK_CMYK | CANON_INK_CcMmYK,"1440x720dpi",N_("1440x720 DPI"),INKSET(6_C2M2Y2K2c2m2),0,delay_1440,0.5,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_6000,0); static const canon_mode_t canon_BJC_7000_modes[] = { - { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYyK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,3.5,1.0,NULL,NULL,NULL}, - { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.8,1.0,NULL,NULL,NULL}, - { 1200, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"1200x600dpi",N_("1200x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYyK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,3.5,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.8,1.0,NULL,NULL,NULL,2}, + { 1200, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"1200x600dpi",N_("1200x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_7000,0); +static const canon_mode_t canon_BJC_i560_modes[] = { + { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYyK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,3.5,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.8,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_BJC_i560,0); static const canon_mode_t canon_BJC_7100_modes[] = { - { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYyK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 1200, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"1200x600dpi",N_("1200x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYyK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1200, 600,CANON_INK_CMYK | CANON_INK_CcMmYyK,"1200x600dpi",N_("1200x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_7100,0); +static const canon_mode_t canon_BJC_i80_modes[] = { + { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, +}; +DECLARE_MODES(canon_BJC_i80,0); + + static const canon_mode_t canon_BJC_8200_modes[] = { - { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 1200,1200,CANON_INK_CMYK,"1200x1200dpi",N_("1200x1200 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 300, 300,CANON_INK_CMYK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 1200,1200,CANON_INK_CMYK,"1200x1200dpi",N_("1200x1200 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_8200,0); static const canon_mode_t canon_BJC_8500_modes[] = { - { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL}, + { 300, 300,CANON_INK_CMYK | CANON_INK_CcMmYK,"300x300dpi",N_("300x300 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, + { 600, 600,CANON_INK_CMYK | CANON_INK_CcMmYK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_BJC_8500,0); static const canon_mode_t canon_S200_modes[] = { { 360, 360,CANON_INK_CMYK | CANON_INK_CMY | CANON_INK_K, - "360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,delay_S200,2.0,1.0,NULL,NULL,NULL}, + "360x360dpi",N_("360x360 DPI"),INKSET(4_C2M2Y2K2),0,delay_S200,2.0,1.0,NULL,NULL,NULL,2}, { 720, 720,CANON_INK_CMYK | CANON_INK_CMY | CANON_INK_K, - "720x720dpi",N_("720x720 DPI"),INKSET(4_C2M2Y2K2),MODE_FLAG_WEAVE,delay_S200,1.0,1.0,NULL,NULL,NULL}, + "720x720dpi",N_("720x720 DPI"),INKSET(4_C2M2Y2K2),MODE_FLAG_WEAVE,delay_S200,1.0,1.0,NULL,NULL,NULL,2}, { 1440, 720,CANON_INK_CMYK | CANON_INK_CMY | CANON_INK_K, - "1440x720dpi",N_("1440x720 DPI"),INKSET(4_C2M2Y2K2),MODE_FLAG_WEAVE,delay_S200,0.5,1.0,NULL,NULL,NULL}, + "1440x720dpi",N_("1440x720 DPI"),INKSET(4_C2M2Y2K2),MODE_FLAG_WEAVE,delay_S200,0.5,1.0,NULL,NULL,NULL,2}, { 1440,1440,CANON_INK_CMYK | CANON_INK_CMY | CANON_INK_K, - "1440x1440dpi",N_("1440x1440 DPI"),INKSET(4_C2M2Y2K2),MODE_FLAG_WEAVE,delay_S200,0.3,1.0,NULL,NULL,NULL}, + "1440x1440dpi",N_("1440x1440 DPI"),INKSET(4_C2M2Y2K2),MODE_FLAG_WEAVE,delay_S200,0.3,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_S200,0); +static const canon_mode_t canon_S500_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(9_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL,1}, + { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(6_C2M2Y2K2c2m2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, +/* { 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,3}, */ +}; +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}, + { 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}, }; DECLARE_MODES(canon_PIXMA_iP2000,0); static const canon_mode_t canon_PIXMA_iP3000_modes[] = { - { 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}, + { 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}, }; -DECLARE_MODES(canon_PIXMA_iP3000,0); +DECLARE_MODES(canon_PIXMA_iP3000,1); 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}, - { 600, 600,CANON_INK_CMYK,"600x600dpi_draft",N_("600x600 DPI DRAFT"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL}, - { 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}, + { 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}, /* { 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}, */ }; @@ -258,28 +311,52 @@ DECLARE_MODES(canon_PIXMA_iP4000,2); static const canon_mode_t canon_PIXMA_iP4200_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}, + /* 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}, + /* 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}, + /* 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}, */ }; -DECLARE_MODES(canon_PIXMA_iP4200,0); +DECLARE_MODES(canon_PIXMA_iP4200,2); static const canon_mode_t canon_PIXMA_iP6700_modes[] = { - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(19_C3M3Y3k3),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL}, + { 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}, }; DECLARE_MODES(canon_PIXMA_iP6700,0); static const canon_mode_t canon_MULTIPASS_MP150_modes[] = { - { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(13_C3M3Y2K2),MODE_FLAG_EXTENDED_T,NULL,1.0,1.0,NULL,NULL,NULL}, + { 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}, }; DECLARE_MODES(canon_MULTIPASS_MP150,0); +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}, +}; +DECLARE_MODES(canon_PIXMA_iP5300,0); 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}, + { 600, 600,CANON_INK_CMYK,"600x600dpi",N_("600x600 DPI"),INKSET(4_C2M2Y2K2),0,NULL,1.0,1.0,NULL,NULL,NULL,2}, }; DECLARE_MODES(canon_MULTIPASS_MP830,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}, +}; +DECLARE_MODES(canon_PIXMA_iX5000,0); + +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}, +}; +DECLARE_MODES(canon_PIXMA_Pro9500,0); + +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}, +}; +DECLARE_MODES(canon_PIXMA_iP8500,0); + #endif diff --git a/src/main/canon-printers.h b/src/main/canon-printers.h index 82a0536..b136a41 100644 --- a/src/main/canon-printers.h +++ b/src/main/canon-printers.h @@ -29,7 +29,7 @@ typedef struct canon_caps { - int model; /* model number as used in printers.xml */ + const char* name; /* model name */ int model_id; /* model ID code for use in commands */ int max_width; /* maximum printable paper size */ int max_height; @@ -93,6 +93,51 @@ static const char standard_hue_adjustment[] = "</curve>\n" "</gutenprint>\n"; +static const char iP4200_sat_adjustment[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n" +/* C */ "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 " /* B */ +/* B */ "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 " /* M */ +/* M */ "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 " /* R */ +/* R */ "1.00 1.00 1.05 1.10 1.20 1.26 1.34 1.41 " /* Y */ +/* Y */ "1.38 1.32 1.24 1.15 1.08 1.00 1.00 1.00 " /* G */ +/* G */ "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + +static const char iP4200_lum_adjustment[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n" +/* C */ "0.52 0.56 0.61 0.67 0.79 0.86 0.91 0.98 " /* B */ +/* B */ "0.97 0.87 0.84 0.81 0.78 0.76 0.74 0.73 " /* M */ +/* M */ "0.74 0.76 0.78 0.83 0.86 0.90 0.98 1.04 " /* R */ +/* R */ "1.04 1.04 1.04 1.04 1.03 1.03 1.03 1.02 " /* Y */ +/* Y */ "1.02 0.97 0.92 0.88 0.83 0.78 0.74 0.71 " /* G */ +/* G */ "0.70 0.62 0.59 0.53 0.48 0.52 0.53 0.51 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + +static const char iP4200_hue_adjustment[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n" +/* C */ "0.00 -.20 -.30 -.40 -.40 -.30 -.20 0.00 " /* B */ +/* B */ "0.00 -.04 -.01 0.08 0.14 0.16 0.09 0.00 " /* M */ +/* M */ "0.00 0.00 -.05 -.07 -.10 -.08 -.06 0.00 " /* R */ +/* R */ "0.00 0.04 0.08 0.10 0.13 0.10 0.07 0.00 " /* Y */ +/* Y */ "0.00 -.11 -.18 -.23 -.30 -.37 -.46 -.54 " /* G */ +/* G */ "-.53 -.52 -.57 -.50 -.41 -.25 -.17 0.00 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + static const char* control_cmd_ackshort[] = { "AckTime=Short", NULL @@ -106,7 +151,13 @@ static const char* control_cmd_PIXMA_iP4000[] = { NULL }; - +static const char* control_cmd_PIXMA_iP4200[] = { +/*"SetTime=20060722092503", */ /*original driver sends current time, is it needed?*/ + "SetSilent=OFF", + "PEdgeDetection=ON", + NULL +}; + static const char* control_cmd_MULTIPASS_MP150[] = { "AckTime=Short", "MediaDetection=ON", @@ -115,6 +166,19 @@ static const char* control_cmd_MULTIPASS_MP150[] = { static const canon_cap_t canon_model_capabilities[] = { + /* the first printer is used as default in case something has gone wrong in printers.xml */ + { /* Canon MULTIPASS MP830 */ + "PIXMA MP830", 3, /*model, model_id*/ + 842, 17*72, /* max paper width and height */ + 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_iP4000_slotlist, + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150, /*features */ + &canon_MULTIPASS_MP830_modelist, + &canon_PIXMA_iP4000_paperlist, + NULL, + NULL, + NULL + }, /* ******************************** */ /* */ /* tested and color-adjusted models */ @@ -131,7 +195,7 @@ static const canon_cap_t canon_model_capabilities[] = /* ************************************ */ { /* Canon S200x *//* heads: BC-24 */ - 4202, 3, + "S200", 3, 618, 936, /* 8.58" x 13 " */ 10, 10, 9, 20, &canon_default_slotlist, @@ -144,7 +208,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJC S300 */ - 8201, 3, + "S300", 3, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -157,7 +221,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJ 30 *//* heads: BC-10 */ - 30, 1, + "30", 1, 9.5*72, 14*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -169,7 +233,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 85 *//* heads: BC-20 BC-21 BC-22 */ - 85, 1, + "85", 1, 9.5*72, 14*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -182,7 +246,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJC 4300 *//* heads: BC-20 BC-21 BC-22 BC-29 */ - 4300, 1, + "4300", 1, 618, 936, /* 8.58" x 13 " */ 11, 9, 10, 18, &canon_default_slotlist, @@ -195,7 +259,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJC 4400 *//* heads: BC-20 BC-21 BC-22 BC-29 */ - 4400, 1, + "4400", 1, 9.5*72, 14*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -208,7 +272,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJC 6000 *//* heads: BC-30/BC-31 BC-32/BC-31 */ - 6000, 3, + "6000", 3, 618, 936, /* 8.58" x 13 " */ 11, 9, 10, 18, &canon_default_slotlist, @@ -221,7 +285,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJC 6200 *//* heads: BC-30/BC-31 BC-32/BC-31 */ - 6200, 3, + "6200", 3, 618, 936, /* 8.58" x 13 " */ 11, 9, 10, 18, &canon_default_slotlist, @@ -234,7 +298,7 @@ static const canon_cap_t canon_model_capabilities[] = }, { /* Canon BJC 6500 *//* heads: BC-30/BC-31 BC-32/BC-31 */ - 6500, 3, + "6500", 3, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -246,7 +310,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 8200 *//* heads: BC-50 */ - 8200, 3, + "8200", 3, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -257,6 +321,18 @@ static const canon_cap_t canon_model_capabilities[] = NULL, NULL }, + { /* Canon S500 */ + "S500", 3, + 842, 17*72, + 10, 10, 15, 15, + &canon_default_slotlist, + CANON_CAP_STD0 | CANON_CAP_r | CANON_CAP_p,0x61,control_cmd_ackshort, + &canon_S500_modelist, + &canon_default_paperlist, + NULL, + NULL, + NULL + }, /* *************** */ @@ -266,7 +342,7 @@ static const canon_cap_t canon_model_capabilities[] = /* *************** */ { /* Canon BJC 210 *//* heads: BC-02 BC-05 BC-06 */ - 210, 1, + "210", 1, 618, 936, /* 8.58" x 13 " */ 11, 9, 10, 18, &canon_default_slotlist, @@ -278,7 +354,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 240 *//* heads: BC-02 BC-05 BC-06 */ - 240, 1, + "240", 1, 618, 936, /* 8.58" x 13 " */ 11, 9, 10, 18, &canon_default_slotlist, @@ -290,7 +366,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 250 *//* heads: BC-02 BC-05 BC-06 */ - 250, 1, + "250", 1, 618, 936, /* 8.58" x 13 " */ 11, 9, 10, 18, &canon_default_slotlist, @@ -302,7 +378,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 1000 *//* heads: BC-02 BC-05 BC-06 */ - 1000, 1, + "1000", 1, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -314,7 +390,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 2000 *//* heads: BC-20 BC-21 BC-22 BC-29 */ - 2000, 1, + "2000", 1, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -326,11 +402,11 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 3000 *//* heads: BC-30 BC-33 BC-34 */ - 3000, 3, + "3000", 3, 842, 17*72, - 11, 9, 10, 18, + 10, 10, 9, 15, &canon_default_slotlist, - CANON_CAP_STD0 | CANON_CAP_a,0,NULL, /*FIX? should have _r? */ + CANON_CAP_STD0 | CANON_CAP_a | CANON_CAP_p,0,NULL, /*FIX? should have _r? */ &canon_BJC_3000_modelist, &canon_default_paperlist, NULL, @@ -338,7 +414,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 6100 *//* heads: BC-30/BC-31 BC-32/BC-31 */ - 6100, 3, + "6100", 3, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -350,7 +426,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 7000 *//* heads: BC-60/BC-61 BC-60/BC-62 ??????? */ - 7000, 3, + "7000", 3, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -361,8 +437,20 @@ static const canon_cap_t canon_model_capabilities[] = NULL, NULL }, + { /* Canon BJC i560 */ + "i560", 3, + 842, 17*72, + 11, 9, 10, 18, + &canon_default_slotlist, + CANON_CAP_STD1,0,NULL, + &canon_BJC_i560_modelist, + &canon_default_paperlist, + NULL, + NULL, + NULL + }, { /* Canon BJC 7100 *//* heads: BC-60/BC-61 BC-60/BC-62 ??????? */ - 7100, 3, + "7100", 3, 842, 17*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -373,6 +461,18 @@ static const canon_cap_t canon_model_capabilities[] = NULL, NULL }, + { /* Canon BJC i80 *//* heads: BC-60/BC-61 BC-60/BC-62 ??????? */ + "i80", 3, + 842, 17*72, + 11, 9, 10, 18, + &canon_default_slotlist, + CANON_CAP_STD0,0,NULL, + &canon_BJC_i80_modelist, + &canon_default_paperlist, + NULL, + NULL, + NULL + }, /*****************************/ /* */ @@ -382,7 +482,7 @@ static const canon_cap_t canon_model_capabilities[] = /*****************************/ { /* Canon BJC 5100 *//* heads: BC-20 BC-21 BC-22 BC-23 BC-29 */ - 5100, 1, + "5100", 1, 17*72, 22*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -394,7 +494,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 5500 *//* heads: BC-20 BC-21 BC-29 */ - 5500, 1, + "5500", 1, 22*72, 34*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -406,7 +506,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 6500 *//* heads: BC-30/BC-31 BC-32/BC-31 */ - 6500, 3, + "6500", 3, 17*72, 22*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -418,7 +518,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon BJC 8500 *//* heads: BC-80/BC-81 BC-82/BC-81 */ - 8500, 3, + "8500", 3, 17*72, 22*72, 11, 9, 10, 18, &canon_default_slotlist, @@ -430,7 +530,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon PIXMA iP2000 */ - 9001, 3, /*model, model_id*/ + "PIXMA iP2000", 3, /*model, model_id*/ 842, 17*72, /* max paper width and height */ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ &canon_PIXMA_iP4000_slotlist, @@ -442,7 +542,7 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon PIXMA iP3000 */ - 3999, 3, /*model, model_id*/ + "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 */ &canon_PIXMA_iP4000_slotlist, @@ -454,31 +554,67 @@ static const canon_cap_t canon_model_capabilities[] = NULL }, { /* Canon PIXMA iP4000 */ - 4000, 3, /*model, model_id*/ + "PIXMA iP4000", 3, /*model, model_id*/ 842, 17*72, /* max paper width and height */ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ &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_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px /*|CANON_CAP_I*/,0x64,control_cmd_PIXMA_iP4000, /*features */ &canon_PIXMA_iP4000_modelist, &canon_PIXMA_iP4000_paperlist, NULL, NULL, NULL }, - { /* Canon PIXMA iP4200 */ - 4200, 3, /*model, model_id*/ + { /* PIXMA MP740 (== iP4000 without duplex) */ + "PIXMA MP740", 3, /*model, model_id*/ 842, 17*72, /* max paper width and height */ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ &canon_PIXMA_iP4000_slotlist, - CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */ - &canon_PIXMA_iP4200_modelist, + CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px /*,|CANON_CAP_I*/,0x64,control_cmd_PIXMA_iP4000, /*features */ + &canon_PIXMA_iP4000_modelist, + &canon_PIXMA_iP4000_paperlist, + NULL, + NULL, + NULL, + }, + { /* Canon PIXMA iP5300, MP610 */ + "PIXMA iP5300", 3, /*model, model_id*/ + 842, 17*72, /* max paper width and height */ + 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ + &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, NULL, NULL, NULL }, + { /* Canon PIXMA iP4500 */ + "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 */ + &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, + NULL, + NULL, + NULL + }, + { /* Canon PIXMA iP4200 */ + "PIXMA iP4200", 3, /*model, model_id*/ + 842, 17*72, /* max paper width and height */ + 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_iP4000_slotlist, + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4200, /*features */ + &canon_PIXMA_iP4200_modelist, + &canon_PIXMA_iP4000_paperlist, + iP4200_lum_adjustment, + iP4200_hue_adjustment, + iP4200_sat_adjustment + }, { /* Canon PIXMA iP6700 */ - 4203, 3, /*model, model_id*/ + "PIXMA iP6700", 3, /*model, model_id*/ 842, 17*72, /* max paper width and height */ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ &canon_PIXMA_iP4000_slotlist, @@ -489,25 +625,49 @@ static const canon_cap_t canon_model_capabilities[] = NULL, NULL }, - { /* Canon MULTIPASS MP150 */ - 4201, 3, /*model, model_id*/ + { /* 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 */ &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_MULTIPASS_MP150_modelist, + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */ + &canon_PIXMA_iX5000_modelist, &canon_PIXMA_iP4000_paperlist, NULL, NULL, NULL }, - { /* Canon MULTIPASS MP830 */ - 9000, 3, /*model, model_id*/ + { /* Canon PIXMA Pro9500 */ + "PIXMA Pro9500", 3, /*model, model_id*/ 842, 17*72, /* max paper width and height */ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ &canon_PIXMA_iP4000_slotlist, - CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150, /*features */ - &canon_MULTIPASS_MP830_modelist, + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */ + &canon_PIXMA_Pro9500_modelist, + &canon_PIXMA_iP4000_paperlist, + NULL, + NULL, + NULL + }, + { /* Canon PIXMA iP8500 */ + "PIXMA iP8500", 3, /*model, model_id*/ + 842, 17*72, /* max paper width and height */ + 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ + &canon_PIXMA_iP4000_slotlist, + CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */ + &canon_PIXMA_iP8500_modelist, + &canon_PIXMA_iP4000_paperlist, + NULL, + NULL, + NULL + }, + { /* Canon MULTIPASS MP150 */ + "PIXMA MP150", 3, /*model, model_id*/ + 842, 17*72, /* max paper width and height */ + 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */ + &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_MULTIPASS_MP150_modelist, &canon_PIXMA_iP4000_paperlist, NULL, NULL, diff --git a/src/main/dither-impl.h b/src/main/dither-impl.h index be17169..e297464 100644 --- a/src/main/dither-impl.h +++ b/src/main/dither-impl.h @@ -1,5 +1,5 @@ /* - * "$Id: dither-impl.h,v 1.25 2005/04/12 00:57:01 rlk Exp $" + * "$Id: dither-impl.h,v 1.25.18.1 2007/12/15 20:35:44 rlk Exp $" * * Internal implementation of dither algorithms * @@ -259,5 +259,5 @@ do \ #endif /* GUTENPRINT_INTERNAL_DITHER_IMPL_H */ /* - * End of "$Id: dither-impl.h,v 1.25 2005/04/12 00:57:01 rlk Exp $". + * End of "$Id: dither-impl.h,v 1.25.18.1 2007/12/15 20:35:44 rlk Exp $". */ diff --git a/src/main/dither-main.c b/src/main/dither-main.c index 759c17a..77211c3 100644 --- a/src/main/dither-main.c +++ b/src/main/dither-main.c @@ -1,5 +1,5 @@ /* - * "$Id: dither-main.c,v 1.52 2006/05/28 16:59:04 rlk Exp $" + * "$Id: dither-main.c,v 1.52.8.1 2007/12/15 20:35:44 rlk Exp $" * * Dither routine entrypoints * diff --git a/src/main/dither-ordered.c b/src/main/dither-ordered.c index 6a17d83..a355b41 100644 --- a/src/main/dither-ordered.c +++ b/src/main/dither-ordered.c @@ -1,5 +1,5 @@ /* - * "$Id: dither-ordered.c,v 1.17 2004/09/17 18:38:20 rleigh Exp $" + * "$Id: dither-ordered.c,v 1.17.18.1 2007/12/15 20:35:44 rlk Exp $" * * Ordered dither algorithm * diff --git a/src/main/escp2-channels.c b/src/main/escp2-channels.c index 6b8fbfa..1a8cc5d 100644 --- a/src/main/escp2-channels.c +++ b/src/main/escp2-channels.c @@ -1,5 +1,5 @@ /* - * "$Id: escp2-channels.c,v 1.62.8.2 2007/05/29 01:47:28 rlk Exp $" + * "$Id: escp2-channels.c,v 1.62.8.3 2007/12/29 20:42:26 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -285,352 +285,380 @@ static hue_curve_t picturemate_blue_curve = static const physical_subchannel_t standard_black_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL } + { 0, -1, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(standard_black); static const physical_subchannel_t f360_black_subchannels[] = { - { 0, 0, 1, "BlackDensity", NULL } + { 0, 0, 1, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(f360_black); static const physical_subchannel_t x80_black_subchannels[] = { - { 0, -1, 48, "BlackDensity", NULL } + { 0, -1, 48, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(x80_black); static const physical_subchannel_t c80_black_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL } + { 0, -1, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(c80_black); +static const physical_subchannel_t c120_black_subchannels[] = +{ + { 0, 4, 0, 2, "BlackDensity", NULL, { 0, 0x40 } } +}; + +DECLARE_INK_CHANNEL(c120_black); + static const physical_subchannel_t c64_black_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL } + { 0, -1, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(c64_black); static const physical_subchannel_t standard_cyan_subchannels[] = { - { 2, -1, 0, "CyanDensity", NULL } + { 2, -1, 0, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(standard_cyan); static const physical_subchannel_t f360_standard_cyan_subchannels[] = { - { 2, -1, 1, "CyanDensity", NULL } + { 2, -1, 1, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(f360_standard_cyan); static const physical_subchannel_t r800_cyan_subchannels[] = { - { 2, -1, 1, "CyanDensity", NULL } + { 2, -1, 1, 0, "CyanDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(r800_cyan); static const physical_subchannel_t picturemate_cyan_subchannels[] = { - { 2, -1, 0, "CyanDensity", NULL } + { 2, -1, 0, 0, "CyanDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(picturemate_cyan); static const physical_subchannel_t cx3650_standard_cyan_subchannels[] = { - { 2, -1, 2, "CyanDensity", NULL } + { 2, -1, 2, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(cx3650_standard_cyan); static const physical_subchannel_t x80_cyan_subchannels[] = { - { 2, -1, 96, "CyanDensity", NULL } + { 2, -1, 96, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(x80_cyan); static const physical_subchannel_t c80_cyan_subchannels[] = { - { 2, -1, 0, "CyanDensity", NULL } + { 2, -1, 0, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(c80_cyan); +static const physical_subchannel_t c120_cyan_subchannels[] = +{ + { 2, -1, 0, 0, "CyanDensity", NULL } +}; + +DECLARE_INK_CHANNEL(c120_cyan); + static const physical_subchannel_t c64_cyan_subchannels[] = { - { 2, -1, 0, "CyanDensity", NULL } + { 2, -1, 0, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(c64_cyan); static const physical_subchannel_t standard_magenta_subchannels[] = { - { 1, -1, 0, "MagentaDensity", NULL } + { 1, -1, 0, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(standard_magenta); static const physical_subchannel_t r800_magenta_subchannels[] = { - { 1, -1, 0, "MagentaDensity", NULL } + { 1, -1, 0, 0, "MagentaDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(r800_magenta); static const physical_subchannel_t picturemate_magenta_subchannels[] = { - { 1, -1, 0, "MagentaDensity", NULL } + { 1, -1, 0, 0, "MagentaDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(picturemate_magenta); static const physical_subchannel_t f360_standard_magenta_subchannels[] = { - { 1, -1, 1, "MagentaDensity", NULL } + { 1, -1, 1, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(f360_standard_magenta); static const physical_subchannel_t x80_magenta_subchannels[] = { - { 1, -1, 48, "MagentaDensity", NULL } + { 1, -1, 48, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(x80_magenta); static const physical_subchannel_t c80_magenta_subchannels[] = { - { 1, -1, 120, "MagentaDensity", NULL } + { 1, -1, 120, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(c80_magenta); +static const physical_subchannel_t c120_magenta_subchannels[] = +{ + { 1, -1, 120, 0, "MagentaDensity", NULL } +}; + +DECLARE_INK_CHANNEL(c120_magenta); + static const physical_subchannel_t c64_magenta_subchannels[] = { - { 1, -1, 90, "MagentaDensity", NULL } + { 1, -1, 90, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(c64_magenta); static const physical_subchannel_t standard_yellow_subchannels[] = { - { 4, -1, 0, "YellowDensity", NULL } + { 4, -1, 0, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(standard_yellow); static const physical_subchannel_t x80_yellow_subchannels[] = { - { 4, -1, 0, "YellowDensity", NULL } + { 4, -1, 0, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(x80_yellow); static const physical_subchannel_t c80_yellow_subchannels[] = { - { 4, -1, 240, "YellowDensity", NULL } + { 4, -1, 240, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(c80_yellow); +static const physical_subchannel_t c120_yellow_subchannels[] = +{ + { 4, -1, 240, 0, "YellowDensity", NULL } +}; + +DECLARE_INK_CHANNEL(c120_yellow); + static const physical_subchannel_t c64_yellow_subchannels[] = { - { 4, -1, 180, "YellowDensity", NULL } + { 4, -1, 180, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(c64_yellow); static const physical_subchannel_t f360_standard_yellow_subchannels[] = { - { 4, -1, 1, "YellowDensity", NULL } + { 4, -1, 1, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(f360_standard_yellow); static const physical_subchannel_t r800_yellow_subchannels[] = { - { 4, -1, 1, "YellowDensity", NULL } + { 4, -1, 1, 0, "YellowDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(r800_yellow); static const physical_subchannel_t picturemate_yellow_subchannels[] = { - { 4, -1, 0, "YellowDensity", NULL } + { 4, -1, 0, 0, "YellowDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(picturemate_yellow); static const physical_subchannel_t r800_red_subchannels[] = { - { 7, -1, 0, "RedDensity", NULL } + { 7, -1, 0, 0, "RedDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(r800_red); static const physical_subchannel_t picturemate_red_subchannels[] = { - { 7, -1, 0, "RedDensity", NULL } + { 7, -1, 0, 0, "RedDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(picturemate_red); static const physical_subchannel_t r800_blue_subchannels[] = { - { 8, -1, 1, "BlueDensity", NULL } + { 8, -1, 1, 0, "BlueDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(r800_blue); static const physical_subchannel_t picturemate_blue_subchannels[] = { - { 8, -1, 1, "BlueDensity", NULL } + { 8, -1, 1, 0, "BlueDensity", NULL } }; DECLARE_EXTENDED_INK_CHANNEL(picturemate_blue); static const physical_subchannel_t standard_gloss_subchannels[] = { - { 9, -1, 0, "GlossDensity", NULL } + { 9, -1, 0, 0, "GlossDensity", NULL } }; DECLARE_INK_CHANNEL(standard_gloss); static const physical_subchannel_t f360_gloss_subchannels[] = { - { 9, -1, 1, "GlossDensity", NULL } + { 9, -1, 1, 0, "GlossDensity", NULL } }; DECLARE_INK_CHANNEL(f360_gloss); static const physical_subchannel_t standard_photo_black_subchannels[] = { - { 0, 4, 0, "BlackDensity", NULL } + { 0, 4, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(standard_photo_black); static const physical_subchannel_t f360_photo_black_subchannels[] = { - { 0, 4, 1, "BlackDensity", NULL } + { 0, 4, 1, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(f360_photo_black); static const physical_subchannel_t r800_matte_black_subchannels[] = { - { 0, 0, 0, "BlackDensity", NULL } + { 0, 0, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(r800_matte_black); static const physical_subchannel_t photo_black_subchannels[] = { - { 0, 0, 0, "BlackDensity", NULL } + { 0, 0, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(photo_black); static const physical_subchannel_t extended_black_subchannels[] = { - { 0, 1, 0, "BlackDensity", NULL } + { 0, 1, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(extended_black); static const physical_subchannel_t f360_extended_black_subchannels[] = { - { 0, 1, 1, "BlackDensity", NULL } + { 0, 1, 1, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(f360_extended_black); static const physical_subchannel_t photo_cyan_subchannels[] = { - { 2, 0, 0, "CyanDensity", NULL }, - { 2, 1, 0, "CyanDensity", "LightCyanTransition" } + { 2, 0, 0, 0, "CyanDensity", NULL }, + { 2, 1, 0, 0, "CyanDensity", "LightCyanTransition" } }; DECLARE_INK_CHANNEL(photo_cyan); static const physical_subchannel_t extended_cyan_subchannels[] = { - { 2, 1, 0, "CyanDensity", NULL } + { 2, 1, 0, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(extended_cyan); static const physical_subchannel_t f360_extended_cyan_subchannels[] = { - { 2, 1, 1, "CyanDensity", NULL } + { 2, 1, 1, 0, "CyanDensity", NULL } }; DECLARE_INK_CHANNEL(f360_extended_cyan); static const physical_subchannel_t photo_magenta_subchannels[] = { - { 1, 0, 0, "MagentaDensity", NULL }, - { 1, 1, 0, "MagentaDensity", "LightMagentaTransition" } + { 1, 0, 0, 0, "MagentaDensity", NULL }, + { 1, 1, 0, 0, "MagentaDensity", "LightMagentaTransition" } }; DECLARE_INK_CHANNEL(photo_magenta); static const physical_subchannel_t extended_magenta_subchannels[] = { - { 1, 1, 0, "MagentaDensity", NULL } + { 1, 1, 0, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(extended_magenta); static const physical_subchannel_t f360_extended_magenta_subchannels[] = { - { 1, 1, 1, "MagentaDensity", NULL } + { 1, 1, 1, 0, "MagentaDensity", NULL } }; DECLARE_INK_CHANNEL(f360_extended_magenta); static const physical_subchannel_t photo_yellow_subchannels[] = { - { 4, 0, 0, "YellowDensity", NULL } + { 4, 0, 0, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(photo_yellow); static const physical_subchannel_t f360_photo_yellow_subchannels[] = { - { 4, 0, 1, "YellowDensity", NULL } + { 4, 0, 1, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(f360_photo_yellow); static const physical_subchannel_t j_extended_yellow_subchannels[] = { - { 4, 2, 0, "YellowDensity", NULL } + { 4, 2, 0, 0, "YellowDensity", NULL } }; DECLARE_INK_CHANNEL(j_extended_yellow); static const physical_subchannel_t extended_photo3_black_subchannels[] = { - { 0, 3, 0, "BlackDensity", NULL } + { 0, 3, 0, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(extended_photo3_black); static const physical_subchannel_t f360_extended_photo3_black_subchannels[] = { - { 0, 3, 1, "BlackDensity", NULL } + { 0, 3, 1, 0, "BlackDensity", NULL } }; DECLARE_INK_CHANNEL(f360_extended_photo3_black); @@ -638,190 +666,200 @@ DECLARE_INK_CHANNEL(f360_extended_photo3_black); /* For Japanese 7-color printers, with dark yellow */ static const physical_subchannel_t photo2_yellow_subchannels[] = { - { 4, 2, 0, "YellowDensity", NULL }, - { 4, 0, 0, "YellowDensity", "DarkYellowTransition" } + { 4, 2, 0, 0, "YellowDensity", NULL }, + { 4, 0, 0, 0, "YellowDensity", "DarkYellowTransition" } }; DECLARE_INK_CHANNEL(photo2_yellow); static const physical_subchannel_t f360_photo2_yellow_subchannels[] = { - { 4, 2, 0, "YellowDensity", NULL }, - { 4, 0, 1, "YellowDensity", "DarkYellowTransition" } + { 4, 2, 0, 0, "YellowDensity", NULL }, + { 4, 0, 1, 0, "YellowDensity", "DarkYellowTransition" } }; DECLARE_INK_CHANNEL(f360_photo2_yellow); static const physical_subchannel_t photo2_black_subchannels[] = { - { 0, 0, 0, "BlackDensity", NULL }, - { 0, 1, 0, "BlackDensity", "GrayTransition" } + { 0, 0, 0, 0, "BlackDensity", NULL }, + { 0, 1, 0, 0, "BlackDensity", "GrayTransition" } }; DECLARE_INK_CHANNEL(photo2_black); static const physical_subchannel_t f360_photo2_black_subchannels[] = { - { 0, 0, 1, "BlackDensity", NULL }, - { 0, 1, 0, "BlackDensity", "GrayTransition" } + { 0, 0, 1, 0, "BlackDensity", NULL }, + { 0, 1, 0, 0, "BlackDensity", "GrayTransition" } }; DECLARE_INK_CHANNEL(f360_photo2_black); static const physical_subchannel_t photo3_black_subchannels[] = { - { 0, 0, 0, "BlackDensity", NULL }, - { 0, 1, 0, "BlackDensity", "DarkGrayTransition" }, - { 0, 3, 0, "BlackDensity", "LightGrayTransition" } + { 0, 0, 0, 0, "BlackDensity", NULL }, + { 0, 1, 0, 0, "BlackDensity", "DarkGrayTransition" }, + { 0, 3, 0, 0, "BlackDensity", "LightGrayTransition" } }; DECLARE_INK_CHANNEL(photo3_black); static const physical_subchannel_t f360_photo3_black_subchannels[] = { - { 0, 0, 1, "BlackDensity", NULL }, - { 0, 1, 0, "BlackDensity", "DarkGrayTransition" }, - { 0, 3, 1, "BlackDensity", "LightGrayTransition" } + { 0, 0, 1, 0, "BlackDensity", NULL }, + { 0, 1, 0, 0, "BlackDensity", "DarkGrayTransition" }, + { 0, 3, 1, 0, "BlackDensity", "LightGrayTransition" } }; DECLARE_INK_CHANNEL(f360_photo3_black); static const physical_subchannel_t quadtone_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL }, - { 2, -1, 0, "BlackDensity", "Gray3Transition" }, - { 1, -1, 0, "BlackDensity", "Gray2Transition" }, - { 4, -1, 0, "BlackDensity", "Gray1Transition" }, + { 0, -1, 0, 0, "BlackDensity", NULL }, + { 2, -1, 0, 0, "BlackDensity", "Gray3Transition" }, + { 1, -1, 0, 0, "BlackDensity", "Gray2Transition" }, + { 4, -1, 0, 0, "BlackDensity", "Gray1Transition" }, }; DECLARE_INK_CHANNEL(quadtone); static const physical_subchannel_t c80_quadtone_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL }, - { 2, -1, 0, "BlackDensity", "Gray3Transition" }, - { 1, -1, 120, "BlackDensity", "Gray2Transition" }, - { 4, -1, 240, "BlackDensity", "Gray1Transition" }, + { 0, -1, 0, 0, "BlackDensity", NULL }, + { 2, -1, 0, 0, "BlackDensity", "Gray3Transition" }, + { 1, -1, 120, 0, "BlackDensity", "Gray2Transition" }, + { 4, -1, 240, 0, "BlackDensity", "Gray1Transition" }, }; DECLARE_INK_CHANNEL(c80_quadtone); +static const physical_subchannel_t c120_quadtone_subchannels[] = +{ + { 0, 4, 0, 0, "BlackDensity", NULL }, + { 2, -1, 0, 0, "BlackDensity", "Gray3Transition" }, + { 1, -1, 120, 0, "BlackDensity", "Gray2Transition" }, + { 4, -1, 240, 0, "BlackDensity", "Gray1Transition" }, +}; + +DECLARE_INK_CHANNEL(c120_quadtone); + static const physical_subchannel_t c64_quadtone_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL }, - { 2, -1, 0, "BlackDensity", "Gray3Transition" }, - { 1, -1, 90, "BlackDensity", "Gray2Transition" }, - { 4, -1, 180, "BlackDensity", "Gray1Transition" }, + { 0, -1, 0, 0, "BlackDensity", NULL }, + { 2, -1, 0, 0, "BlackDensity", "Gray3Transition" }, + { 1, -1, 90, 0, "BlackDensity", "Gray2Transition" }, + { 4, -1, 180, 0, "BlackDensity", "Gray1Transition" }, }; DECLARE_INK_CHANNEL(c64_quadtone); static const physical_subchannel_t f360_quadtone_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL }, - { 2, -1, 1, "BlackDensity", "Gray3Transition" }, - { 1, -1, 1, "BlackDensity", "Gray2Transition" }, - { 4, -1, 0, "BlackDensity", "Gray1Transition" }, + { 0, -1, 0, 0, "BlackDensity", NULL }, + { 2, -1, 1, 0, "BlackDensity", "Gray3Transition" }, + { 1, -1, 1, 0, "BlackDensity", "Gray2Transition" }, + { 4, -1, 0, 0, "BlackDensity", "Gray1Transition" }, }; DECLARE_INK_CHANNEL(f360_quadtone); static const physical_subchannel_t cx3650_quadtone_subchannels[] = { - { 0, -1, 0, "BlackDensity", NULL }, - { 2, -1, 2, "BlackDensity", "Gray3Transition" }, - { 1, -1, 1, "BlackDensity", "Gray2Transition" }, - { 4, -1, 0, "BlackDensity", "Gray1Transition" }, + { 0, -1, 0, 0, "BlackDensity", NULL }, + { 2, -1, 2, 0, "BlackDensity", "Gray3Transition" }, + { 1, -1, 1, 0, "BlackDensity", "Gray2Transition" }, + { 4, -1, 0, 0, "BlackDensity", "Gray1Transition" }, }; DECLARE_INK_CHANNEL(cx3650_quadtone); static const physical_subchannel_t f360_photo_cyan_subchannels[] = { - { 2, 0, 1, "CyanDensity", NULL }, - { 2, 1, 0, "CyanDensity", "LightCyanTransition" } + { 2, 0, 1, 0, "CyanDensity", NULL }, + { 2, 1, 0, 0, "CyanDensity", "LightCyanTransition" } }; DECLARE_INK_CHANNEL(f360_photo_cyan); static const physical_subchannel_t f360x_photo_cyan_subchannels[] = { - { 2, 0, 0, "CyanDensity", NULL }, - { 2, 1, 1, "CyanDensity", "LightCyanTransition" } + { 2, 0, 0, 0, "CyanDensity", NULL }, + { 2, 1, 1, 0, "CyanDensity", "LightCyanTransition" } }; DECLARE_INK_CHANNEL(f360x_photo_cyan); static const physical_subchannel_t f360_photo_magenta_subchannels[] = { - { 1, 0, 1, "MagentaDensity", NULL }, - { 1, 1, 0, "MagentaDensity", "LightMagentaTransition" } + { 1, 0, 1, 0, "MagentaDensity", NULL }, + { 1, 1, 0, 0, "MagentaDensity", "LightMagentaTransition" } }; DECLARE_INK_CHANNEL(f360_photo_magenta); static const physical_subchannel_t f360x_photo_magenta_subchannels[] = { - { 1, 0, 0, "MagentaDensity", NULL }, - { 1, 1, 1, "MagentaDensity", "LightMagentaTransition" } + { 1, 0, 0, 0, "MagentaDensity", NULL }, + { 1, 1, 1, 0, "MagentaDensity", "LightMagentaTransition" } }; DECLARE_INK_CHANNEL(f360x_photo_magenta); static const physical_subchannel_t claria_black_subchannels[] = { - { 0, 0, 0, "BlackDensity", NULL }, + { 0, 0, 0, 0, "BlackDensity", NULL }, }; DECLARE_INK_CHANNEL(claria_black); static const physical_subchannel_t claria_yellow_subchannels[] = { - { 4, 0, 2, "YellowDensity", NULL }, + { 4, 0, 2, 0, "YellowDensity", NULL }, }; DECLARE_INK_CHANNEL(claria_yellow); static const physical_subchannel_t claria_cyan_subchannels[] = { - { 2, 0, 0, "CyanDensity", NULL }, + { 2, 0, 0, 0, "CyanDensity", NULL }, }; DECLARE_INK_CHANNEL(claria_cyan); static const physical_subchannel_t claria_photo_cyan_subchannels[] = { - { 2, 0, 0, "CyanDensity", NULL }, - { 2, 1, 2, "CyanDensity", "LightCyanTransition" }, + { 2, 0, 0, 0, "CyanDensity", NULL }, + { 2, 1, 2, 0, "CyanDensity", "LightCyanTransition" }, }; DECLARE_INK_CHANNEL(claria_photo_cyan); static const physical_subchannel_t extended_claria_cyan_subchannels[] = { - { 2, 1, 2, "CyanDensity", "LightCyanTransition" }, + { 2, 1, 2, 0, "CyanDensity", "LightCyanTransition" }, }; DECLARE_INK_CHANNEL(extended_claria_cyan); static const physical_subchannel_t claria_magenta_subchannels[] = { - { 1, 0, 2, "MagentaDensity", NULL }, + { 1, 0, 2, 0, "MagentaDensity", NULL }, }; DECLARE_INK_CHANNEL(claria_magenta); static const physical_subchannel_t claria_photo_magenta_subchannels[] = { - { 1, 0, 2, "MagentaDensity", NULL }, - { 1, 1, 0, "MagentaDensity", "LightMagentaTransition" }, + { 1, 0, 2, 0, "MagentaDensity", NULL }, + { 1, 1, 0, 0, "MagentaDensity", "LightMagentaTransition" }, }; DECLARE_INK_CHANNEL(claria_photo_magenta); static const physical_subchannel_t extended_claria_magenta_subchannels[] = { - { 1, 1, 0, "MagentaDensity", "LightMagentaTransition" }, + { 1, 1, 0, 0, "MagentaDensity", "LightMagentaTransition" }, }; DECLARE_INK_CHANNEL(extended_claria_magenta); @@ -1011,6 +1049,19 @@ static const escp2_inkname_t c80_generic_quadtone_inkset = &c80_quadtone_channel_set }; +static const ink_channel_t *const c120_quadtone_channels[] = +{ + &c120_quadtone_channel +}; + +DECLARE_CHANNEL_SET(c120_quadtone); + +static const escp2_inkname_t c120_generic_quadtone_inkset = +{ + "Quadtone", N_("Quadtone"), INKSET_QUADTONE, + &c120_quadtone_channel_set +}; + static const ink_channel_t *const c64_quadtone_channels[] = { &c64_quadtone_channel @@ -1102,6 +1153,20 @@ static const escp2_inkname_t c80_three_color_composite_inkset = &c80_cmy_channel_set }; +static const ink_channel_t *const c120_cmy_channels[] = +{ + NULL, &c120_cyan_channel, + &c120_magenta_channel, &c120_yellow_channel +}; + +DECLARE_CHANNEL_SET(c120_cmy); + +static const escp2_inkname_t c120_three_color_composite_inkset = +{ + "RGB", N_("Three Color Composite"), INKSET_CMYK, + &c120_cmy_channel_set +}; + static const ink_channel_t *const c64_cmy_channels[] = { NULL, &c64_cyan_channel, @@ -1318,6 +1383,20 @@ static const escp2_inkname_t c80_four_color_standard_inkset = &c80_cmyk_channel_set }; +static const ink_channel_t *const c120_cmyk_channels[] = +{ + &c120_black_channel, &c120_cyan_channel, + &c120_magenta_channel, &c120_yellow_channel +}; + +DECLARE_CHANNEL_SET(c120_cmyk); + +static const escp2_inkname_t c120_four_color_standard_inkset = +{ + "CMYK", N_("Four Color Standard"), INKSET_CMYK, + &c120_cmyk_channel_set +}; + static const ink_channel_t *const c64_cmyk_channels[] = { &c64_black_channel, &c64_cyan_channel, @@ -1798,6 +1877,18 @@ static const escp2_inkname_t one_color_extended_inkset = &one_color_extended_channel_set }; +static const ink_channel_t *const c120_one_color_extended_channels[] = +{ + &c120_black_channel +}; +DECLARE_CHANNEL_SET(c120_one_color_extended); + +static const escp2_inkname_t c120_one_color_extended_inkset = +{ + "PhysicalBlack", N_("One Color Raw"), INKSET_EXTENDED, + &c120_one_color_extended_channel_set +}; + static const escp2_inkname_t one_color_photo_extended_inkset = { "PhysicalBlack", N_("One Color Raw"), INKSET_EXTENDED, @@ -1903,6 +1994,19 @@ static const escp2_inkname_t c80_three_color_extended_inkset = &c80_three_color_extended_channel_set }; +static const ink_channel_t *const c120_three_color_extended_channels[] = +{ + &c120_cyan_channel, &c120_magenta_channel, &c120_yellow_channel +}; + +DECLARE_CHANNEL_SET(c120_three_color_extended); + +static const escp2_inkname_t c120_three_color_extended_inkset = +{ + "PhysicalCMY", N_("Three Color Raw"), INKSET_EXTENDED, + &c120_three_color_extended_channel_set +}; + static const ink_channel_t *const c64_three_color_extended_channels[] = { &c64_cyan_channel, &c64_magenta_channel, &c64_yellow_channel @@ -1982,6 +2086,12 @@ static const escp2_inkname_t c80_four_color_extended_inkset = &c80_cmyk_channel_set }; +static const escp2_inkname_t c120_four_color_extended_inkset = +{ + "PhysicalCMYK", N_("Four Color Raw"), INKSET_EXTENDED, + &c120_cmyk_channel_set +}; + static const escp2_inkname_t c64_four_color_extended_inkset = { "PhysicalCMYK", N_("Four Color Raw"), INKSET_EXTENDED, @@ -2418,6 +2528,26 @@ static const escp2_inkname_t *const c80_quadtone_ink_types[] = DECLARE_INKLIST("Quadtone", c80_quadtone, c80_quadtone, N_("Quadtone"), standard, standard, quadtone); +static const escp2_inkname_t *const c120_ink_types[] = +{ + &c120_four_color_standard_inkset, + &c120_three_color_composite_inkset, + &c120_one_color_extended_inkset, + &c120_three_color_extended_inkset, + &c120_four_color_extended_inkset, +}; + +DECLARE_INKLIST("None", c120, c120, N_("EPSON Standard Inks"), + durabrite2, durabrite3, standard); + +static const escp2_inkname_t *const c120_quadtone_ink_types[] = +{ + &c120_generic_quadtone_inkset, +}; + +DECLARE_INKLIST("Quadtone", c120_quadtone, c120_quadtone, N_("Quadtone"), + standard, standard, quadtone); + static const escp2_inkname_t *const c64_ink_types[] = { &c64_four_color_standard_inkset, @@ -2706,6 +2836,14 @@ static const inklist_t *const c80_group[] = DECLARE_INKGROUP(c80); +static const inklist_t *const c120_group[] = +{ + &c120_inklist, + &c120_quadtone_inklist +}; + +DECLARE_INKGROUP(c120); + static const inklist_t *const c82_group[] = { &c82_inklist, @@ -2854,6 +2992,7 @@ static const ink_t the_inks[] = { { "cmy", &cmy_inkgroup }, { "standard", &standard_inkgroup }, + { "c120", &c120_inkgroup }, { "c80", &c80_inkgroup }, { "c82", &c82_inkgroup }, { "c64", &c64_inkgroup }, @@ -2913,6 +3052,17 @@ static const char *standard_channel_names[] = DECLARE_CHANNEL_LIST(standard); +static const char *c120_channel_names[] = +{ + N_("Black"), + N_("Black"), + N_("Magenta"), + N_("Cyan"), + N_("Yellow") +}; + +DECLARE_CHANNEL_LIST(c120); + static const char *cx3800_channel_names[] = { N_("Cyan"), @@ -2957,6 +3107,18 @@ static const char *rx700_channel_names[] = DECLARE_CHANNEL_LIST(rx700); +static const char *sp1400_channel_names[] = +{ + N_("Yellow"), + N_("Black"), + N_("Light Cyan"), + N_("Light Magenta"), + N_("Magenta"), + N_("Cyan"), +}; + +DECLARE_CHANNEL_LIST(sp1400); + static const char *sp2200_channel_names[] = { N_("Black"), @@ -3050,11 +3212,13 @@ static const channel_t the_channels[] = { "picturemate", &picturemate_channel_name_list }, { "pm_950c", &pm_950c_channel_name_list }, { "r2400", &r2400_channel_name_list }, + { "sp1400", &sp1400_channel_name_list }, { "r800", &r800_channel_name_list }, { "rx700", &rx700_channel_name_list }, { "sp2200", &sp2200_channel_name_list }, { "sp960", &sp960_channel_name_list }, { "standard", &standard_channel_name_list }, + { "c120", &c120_channel_name_list }, }; const channel_name_t * diff --git a/src/main/escp2-driver.c b/src/main/escp2-driver.c index 2141cfc..4e0ecbd 100644 --- a/src/main/escp2-driver.c +++ b/src/main/escp2-driver.c @@ -1,5 +1,5 @@ /* - * "$Id: escp2-driver.c,v 1.30.6.1 2007/03/02 12:01:25 rlk Exp $" + * "$Id: escp2-driver.c,v 1.30.6.3 2007/12/30 05:37:55 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -430,6 +430,9 @@ escp2_set_printhead_resolution(stp_vars_t *v) if (pd->command_set == MODEL_COMMAND_PRO && !pd->res->softweave) yres = yres / pd->res->vres; + else if (pd->split_channel_count > 1) + yres = yres * pd->nozzle_separation / pd->base_separation * + pd->split_channel_count; else yres = yres * pd->nozzle_separation / pd->base_separation; @@ -496,18 +499,14 @@ set_horizontal_position(stp_vars_t *v, stp_pass_t *pass, int vertical_subpass) } static void -send_print_command(stp_vars_t *v, stp_pass_t *pass, int color, int nlines) +send_print_command(stp_vars_t *v, stp_pass_t *pass, int ncolor, int nlines) { escp2_privdata_t *pd = get_privdata(v); int lwidth = (pd->image_printed_width + (pd->horizontal_passes - 1)) / pd->horizontal_passes; if (pd->command_set == MODEL_COMMAND_PRO || pd->variable_dots) { - int ncolor = pd->channels[color]->color; - int subchannel = pd->channels[color]->subchannel; int nwidth = pd->bitwidth * ((lwidth + 7) / 8); - if (subchannel >= 0) - ncolor |= (subchannel << 4); stp_send_command(v, "\033i", "ccchh", ncolor, COMPRESSION, pd->bitwidth, nwidth, nlines); } @@ -537,7 +536,7 @@ send_extra_data(stp_vars_t *v, int extralines) escp2_privdata_t *pd = get_privdata(v); int lwidth = (pd->image_printed_width + (pd->horizontal_passes - 1)) / pd->horizontal_passes; -#if TEST_UNCOMPRESSED +#ifdef TEST_UNCOMPRESSED int i; for (i = 0; i < pd->bitwidth * (lwidth + 7) / 8; i++) stp_putc(0, v); @@ -626,31 +625,78 @@ stpi_escp2_flush_pass(stp_vars_t *v, int passno, int vertical_subpass) for (j = 0; j < pd->channels_in_use; j++) { - if (lineactive[0].v[j] > 0) + if (lineactive->v[j] > 0) { - int nlines = linecount[0].v[j]; + int ncolor = pd->channels[j]->color; + int subchannel = pd->channels[j]->subchannel; + int nlines = linecount->v[j]; int extralines = 0; - if (nlines < minlines) - { - extralines = minlines - nlines; - nlines = minlines; - } set_vertical_position(v, pass); set_color(v, pass, j); - set_horizontal_position(v, pass, vertical_subpass); - send_print_command(v, pass, j, nlines); - - /* - * Send the data - */ - stp_zfwrite((const char *)bufs[0].v[j], lineoffs[0].v[j], 1, v); - if (extralines) - send_extra_data(v, extralines); - stp_send_command(v, "\r", ""); + if (subchannel >= 0) + ncolor |= (subchannel << 4); + + if (pd->split_channels) + { + int sc = pd->split_channel_count; + int k, l; + for (k = 0; k < sc; k++) + { + int lc = ((nlines + (sc - k - 1)) / sc); + if (lc < minlines) + { + extralines = minlines - lc; + } + if (lc + extralines > 0) + { + set_horizontal_position(v, pass, vertical_subpass); + send_print_command(v, pass, pd->split_channels[k], + lc + extralines); + for (l = 0; l < lc; l++) + { + int sp = (l * sc) + k; + unsigned long offset = sp * pd->split_channel_width; + if (COMPRESSION) + { + unsigned char *comp_ptr; + stp_pack_tiff(v, bufs->v[j] + offset, + pd->split_channel_width, + pd->comp_buf, &comp_ptr, NULL, NULL); + stp_zfwrite((const char *) pd->comp_buf, + comp_ptr - pd->comp_buf, 1, v); + } + else + stp_zfwrite((const char *) bufs->v[j] + offset, + pd->split_channel_width, 1, v); + } + if (extralines) + send_extra_data(v, extralines); + stp_send_command(v, "\r", ""); + } + } + } + else + { + set_horizontal_position(v, pass, vertical_subpass); + if (nlines < minlines) + { + extralines = minlines - nlines; + nlines = minlines; + } + send_print_command(v, pass, ncolor, nlines); + + /* + * Send the data + */ + stp_zfwrite((const char *)bufs->v[j], lineoffs->v[j], 1, v); + if (extralines) + send_extra_data(v, extralines); + stp_send_command(v, "\r", ""); + } pd->printed_something = 1; } - lineoffs[0].v[j] = 0; - linecount[0].v[j] = 0; + lineoffs->v[j] = 0; + linecount->v[j] = 0; } } diff --git a/src/main/escp2-inks.c b/src/main/escp2-inks.c index 309a40e..e3d93a6 100644 --- a/src/main/escp2-inks.c +++ b/src/main/escp2-inks.c @@ -1,5 +1,5 @@ /* - * "$Id: escp2-inks.c,v 1.46.10.2 2007/05/29 01:47:28 rlk Exp $" + * "$Id: escp2-inks.c,v 1.46.10.3 2007/12/29 20:42:26 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -235,6 +235,20 @@ static const escp2_dropsize_t escp2_3pl_pigment_c66_2880_dropsizes = static const escp2_dropsize_t escp2_3pl_pigment_c66_5760_dropsizes = { "3pl_pigment_c66_5760", 1, { 1.0 } }; +/* Stylus C120 */ +static const escp2_dropsize_t escp2_low_pigment_c120_dropsizes = + { "low_pigment_c120", 3, { 0.25, 0.5, 1.0 } }; +static const escp2_dropsize_t escp2_6pl_pigment_c120_dropsizes = + { "6pl_pigment_c120", 3, { 0.12, 0.3, 1.0 } }; +/* { "6pl_pigment_c120", 3, { 0.15, 0.3, 1.0 } }; */ +/* { "6pl_pigment_c120", 3, { 0.18, 0.333, 1.0 } }; */ +static const escp2_dropsize_t escp2_3pl_pigment_c120_dropsizes = + { "3pl_pigment_c120", 3, { 0.25, 0.5, 1.0 } }; +static const escp2_dropsize_t escp2_3pl_pigment_c120_2880_dropsizes = + { "3pl_pigment_c120_2880", 2, { 0.5, 1.0 } }; +static const escp2_dropsize_t escp2_3pl_pigment_c120_5760_dropsizes = + { "3pl_pigment_c120_5760", 1, { 1.0 } }; + /* Stylus Photo 2000P */ static const escp2_dropsize_t escp2_2000p_dropsizes = { "2000p", 2, { 0.55, 1.0 } }; @@ -472,6 +486,19 @@ static const escp2_drop_list_t variable_3pl_pigment_c66_drops = &escp2_3pl_pigment_c66_5760_dropsizes, }; +static const escp2_drop_list_t variable_3pl_pigment_c120_drops = +{ + &escp2_low_pigment_c120_dropsizes, + &escp2_low_pigment_c120_dropsizes, + &escp2_6pl_pigment_c120_dropsizes, + &escp2_6pl_pigment_c120_dropsizes, + &escp2_3pl_pigment_c120_dropsizes, + &escp2_3pl_pigment_c120_2880_dropsizes, + &escp2_3pl_pigment_c120_5760_dropsizes, + &escp2_3pl_pigment_c120_5760_dropsizes, + &escp2_3pl_pigment_c120_5760_dropsizes, +}; + static const escp2_drop_list_t spro10000_drops = { &escp2_spro10000_dropsizes, @@ -501,6 +528,7 @@ static const drop_list_t the_drop_lists[] = { "variable_3pl", &variable_3pl_drops }, { "variable_3pl_pigment", &variable_3pl_pigment_drops }, { "variable_3pl_pigment_c66", &variable_3pl_pigment_c66_drops }, + { "variable_3pl_pigment_c120", &variable_3pl_pigment_c120_drops }, { "variable_3pl_pmg", &variable_3pl_pmg_drops }, { "variable_claria", &claria_drops }, { "variable_claria_1400", &claria_1400_drops }, diff --git a/src/main/escp2-papers.c b/src/main/escp2-papers.c index 03f9edc..1cdc837 100644 --- a/src/main/escp2-papers.c +++ b/src/main/escp2-papers.c @@ -1,5 +1,5 @@ /* - * "$Id: escp2-papers.c,v 1.99.8.2 2007/05/29 01:47:28 rlk Exp $" + * "$Id: escp2-papers.c,v 1.99.8.3 2007/12/29 20:42:26 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -578,6 +578,52 @@ static const char r800_glossy_hue_adj[] = "</curve>\n" "</gutenprint>\n"; +static const char durabrite3_sat_adj[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n" +/* C */ "1.20 1.20 1.30 1.50 1.70 1.90 2.00 2.00 " /* B */ +/* B */ "2.00 2.00 2.00 2.00 2.00 2.00 2.00 2.00 " /* M */ +/* M */ "2.00 1.80 1.60 1.40 1.20 1.00 1.00 1.00 " /* R */ +/* R */ "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 " /* Y */ +/* Y */ "1.00 1.15 1.40 1.70 2.00 2.30 2.40 2.40 " /* G */ +/* G */ "2.40 2.40 2.40 2.30 2.00 1.70 1.40 1.15 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + +static const char durabrite3_lum_adj[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"0\" upper-bound=\"4\">\n" +/* C */ "0.63 0.64 0.66 0.69 0.73 0.78 0.82 0.85 " /* B */ +/* B */ "0.85 0.82 0.78 0.78 0.79 0.80 0.82 0.85 " /* M */ +/* M */ "0.87 0.90 0.94 0.97 1.00 1.00 1.00 1.00 " /* R */ +/* R */ "1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 " /* Y */ +/* Y */ "1.00 1.00 1.00 0.99 0.98 0.97 0.95 0.93 " /* G */ +/* G */ "0.90 0.76 0.68 0.65 0.64 0.63 0.63 0.63 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + +static const char durabrite3_hue_adj[] = +"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<gutenprint>\n" +"<curve wrap=\"wrap\" type=\"linear\" gamma=\"0\">\n" +"<sequence count=\"48\" lower-bound=\"-6\" upper-bound=\"6\">\n" +/* C */ "0.00 0.00 0.00 -.02 -.04 -.08 -.12 -.16 " /* B */ +/* B */ "-.20 -.24 -.28 -.32 -.36 -.37 -.38 -.39 " /* M */ +/* M */ "-.40 -.45 -.50 -.52 -.52 -.50 -.45 -.40 " /* R */ +/* R */ "-.35 -.27 -.15 -.06 0.00 0.00 0.00 0.00 " /* Y */ +/* Y */ "0.00 -.00 -.03 -.06 -.09 -.13 -.17 -.21 " /* G */ +/* G */ "-.25 -.22 -.19 -.16 -.13 -.10 -.07 -.03 " /* C */ +"</sequence>\n" +"</curve>\n" +"</gutenprint>\n"; + + #define DECLARE_PAPERS(name) \ static const paperlist_t name##_paper_list = \ { \ @@ -1246,6 +1292,50 @@ static const paper_adjustment_t durabrite2_adjustments[] = DECLARE_PAPER_ADJUSTMENTS(durabrite2); +static const paper_adjustment_t durabrite3_adjustments[] = +{ + { "Plain", 0.72, .5, .75, .05, .9, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "PlainFast", 0.72, .75, .5, .05, .9, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Postcard", 0.72, .75, 1, .05, .9, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "GlossyFilm", 0.83, 1.0, 1, .05, .999, 1, 1, 1, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Transparency", 0.83, .75, 1, .05, .999, 1, 1, 1, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Envelope", 0.72, .75, 1, .05, .9, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "BackFilm", 0.83, .75, 1, .05, .999, 1, 1, 1, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Matte", 0.92, .5, .85, .075, .999, 1, .975, .975, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "MatteHeavy", 0.92, .85, .5, .075, .999, 1, .975, .975, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Inkjet", 0.72, .5, .85, .05, .9, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Coated", 0.83, .5, .85, .075, .999, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Photo", 1.0, .5, .85, .075, .999, 1, .8, .8, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "GlossyPhoto", 1.0, 1.0, 1, .15, .999, 1, .8, .8, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Semigloss", 1.0, 1.0, 1, .15, .999, 1, .8, .8, 1, 1, .92, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Luster", 1.0, 1.0, 1, .15, .999, 1, .8, .8, 1, 1, .92, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "GlossyPaper", .83, 1.0, 1, .15, .999, 1, 1, 1, 1, 1, 1.0, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Ilford", .83, 1.0, 1, .15, 1.35, 1, 1, 1, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "ColorLife", .83, 1.0, 1, .15, .9, 1, 1, 1, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, + { "Other", 0.72, .5, .75, .05, .9, 1, 1, 1, 1, 1, 1, + durabrite3_hue_adj, durabrite3_lum_adj, durabrite3_sat_adj }, +}; + +DECLARE_PAPER_ADJUSTMENTS(durabrite3); + static const paper_t standard_papers[] = { { "Plain", N_("Plain Paper"), PAPER_PLAIN, @@ -1573,6 +1663,7 @@ static const paperadj_t the_adjustments[] = { "standard", &standard_paper_adjustment_list }, { "durabrite", &durabrite_paper_adjustment_list }, { "durabrite2", &durabrite2_paper_adjustment_list }, + { "durabrite3", &durabrite3_paper_adjustment_list }, { "photo", &photo_paper_adjustment_list }, { "photo2", &photo2_paper_adjustment_list }, { "photo3", &photo3_paper_adjustment_list }, diff --git a/src/main/escp2-resolutions.c b/src/main/escp2-resolutions.c index 22db6c7..17a480a 100644 --- a/src/main/escp2-resolutions.c +++ b/src/main/escp2-resolutions.c @@ -1,5 +1,5 @@ /* - * "$Id: escp2-resolutions.c,v 1.33.8.2 2007/05/29 01:47:28 rlk Exp $" + * "$Id: escp2-resolutions.c,v 1.33.8.3 2007/12/15 20:35:44 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -641,8 +641,8 @@ static const quality_t standard_qualities[] = { "High", N_("High"), 0, 0, 0, 0, 720, 720 }, { "Photo", N_("Photo"), 1440, 720, 2880, 720, 1440, 720 }, { "HighPhoto", N_("Super Photo"), 1440, 1440, 2880, 1440, 1440, 1440 }, - { "UltraPhoto", N_("Ultra Photo"), 2880, 2880, 2880, 2880, 2880, 2880 }, - { "Best", N_("Best"), 720, 360, 0, 0, -1, -1 }, + { "UltraPhoto", N_("Ultra Photo"), 2880, 1440, 2880, 1440, 2880, 1440 }, + { "Best", N_("Best"), 720, 360, 0, 1440, -1, -1 }, }; DECLARE_QUALITY_LIST(standard); @@ -656,8 +656,8 @@ static const quality_t p1_5_qualities[] = { "High", N_("High"), 0, 0, 0, 0, 720, 720 }, { "Photo", N_("Photo"), 1440, 720, 1440, 720, 1440, 720 }, { "HighPhoto", N_("Super Photo"), 1440, 1440, 2880, 1440, 1440, 1440 }, - { "UltraPhoto", N_("Ultra Photo"), 2880, 2880, 2880, 2880, 2880, 2880 }, - { "Best", N_("Best"), 720, 360, 0, 0, -1, -1 }, + { "UltraPhoto", N_("Ultra Photo"), 2880, 1440, 2880, 1440, 2880, 1440 }, + { "Best", N_("Best"), 720, 360, 0, 1440, -1, -1 }, }; DECLARE_QUALITY_LIST(p1_5); diff --git a/src/main/gutenprint.pc.in b/src/main/gutenprint.pc.in index b7ad498..850b81a 100644 --- a/src/main/gutenprint.pc.in +++ b/src/main/gutenprint.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: Gutenprint Description: Gutenprint Top Quality Printer Drivers -Version: @gutenprint_version@ +Version: @GUTENPRINT_VERSION@ Libs: -L${libdir} @GUTENPRINT_LIBS@ Libs.private: @gutenprint_libdeps@ Cflags: -I${includedir} @gutenprint_cflags@ diff --git a/src/main/papers.xml b/src/main/papers.xml index c8a017b..97b6a40 100644 --- a/src/main/papers.xml +++ b/src/main/papers.xml @@ -4,7 +4,7 @@ XML description of papers known to libgutenprint. It should be edited by hand. - "$Id: papers.xml,v 1.21.8.1 2007/03/02 12:01:26 rlk Exp $" + "$Id: papers.xml,v 1.21.8.2 2007/12/15 20:35:44 rlk Exp $" --> <!-- @@ -71,8 +71,8 @@ <paper name="CDCustom"> <description value="CD - Custom"/> <comment value="CD, custom diameter"/> - <width value="337"/> - <height value="337"/> + <width value="340"/> + <height value="340"/> <unit value="english"/> </paper> <paper name="w216h360"> diff --git a/src/main/print-canon.c b/src/main/print-canon.c index 06e3b49..5df9c9f 100644 --- a/src/main/print-canon.c +++ b/src/main/print-canon.c @@ -1,5 +1,5 @@ /* - * "$Id: print-canon.c,v 1.190.2.3 2007/05/29 01:47:28 rlk Exp $" + * "$Id: print-canon.c,v 1.190.2.5 2007/12/29 20:42:27 rlk Exp $" * * Print plug-in CANON BJL driver for the GIMP. * @@ -121,6 +121,7 @@ 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_P 0x20000ul #define CANON_CAP_DUPLEX 0x40000ul #define CANON_CAP_STD0 (CANON_CAP_b|CANON_CAP_c|CANON_CAP_d|\ @@ -153,6 +154,7 @@ typedef struct const canon_paper_t *pt; unsigned int used_inks; int num_channels; + int quality; canon_channel_t* channels; char* channel_order; const canon_cap_t *caps; @@ -381,16 +383,55 @@ get_media_type(const canon_cap_t* caps,const char *name) } -static const canon_cap_t * canon_get_model_capabilities(int model) +static const char* canon_families[] = { + "", /* the old BJC printers */ + "S", + "i", + "PIXMA iP", + "PIXMA iX", + "PIXMA MP", + "PIXUS", + "PIXMA Pro" +}; + +/* canon model ids look like the following + FFMMMMMM + FF: family is the offset in the canon_families struct + MMMMMM: model nr +*/ +static char* canon_get_printername(const stp_vars_t* v) +{ + unsigned int model = stp_get_model_id(v); + unsigned int family = model / 1000000; + unsigned int nr = model - family * 1000000; + char* name; + size_t len; + if(family >= sizeof(canon_families) / sizeof(canon_families[0])){ + stp_erprintf("canon_get_printername: no family %i using default BJC\n", family); + family = 0; + } + len = strlen(canon_families[family]) + 7; /* max model nr. + terminating 0 */ + name = stp_zalloc(len); + snprintf(name,len,"%s%u",canon_families[family],nr); + return name; +} + + + + +static const canon_cap_t * canon_get_model_capabilities(const stp_vars_t*v) { int i; + char* name = canon_get_printername(v); int models= sizeof(canon_model_capabilities) / sizeof(canon_cap_t); for (i=0; i<models; i++) { - if (canon_model_capabilities[i].model == model) { + if (!strcmp(canon_model_capabilities[i].name,name)) { + stp_free(name); return &(canon_model_capabilities[i]); } } - stp_deprintf(STP_DBG_CANON,"canon: model %d not found in capabilities list.\n",model); + stp_erprintf("canon: model %s not found in capabilities list=> using default\n",name); + stp_free(name); return &(canon_model_capabilities[0]); } @@ -413,7 +454,7 @@ canon_source_type(const char *name, const canon_cap_t * caps) static const canon_mode_t* canon_get_current_mode(const stp_vars_t *v){ const char* input_slot = stp_get_string_parameter(v, "InputSlot"); const char *resolution = stp_get_string_parameter(v, "Resolution"); - const canon_cap_t * caps = canon_get_model_capabilities(stp_get_model_id(v)); + const canon_cap_t * caps = canon_get_model_capabilities(v); const canon_mode_t* mode = NULL; int i; if(resolution){ @@ -544,7 +585,7 @@ canon_parameters(const stp_vars_t *v, const char *name, int i; const canon_cap_t * caps= - canon_get_model_capabilities(stp_get_model_id(v)); + canon_get_model_capabilities(v); description->p_type = STP_PARAMETER_TYPE_INVALID; if (name == NULL) @@ -787,7 +828,7 @@ internal_imageable_area(const stp_vars_t *v, /* I */ int top_margin = 0; int cd = 0; - const canon_cap_t * caps= canon_get_model_capabilities(stp_get_model_id(v)); + const canon_cap_t * caps= canon_get_model_capabilities(v); const char *media_size = stp_get_string_parameter(v, "PageSize"); const stp_papersize_t *pt = NULL; const char* input_slot = stp_get_string_parameter(v, "InputSlot"); @@ -838,7 +879,7 @@ canon_limit(const stp_vars_t *v, /* I */ int *min_height) { const canon_cap_t * caps= - canon_get_model_capabilities(stp_get_model_id(v)); + canon_get_model_capabilities(v); *width = caps->max_width; *height = caps->max_height; *min_width = 1; @@ -987,7 +1028,7 @@ canon_init_setColor(const stp_vars_t *v, const canon_privdata_t *init) arg_63[1] = (init->pt) ? init->pt->media_code_c : 0; /* print media type */ - if (init->caps->model == 4202) /* S200 */ + if (!strcmp(init->caps->name,"S200")) /* S200 */ { if ((init->mode->xdpi == 720) && (init->mode->ydpi == 720 )) arg_63[2] = 1; @@ -1004,7 +1045,7 @@ canon_init_setColor(const stp_vars_t *v, const canon_privdata_t *init) } } else - arg_63[2] = 2; /* hardcode to whatever this means for now; quality, apparently */ + arg_63[2] = init->quality; /* hardcode to whatever this means for now; quality, apparently */ stp_zprintf(v, "\033\050\143"); stp_put16_le(numargs, v); @@ -1023,7 +1064,7 @@ canon_init_setResolution(const stp_vars_t *v, const canon_privdata_t *init) if (!(init->caps->features & CANON_CAP_d)) return; - if (init->caps->model != 4202 || (init->mode->xdpi <= 360)) + if (strcmp(init->caps->name,"S200") || (init->mode->xdpi <= 360)) canon_cmd(v,ESC28,0x64, 4, (init->mode->ydpi >> 8 ), (init->mode->ydpi & 255), (init->mode->xdpi >> 8 ), (init->mode->xdpi & 255)); @@ -1109,19 +1150,19 @@ canon_init_setPrintMode(const stp_vars_t *v, const canon_privdata_t *init) arg_6d_b= 1; arg_6d_1= 0x04; - if ((init->caps->model==7000) && (init->used_inks == CANON_INK_K || init->used_inks == CANON_INK_CcMmYK || init->used_inks == CANON_INK_CcMmYyK)) + if ((!strcmp(init->caps->name,"7000")) && (init->used_inks == CANON_INK_K || init->used_inks == CANON_INK_CcMmYK || init->used_inks == CANON_INK_CcMmYyK)) arg_6d_1= 0x03; - if (((init->caps->model==8200 || init->caps->model==4202) && init->used_inks == CANON_INK_K) || init->used_inks == CANON_INK_CMYK) + if (((!strcmp(init->caps->name,"8200") || !strcmp(init->caps->name,"S200")) && init->used_inks == CANON_INK_K) || init->used_inks == CANON_INK_CMYK) arg_6d_1= 0x02; - if(init->caps->model == 4202 && init->used_inks == CANON_INK_CMY) + if(!strcmp(init->caps->name,"S200") && init->used_inks == CANON_INK_CMY) arg_6d_1= 0x02; if (init->used_inks == CANON_INK_K) arg_6d_2= 0x02; - if (init->caps->model==8200 || init->caps->model==4202) + if (!strcmp(init->caps->name,"8200") || !strcmp(init->caps->name,"S200")) arg_6d_3= 0x01; canon_cmd(v,ESC28,0x6d,12, arg_6d_1, @@ -1138,8 +1179,8 @@ canon_init_setPageMargins2(const stp_vars_t *v, const canon_privdata_t *init) * Is it the printable length or the bottom border? * Is is the printable width or the right border? */ - int printable_width= init->page_width*5/6; - int printable_length= init->page_height*5/6; + int printable_width= (init->page_width + 1)*5/6; + int printable_length= (init->page_height + 1)*5/6; unsigned char arg_70_1= (printable_length >> 8) & 0xff; unsigned char arg_70_2= (printable_length) & 0xff; @@ -1152,7 +1193,7 @@ canon_init_setPageMargins2(const stp_vars_t *v, const canon_privdata_t *init) if ((init->caps->features & CANON_CAP_px) && !(input_slot && !strcmp(input_slot,"CD"))) { - unsigned int unit = init->mode->xdpi; + unsigned int unit = 600; stp_zfwrite(ESC28,2,1,v); /* ESC( */ stp_putc(0x70,v); /* p */ stp_put16_le(46, v); /* len */ @@ -1179,6 +1220,16 @@ canon_init_setPageMargins2(const stp_vars_t *v, const canon_privdata_t *init) arg_70_3, arg_70_4, 0x00, 0x00); } +/* ESC (P -- 0x50 -- unknown -- : + */ +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 ); +} + /* ESC (q -- 0x71 -- setPageID -- : */ static void @@ -1234,8 +1285,16 @@ canon_init_setImage(const stp_vars_t *v, const canon_privdata_t *init) int length = init->mode->num_inks*3 + 3; unsigned char* buf = stp_zalloc(length); buf[0]=0x80; - buf[1]=0x80; - buf[2]=0x01; + if(init->mode->flags & MODE_FLAG_PRO){ + buf[1]=0x10; + buf[2]=0x4; + }else if(init->mode->flags & MODE_FLAG_IP8500){ + buf[1]=0x00; + buf[2]=0x01; + }else{ + buf[1]=0x80; + buf[2]=0x01; + } for(i=0;i<init->mode->num_inks;i++){ if(init->mode->inks[i].ink){ if(init->mode->inks[i].ink->flags & INK_FLAG_5pixel_in_1byte) @@ -1254,7 +1313,7 @@ canon_init_setImage(const stp_vars_t *v, const canon_privdata_t *init) } /* other models mostly hardcoded stuff not really understood ;( */ - if (init->caps->model==4202) /* 1 bit per pixel (arg 4,7,10,13); */ + if (!strcmp(init->caps->name,"S200")) /* 1 bit per pixel (arg 4,7,10,13); */ /* 2 level per pixel (arg 6,9,12,15) for each color */ /* though we print only 1bit/pixel - but this is how */ /* the windows driver works */ @@ -1275,7 +1334,7 @@ canon_init_setImage(const stp_vars_t *v, const canon_privdata_t *init) } /* workaround for the bjc8200 in 6color mode - not really understood */ - if (init->caps->model==8200) { + if (!strcmp(init->caps->name,"8200")) { if (init->used_inks == CANON_INK_CcMmYK) { arg_74_1= 0xff; arg_74_2= 0x90; @@ -1330,6 +1389,7 @@ 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_setTray(v,init); /* ESC (l */ canon_init_setX72(v,init); /* ESC (r */ canon_init_setMultiRaster(v,init); /* ESC (I (J (L */ @@ -1632,14 +1692,60 @@ static void setup_page(stp_vars_t* v,canon_privdata_t* privdata){ } +/* combine all curve parameters in s and apply them */ +static void canon_set_curve_parameter(stp_vars_t *v,const char* type,stp_curve_compose_t comp,const char* s1,const char* s2,const char* s3){ + const char * s[3]; + size_t count = sizeof(s) / sizeof(s[0]); + stp_curve_t *ret = NULL; + int curve_count = 0; + int i; + const size_t piecewise_point_count = 384; + /* ignore settings from the printercaps if the user specified his own parameters */ + if(stp_check_curve_parameter(v,type, STP_PARAMETER_ACTIVE)) + return; + /* init parameter list (FIXME pass array directly???)*/ + s[0] = s1; + s[1] = s2; + s[2] = s3; + /* skip empty curves */ + for(i=0;i<count;i++){ + if(s[i]) + s[curve_count++] = s[i]; + } + /* combine curves */ + if(curve_count){ + for(i=0;i<curve_count;i++){ + stp_curve_t* t_tmp = stp_curve_create_from_string(s[i]); + if(t_tmp){ + if(stp_curve_is_piecewise(t_tmp)){ + stp_curve_resample(t_tmp, piecewise_point_count); + } + if(!ret){ + ret = t_tmp; + }else{ + stp_curve_t* t_comp = NULL; + stp_curve_compose(&t_comp, ret, t_tmp, comp, -1); + if(t_comp){ + stp_curve_destroy(ret); + ret = t_comp; + } + stp_curve_destroy(t_tmp); + } + } + } + } - - + /* apply result */ + if(ret){ + stp_set_curve_parameter(v, type, ret); + stp_curve_destroy(ret); + } +} /* * 'canon_print()' - Print an image to a CANON printer. @@ -1649,11 +1755,10 @@ canon_do_print(stp_vars_t *v, stp_image_t *image) { int i; int status = 1; - int model = stp_get_model_id(v); const char *media_source = stp_get_string_parameter(v, "InputSlot"); const char *duplex_mode =stp_get_string_parameter(v, "Duplex"); int page_number = stp_get_int_parameter(v, "PageNumber"); - const canon_cap_t * caps= canon_get_model_capabilities(model); + const canon_cap_t * caps= canon_get_model_capabilities(v); int y; /* Looping vars */ canon_privdata_t privdata; int errdiv, /* Error dividend */ @@ -1694,7 +1799,8 @@ canon_do_print(stp_vars_t *v, stp_image_t *image) /* find the wanted print mode */ privdata.mode = canon_get_current_mode(v); - + /* set quality */ + privdata.quality = privdata.mode->quality; /* force grayscale if image is grayscale * or single black cartridge installed @@ -1744,6 +1850,7 @@ canon_do_print(stp_vars_t *v, stp_image_t *image) if (privdata.used_inks == CANON_INK_K) stp_scale_float_parameter(v, "Gamma", 1.25); + stp_scale_float_parameter( v, "Gamma", privdata.mode->gamma ); stp_deprintf(STP_DBG_CANON,"density is %f\n", stp_get_float_parameter(v, "Density")); @@ -1899,37 +2006,11 @@ canon_do_print(stp_vars_t *v, stp_image_t *image) errval = 0; errlast = -1; errline = 0; - - if (!stp_check_curve_parameter(v, "HueMap", STP_PARAMETER_ACTIVE)) - { - stp_curve_t* hue_adjustment = stp_read_and_compose_curves - (caps->hue_adjustment,privdata.pt->hue_adjustment, - STP_CURVE_COMPOSE_ADD, 384); - if(hue_adjustment){ - stp_set_curve_parameter(v, "HueMap", hue_adjustment); - stp_curve_destroy(hue_adjustment); - } - } - if (!stp_check_curve_parameter(v, "LumMap", STP_PARAMETER_ACTIVE)) - { - stp_curve_t* lum_adjustment = stp_read_and_compose_curves - (caps->lum_adjustment,privdata.pt->lum_adjustment, - STP_CURVE_COMPOSE_MULTIPLY, 384); - if(lum_adjustment){ - stp_set_curve_parameter(v, "LumMap", lum_adjustment); - stp_curve_destroy(lum_adjustment); - } - } - if (!stp_check_curve_parameter(v, "SatMap", STP_PARAMETER_ACTIVE)) - { - stp_curve_t* sat_adjustment = stp_read_and_compose_curves - (caps->sat_adjustment,privdata.pt->sat_adjustment, - STP_CURVE_COMPOSE_MULTIPLY, 384); - if(sat_adjustment){ - stp_set_curve_parameter(v, "SatMap", sat_adjustment); - stp_curve_destroy(sat_adjustment); - } - } + + /* set Hue, Lum and Sat Maps */ + canon_set_curve_parameter(v,"HueMap",STP_CURVE_COMPOSE_ADD,caps->hue_adjustment,privdata.pt->hue_adjustment,privdata.mode->hue_adjustment); + canon_set_curve_parameter(v,"LumMap",STP_CURVE_COMPOSE_MULTIPLY,caps->lum_adjustment,privdata.pt->lum_adjustment,privdata.mode->lum_adjustment); + canon_set_curve_parameter(v,"SatMap",STP_CURVE_COMPOSE_MULTIPLY,caps->sat_adjustment,privdata.pt->sat_adjustment,privdata.mode->sat_adjustment); out_channels = stp_color_init(v, image, 65536); stp_allocate_component_data(v, "Driver", NULL, NULL, &privdata); @@ -2072,7 +2153,8 @@ static const stp_printfuncs_t print_canon_printfuncs = canon_describe_output, stp_verify_printer_params, canon_start_job, - canon_end_job + canon_end_job, + NULL }; static void @@ -2098,7 +2180,7 @@ static int canon_compress(stp_vars_t *v, canon_privdata_t *pd, unsigned char* li /* Don't send blank lines... */ - if (line[0] == 0 && memcmp(line, line + 1, length - 1) == 0) + if (line[0] == 0 && memcmp(line, line + 1, (length * bits) - 1) == 0) return 0; offset2 = offset / 8; @@ -2187,7 +2269,6 @@ canon_write(stp_vars_t *v, /* I - Print file or command */ unsigned char *line, /* I - Output bitmap data */ int length, /* I - Length of bitmap data */ int coloridx, /* I - Which color */ - int ydpi, /* I - Vertical resolution */ int *empty, /* IO- Preceeding empty lines */ int width, /* I - Printed width */ int offset, /* I - Offset from left side */ @@ -2245,7 +2326,7 @@ canon_write_line(stp_vars_t *v) if(channel){ written += canon_write(v, pd, pd->caps, channel->buf + channel->delay * pd->length /*buf_length[i]*/, - pd->length, num, pd->mode->ydpi, + pd->length, num, &(pd->emptylines), pd->out_width, pd->left, channel->props->bits, channel->props->flags); } @@ -2379,7 +2460,7 @@ canon_flush_pass(stp_vars_t *v, int passno, int vertical_subpass) written += canon_write(v, pd, pd->caps, (unsigned char *)(bufs[0].v[color] + line * linelength), - linelength, idx[color], pd->mode->ydpi, + linelength, idx[color], &(pd->emptylines), pd->out_width, pd->left, pd->weave_bits[color],0); if (written) stp_deprintf(STP_DBG_CANON," --written color %d,\n", color); diff --git a/src/main/print-color.c b/src/main/print-color.c index 592c90c..b6ffabd 100644 --- a/src/main/print-color.c +++ b/src/main/print-color.c @@ -1,5 +1,5 @@ /* - * "$Id: print-color.c,v 1.135.8.1 2007/05/29 01:47:29 rlk Exp $" + * "$Id: print-color.c,v 1.135.8.2 2007/12/15 20:35:45 rlk Exp $" * * Gutenprint color management module - traditional Gutenprint algorithm. * @@ -657,7 +657,7 @@ stpi_color_traditional_get_row(stp_vars_t *v, const lut_t *lut = (const lut_t *)(stp_get_component_data(v, "Color")); unsigned zero; if (stp_image_get_row(image, lut->in_data, - lut->image_width * lut->in_channels, row) + lut->image_width * lut->in_channels * lut->channel_depth / 8, row) != STP_IMAGE_STATUS_OK) return 2; if (!lut->channels_are_initialized) diff --git a/src/main/print-escp2-data.c b/src/main/print-escp2-data.c index 1327e7f..e8aa6c4 100644 --- a/src/main/print-escp2-data.c +++ b/src/main/print-escp2-data.c @@ -1,5 +1,5 @@ /* - * "$Id: print-escp2-data.c,v 1.202.6.2 2007/05/29 01:47:29 rlk Exp $" + * "$Id: print-escp2-data.c,v 1.202.6.4 2007/12/29 20:42:27 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -70,6 +70,9 @@ static const escp2_dot_size_t c3pl_dotsizes = static const escp2_dot_size_t c3pl_pigment_dotsizes = { 0x10, 0x10, 0x10, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12 }; +static const escp2_dot_size_t c3pl_pigment_c120_dotsizes = +{ 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13 }; + static const escp2_dot_size_t p3pl_dotsizes = { 0x10, 0x10, 0x10, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12 }; @@ -253,6 +256,9 @@ static const escp2_densities_t c3pl_pigment_densities = static const escp2_densities_t c3pl_pigment_c66_densities = { 2.8, 1.4, 0.70, 0.600, 0.512, 0.512, 0.512, 0.0, 0.0 }; +static const escp2_densities_t c3pl_pigment_c120_densities = +{ 4.0, 2.0, 1.56, 0.780, 0.512, 0.512, 0.512, 0.256, 0.128 }; + static const escp2_densities_t c3pl_densities = { 2.6, 1.3, 0.65, 0.730, 0.7, 0.91, 0.455, 0.0, 0.0 }; @@ -372,6 +378,8 @@ static const stp_raw_t sprx600_borderless_sequence = STP_RAW_STRING("SN\114\000\ static const stp_raw_t sprx620_borderless_sequence = STP_RAW_STRING("SN\114\000\000\011\026\000\000\000\000\000\000\000\003\000\000\001\260\004\336\004\064\001\000\002\000\000\000\000\064\010\150\020\030\025\310\031\340\075\314\020\214\012\024\005\214\000\012\001\054\001\000\000\017\017\017\017\017\017\017\017\004\012\004\017\017\017\017\017\006\004\000\001\001\001\000\000\367\007"); +static const stp_raw_t sc120_borderless_sequence = STP_RAW_STRING("SN\001\000\000US\003\000\000\000\002"); + #define INCH(x) (72 * x) const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = @@ -382,7 +390,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 15, 1, 4, 15, 1, 4, 15, 1, 4, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -400,7 +408,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -418,7 +426,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -436,7 +444,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -454,7 +462,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 64, 1, 2, 64, 1, 2, 64, 1, 2, 4, 360, 14400, -1, 1440, 720, 180, 180, 0, 1, 4, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -472,7 +480,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 64, 1, 2, 64, 1, 2, 64, 1, 2, 4, 360, 14400, -1, 1440, 720, 180, 180, 0, 1, 4, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -490,7 +498,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 64, 1, 2, 64, 1, 2, 64, 1, 2, 4, 360, 14400, -1, 1440, 720, 180, 180, 0, 1, 4, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -510,7 +518,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -528,7 +536,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_NO | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -546,7 +554,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 6, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -566,7 +574,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1999 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 21, 1, 4, 21, 1, 4, 21, 1, 4, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -584,7 +592,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1999 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -602,7 +610,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -620,7 +628,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 96, 1, 2, 192, 1, 1, 192, 1, 1, 4, 360, 14400, -1, 1440, 720, 180, 180, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -638,7 +646,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -656,7 +664,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -674,7 +682,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -692,7 +700,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -710,7 +718,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1999 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 8, 1, 28800, 720 * 720, @@ -728,7 +736,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -746,7 +754,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -764,7 +772,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_YES | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 15, 15, 3, 48, 48, 3, 48, 48, 3, 4, 360, 14400, 360, 720, 720, 90, 90, 0, 1, 0, 0, 0, -99, 0, 0, 1, 28800, 720 * 720, @@ -782,7 +790,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -800,7 +808,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -818,7 +826,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 64, 1, 2, 64, 1, 2, 64, 1, 2, 4, 360, 14400, -1, 1440, 720, 180, 180, 0, 1, 4, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -836,7 +844,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 64, 1, 2, 64, 1, 2, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -854,7 +862,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -872,7 +880,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 64, 1, 2, 64, 1, 2, 64, 1, 2, 6, 360, 14400, -1, 1440, 720, 180, 180, 0, 1, 0, 0, 0, 0, 0, 4, 1, 28800, 720 * 720, @@ -890,7 +898,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_PRO | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -908,7 +916,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_PRO | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_YES | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -926,7 +934,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_PRO | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -944,7 +952,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_PRO | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_YES | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -962,7 +970,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -980,7 +988,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -998,7 +1006,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 96, 1, 2, 192, 1, 1, 192, 1, 1, 4, 360, 14400, -1, 2880, 720, 180, 180, 38, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1016,7 +1024,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1034,7 +1042,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1052,7 +1060,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1070,7 +1078,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_YES | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 15, 15, 3, 48, 48, 3, 48, 48, 3, 4, 360, 14400, 360, 1440, 720, 90, 90, 0, 1, 0, 0, 0, -99, 0, 0, 1, 28800, 720 * 720, @@ -1088,7 +1096,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 16, 1, 4, 16, 1, 4, 16, 1, 4, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1106,7 +1114,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_PRO | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_YES | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1124,7 +1132,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_PRO | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_YES | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1142,7 +1150,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_YES | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 15, 15, 3, 48, 48, 3, 48, 48, 3, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, -99, 0, 0, 1, 28800, 720 * 720, @@ -1160,7 +1168,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_YES | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 15, 15, 3, 48, 48, 3, 48, 48, 3, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, -99, 0, 0, 1, 28800, 720 * 720, @@ -1178,7 +1186,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 60, 60, 2, 180, 180, 2, 180, 180, 2, 4, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 0, 0, -240, 0, 0, 1, 28800, 720 * 720, @@ -1196,7 +1204,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_NO | MODEL_COMMAND_1998 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_NO), + MODEL_PACKET_MODE_NO| MODEL_INTERCHANGEABLE_INK_NO), 16, 1, 4, 16, 1, 4, 16, 1, 4, 4, 360, 14400, -1, 720, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1214,7 +1222,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_YES | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 96, 96, 2, 96, 96, 2, 24, 24, 1, 6, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1230,9 +1238,9 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = /* 47: Stylus Photo 2100/2200 */ { (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | - MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_YES | + MODEL_ZEROMARGIN_H_ONLY | MODEL_VACUUM_NO | MODEL_FAST_360_YES | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_YES), 96, 96, 2, 96, 96, 2, 192, 192, 1, 7, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1250,7 +1258,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_PRO | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_YES | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1268,7 +1276,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_PRO | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_YES | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1286,7 +1294,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 1440, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1304,7 +1312,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 1440, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1322,7 +1330,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 144, 1, 1, 144, 1, 1, 4, 360, 14400, -1, 2880, 1440, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1340,7 +1348,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_YES | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 96, 96, 2, 96, 96, 2, 24, 24, 1, 6, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1358,7 +1366,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_1999 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 32, 1, 4, 32, 1, 4, 32, 1, 4, 6, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, 0, 0, 0, 1, 28800, 720 * 720, @@ -1376,7 +1384,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 59, 60, 2, 180, 180, 2, 180, 180, 2, 4, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 0, 0, -240, 0, 0, 1, 28800, 720 * 720, @@ -1394,7 +1402,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 15, 15, 3, 48, 48, 3, 48, 48, 3, 4, 360, 14400, -1, 1440, 720, 90, 90, 0, 1, 0, 0, 0, -99, 0, 0, 1, 28800, 720 * 720, @@ -1412,7 +1420,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_YES | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 180, 180, 2, 360, 360, 1, 360, 360, 1, 7, 360, 14400, -1, 2880, 2880, 720, 360, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1430,7 +1438,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 90, 2, 90, 90, 2, 90, 90, 2, 6, 360, 14400, -1, 2880, 2880, 720, 360, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1448,7 +1456,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_NO | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_YES | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 15, 15, 3, 48, 48, 3, 48, 48, 3, 4, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 0, 0, -99, 0, 0, 1, 28800, 720 * 720, @@ -1466,7 +1474,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 59, 60, 2, 180, 180, 2, 180, 180, 2, 4, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 80, 42, -240, 0, 0, 1, 28800, 720 * 720, @@ -1484,7 +1492,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 29, 30, 3, 90, 90, 3, 90, 90, 3, 4, 360, 14400, -1, 2880, 1440, 360, 120, 0, 1, 0, 80, 42, -180, 0, 0, 1, 28800, 1440 * 720, @@ -1502,7 +1510,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1520,7 +1528,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 3, 90, 1, 3, 90, 1, 3, 6, 360, 14400, -1, 2880, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1538,7 +1546,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 180, 1, 2, 180, 1, 2, 180, 1, 2, 8, 360, 28800, -1, 5760, 2880, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 180, 5760 * 2880, @@ -1556,7 +1564,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 3, 90, 1, 3, 90, 1, 3, 4, 360, 14400, -1, 5760, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 180, 1440 * 1440, @@ -1574,7 +1582,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 29, 30, 3, 90, 90, 3, 90, 90, 3, 4, 360, 14400, -1, 2880, 1440, 360, 120, 0, 1, 0, 80, 42, -180, 0, 0, 1, 28800, 1440 * 720, @@ -1592,7 +1600,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 180, 1, 2, 180, 1, 2, 180, 1, 2, 8, 360, 28800, -1, 5760, 2880, 360, 180, 0, 1, 0, 96, 42, 0, 0, 0, 1, 180, 5760 * 2880, @@ -1610,7 +1618,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 180, 1, 2, 180, 1, 2, 180, 1, 2, 8, 360, 14400, -1, 5760, 2880, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 180, 5760 * 2880, @@ -1628,7 +1636,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 59, 60, 2, 180, 180, 2, 180, 180, 2, 4, 360, 14400, -1, 2880, 2880, 360, 180, 0, 1, 0, 80, 42, -240, 0, 0, 1, 28800, 1440 * 720, @@ -1646,7 +1654,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 180, 1, 2, 180, 1, 2, 180, 1, 2, 6, 360, 28800, -1, 5760, 2880, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1664,7 +1672,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_YES), 180, 1, 2, 180, 1, 2, 180, 1, 2, 8, 360, 14400, -1, 5760, 2880, 360, 180, 0, 1, 0, 80, 42, 0, 0, 0, 1, 180, 1440 * 1440, @@ -1682,7 +1690,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 29, 30, 3, 90, 90, 3, 90, 90, 3, 4, 360, 14400, -1, 2880, 1440, 360, 120, 0, 1, 0, 80, 42, -180, 0, 0, 1, 28800, 1440 * 720, @@ -1700,7 +1708,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 3, 90, 1, 3, 90, 1, 3, 6, 360, 28800, -1, 5760, 1440, 1440, 720, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1718,7 +1726,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 90, 3, 90, 90, 3, 90, 90, 3, 4, 360, 14400, -1, 5760, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1736,7 +1744,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_YES | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 90, 3, 90, 90, 3, 90, 90, 3, 4, 360, 14400, -1, 5760, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1754,7 +1762,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_NO | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_YES | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 90, 3, 90, 90, 3, 90, 90, 3, 6, 360, 14400, -1, 5760, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1772,7 +1780,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 3, 90, 1, 3, 90, 1, 3, 4, 360, 14400, -1, 2880, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1790,7 +1798,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 48, 1, 3, 48, 1, 3, 48, 1, 3, 6, 360, 14400, -1, 2880, 720, 90, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 720 * 720, @@ -1808,7 +1816,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 59, 60, 2, 180, 180, 2, 180, 180, 2, 4, 360, 14400, -1, 2880, 1440, 360, 180, 0, 1, 0, 80, 42, -240, 0, 0, 1, 28800, 720 * 720, @@ -1826,7 +1834,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 59, 60, 2, 180, 180, 2, 180, 180, 2, 4, 360, 14400, -1, 2880, 2880, 360, 180, 0, 1, 0, 80, 42, -240, 0, 0, 1, 28800, 1440 * 720, @@ -1844,7 +1852,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 4, 90, 1, 4, 90, 1, 4, 6, 360, 14400, -1, 5760, 2880, 360, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 5760 * 2880, @@ -1855,14 +1863,14 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = "superfine", "claria", variable_bits, c1_5_base_res, "cd_roll_feed", "standard", &new_init_sequence, &je_deinit_sequence, - NULL, NULL, "photo" + NULL, NULL, "sp1400" }, /* 82: Stylus Photo 1400 */ { (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 4, 90, 1, 4, 90, 1, 4, 6, 360, 14400, -1, 5760, 2880, 360, 90, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 5760 * 2880, @@ -1873,14 +1881,14 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = "claria_1400", "claria", variable_bits, claria_1400_base_res, "cd_roll_feed", "standard", &new_init_sequence, &je_deinit_sequence, - NULL, NULL, "photo" + NULL, NULL, "sp1400" }, /* 83: Stylus Photo R240 */ { (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 3, 90, 1, 3, 90, 1, 3, 4, 360, 14400, -1, 5760, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1898,7 +1906,7 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | MODEL_ZEROMARGIN_FULL | MODEL_VACUUM_NO | MODEL_FAST_360_NO | MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | - MODEL_PACKET_MODE_YES), + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), 90, 1, 3, 90, 1, 3, 90, 1, 3, 6, 360, 14400, -1, 2880, 1440, 360, 120, 0, 1, 0, 80, 42, 0, 0, 0, 1, 28800, 1440 * 1440, @@ -1911,6 +1919,24 @@ const stpi_escp2_printer_t stpi_escp2_model_capabilities[] = "standard", &new_init_sequence, &je_deinit_sequence, &sprx500_borderless_sequence, NULL, "photo" }, + /* 85: Stylus C120 */ + { + (MODEL_VARIABLE_YES | MODEL_COMMAND_2000 | MODEL_GRAYMODE_YES | + MODEL_ZEROMARGIN_YES | MODEL_VACUUM_NO | MODEL_FAST_360_NO | + MODEL_SEND_ZERO_ADVANCE_YES | MODEL_SUPPORTS_INK_CHANGE_NO | + MODEL_PACKET_MODE_YES| MODEL_INTERCHANGEABLE_INK_NO), + 59, 60, 2, 360, 1, 1, 360, 1, 1, 4, + 360, 14400, -1, 5760, 1440, 360, 180, + 0, 1, 0, 80, 42, -240, 0, 0, 1, 28800, 5760 * 2880, + INCH(17 / 2), INCH(1200), INCH(2), INCH(2), + 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 0, 0, 9, 9, 0, 0, -1, -1, 0, 0, 24, + 4, 15, 0, 0, + c3pl_pigment_c120_dotsizes, c3pl_pigment_c120_densities, "variable_3pl_pigment_c120", + "superfine", "c120", + variable_bits, variable_base_res, "default", + "standard", &new_init_sequence, &je_deinit_sequence, + &sc120_borderless_sequence, NULL, "c120" + }, }; const int stpi_escp2_model_limit = diff --git a/src/main/print-escp2.c b/src/main/print-escp2.c index 191fa34..582702f 100644 --- a/src/main/print-escp2.c +++ b/src/main/print-escp2.c @@ -1,5 +1,5 @@ /* - * "$Id: print-escp2.c,v 1.355.2.2 2007/05/29 01:47:29 rlk Exp $" + * "$Id: print-escp2.c,v 1.355.2.4 2007/12/29 20:42:27 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -67,6 +67,7 @@ static const escp2_printer_attr_t escp2_printer_attrs[] = { "send_zero_advance", 10, 1 }, { "supports_ink_change", 11, 1 }, { "packet_mode", 12, 1 }, + { "interchangeable_ink", 13, 1 }, }; typedef struct @@ -314,7 +315,13 @@ static const stp_parameter_t the_parameters[] = }, { "SupportsPacketMode", N_("Supports Packet Mode"), N_("Advanced Printer Functionality"), - N_("Alternate Alignment Choices"), + N_("Supports D4 Packet Mode"), + STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE, + STP_PARAMETER_LEVEL_INTERNAL, 0, 0, -1, 0, 0 + }, + { + "InterchangeableInk", N_("Has Interchangeable Ink Cartridges"), N_("Advanced Printer Functionality"), + N_("Has multiple choices of ink cartridges"), STP_PARAMETER_TYPE_BOOLEAN, STP_PARAMETER_CLASS_FEATURE, STP_PARAMETER_LEVEL_INTERNAL, 0, 0, -1, 0, 0 }, @@ -872,7 +879,8 @@ static int supports_borderless(const stp_vars_t *v) { return (escp2_has_cap(v, MODEL_ZEROMARGIN, MODEL_ZEROMARGIN_YES) || - escp2_has_cap(v, MODEL_ZEROMARGIN, MODEL_ZEROMARGIN_FULL)); + escp2_has_cap(v, MODEL_ZEROMARGIN, MODEL_ZEROMARGIN_FULL) || + escp2_has_cap(v, MODEL_ZEROMARGIN, MODEL_ZEROMARGIN_H_ONLY)); } static int @@ -1427,16 +1435,23 @@ find_default_resolution(const stp_vars_t *v, const quality_t *q, { const res_t *const *res = escp2_reslist(v); int i = 0; - if (q->desired_hres < 0) + stp_dprintf(STP_DBG_ESCP2, v, "Quality %s: min %d %d max %d %d, des %d %d\n", + q->name, q->min_hres, q->min_vres, q->max_hres, q->max_vres, + q->desired_hres, q->desired_vres); + if (q->desired_hres < 0 || q->desired_vres < 0) { while (res[i]) i++; i--; while (i >= 0) { - stp_dprintf(STP_DBG_ESCP2, v, "Checking resolution %s %d...", + stp_dprintf(STP_DBG_ESCP2, v, " Checking resolution %s %d...\n", res[i]->name, i); - if (verify_resolution(v, res[i]) && + if ((q->max_hres <= 0 || res[i]->printed_hres <= q->max_hres) && + (q->max_vres <= 0 || res[i]->printed_vres <= q->max_vres) && + q->min_hres <= res[i]->printed_hres && + q->min_vres <= res[i]->printed_vres && + verify_resolution(v, res[i]) && verify_resolution_by_paper_type(v, res[i])) return res[i]; i--; @@ -1448,31 +1463,31 @@ find_default_resolution(const stp_vars_t *v, const quality_t *q, unsigned desired_hres = q->desired_hres; unsigned desired_vres = q->desired_vres; get_resolution_bounds_by_paper_type(v, &max_x, &max_y, &min_x, &min_y); - stp_dprintf(STP_DBG_ESCP2, v, "Comparing hres %d to %d, %d\n", + stp_dprintf(STP_DBG_ESCP2, v, " Comparing hres %d to %d, %d\n", desired_hres, min_x, max_x); - stp_dprintf(STP_DBG_ESCP2, v, "Comparing vres %d to %d, %d\n", + stp_dprintf(STP_DBG_ESCP2, v, " Comparing vres %d to %d, %d\n", desired_vres, min_y, max_y); if (max_x > 0 && desired_hres > max_x) { - stp_dprintf(STP_DBG_ESCP2, v, "Decreasing hres from %d to %d\n", + stp_dprintf(STP_DBG_ESCP2, v, " Decreasing hres from %d to %d\n", desired_hres, max_x); desired_hres = max_x; } else if (desired_hres < min_x) { - stp_dprintf(STP_DBG_ESCP2, v, "Increasing hres from %d to %d\n", + stp_dprintf(STP_DBG_ESCP2, v, " Increasing hres from %d to %d\n", desired_hres, min_x); desired_hres = min_x; } if (max_y > 0 && desired_vres > max_y) { - stp_dprintf(STP_DBG_ESCP2, v, "Decreasing vres from %d to %d\n", + stp_dprintf(STP_DBG_ESCP2, v, " Decreasing vres from %d to %d\n", desired_vres, max_y); desired_vres = max_y; } else if (desired_vres < min_y) { - stp_dprintf(STP_DBG_ESCP2, v, "Increasing vres from %d to %d\n", + stp_dprintf(STP_DBG_ESCP2, v, " Increasing vres from %d to %d\n", desired_vres, min_y); desired_vres = min_y; } @@ -1484,7 +1499,7 @@ find_default_resolution(const stp_vars_t *v, const quality_t *q, res[i]->printed_hres == desired_hres) { stp_dprintf(STP_DBG_ESCP2, v, - "Found desired resolution w/o oversample: %s %d: %d * %d, %d\n", + " Found desired resolution w/o oversample: %s %d: %d * %d, %d\n", res[i]->name, i, res[i]->printed_hres, res[i]->vertical_passes, res[i]->printed_vres); return res[i]; @@ -1499,7 +1514,7 @@ find_default_resolution(const stp_vars_t *v, const quality_t *q, res[i]->printed_hres * res[i]->vertical_passes == desired_hres) { stp_dprintf(STP_DBG_ESCP2, v, - "Found desired resolution: %s %d: %d * %d, %d\n", + " Found desired resolution: %s %d: %d * %d, %d\n", res[i]->name, i, res[i]->printed_hres, res[i]->vertical_passes, res[i]->printed_vres); return res[i]; @@ -1518,7 +1533,7 @@ find_default_resolution(const stp_vars_t *v, const quality_t *q, res[i]->printed_hres * res[i]->vertical_passes <= q->max_hres)) { stp_dprintf(STP_DBG_ESCP2, v, - "Found acceptable resolution: %s %d: %d * %d, %d\n", + " Found acceptable resolution: %s %d: %d * %d, %d\n", res[i]->name, i, res[i]->printed_hres, res[i]->vertical_passes, res[i]->printed_vres); return res[i]; @@ -1984,7 +1999,7 @@ escp2_parameters(const stp_vars_t *v, const char *name, } else if (strcmp(name, "SupportsPacketMode") == 0) { - description->deflt.integer = + description->deflt.boolean = escp2_has_cap(v, MODEL_PACKET_MODE, MODEL_PACKET_MODE_YES); } else if (strcmp(name, "PrintingMode") == 0) @@ -2724,6 +2739,41 @@ setup_head_offset(stp_vars_t *v) } static void +setup_split_channels(stp_vars_t *v) +{ + escp2_privdata_t *pd = get_privdata(v); + /* + * Set up the output channels + */ + if (pd->physical_channels == 1 && + + pd->inkname->channel_set->channels[0]->subchannels->split_channel_count > 1) + { + int i; + int incr = 1; + pd->split_channel_count = + pd->inkname->channel_set->channels[0]->subchannels->split_channel_count; + if (pd->res->vres < + (escp2_base_separation(v) / escp2_black_nozzle_separation(v))) + { + incr = + (escp2_base_separation(v) / escp2_black_nozzle_separation(v)) / + pd->res->vres; + pd->split_channel_count /= incr; + pd->nozzle_separation *= incr; + pd->nozzles /= incr; + pd->min_nozzles /= incr; + } + pd->split_channels = stp_malloc(pd->split_channel_count * sizeof(short)); + for (i = 0; i < pd->split_channel_count; i++) + pd->split_channels[i] = + pd->inkname->channel_set->channels[0]->subchannels->split_channels[i * incr]; + } + else + pd->split_channel_count = 0; +} + +static void setup_basic(stp_vars_t *v) { escp2_privdata_t *pd = get_privdata(v); @@ -2893,8 +2943,9 @@ setup_softweave_parameters(stp_vars_t *v) escp2_privdata_t *pd = get_privdata(v); pd->horizontal_passes = pd->res->printed_hres / pd->physical_xdpi; if (pd->physical_channels == 1 && - (pd->res->vres >= - (escp2_base_separation(v) / escp2_black_nozzle_separation(v))) && + (pd->inkname->channel_set->channels[0]->subchannels->split_channel_count > 1 || + (pd->res->vres >= + (escp2_base_separation(v) / escp2_black_nozzle_separation(v)))) && (escp2_max_black_resolution(v) < 0 || pd->res->vres <= escp2_max_black_resolution(v)) && escp2_black_nozzles(v)) @@ -2987,6 +3038,7 @@ setup_head_parameters(stp_vars_t *v) pd->horizontal_passes = 1; setup_head_offset(v); + setup_split_channels(v); if (strcmp(stp_get_string_parameter(v, "PrintingMode"), "BW") == 0 && pd->physical_channels == 1) @@ -3067,6 +3119,13 @@ setup_page(stp_vars_t *v) escp2_zero_margin_offset(v) * pd->page_management_units / escp2_base_separation(v); } + else if (escp2_has_cap(v, MODEL_ZEROMARGIN, MODEL_ZEROMARGIN_H_ONLY) && + (stp_get_boolean_parameter(v, "FullBleed")) && + ((!input_slot || !(input_slot->is_cd)))) + { + pd->paper_extra_bottom = 0; + pd->page_extra_height = 0; + } else { pd->page_extra_height = 0; @@ -3113,6 +3172,19 @@ setup_page(stp_vars_t *v) pd->image_width = stp_get_width(v); pd->image_scaled_width = pd->image_width * pd->res->hres / 72; pd->image_printed_width = pd->image_width * pd->res->printed_hres / 72; + if (pd->split_channel_count >= 1) + { + pd->split_channel_width = + ((pd->image_printed_width + pd->horizontal_passes - 1) / + pd->horizontal_passes); + pd->split_channel_width = (pd->split_channel_width + 7) / 8; + pd->split_channel_width *= pd->bitwidth; + if (COMPRESSION) + { + pd->comp_buf = + stp_malloc(stp_compute_tiff_linewidth(v, pd->split_channel_width)); + } + } pd->image_left_position = pd->image_left * pd->micro_units / 72; pd->zero_margin_offset = escp2_zero_margin_offset(v); if (supports_borderless(v) && @@ -3342,6 +3414,10 @@ escp2_print_page(stp_vars_t *v, stp_image_t *image) stp_free(pd->cols[i]); stp_free(pd->cols); stp_free(pd->channels); + if (pd->split_channels) + stp_free(pd->split_channels); + if (pd->comp_buf) + stp_free(pd->comp_buf); return status; } @@ -3454,7 +3530,8 @@ static const stp_printfuncs_t print_escp2_printfuncs = escp2_describe_output, stp_verify_printer_params, escp2_job_start, - escp2_job_end + escp2_job_end, + NULL }; static stp_family_t print_escp2_module_data = diff --git a/src/main/print-escp2.h b/src/main/print-escp2.h index f75354a..4f88f4d 100644 --- a/src/main/print-escp2.h +++ b/src/main/print-escp2.h @@ -1,5 +1,5 @@ /* - * "$Id: print-escp2.h,v 1.105.6.2 2007/05/29 01:47:29 rlk Exp $" + * "$Id: print-escp2.h,v 1.105.6.4 2007/12/29 20:42:28 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -175,8 +175,10 @@ typedef struct short color; short subchannel; short head_offset; + short split_channel_count; const char *channel_density; const char *subchannel_scale; + const short split_channels[PHYSICAL_CHANNEL_LIMIT]; } physical_subchannel_t; typedef struct @@ -373,6 +375,7 @@ typedef struct #define MODEL_ZEROMARGIN_NO 0x00ul /* zero margin mode? */ #define MODEL_ZEROMARGIN_YES 0x10ul /* (print to edge of the paper) */ #define MODEL_ZEROMARGIN_FULL 0x20ul /* (print to edge of the paper) */ +#define MODEL_ZEROMARGIN_H_ONLY 0x30ul /* (print to edge of the paper) */ #define MODEL_VARIABLE_DOT_MASK 0x40ul /* Does this printer support var */ #define MODEL_VARIABLE_NO 0x00ul /* dot size printing? The newest */ @@ -402,6 +405,10 @@ typedef struct #define MODEL_PACKET_MODE_NO 0x0000ul #define MODEL_PACKET_MODE_YES 0x1000ul +#define MODEL_INTERCHANGEABLE_INK_MASK 0x2000ul +#define MODEL_INTERCHANGEABLE_INK_NO 0x0000ul +#define MODEL_INTERCHANGEABLE_INK_YES 0x1000ul + typedef enum { MODEL_COMMAND, @@ -413,6 +420,7 @@ typedef enum MODEL_SEND_ZERO_ADVANCE, MODEL_SUPPORTS_INK_CHANGE, MODEL_PACKET_MODE, + MODEL_INTERCHANGEABLE_INK, MODEL_LIMIT } escp2_model_option_t; @@ -560,6 +568,9 @@ typedef struct int unit_scale; /* Scale factor for units */ int send_zero_pass_advance; /* Send explicit command for zero advance */ int zero_margin_offset; /* Zero margin offset */ + int split_channel_count; /* For split black channels, like C120 */ + int split_channel_width; /* Linewidth for split black channels */ + short *split_channels; /* Ink parameters */ int bitwidth; /* Number of bits per ink drop */ @@ -642,6 +653,7 @@ typedef struct int last_color; /* Last color we printed */ int last_pass_offset; /* Starting row of last pass we printed */ int last_pass; /* Last pass printed */ + unsigned char *comp_buf; /* Compression buffer for C120-type printers */ } escp2_privdata_t; @@ -658,12 +670,12 @@ extern void stpi_escp2_terminate_page(stp_vars_t *v); #define PACKFUNC stp_pack_uncompressed #else #define COMPRESSION (1) -#define FILLFUNC stp_fill_tiff -#define COMPUTEFUNC stp_compute_tiff_linewidth -#define PACKFUNC stp_pack_tiff +#define FILLFUNC pd->split_channel_count > 0 ? stp_fill_uncompressed : stp_fill_tiff +#define COMPUTEFUNC pd->split_channel_count > 0 ? stp_compute_uncompressed_linewidth : stp_compute_tiff_linewidth +#define PACKFUNC pd->split_channel_count > 0 ? stp_pack_uncompressed : stp_pack_tiff #endif #endif /* GUTENPRINT_INTERNAL_ESCP2_H */ /* - * End of "$Id: print-escp2.h,v 1.105.6.2 2007/05/29 01:47:29 rlk Exp $". + * End of "$Id: print-escp2.h,v 1.105.6.4 2007/12/29 20:42:28 rlk Exp $". */ diff --git a/src/main/print-lexmark.c b/src/main/print-lexmark.c index 5028b37..69bc08f 100644 --- a/src/main/print-lexmark.c +++ b/src/main/print-lexmark.c @@ -1,6 +1,6 @@ /* - * "$Id: print-lexmark.c,v 1.154 2006/05/28 16:59:05 rlk Exp $" + * "$Id: print-lexmark.c,v 1.154.8.1 2007/12/15 20:35:48 rlk Exp $" * * Print plug-in Lexmark driver for the GIMP. * @@ -2167,6 +2167,7 @@ static const stp_printfuncs_t print_lexmark_printfuncs = lexmark_describe_output, stp_verify_printer_params, NULL, + NULL, NULL }; diff --git a/src/main/print-olympus.c b/src/main/print-olympus.c index 7c02b15..e2ef864 100644 --- a/src/main/print-olympus.c +++ b/src/main/print-olympus.c @@ -1,5 +1,5 @@ /* - * "$Id: print-olympus.c,v 1.61.2.1 2007/03/02 12:01:30 rlk Exp $" + * "$Id: print-olympus.c,v 1.61.2.3 2007/12/29 20:42:28 rlk Exp $" * * Print plug-in DyeSub driver (formerly Olympus driver) for the GIMP. * @@ -89,8 +89,8 @@ typedef struct { typedef struct { const char* name; - int xdpi; - int ydpi; + int w_dpi; + int h_dpi; } dyesub_resolution_t; typedef struct { @@ -141,13 +141,14 @@ typedef struct { typedef struct { - int xdpi, ydpi; - int xsize, ysize; + int w_dpi, h_dpi; + int w_size, h_size; char plane; - int block_min_x, block_min_y; - int block_max_x, block_max_y; + int block_min_w, block_min_h; + int block_max_w, block_max_h; const char* pagesize; const laminate_t* laminate; + int print_mode; } dyesub_privdata_t; static dyesub_privdata_t privdata; @@ -265,10 +266,10 @@ static void p10_printer_end_func(stp_vars_t *v) static void p10_block_init_func(stp_vars_t *v) { stp_zprintf(v, "\033T%c", privdata.plane); - stp_put16_le(privdata.block_min_x, v); - stp_put16_le(privdata.block_min_y, v); - stp_put16_le(privdata.block_max_x + 1, v); - stp_put16_le(privdata.block_max_y + 1, v); + stp_put16_le(privdata.block_min_w, v); + stp_put16_le(privdata.block_min_h, v); + stp_put16_le(privdata.block_max_w + 1, v); + stp_put16_le(privdata.block_max_h + 1, v); } static const laminate_t p10_laminate[] = @@ -312,7 +313,7 @@ static void p200_printer_init_func(stp_vars_t *v) static void p200_plane_init_func(stp_vars_t *v) { stp_zprintf(v, "P0%d9999", 3 - privdata.plane+1 ); - stp_put32_be(privdata.xsize * privdata.ysize, v); + stp_put32_be(privdata.w_size * privdata.h_size, v); } static void p200_printer_end_func(stp_vars_t *v) @@ -366,8 +367,8 @@ static void p300_printer_init_func(stp_vars_t *v) { stp_zfwrite("\033\033\033C\033N\1\033F\0\1\033MS\xff\xff\xff" "\033Z", 1, 19, v); - stp_put16_be(privdata.xdpi, v); - stp_put16_be(privdata.ydpi, v); + stp_put16_be(privdata.w_dpi, v); + stp_put16_be(privdata.h_dpi, v); } static void p300_plane_end_func(stp_vars_t *v) @@ -382,14 +383,14 @@ static void p300_block_init_func(stp_vars_t *v) { const char *c = "CMY"; stp_zprintf(v, "\033\033\033W%c", c[privdata.plane-1]); - stp_put16_be(privdata.block_min_y, v); - stp_put16_be(privdata.block_min_x, v); - stp_put16_be(privdata.block_max_y, v); - stp_put16_be(privdata.block_max_x, v); + stp_put16_be(privdata.block_min_h, v); + stp_put16_be(privdata.block_min_w, v); + stp_put16_be(privdata.block_max_h, v); + stp_put16_be(privdata.block_max_w, v); stp_deprintf(STP_DBG_DYESUB, "dyesub: p300_block_init_func: %d-%dx%d-%d\n", - privdata.block_min_x, privdata.block_max_x, - privdata.block_min_y, privdata.block_max_y); + privdata.block_min_w, privdata.block_max_w, + privdata.block_min_h, privdata.block_max_h); } static const char p300_adj_cyan[] = @@ -472,13 +473,13 @@ static void p400_printer_init_func(stp_vars_t *v) stp_zprintf(v, "\033ZS"); if (wide) { - stp_put16_be(privdata.ysize, v); - stp_put16_be(privdata.xsize, v); + stp_put16_be(privdata.h_size, v); + stp_put16_be(privdata.w_size, v); } else { - stp_put16_be(privdata.xsize, v); - stp_put16_be(privdata.ysize, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); } dyesub_nputc(v, '\0', 57); stp_zprintf(v, "\033ZP"); dyesub_nputc(v, '\0', 61); @@ -502,17 +503,17 @@ static void p400_block_init_func(stp_vars_t *v) stp_zprintf(v, "\033Z%c", '3' - privdata.plane + 1); if (wide) { - stp_put16_be(privdata.ysize - privdata.block_max_y - 1, v); - stp_put16_be(privdata.xsize - privdata.block_max_x - 1, v); - stp_put16_be(privdata.block_max_y - privdata.block_min_y + 1, v); - stp_put16_be(privdata.block_max_x - privdata.block_min_x + 1, v); + stp_put16_be(privdata.h_size - privdata.block_max_h - 1, v); + stp_put16_be(privdata.w_size - privdata.block_max_w - 1, v); + stp_put16_be(privdata.block_max_h - privdata.block_min_h + 1, v); + stp_put16_be(privdata.block_max_w - privdata.block_min_w + 1, v); } else { - stp_put16_be(privdata.block_min_x, v); - stp_put16_be(privdata.block_min_y, v); - stp_put16_be(privdata.block_max_x - privdata.block_min_x + 1, v); - stp_put16_be(privdata.block_max_y - privdata.block_min_y + 1, v); + stp_put16_be(privdata.block_min_w, v); + stp_put16_be(privdata.block_min_h, v); + stp_put16_be(privdata.block_max_w - privdata.block_min_w + 1, v); + stp_put16_be(privdata.block_max_h - privdata.block_min_h + 1, v); } dyesub_nputc(v, '\0', 53); } @@ -558,7 +559,6 @@ static const char p400_adj_yellow[] = /* Olympus P-440 series */ -/* FIXME: colors - BGR instead of RGB ?!? */ static const dyesub_pagesize_t p440_page[] = { { "A4", NULL, -1, -1, 10, 9, 54, 54, DYESUB_PORTRAIT}, @@ -598,13 +598,13 @@ static void p440_printer_init_func(stp_vars_t *v) stp_zprintf(v, "\033ZS"); if (wide) { - stp_put16_be(privdata.ysize, v); - stp_put16_be(privdata.xsize, v); + stp_put16_be(privdata.h_size, v); + stp_put16_be(privdata.w_size, v); } else { - stp_put16_be(privdata.xsize, v); - stp_put16_be(privdata.ysize, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); } dyesub_nputc(v, '\0', 57); if (strcmp(privdata.pagesize, "C6") == 0) @@ -626,36 +626,35 @@ static void p440_block_init_func(stp_vars_t *v) stp_zprintf(v, "\033ZT"); if (wide) { - stp_put16_be(privdata.ysize - privdata.block_max_y - 1, v); - stp_put16_be(privdata.xsize - privdata.block_max_x - 1, v); - stp_put16_be(privdata.block_max_y - privdata.block_min_y + 1, v); - stp_put16_be(privdata.block_max_x - privdata.block_min_x + 1, v); + stp_put16_be(privdata.h_size - privdata.block_max_h - 1, v); + stp_put16_be(privdata.w_size - privdata.block_max_w - 1, v); + stp_put16_be(privdata.block_max_h - privdata.block_min_h + 1, v); + stp_put16_be(privdata.block_max_w - privdata.block_min_w + 1, v); } else { - stp_put16_be(privdata.block_min_x, v); - stp_put16_be(privdata.block_min_y, v); - stp_put16_be(privdata.block_max_x - privdata.block_min_x + 1, v); - stp_put16_be(privdata.block_max_y - privdata.block_min_y + 1, v); + stp_put16_be(privdata.block_min_w, v); + stp_put16_be(privdata.block_min_h, v); + stp_put16_be(privdata.block_max_w - privdata.block_min_w + 1, v); + stp_put16_be(privdata.block_max_h - privdata.block_min_h + 1, v); } dyesub_nputc(v, '\0', 53); } static void p440_block_end_func(stp_vars_t *v) { - int pad = (64 - (((privdata.block_max_x - privdata.block_min_x + 1) - * (privdata.block_max_y - privdata.block_min_y + 1) * 3) % 64)) % 64; + int pad = (64 - (((privdata.block_max_w - privdata.block_min_w + 1) + * (privdata.block_max_h - privdata.block_min_h + 1) * 3) % 64)) % 64; stp_deprintf(STP_DBG_DYESUB, "dyesub: max_x %d min_x %d max_y %d min_y %d\n", - privdata.block_max_x, privdata.block_min_x, - privdata.block_max_y, privdata.block_min_y); + privdata.block_max_w, privdata.block_min_w, + privdata.block_max_h, privdata.block_min_h); stp_deprintf(STP_DBG_DYESUB, "dyesub: olympus-p440 padding=%d\n", pad); dyesub_nputc(v, '\0', pad); } /* Olympus P-S100 */ -/* FIXME: colors - BGR instead of RGB ?!? */ static const dyesub_pagesize_t ps100_page[] = { { "w288h432", "4 x 6", 296, 426, 0, 0, 0, 0, DYESUB_PORTRAIT},/* 4x6" */ @@ -683,8 +682,8 @@ static void ps100_printer_init_func(stp_vars_t *v) stp_zprintf(v, "\033W"); dyesub_nputc(v, '\0', 62); stp_zfwrite("\x30\x2e\x00\xa2\x00\xa0\x00\xa0", 1, 8, v); - stp_put16_be(privdata.ysize, v); /* paper height (px) */ - stp_put16_be(privdata.xsize, v); /* paper width (px) */ + stp_put16_be(privdata.h_size, v); /* paper height (px) */ + stp_put16_be(privdata.w_size, v); /* paper width (px) */ dyesub_nputc(v, '\0', 3); stp_putc('\1', v); /* number of copies */ dyesub_nputc(v, '\0', 8); @@ -696,19 +695,19 @@ static void ps100_printer_init_func(stp_vars_t *v) stp_zfwrite("\033ZT\0", 1, 4, v); stp_put16_be(0, v); /* image width offset (px) */ stp_put16_be(0, v); /* image height offset (px) */ - stp_put16_be(privdata.xsize, v); /* image width (px) */ - stp_put16_be(privdata.ysize, v); /* image height (px) */ + stp_put16_be(privdata.w_size, v); /* image width (px) */ + stp_put16_be(privdata.h_size, v); /* image height (px) */ dyesub_nputc(v, '\0', 52); } static void ps100_printer_end_func(stp_vars_t *v) { - int pad = (64 - (((privdata.block_max_x - privdata.block_min_x + 1) - * (privdata.block_max_y - privdata.block_min_y + 1) * 3) % 64)) % 64; + int pad = (64 - (((privdata.block_max_w - privdata.block_min_w + 1) + * (privdata.block_max_h - privdata.block_min_h + 1) * 3) % 64)) % 64; stp_deprintf(STP_DBG_DYESUB, "dyesub: max_x %d min_x %d max_y %d min_y %d\n", - privdata.block_max_x, privdata.block_min_x, - privdata.block_max_y, privdata.block_min_y); + privdata.block_max_w, privdata.block_min_w, + privdata.block_max_h, privdata.block_min_h); stp_deprintf(STP_DBG_DYESUB, "dyesub: olympus-ps100 padding=%d\n", pad); dyesub_nputc(v, '\0', pad); /* padding to 64B blocks */ @@ -783,7 +782,7 @@ static void cpx00_plane_init_func(stp_vars_t *v) { stp_put16_be(0x4001, v); stp_put16_le(3 - privdata.plane, v); - stp_put32_le(privdata.xsize * privdata.ysize, v); + stp_put32_le(privdata.w_size * privdata.h_size, v); dyesub_nputc(v, '\0', 4); } @@ -850,6 +849,48 @@ static const dyesub_printsize_t cp220_printsize[] = LIST(dyesub_printsize_list_t, cp220_printsize_list, dyesub_printsize_t, cp220_printsize); +/* Canon SELPHY ES series */ +static void es1_printer_init_func(stp_vars_t *v) +{ + char pg = (strcmp(privdata.pagesize, "Postcard") == 0 ? 0x11 : + (strcmp(privdata.pagesize, "w253h337") == 0 ? '\2' : + (strcmp(privdata.pagesize, "w155h244") == 0 ? '\3' : 0x11 ))); + + /* + differs from cp-220 in that after the 0x4000, the next character + seems to be 0x01 instead of 0x00, and the P card size code is + '0x11' instead of '0x1' + codes for other paper types are unknown. + */ + + stp_put16_be(0x4000, v); + stp_putc(0x10, v); + stp_putc(pg, v); + dyesub_nputc(v, '\0', 8); +} + +static void es1_plane_init_func(stp_vars_t *v) +{ + unsigned char plane = 0; + + switch (privdata.plane) { + case 3: /* Y */ + plane = 0x01; + break; + case 2: /* M */ + plane = 0x03; + break; + case 1: /* C */ + plane = 0x07; + break; + } + + stp_put16_be(0x4001, v); + stp_putc(0x1, v); + stp_putc(plane, v); + stp_put32_le(privdata.w_size * privdata.h_size, v); + dyesub_nputc(v, '\0', 4); +} /* Sony DPP-EX5, DPP-EX7 */ static const dyesub_resolution_t res_403dpi[] = @@ -883,8 +924,8 @@ static void dppex5_printer_init(stp_vars_t *v) stp_zfwrite("DPEX\0\0\0\x80", 1, 8, v); stp_zfwrite("DPEX\0\0\0\x82", 1, 8, v); stp_zfwrite("DPEX\0\0\0\x84", 1, 8, v); - stp_put32_be(privdata.xsize, v); - stp_put32_be(privdata.ysize, v); + stp_put32_be(privdata.w_size, v); + stp_put32_be(privdata.h_size, v); stp_zfwrite("S\0o\0n\0y\0 \0D\0P\0P\0-\0E\0X\0\x35\0", 1, 24, v); dyesub_nputc(v, '\0', 40); stp_zfwrite("\1\4\0\4\xdc\0\x24\0\3\3\1\0\1\0\x82\0", 1, 16, v); @@ -907,8 +948,8 @@ static void dppex5_printer_init(stp_vars_t *v) static void dppex5_block_init(stp_vars_t *v) { stp_zfwrite("DPEX\0\0\0\x85", 1, 8, v); - stp_put32_be((privdata.block_max_x - privdata.block_min_x + 1) - * (privdata.block_max_y - privdata.block_min_y + 1) * 3, v); + stp_put32_be((privdata.block_max_w - privdata.block_min_w + 1) + * (privdata.block_max_h - privdata.block_min_h + 1) * 3, v); } static void dppex5_printer_end(stp_vars_t *v) @@ -929,8 +970,8 @@ LIST(laminate_list_t, dppex5_laminate_list, laminate_t, dppex5_laminate); /* Sony UP-DP10 */ static const dyesub_pagesize_t updp10_page[] = { - { "w288h432", "UPC-10P23 (2:3)", -1, -1, 12, 12, 18, 18, DYESUB_LANDSCAPE}, - { "w288h387", "UPC-10P34 (3:4)", -1, 384, 12, 12, 16, 16, DYESUB_LANDSCAPE}, + { "w288h432", "UPC-10P23 (4x6)", -1, -1, 12, 12, 18, 18, DYESUB_LANDSCAPE}, + { "w288h387", "UPC-10P34 (4x5)", -1, 384, 12, 12, 16, 16, DYESUB_LANDSCAPE}, { "w288h432", "UPC-10S01 (Sticker)", -1, -1, 12, 12, 18, 18, DYESUB_LANDSCAPE}, { "Custom", NULL, -1, -1, 12, 12, 0, 0, DYESUB_LANDSCAPE}, }; @@ -950,20 +991,22 @@ static void updp10_printer_init_func(stp_vars_t *v) { stp_zfwrite("\x98\xff\xff\xff\xff\xff\xff\xff" "\x09\x00\x00\x00\x1b\xee\x00\x00" + "\x00\x02\x00\x00\x01\x12\x00\x00" + "\x00\x1b\xe1\x00\x00\x00\x0b\x00" "\x00\x04", 1, 34, v); stp_zfwrite((privdata.laminate->seq).data, 1, (privdata.laminate->seq).bytes, v); /*laminate pattern*/ stp_zfwrite("\x00\x00\x00\x00", 1, 4, v); - stp_put16_be(privdata.ysize, v); - stp_put16_be(privdata.xsize, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); stp_zfwrite("\x14\x00\x00\x00\x1b\x15\x00\x00" "\x00\x0d\x00\x00\x00\x00\x00\x07" "\x00\x00\x00\x00", 1, 20, v); - stp_put16_be(privdata.ysize, v); - stp_put16_be(privdata.xsize, v); - stp_put32_le(privdata.xsize*privdata.ysize*3+11, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); + stp_put32_le(privdata.w_size*privdata.h_size*3+11, v); stp_zfwrite("\x1b\xea\x00\x00\x00\x00", 1, 6, v); - stp_put32_be(privdata.xsize*privdata.ysize*3, v); + stp_put32_be(privdata.w_size*privdata.h_size*3, v); stp_zfwrite("\x00", 1, 1, v); } @@ -1052,10 +1095,14 @@ LIST(dyesub_printsize_list_t, updr100_printsize_list, dyesub_printsize_t, updr10 static void updr100_printer_init_func(stp_vars_t *v) { + int dim1 = (privdata.print_mode == DYESUB_LANDSCAPE ? + privdata.h_size : privdata.w_size); + int dim2 = (privdata.print_mode == DYESUB_LANDSCAPE ? + privdata.w_size : privdata.h_size); stp_zfwrite("UPD8D\x00\x00\x00\x10\x03\x00\x00", 1, 12, v); - stp_put32_le(privdata.xsize, v); - stp_put32_le(privdata.ysize, v); + stp_put32_le(dim1, v); + stp_put32_le(dim2, v); stp_zfwrite("\x1e\x00\x03\x00\x01\x00\x4e\x01\x00\x00", 1, 10, v); stp_zfwrite((privdata.laminate->seq).data, 1, (privdata.laminate->seq).bytes, v); /* laminate pattern */ @@ -1118,6 +1165,10 @@ LIST(dyesub_printsize_list_t, updr150_printsize_list, dyesub_printsize_t, updr15 static void updr150_printer_init_func(stp_vars_t *v) { char pg = '\0'; + int dim1 = (privdata.print_mode == DYESUB_LANDSCAPE ? + privdata.w_size : privdata.h_size); + int dim2 = (privdata.print_mode == DYESUB_LANDSCAPE ? + privdata.h_size : privdata.w_size); stp_zfwrite("\x6a\xff\xff\xff\xef\xff\xff\xff", 1, 8, v); if (strcmp(privdata.pagesize,"B7") == 0) @@ -1142,19 +1193,19 @@ static void updr150_printer_init_func(stp_vars_t *v) "\x1b\x15\x00\x00\x00\x0d\x00\x0d" "\x00\x00\x00\x00\x00\x00\x00\x07" "\x00\x00\x00\x00", 1, 91, v); - stp_put16_be(privdata.ysize, v); - stp_put16_be(privdata.xsize, v); + stp_put16_be(dim1, v); + stp_put16_be(dim2, v); stp_zfwrite("\xf9\xff\xff\xff\x07\x00\x00\x00" "\x1b\xe1\x00\x00\x00\x0b\x00\x0b" "\x00\x00\x00\x00\x80\x00\x00\x00" "\x00\x00", 1, 26, v); - stp_put16_be(privdata.ysize, v); - stp_put16_be(privdata.xsize, v); + stp_put16_be(dim1, v); + stp_put16_be(dim2, v); stp_zfwrite("\xf8\xff\xff\xff\x0b\x00\x00\x00\x1b\xea" "\x00\x00\x00\x00", 1, 14, v); - stp_put32_be(privdata.xsize*privdata.ysize*3, v); + stp_put32_be(privdata.w_size*privdata.h_size*3, v); stp_zfwrite("\x00", 1, 1, v); - stp_put32_le(privdata.xsize*privdata.ysize*3, v); + stp_put32_le(privdata.w_size*privdata.h_size*3, v); } static void updr150_printer_end_func(stp_vars_t *v) @@ -1204,8 +1255,8 @@ static void cx400_printer_init_func(stp_vars_t *v) stp_zfwrite("FUJIFILM", 1, 8, v); stp_zfwrite(pname, 1, 6, v); stp_putc('\0', v); - stp_put16_le(privdata.xsize, v); - stp_put16_le(privdata.ysize, v); + stp_put16_le(privdata.w_size, v); + stp_put16_le(privdata.h_size, v); if (strcmp(privdata.pagesize,"w288h504") == 0) pg = '\x0d'; else if (strcmp(privdata.pagesize,"w288h432") == 0) @@ -1253,8 +1304,8 @@ static void nx500_printer_init_func(stp_vars_t *v) dyesub_nputc(v, '\0', 20); stp_zfwrite("\x02\x01\x01", 1, 3, v); dyesub_nputc(v, '\0', 2); - stp_put16_le(privdata.ysize, v); - stp_put16_le(privdata.xsize, v); + stp_put16_le(privdata.h_size, v); + stp_put16_le(privdata.w_size, v); stp_zfwrite("\x00\x02\x00\x70\x2f", 1, 5, v); dyesub_nputc(v, '\0', 43); } @@ -1289,11 +1340,67 @@ static void kodak_dock_plane_init(stp_vars_t *v) { stp_put16_be(0x3001, v); stp_put16_le(3 - privdata.plane, v); - stp_put32_le(privdata.xsize*privdata.ysize, v); + stp_put32_le(privdata.w_size*privdata.h_size, v); dyesub_nputc(v, '\0', 4); } +/* Shinko CHC-S9045 (experimental) */ +static const dyesub_pagesize_t shinko_chcs9045_page[] = +{ + { "w288h432", "4x6", PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "B7", "3.5x5", PT(1088,300)+1, PT(1548,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "w360h504", "5x7", PT(1548,300)+1, PT(2140,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, + { "w432h576", "6x9", PT(1844,300)+1, PT(2740,300)+1, 0, 0, 0, 0, + DYESUB_PORTRAIT}, + { "w283h425", "Sticker paper", PT(1092,300)+1, PT(1726,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, + { "Custom", NULL, PT(1240,300)+1, PT(1844,300)+1, 0, 0, 0, 0, + DYESUB_LANDSCAPE}, +}; + +LIST(dyesub_pagesize_list_t, shinko_chcs9045_page_list, dyesub_pagesize_t, shinko_chcs9045_page); + +static const dyesub_printsize_t shinko_chcs9045_printsize[] = +{ + { "300x300", "w288h432", 1240, 1844}, + { "300x300", "B7", 1088, 1548}, + { "300x300", "w360h504", 1548, 2140}, + { "300x300", "w432h576", 1844, 2740}, + { "300x300", "w283h425", 1092, 1726}, + { "300x300", "Custom", 1240, 1844}, +}; + +LIST(dyesub_printsize_list_t, shinko_chcs9045_printsize_list, dyesub_printsize_t, shinko_chcs9045_printsize); + +static void shinko_chcs9045_printer_init(stp_vars_t *v) +{ + char pg = '\0'; + char sticker = '\0'; + + stp_zprintf(v, "\033CHC\n"); + stp_put16_be(1, v); + stp_put16_be(1, v); + stp_put16_be(privdata.w_size, v); + stp_put16_be(privdata.h_size, v); + if (strcmp(privdata.pagesize,"B7") == 0) + pg = '\1'; + else if (strcmp(privdata.pagesize,"w360h504") == 0) + pg = '\3'; + else if (strcmp(privdata.pagesize,"w432h576") == 0) + pg = '\5'; + else if (strcmp(privdata.pagesize,"w283h425") == 0) + sticker = '\3'; + stp_putc(pg, v); + stp_putc('\0', v); + stp_putc(sticker, v); + dyesub_nputc(v, '\0', 4338); +} + + /* Model capabilities */ @@ -1375,7 +1482,7 @@ static const dyesub_cap_t dyesub_model_capabilities[] = }, { /* Olympus P-S100 */ 20, - &rgb_ink_list, + &bgr_ink_list, &res_306dpi_list, &ps100_page_list, &ps100_printsize_list, @@ -1420,7 +1527,8 @@ static const dyesub_cap_t dyesub_model_capabilities[] = NULL, }, { /* Canon CP-220, CP-330, SELPHY CP-400, SELPHY CP-500, SELPHY CP-510, - SELPHY CP-600, SELPHY CP-710 */ + SELPHY CP-600, SELPHY CP-710, SELPHY CP-720, SELPHY CP-730, + SELPHY CP-740, SELPHY CP-750 */ 1001, &ymc_ink_list, &res_300dpi_list, @@ -1436,6 +1544,22 @@ static const dyesub_cap_t dyesub_model_capabilities[] = cpx00_adj_cyan, cpx00_adj_magenta, cpx00_adj_yellow, NULL, }, + { /* Canon SELPHY ES1, ES2, ES20 (!experimental) */ + 1003, + &ymc_ink_list, + &res_300dpi_list, + &cpx00_page_list, + &cpx00_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT + | DYESUB_FEATURE_BORDERLESS | DYESUB_FEATURE_WHITE_BORDER + | DYESUB_FEATURE_PLANE_INTERLACE, + &es1_printer_init_func, NULL, + &es1_plane_init_func, NULL, + NULL, NULL, + cpx00_adj_cyan, cpx00_adj_magenta, cpx00_adj_yellow, + NULL, + }, { /* Sony DPP-EX5, DPP-EX7 */ 2002, &rgb_ink_list, @@ -1553,6 +1677,20 @@ static const dyesub_cap_t dyesub_model_capabilities[] = NULL, NULL, NULL, NULL, }, + { /* Shinko CHC-S9045 (experimental) */ + 5000, + &rgb_ink_list, + &res_300dpi_list, + &shinko_chcs9045_page_list, + &shinko_chcs9045_printsize_list, + SHRT_MAX, + DYESUB_FEATURE_FULL_WIDTH | DYESUB_FEATURE_FULL_HEIGHT, + &shinko_chcs9045_printer_init, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, NULL, + NULL, + }, }; static const stp_parameter_t the_parameters[] = @@ -1984,8 +2122,8 @@ dyesub_describe_resolution(const stp_vars_t *v, int *x, int *y) { if (strcmp(resolution, r->item[i].name) == 0) { - *x = r->item[i].xdpi; - *y = r->item[i].ydpi; + *x = r->item[i].w_dpi; + *y = r->item[i].h_dpi; break; } } @@ -2147,7 +2285,7 @@ dyesub_print_pixel(stp_vars_t *v, { unsigned short ink[MAX_INK_CHANNELS * MAX_BYTES_PER_CHANNEL], *out; unsigned char *ink_u8; - int i, j; + int i, j, b; if (pv->print_mode == DYESUB_LANDSCAPE) { /* "rotate" image */ @@ -2186,7 +2324,10 @@ dyesub_print_pixel(stp_vars_t *v, if (pv->plane_interlacing) stp_zfwrite((char *) ink + plane, pv->bytes_per_ink_channel, 1, v); else - stp_zfwrite((char *) ink, pv->bytes_per_ink_channel, pv->ink_channels, v); +/* stp_zfwrite((char *) ink, pv->bytes_per_ink_channel, pv->ink_channels, v);*/ + /* print inks in right order, eg. RGB BGR */ + for (b = 0; b < pv->ink_channels; b++) + stp_zfwrite((char *) ink + (pv->ink_order[b]-1), pv->bytes_per_ink_channel, 1, v); return 1; } @@ -2226,11 +2367,11 @@ dyesub_print_plane(stp_vars_t *v, { if (h % caps->block_size == 0) { /* block init */ - privdata.block_min_y = h + pv->prnt_px; - privdata.block_min_x = pv->prnl_px; - privdata.block_max_y = MIN(h + pv->prnt_px + caps->block_size - 1, + privdata.block_min_h = h + pv->prnt_px; + privdata.block_min_w = pv->prnl_px; + privdata.block_max_h = MIN(h + pv->prnt_px + caps->block_size - 1, pv->prnb_px); - privdata.block_max_x = pv->prnr_px; + privdata.block_max_w = pv->prnr_px; dyesub_exec(v, caps->block_init_func, "caps->block_init"); } @@ -2261,7 +2402,7 @@ dyesub_print_plane(stp_vars_t *v, } } - if (h + pv->prnt_px == privdata.block_max_y) + if (h + pv->prnt_px == privdata.block_max_h) { /* block end */ dyesub_exec(v, caps->block_end_func, "caps->block_end"); } @@ -2284,7 +2425,7 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) const dyesub_cap_t *caps = dyesub_get_model_capabilities(model); int max_print_px_width = 0; int max_print_px_height = 0; - int xdpi, ydpi; /* Resolution */ + int w_dpi, h_dpi; /* Resolution */ /* output in 1/72" */ int out_pt_width = stp_get_width(v); @@ -2315,7 +2456,7 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) pv.imgw_px = stp_image_width(image); pv.imgh_px = stp_image_height(image); - stp_describe_resolution(v, &xdpi, &ydpi); + stp_describe_resolution(v, &w_dpi, &h_dpi); dyesub_printsize(v, &max_print_px_width, &max_print_px_height); privdata.pagesize = stp_get_string_parameter(v, "PageSize"); @@ -2328,11 +2469,11 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) &page_mode); pv.prnw_px = MIN(max_print_px_width, - PX(page_pt_right - page_pt_left, xdpi)); + PX(page_pt_right - page_pt_left, w_dpi)); pv.prnh_px = MIN(max_print_px_height, - PX(page_pt_bottom - page_pt_top, ydpi)); - pv.outw_px = PX(out_pt_width, xdpi); - pv.outh_px = PX(out_pt_height, ydpi); + PX(page_pt_bottom - page_pt_top, h_dpi)); + pv.outw_px = PX(out_pt_width, w_dpi); + pv.outh_px = PX(out_pt_height, h_dpi); /* if image size is close enough to output size send out original size */ @@ -2343,9 +2484,9 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) pv.outw_px = MIN(pv.outw_px, pv.prnw_px); pv.outh_px = MIN(pv.outh_px, pv.prnh_px); - pv.outl_px = MIN(PX(out_pt_left - page_pt_left, xdpi), + pv.outl_px = MIN(PX(out_pt_left - page_pt_left, w_dpi), pv.prnw_px - pv.outw_px); - pv.outt_px = MIN(PX(out_pt_top - page_pt_top, ydpi), + pv.outt_px = MIN(PX(out_pt_top - page_pt_top, h_dpi), pv.prnh_px - pv.outh_px); pv.outr_px = pv.outl_px + pv.outw_px; pv.outb_px = pv.outt_px + pv.outh_px; @@ -2364,7 +2505,7 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) "res (dpi) %d x %d\n", page_pt_width, page_pt_height, pv.imgw_px, pv.imgh_px, - PT(pv.imgw_px, xdpi), PT(pv.imgh_px, ydpi), + PT(pv.imgw_px, w_dpi), PT(pv.imgh_px, h_dpi), out_pt_width, out_pt_height, pv.outw_px, pv.outh_px, out_pt_left, out_pt_top, @@ -2372,14 +2513,9 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) page_pt_right, page_pt_left, page_pt_right - page_pt_left, page_pt_bottom, page_pt_top, page_pt_bottom - page_pt_top, pv.prnw_px, pv.prnh_px, - xdpi, ydpi + w_dpi, h_dpi ); - privdata.xdpi = xdpi; - privdata.ydpi = ydpi; - privdata.xsize = pv.prnw_px; - privdata.ysize = pv.prnh_px; - /* FIXME: move this into print_init_drv */ ink_type = dyesub_describe_output_internal(v, &pv); @@ -2450,6 +2586,13 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) dyesub_swap_ints(&pv.imgh_px, &pv.imgw_px); } + /* assign private data *after* swaping image dimensions */ + privdata.w_dpi = w_dpi; + privdata.h_dpi = h_dpi; + privdata.w_size = pv.prnw_px; + privdata.h_size = pv.prnh_px; + privdata.print_mode = pv.print_mode; + /* printer init */ dyesub_exec(v, caps->printer_init_func, "caps->printer_init"); @@ -2498,6 +2641,7 @@ static const stp_printfuncs_t print_dyesub_printfuncs = dyesub_describe_output, stp_verify_printer_params, NULL, + NULL, NULL }; diff --git a/src/main/print-pcl.c b/src/main/print-pcl.c index c428310..9a8fb2e 100644 --- a/src/main/print-pcl.c +++ b/src/main/print-pcl.c @@ -1,5 +1,5 @@ /* - * "$Id: print-pcl.c,v 1.145 2006/09/12 19:03:33 easysw Exp $" + * "$Id: print-pcl.c,v 1.145.2.1 2007/12/15 20:35:49 rlk Exp $" * * Print plug-in HP PCL driver for the GIMP. * @@ -2219,8 +2219,6 @@ pcl_do_print(stp_vars_t *v, stp_image_t *image) if ((strcmp(duplex_mode, "DuplexTumble") == 0)) privdata.tumble=1; } - else - stp_erprintf("pcl: cannot duplex on this hardware.\n"); } /* @@ -2767,6 +2765,7 @@ static const stp_printfuncs_t print_pcl_printfuncs = pcl_describe_output, stp_verify_printer_params, NULL, + NULL, NULL }; diff --git a/src/main/print-ps.c b/src/main/print-ps.c index 62b5437..3bff8a4 100644 --- a/src/main/print-ps.c +++ b/src/main/print-ps.c @@ -1,5 +1,5 @@ /* - * "$Id: print-ps.c,v 1.87.8.1 2007/05/29 01:47:29 rlk Exp $" + * "$Id: print-ps.c,v 1.87.8.2 2007/12/15 20:35:49 rlk Exp $" * * Print plug-in Adobe PostScript driver for the GIMP. * @@ -1096,6 +1096,7 @@ static const stp_printfuncs_t print_ps_printfuncs = ps_describe_output, stp_verify_printer_params, NULL, + NULL, NULL }; diff --git a/src/main/print-raw.c b/src/main/print-raw.c index b63f3d7..5f4c31f 100644 --- a/src/main/print-raw.c +++ b/src/main/print-raw.c @@ -1,5 +1,5 @@ /* - * "$Id: print-raw.c,v 1.38 2006/04/17 02:06:19 rlk Exp $" + * "$Id: print-raw.c,v 1.38.8.1 2007/12/15 20:35:49 rlk Exp $" * * Print plug-in RAW driver for the GIMP. * @@ -332,6 +332,7 @@ static const stp_printfuncs_t print_raw_printfuncs = raw_describe_output, stp_verify_printer_params, NULL, + NULL, NULL }; diff --git a/src/main/print-util.c b/src/main/print-util.c index 975ec65..e0ac696 100644 --- a/src/main/print-util.c +++ b/src/main/print-util.c @@ -1,5 +1,5 @@ /* - * "$Id: print-util.c,v 1.109.4.3 2007/06/04 00:25:16 rlk Exp $" + * "$Id: print-util.c,v 1.109.4.4 2007/12/15 20:35:49 rlk Exp $" * * Print plug-in driver utility functions for the GIMP. * @@ -342,12 +342,20 @@ stp_dprintf(unsigned long level, const stp_vars_t *v, const char *format, ...) { int bytes; stpi_init_debug(); - if ((level & stpi_debug_level) && stp_get_errfunc(v)) + if (level & stpi_debug_level) { - char *result; - STPI_VASPRINTF(result, bytes, format); - (stp_get_errfunc(v))((void *)(stp_get_errdata(v)), result, bytes); - stp_free(result); + if (stp_get_errfunc(v)) + { + char *result; + STPI_VASPRINTF(result, bytes, format); + (stp_get_errfunc(v))((void *)(stp_get_errdata(v)), result, bytes); + stp_free(result); + } else { + va_list args; + va_start(args, format); + vfprintf(stderr, format, args); + va_end(args); + } } } diff --git a/src/main/printers.c b/src/main/printers.c index 9d56976..0820a22 100644 --- a/src/main/printers.c +++ b/src/main/printers.c @@ -1,5 +1,5 @@ /* - * "$Id: printers.c,v 1.79.2.1 2007/05/29 01:47:30 rlk Exp $" + * "$Id: printers.c,v 1.79.2.2 2007/12/15 20:35:50 rlk Exp $" * * Print plug-in driver utility functions for the GIMP. * @@ -478,6 +478,17 @@ stp_end_job(const stp_vars_t *v, stp_image_t *image) return 1; } +stp_string_list_t * +stp_get_external_options(const stp_vars_t *v) +{ + const stp_printfuncs_t *printfuncs = + stpi_get_printfuncs(stp_get_printer(v)); + if (printfuncs->get_external_options) + return (printfuncs->get_external_options)(v); + else + return NULL; +} + static int verify_string_param(const stp_vars_t *v, const char *parameter, stp_parameter_t *desc, int quiet) diff --git a/src/main/printers.xml b/src/main/printers.xml index b080e60..8250426 100644 --- a/src/main/printers.xml +++ b/src/main/printers.xml @@ -4,7 +4,7 @@ XML description of printers known to libgutenprint This file was originally generated. It should be edited by hand. - "$Id: printers.xml,v 1.157.4.6 2007/06/17 12:37:13 faust3 Exp $" + "$Id: printers.xml,v 1.157.4.8 2007/12/29 20:42:28 rlk Exp $" --> <gutenprint xmlns="http://gimp-print.sourceforge.net/xsd/gp.xsd-1.0" @@ -39,7 +39,25 @@ <parameter type="float" name="Gamma">0.75</parameter> </parameters> <parameters name="PIXMA_iP4000_params"> - <parameter type="float" name="Gamma">0.4</parameter> + <parameter type="float" name="Gamma">0.60</parameter> + </parameters> + <parameters name="PIXMA_iP4200_params"> + <parameter type="float" name="Brightness">1.30</parameter> + <parameter type="float" name="Gamma">0.70</parameter> + <parameter type="float" name="Density">0.80</parameter> + </parameters> + <parameters name="PIXMA_iP4300_params"> + <parameter type="float" name="Brightness">0.7</parameter> + <parameter type="float" name="Density">0.6</parameter> + <parameter type="float" name="Contrast">1.7</parameter> + <parameter type="float" name="Gamma">0.9</parameter> + <parameter type="float" name="BlackGamma">0.6</parameter> + </parameters> + <parameters name="PIXMA_iX5000_params"> + <parameter type="float" name="BlackGamma">2.0</parameter> + <parameter type="float" name="YellowGamma">1.4</parameter> + <parameter type="float" name="MagentaGamma">1.3</parameter> + <parameter type="float" name="CyanGamma">1.3</parameter> </parameters> <parameters name="PIXMA_iP4300_params"> <parameter type="float" name="Brightness">0.7</parameter> @@ -65,6 +83,8 @@ <printer name="Canon BJC-4000" driver="bjc-4000" manufacturer="Canon" model="4300" parameters="gamma_750_params" /> <printer name="Canon BJC-4300" driver="bjc-4300" manufacturer="Canon" model="4300" parameters="gamma_750_params" /> <printer name="Canon BJC-4400" driver="bjc-4400" manufacturer="Canon" model="4400" parameters="density_800_params" /> + <printer name="Canon BJC-5100" driver="bjc-5100" manufacturer="Canon" model="5100" parameters="density_800_params" /> + <printer name="Canon BJC-5500" driver="bjc-5500" manufacturer="Canon" model="5500" parameters="density_800_params" /> <printer name="Canon BJC-6000" driver="bjc-6000" manufacturer="Canon" model="6000" parameters="gamma_750_params" /> <printer name="Canon BJC-6100" driver="bjc-6100" manufacturer="Canon" model="6100" parameters="density_800_params" /> <printer name="Canon BJC-6200" driver="bjc-6200" manufacturer="Canon" model="6200" parameters="gamma_750_params" /> @@ -72,42 +92,54 @@ <printer name="Canon BJC-7000" driver="bjc-7000" manufacturer="Canon" model="7000" parameters="gamma_6_density_800_params" /> <printer name="Canon BJC-7100" driver="bjc-7100" manufacturer="Canon" model="7100" parameters="density_800_params" /> <printer name="Canon BJC-8200" driver="bjc-8200" manufacturer="Canon" model="8200" parameters="density_800_params" /> + <printer name="Canon BJC-8500" driver="bjc-8500" manufacturer="Canon" model="8500" parameters="density_800_params" /> <printer name="Canon S100" driver="bjc-s100" manufacturer="Canon" model="4300" parameters="gamma_750_params" /> - <printer name="Canon S200" driver="bjc-s200" manufacturer="Canon" model="4202" parameters="gamma_8_density_900_params" /> - <printer name="Canon S300" driver="bjc-s300" manufacturer="Canon" model="8201" parameters="density_800_params" /> + <printer name="Canon S200" driver="bjc-s200" manufacturer="Canon" model="1000200" parameters="gamma_8_density_900_params" /> + <printer name="Canon S300" driver="bjc-s300" manufacturer="Canon" model="1000300" parameters="density_800_params" /> <printer name="Canon S400" driver="bjc-s400" manufacturer="Canon" model="3000" parameters="density_800_params" /> <printer name="Canon S450" driver="bjc-s450" manufacturer="Canon" model="6200" parameters="gamma_750_params" /> - <printer name="Canon S500" driver="bjc-s500" manufacturer="Canon" model="8200" parameters="density_800_params" /> + <printer name="Canon S500" driver="bjc-s500" manufacturer="Canon" model="1000500" parameters="density_800_params" /> <printer name="Canon S600" driver="bjc-s600" manufacturer="Canon" model="8200" parameters="density_800_params" /> <printer name="Canon S630" driver="bjc-s630" manufacturer="Canon" model="8200" parameters="density_800_params" /> <printer name="Canon S800" driver="bjc-s800" manufacturer="Canon" model="8200" parameters="density_800_params" /> <printer name="Canon S4500" driver="bjc-s4500" manufacturer="Canon" model="6500" parameters="gamma_750_params" /> - <printer name="Canon PIXMA iP2000" driver="bjc-PIXMA-iP2000" manufacturer="Canon" model="9001" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP3000" driver="bjc-PIXMA-iP3000" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP3100" driver="bjc-PIXMA-iP3100" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP4000" driver="bjc-iP4000" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP4100" driver="bjc-PIXMA-iP4100" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP4200" driver="bjc-PIXMA-iP4200" manufacturer="Canon" model="4200" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP4300" driver="bjc-PIXMA-iP4300" manufacturer="Canon" model="4200" parameters="PIXMA_iP4300_params" /> - <printer name="Canon PIXMA iP5000" driver="bjc-PIXMA-iP5000" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP5200" driver="bjc-PIXMA-iP5200" manufacturer="Canon" model="4200" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA iP6700" driver="bjc-PIXMA-iP6700" manufacturer="Canon" model="4203" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP150" driver="bjc-MULTIPASS-MP150" manufacturer="Canon" model="4201" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP500" driver="bjc-MULTIPASS-MP500" manufacturer="Canon" model="4200" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP700" driver="bjc-MULTIPASS-MP700" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP730" driver="bjc-MULTIPASS-MP730" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP750" driver="bjc-MULTIPASS-MP750" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP760" driver="bjc-MULTIPASS-MP760" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP770" driver="bjc-MULTIPASS-MP770" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP780" driver="bjc-MULTIPASS-MP780" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP790" driver="bjc-MULTIPASS-MP790" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXMA MP830" driver="bjc-MULTIPASS-MP830" manufacturer="Canon" model="9000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXUS iP3100" driver="bjc-PIXUS-iP3100" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon PIXUS iP4100" driver="bjc-PIXUS-iP4100" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon i560" driver="bjc-i560" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon i850" driver="bjc-i850" manufacturer="Canon" model="3999" parameters="PIXMA_iP4000_params" /> - <printer name="Canon i860" driver="bjc-i860" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> - <printer name="Canon i865" driver="bjc-i865" manufacturer="Canon" model="4000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP2000" driver="bjc-PIXMA-iP2000" manufacturer="Canon" model="3002000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP3000" driver="bjc-PIXMA-iP3000" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP3100" driver="bjc-PIXMA-iP3100" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP4000" driver="bjc-iP4000" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP4100" driver="bjc-PIXMA-iP4100" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP4200" driver="bjc-PIXMA-iP4200" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4200_params" /> + <printer name="Canon PIXMA iP4300" driver="bjc-PIXMA-iP4300" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4300_params" /> + <printer name="Canon PIXMA iP4500" driver="bjc-PIXMA-iP4500" manufacturer="Canon" model="3004500" parameters="PIXMA_iP4300_params" /> + <printer name="Canon PIXMA iP5000" driver="bjc-PIXMA-iP5000" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP5200" driver="bjc-PIXMA-iP5200" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP5300" driver="bjc-PIXMA-iP5300" manufacturer="Canon" model="3005300" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP6700" driver="bjc-PIXMA-iP6700" manufacturer="Canon" model="3006700" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iP8500" driver="bjc-PIXMA-iP8500" manufacturer="Canon" model="3008500" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA iX5000" driver="bjc-PIXMA-iX5000" manufacturer="Canon" model="4005000" parameters="PIXMA_iX5000_params" /> + <printer name="Canon PIXMA Pro9500" driver="bjc-PIXMA-Pro9500" manufacturer="Canon" model="7009500" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP150" driver="bjc-MULTIPASS-MP150" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP170" driver="bjc-MULTIPASS-MP170" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP180" driver="bjc-MULTIPASS-MP180" manufacturer="Canon" model="5000150" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP500" driver="bjc-MULTIPASS-MP500" manufacturer="Canon" model="3004200" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP610" driver="bjc-MULTIPASS-MP610" manufacturer="Canon" model="3005300" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP700" driver="bjc-MULTIPASS-MP700" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP710" driver="bjc-MULTIPASS-MP710" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP730" driver="bjc-MULTIPASS-MP730" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP740" driver="bjc-MULTIPASS-MP740" manufacturer="Canon" model="5000740" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP750" driver="bjc-MULTIPASS-MP750" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP760" driver="bjc-MULTIPASS-MP760" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP770" driver="bjc-MULTIPASS-MP770" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP780" driver="bjc-MULTIPASS-MP780" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP790" driver="bjc-MULTIPASS-MP790" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXMA MP830" driver="bjc-MULTIPASS-MP830" manufacturer="Canon" model="5000830" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXUS iP3100" driver="bjc-PIXUS-iP3100" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon PIXUS iP4100" driver="bjc-PIXUS-iP4100" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon i80" driver="bjc-i80" manufacturer="Canon" model="2000080" parameters="density_800_params" /> + <printer name="Canon i560" driver="bjc-i560" manufacturer="Canon" model="2000560" parameters="gamma_6_density_800_params" /> + <printer name="Canon i850" driver="bjc-i850" manufacturer="Canon" model="3003000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon i860" driver="bjc-i860" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> + <printer name="Canon i865" driver="bjc-i865" manufacturer="Canon" model="3004000" parameters="PIXMA_iP4000_params" /> </family> <family name="escp2"> <parameters name="standard_params"> @@ -172,6 +204,8 @@ <printer name="Epson Stylus C86" driver="escp2-c86" manufacturer="Epson" model="69" parameters="standard_params" /> <printer name="Epson Stylus C87" driver="escp2-c87" manufacturer="Epson" model="69" parameters="standard_params" /> <printer name="Epson Stylus C88" driver="escp2-c88" manufacturer="Epson" model="69" parameters="standard_params" /> + <printer name="Epson Stylus C110" driver="escp2-c110" manufacturer="Epson" model="85" parameters="standard_params" /> + <printer name="Epson Stylus C120" driver="escp2-c120" manufacturer="Epson" model="85" parameters="standard_params" /> <printer name="Epson Stylus Color" driver="escp2" manufacturer="Epson" model="0" parameters="standard_params" /> <printer name="Epson Stylus Color I" driver="escp2-i" manufacturer="Epson" model="0" parameters="standard_params" /> <printer name="Epson Stylus Color II" driver="escp2-ii" manufacturer="Epson" model="0" parameters="standard_params" /> @@ -266,6 +300,7 @@ <printer name="Epson Stylus Photo RX560" driver="escp2-rx560" manufacturer="Epson" model="81" parameters="claria_params" /> <printer name="Epson Stylus Photo RX580" driver="escp2-rx580" manufacturer="Epson" model="81" parameters="claria_params" /> <printer name="Epson Stylus Photo RX590" driver="escp2-rx590" manufacturer="Epson" model="81" parameters="claria_params" /> + <printer name="Epson Stylus Photo RX595" driver="escp2-rx595" manufacturer="Epson" model="81" parameters="claria_params" /> <printer name="Epson Stylus Photo RX600" driver="escp2-rx600" manufacturer="Epson" model="84" parameters="standard_params" /> <printer name="Epson Stylus Photo RX620" driver="escp2-rx620" manufacturer="Epson" model="84" parameters="standard_params" /> <printer name="Epson Stylus Photo RX630" driver="escp2-rx630" manufacturer="Epson" model="84" parameters="standard_params" /> @@ -297,32 +332,39 @@ <printer name="Epson Stylus CX3810" driver="escp2-cx3810" manufacturer="Epson" model="72" parameters="standard_params" /> <printer name="Epson Stylus CX4100" driver="escp2-cx4100" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX4200" driver="escp2-cx4200" manufacturer="Epson" model="65" parameters="cx3500_params" /> + <printer name="Epson Stylus CX4400" driver="escp2-cx4400" manufacturer="Epson" model="72" parameters="standard_params" /> <printer name="Epson Stylus CX4500" driver="escp2-cx4500" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX4600" driver="escp2-cx4600" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX4700" driver="escp2-cx4700" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX4800" driver="escp2-cx4800" manufacturer="Epson" model="65" parameters="cx3500_params" /> + <printer name="Epson Stylus CX4900" driver="escp2-cx4900" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX5000" driver="escp2-cx5000" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX5000F" driver="escp2-cx5000f" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX5100" driver="escp2-cx5100" manufacturer="Epson" model="55" parameters="cx3500_params" /> <printer name="Epson Stylus CX5200" driver="escp2-cx5200" manufacturer="Epson" model="55" parameters="cx3500_params" /> <printer name="Epson Stylus CX5300" driver="escp2-cx5300" manufacturer="Epson" model="55" parameters="cx3500_params" /> <printer name="Epson Stylus CX5400" driver="escp2-cx5400" manufacturer="Epson" model="55" parameters="cx3500_params" /> + <printer name="Epson Stylus CX5600" driver="escp2-cx5600" manufacturer="Epson" model="72" parameters="standard_params" /> <printer name="Epson Stylus CX5700" driver="escp2-cx5700" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX5800" driver="escp2-cx5800" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX6000" driver="escp2-cx6000" manufacturer="Epson" model="65" parameters="cx3500_params" /> - <printer name="Epson Stylus CX6300" driver="escp2-cx6300" manufacturer="Epson" model="60" parameters="cx3500_params" /> + <printer name="Epson Stylus CX6300" driver="escp2-cx6300" manufacturer="Epson" model="79" parameters="cx3500_params" /> <printer name="Epson Stylus CX6400" driver="escp2-cx6400" manufacturer="Epson" model="79" parameters="cx3500_params" /> <printer name="Epson Stylus CX6500" driver="escp2-cx6500" manufacturer="Epson" model="80" parameters="cx3500_params" /> <printer name="Epson Stylus CX6600" driver="escp2-cx6600" manufacturer="Epson" model="80" parameters="cx3500_params" /> <printer name="Epson Stylus CX7000F" driver="escp2-cx7000f" manufacturer="Epson" model="65" parameters="cx3500_params" /> + <printer name="Epson Stylus CX7400" driver="escp2-cx7400" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX7700" driver="escp2-cx7700" manufacturer="Epson" model="80" parameters="cx3500_params" /> <printer name="Epson Stylus CX7800" driver="escp2-cx7800" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus CX8300" driver="escp2-cx8300" manufacturer="Epson" model="79" parameters="cx3500_params" /> <printer name="Epson Stylus CX8400" driver="escp2-cx8400" manufacturer="Epson" model="79" parameters="cx3500_params" /> + <printer name="Epson Stylus CX9400" driver="escp2-cx9400" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus D68" driver="escp2-d68" manufacturer="Epson" model="66" parameters="standard_params" /> <printer name="Epson Stylus D88" driver="escp2-d88" manufacturer="Epson" model="69" parameters="standard_params" /> + <printer name="Epson Stylus D120" driver="escp2-d120" manufacturer="Epson" model="85" parameters="standard_params" /> <printer name="Epson Stylus DX3800" driver="escp2-dx3800" manufacturer="Epson" model="72" parameters="standard_params" /> <printer name="Epson Stylus DX3850" driver="escp2-dx3850" manufacturer="Epson" model="72" parameters="standard_params" /> + <printer name="Epson Stylus DX4050" driver="escp2-dx4050" manufacturer="Epson" model="72" parameters="standard_params" /> <printer name="Epson Stylus DX4200" driver="escp2-dx4200" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus DX4250" driver="escp2-dx4250" manufacturer="Epson" model="65" parameters="cx3500_params" /> <printer name="Epson Stylus DX4800" driver="escp2-dx4800" manufacturer="Epson" model="65" parameters="standard_params" /> @@ -353,6 +395,7 @@ <printer name="Epson MJ 5100C" driver="escp2-mj5100c" manufacturer="Epson" model="39" parameters="standard_params" /> <printer name="Epson MJ 6000C" driver="escp2-mj6000c" manufacturer="Epson" model="6" parameters="standard_params" /> <printer name="Epson MJ 8000C" driver="escp2-mj8000c" manufacturer="Epson" model="24" parameters="standard_params" /> + <printer name="Epson PM 670C" driver="escp2-pm670c" manufacturer="Epson" model="7" parameters="standard_params" /> <printer name="Epson PM 700C" driver="escp2-pm700c" manufacturer="Epson" model="9" parameters="standard_params" /> <printer name="Epson PM 730C" driver="escp2-pm730c" manufacturer="Epson" model="35" parameters="standard_params" /> <printer name="Epson PM 740C" driver="escp2-pm740c" manufacturer="Epson" model="35" parameters="standard_params" /> @@ -407,6 +450,7 @@ <printer name="Epson PX V500" driver="escp2-pxv500" manufacturer="Epson" model="61" parameters="standard_params" /> <printer name="Epson PX V600" driver="escp2-pxv600" manufacturer="Epson" model="69" parameters="standard_params" /> <printer name="Epson PX V630" driver="escp2-pxv630" manufacturer="Epson" model="69" parameters="standard_params" /> + <printer name="Epson PX V780" driver="escp2-pxv780" manufacturer="Epson" model="85" parameters="standard_params" /> <printer name="Epson PX 5500" driver="escp2-px5500" manufacturer="Epson" model="71" parameters="standard_params" /> <printer name="Epson PX 7000" driver="escp2-px7000" manufacturer="Epson" model="48" parameters="standard_params" /> <printer name="Epson PX 9000" driver="escp2-px9000" manufacturer="Epson" model="49" parameters="standard_params" /> @@ -508,7 +552,7 @@ <printer name="HP Color LaserJet 5000" driver="hp-clj_5000" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP Color LaserJet 5500" driver="hp-clj_5500" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP Color LaserJet 8550GN" driver="hp-clj_8550gn" manufacturer="HP" model="6" parameters="pcl_laser_params" /> - <printer name="HP DesignJet 230" driver="pcl-desnj-230" manufacturer="HP" model="10230" parameters="pcl_inkjet_params" /> + <printer name="HP DesignJet 230" driver="pcl-desnj-230" manufacturer="HP" model="10230" parameters="pcl_inkjet_params" /> <printer name="HP DesignJet 250C" driver="pcl-desnj-250" manufacturer="HP" model="10250" parameters="pcl_inkjet_params" /> <printer name="HP DesignJet 430" driver="pcl-desnj-430" manufacturer="HP" model="10230" parameters="pcl_inkjet_params" /> <printer name="HP DesignJet 450C" driver="pcl-desnj-450" manufacturer="HP" model="10250" parameters="pcl_inkjet_params" /> @@ -638,6 +682,7 @@ <printer name="HP LaserJet 1010" driver="hp-lj_1010" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP LaserJet 1012" driver="hp-lj_1012" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP LaserJet 1015" driver="hp-lj_1015" manufacturer="HP" model="6" parameters="pcl_laser_params" /> + <printer name="HP LaserJet 1022" driver="hp-lj_1022" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP LaserJet 1100" driver="hp-lj_1100" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP LaserJet 1100A" driver="hp-lj_1100a" manufacturer="HP" model="6" parameters="pcl_laser_params" /> <printer name="HP LaserJet 1150" driver="hp-lj_1150" manufacturer="HP" model="6" parameters="pcl_laser_params" /> @@ -811,21 +856,21 @@ <printer name="NEC SuperScript 1260" driver="nec-ssc_1260" manufacturer="NEC" model="2" parameters="pcl_laser_params" /> <printer name="NEC SuperScript 1400" driver="nec-ssc_1400" manufacturer="NEC" model="6" parameters="pcl_laser_params" /> <printer name="NEC SuperScript 1800" driver="nec-ssc_1800" manufacturer="NEC" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata OL400" driver="okidata-ol400" manufacturer="Okidata" model="2" parameters="pcl_laser_params" /> - <printer name="Okidata OL400e" driver="okidata-ol400e" manufacturer="Okidata" model="2" parameters="pcl_laser_params" /> - <printer name="Okidata OL400ex" driver="okidata-ol400ex" manufacturer="Okidata" model="2" parameters="pcl_laser_params" /> - <printer name="Okidata OL410e" driver="okidata-ol410e" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata OL600e" driver="okidata-ol600e" manufacturer="Okidata" model="2" parameters="pcl_laser_params" /> - <printer name="Okidata OL610e/S" driver="okidata-ol610e_s" manufacturer="Okidata" model="2" parameters="pcl_laser_params" /> - <printer name="Okidata OL800" driver="okidata-ol800" manufacturer="Okidata" model="2" parameters="pcl_laser_params" /> - <printer name="Okidata OL810ex" driver="okidata-ol810ex" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Okipage 6e" driver="okidata-okp_6e" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Okipage 6ex" driver="okidata-okp_6ex" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Okipage 8p" driver="okidata-okp_8p" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Okipage 10e" driver="okidata-okp_10e" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Okipage 10ex" driver="okidata-okp_10ex" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Okipage 14ex" driver="okidata-okp_14ex" manufacturer="Okidata" model="6" parameters="pcl_laser_params" /> - <printer name="Okidata Super 6e" driver="okidata-super_6e" manufacturer="Okidata" model="4" parameters="pcl_laser_params" /> + <printer name="Okidata OL400" driver="okidata-ol400" manufacturer="Oki" model="2" parameters="pcl_laser_params" /> + <printer name="Okidata OL400e" driver="okidata-ol400e" manufacturer="Oki" model="2" parameters="pcl_laser_params" /> + <printer name="Okidata OL400ex" driver="okidata-ol400ex" manufacturer="Oki" model="2" parameters="pcl_laser_params" /> + <printer name="Okidata OL410e" driver="okidata-ol410e" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata OL600e" driver="okidata-ol600e" manufacturer="Oki" model="2" parameters="pcl_laser_params" /> + <printer name="Okidata OL610e/S" driver="okidata-ol610e_s" manufacturer="Oki" model="2" parameters="pcl_laser_params" /> + <printer name="Okidata OL800" driver="okidata-ol800" manufacturer="Oki" model="2" parameters="pcl_laser_params" /> + <printer name="Okidata OL810ex" driver="okidata-ol810ex" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Okipage 6e" driver="okidata-okp_6e" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Okipage 6ex" driver="okidata-okp_6ex" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Okipage 8p" driver="okidata-okp_8p" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Okipage 10e" driver="okidata-okp_10e" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Okipage 10ex" driver="okidata-okp_10ex" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Okipage 14ex" driver="okidata-okp_14ex" manufacturer="Oki" model="6" parameters="pcl_laser_params" /> + <printer name="Okidata Super 6e" driver="okidata-super_6e" manufacturer="Oki" model="4" parameters="pcl_laser_params" /> <printer name="Olivetti JP350S" driver="olivetti-jp350s" manufacturer="Olivetti" model="2" parameters="pcl_laser_params" /> <printer name="Olivetti PG 306" driver="olivetti-pg_306" manufacturer="Olivetti" model="2" parameters="pcl_laser_params" /> <printer name="PCPI 1030" driver="pcpi-1030" manufacturer="PCPI" model="2" parameters="pcl_laser_params" /> @@ -850,6 +895,7 @@ <printer name="Samsung QL-6050" driver="samsung-ql-6050" manufacturer="Samsung" model="6" parameters="pcl_laser_params" /> <printer name="Seiko SpeedJET 200" driver="seiko-sj_200" manufacturer="Seiko" model="2" parameters="pcl_laser_params" /> <printer name="Sharp AR-161" driver="sharp-ar-161" manufacturer="Sharp" model="6" parameters="pcl_laser_params" /> + <printer name="Sharp AR-M257" driver="sharp-ar-m257" manufacturer="Sharp" model="6" parameters="pcl_laser_params" /> <printer name="Sony IJP-V100" driver="sony-ijp-v100" manufacturer="Sony" model="601" parameters="pcl_inkjet_params" /> <printer name="Star LS-04" driver="star-ls-04" manufacturer="Star" model="2" parameters="pcl_laser_params" /> <printer name="Star LaserPrinter 8" driver="star-lp_8" manufacturer="Star" model="2" parameters="pcl_laser_params" /> @@ -901,6 +947,13 @@ <printer name="Canon SELPHY-CP-510" driver="canon-cp510" manufacturer="Canon" model="1001" /> <printer name="Canon SELPHY-CP-600" driver="canon-cp600" manufacturer="Canon" model="1001" /> <printer name="Canon SELPHY-CP-710" driver="canon-cp710" manufacturer="Canon" model="1001" /> + <printer name="Canon SELPHY-CP-720" driver="canon-cp720" manufacturer="Canon" model="1001" /> + <printer name="Canon SELPHY-CP-730" driver="canon-cp730" manufacturer="Canon" model="1001" /> + <printer name="Canon SELPHY-CP-740" driver="canon-cp740" manufacturer="Canon" model="1001" /> + <printer name="Canon SELPHY-CP-750" driver="canon-cp750" manufacturer="Canon" model="1001" /> + <printer name="Canon SELPHY ES1" driver="canon-es1" manufacturer="Canon" model="1003" /> + <printer name="Canon SELPHY ES2" driver="canon-es2" manufacturer="Canon" model="1003" /> + <printer name="Canon SELPHY ES20" driver="canon-es20" manufacturer="Canon" model="1003" /> <printer name="Sony DPP-EX5" driver="sony-dppex5" manufacturer="Sony" model="2002" /> <printer name="Sony DPP-EX7" driver="sony-dppex5" manufacturer="Sony" model="2002" /> <printer name="Sony UP-DP10" driver="sony-updp10" manufacturer="Sony" model="2000" /> @@ -910,6 +963,7 @@ <printer name="Fujifilm Printpix-CX-550" driver="fujifilm-cx550" manufacturer="Fujifilm" model="3001" /> <printer name="Fujifilm FinePix-NX-500" driver="fujifilm-nx500" manufacturer="Fujifilm" model="3002" /> <printer name="Kodak Easyshare-Printer-Dock" driver="kodak-dock" manufacturer="Kodak" model="4000"/> + <printer name="Shinko CHC-S9045" driver="shinko-chcs9045" manufacturer="Shinko" model="5000"/> </family> <family name="raw"> <printer name="RAW DATA 16 bit" driver="raw-data-16" manufacturer="" model="0" /> diff --git a/src/main/sequence.c b/src/main/sequence.c index 83f2b69..09cb116 100644 --- a/src/main/sequence.c +++ b/src/main/sequence.c @@ -1,5 +1,5 @@ /* - * "$Id: sequence.c,v 1.23 2006/09/12 19:03:33 easysw Exp $" + * "$Id: sequence.c,v 1.23.2.1 2007/12/15 20:35:51 rlk Exp $" * * Sequence data type. This type is designed to be derived from by * the curve and dither matrix types. @@ -478,14 +478,13 @@ stp_sequence_set_##name##_data(stp_sequence_t *sequence, \ size_t count, const t *data) \ { \ int i; \ - check_sequence(sequence); \ + check_sequence(sequence); \ if (count < 2) \ return 0; \ \ /* Validate the data before we commit to it. */ \ for (i = 0; i < count; i++) \ - if (! isfinite(data[i]) || \ - data[i] < sequence->blo || \ + if (data[i] < sequence->blo || \ data[i] > sequence->bhi) \ return 0; \ stp_sequence_set_size(sequence, count); \ @@ -494,7 +493,27 @@ stp_sequence_set_##name##_data(stp_sequence_t *sequence, \ return 1; \ } -DEFINE_DATA_SETTER(float, float) +int +stp_sequence_set_float_data(stp_sequence_t *sequence, + size_t count, const float *data) +{ + int i; + check_sequence(sequence); + if (count < 2) + return 0; + + /* Validate the data before we commit to it. */ + for (i = 0; i < count; i++) + if (! isfinite(data[i]) || + data[i] < sequence->blo || + data[i] > sequence->bhi) + return 0; + stp_sequence_set_size(sequence, count); + for (i = 0; i < count; i++) + stp_sequence_set_point(sequence, i, (double) data[i]); + return 1; +} + DEFINE_DATA_SETTER(long, long) DEFINE_DATA_SETTER(unsigned long, ulong) DEFINE_DATA_SETTER(int, int) diff --git a/src/testpattern/Makefile.am b/src/testpattern/Makefile.am index fa190ea..b0ec34a 100644 --- a/src/testpattern/Makefile.am +++ b/src/testpattern/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.25 2006/05/28 19:17:26 rlk Exp $ +## $Id: Makefile.am,v 1.25.8.1 2007/12/15 20:35:51 rlk Exp $ ## Copyright (C) 2000 Roger Leigh ## ## This program is free software; you can redistribute it and/or modify @@ -26,7 +26,7 @@ include $(top_srcdir)/scripts/global.mk pkgdatadir = $(datadir)/$(PACKAGE)/samples -TESTS = run-testpattern run-testpattern-1 run-testpattern-2 +TESTS = run-testpattern-1 run-testpattern-2 ## Programs @@ -52,7 +52,9 @@ printer_options_LDADD = $(GUTENPRINT_LIBS) ## Data +if INSTALL_SAMPLES pkgdata_DATA = testpattern.sample extended.sample +endif ## Clean diff --git a/src/testpattern/Makefile.in b/src/testpattern/Makefile.in index a58e6a2..1249030 100644 --- a/src/testpattern/Makefile.in +++ b/src/testpattern/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 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,14 +21,10 @@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -68,32 +64,36 @@ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) printer_options_SOURCES = printer_options.c printer_options_OBJECTS = printer_options.$(OBJEXT) -am__DEPENDENCIES_1 = $(top_builddir)/src/main/libgutenprint.la -printer_options_DEPENDENCIES = $(am__DEPENDENCIES_1) +printer_options_DEPENDENCIES = $(GUTENPRINT_LIBS) printers_SOURCES = printers.c printers_OBJECTS = printers.$(OBJEXT) -printers_DEPENDENCIES = $(am__DEPENDENCIES_1) +printers_DEPENDENCIES = $(GUTENPRINT_LIBS) am_testpattern_OBJECTS = testpattern.$(OBJEXT) testpatterny.$(OBJEXT) \ testpatternl.$(OBJEXT) testpattern_OBJECTS = $(am_testpattern_OBJECTS) -testpattern_DEPENDENCIES = $(am__DEPENDENCIES_1) +testpattern_DEPENDENCIES = $(GUTENPRINT_LIBS) SCRIPTS = $(noinst_SCRIPTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ || LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +YLWRAP = $(top_srcdir)/scripts/ylwrap +@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) -LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \ - $(AM_YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS) SOURCES = printer_options.c printers.c $(testpattern_SOURCES) DIST_SOURCES = printer_options.c printers.c $(testpattern_SOURCES) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -110,51 +110,13 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkgdatadir = $(datadir)/$(PACKAGE)/samples ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_CUPS_1_2_FALSE = @BUILD_CUPS_1_2_FALSE@ -BUILD_CUPS_1_2_TRUE = @BUILD_CUPS_1_2_TRUE@ -BUILD_CUPS_FALSE = @BUILD_CUPS_FALSE@ BUILD_CUPS_PPDS = @BUILD_CUPS_PPDS@ -BUILD_CUPS_PPDS_FALSE = @BUILD_CUPS_PPDS_FALSE@ -BUILD_CUPS_PPDS_TRUE = @BUILD_CUPS_PPDS_TRUE@ -BUILD_CUPS_TRUE = @BUILD_CUPS_TRUE@ -BUILD_ESCPUTIL_FALSE = @BUILD_ESCPUTIL_FALSE@ -BUILD_ESCPUTIL_TRUE = @BUILD_ESCPUTIL_TRUE@ -BUILD_FOOMATIC_3_FALSE = @BUILD_FOOMATIC_3_FALSE@ -BUILD_FOOMATIC_3_TRUE = @BUILD_FOOMATIC_3_TRUE@ -BUILD_FOOMATIC_FALSE = @BUILD_FOOMATIC_FALSE@ -BUILD_FOOMATIC_TRUE = @BUILD_FOOMATIC_TRUE@ -BUILD_GENPPD_STATIC_FALSE = @BUILD_GENPPD_STATIC_FALSE@ -BUILD_GENPPD_STATIC_TRUE = @BUILD_GENPPD_STATIC_TRUE@ -BUILD_GHOSTSCRIPT_FALSE = @BUILD_GHOSTSCRIPT_FALSE@ -BUILD_GHOSTSCRIPT_TRUE = @BUILD_GHOSTSCRIPT_TRUE@ -BUILD_GIMP2_AS_GUTENPRINT_FALSE = @BUILD_GIMP2_AS_GUTENPRINT_FALSE@ -BUILD_GIMP2_AS_GUTENPRINT_TRUE = @BUILD_GIMP2_AS_GUTENPRINT_TRUE@ -BUILD_GIMP2_FALSE = @BUILD_GIMP2_FALSE@ -BUILD_GIMP2_TRUE = @BUILD_GIMP2_TRUE@ -BUILD_GIMP_FALSE = @BUILD_GIMP_FALSE@ -BUILD_GIMP_TRUE = @BUILD_GIMP_TRUE@ -BUILD_LIBGUTENPRINTUI2_FALSE = @BUILD_LIBGUTENPRINTUI2_FALSE@ -BUILD_LIBGUTENPRINTUI2_TRUE = @BUILD_LIBGUTENPRINTUI2_TRUE@ -BUILD_LIBGUTENPRINTUI_FALSE = @BUILD_LIBGUTENPRINTUI_FALSE@ -BUILD_LIBGUTENPRINTUI_TRUE = @BUILD_LIBGUTENPRINTUI_TRUE@ -BUILD_MODULES_FALSE = @BUILD_MODULES_FALSE@ -BUILD_MODULES_TRUE = @BUILD_MODULES_TRUE@ -BUILD_SIMPLIFIED_CUPS_PPDS_FALSE = @BUILD_SIMPLIFIED_CUPS_PPDS_FALSE@ -BUILD_SIMPLIFIED_CUPS_PPDS_TRUE = @BUILD_SIMPLIFIED_CUPS_PPDS_TRUE@ -BUILD_TESTPATTERN_FALSE = @BUILD_TESTPATTERN_FALSE@ -BUILD_TESTPATTERN_TRUE = @BUILD_TESTPATTERN_TRUE@ -BUILD_TEST_FALSE = @BUILD_TEST_FALSE@ -BUILD_TEST_TRUE = @BUILD_TEST_TRUE@ -BUILD_TRANSLATED_CUPS_PPDS_FALSE = @BUILD_TRANSLATED_CUPS_PPDS_FALSE@ -BUILD_TRANSLATED_CUPS_PPDS_TRUE = @BUILD_TRANSLATED_CUPS_PPDS_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -164,8 +126,6 @@ CPPFLAGS = @CPPFLAGS@ CUPS_CFLAGS = @CUPS_CFLAGS@ CUPS_CONFIG = @CUPS_CONFIG@ CUPS_LIBS = @CUPS_LIBS@ -CUPS_PPDS_AT_TOP_LEVEL_FALSE = @CUPS_PPDS_AT_TOP_LEVEL_FALSE@ -CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -246,14 +206,11 @@ GUTENPRINT_VERSION = @GUTENPRINT_VERSION@ IJS_CFLAGS = @IJS_CFLAGS@ IJS_CONFIG = @IJS_CONFIG@ IJS_LIBS = @IJS_LIBS@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SAMPLES_FALSE = @INSTALL_SAMPLES_FALSE@ -INSTALL_SAMPLES_TRUE = @INSTALL_SAMPLES_TRUE@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTALL_USER_GUIDE_FALSE = @INSTALL_USER_GUIDE_FALSE@ -INSTALL_USER_GUIDE_TRUE = @INSTALL_USER_GUIDE_TRUE@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ @@ -273,9 +230,8 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_CFLAGS = @MAINTAINER_CFLAGS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -294,27 +250,26 @@ POSUB = @POSUB@ RANLIB = @RANLIB@ RELEASE_DATE = @RELEASE_DATE@ RM = @RM@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +TEST = @TEST@ TEXI2HTML = @TEXI2HTML@ -USE_LEVEL3_PS_FALSE = @USE_LEVEL3_PS_FALSE@ -USE_LEVEL3_PS_TRUE = @USE_LEVEL3_PS_TRUE@ +TRUE = @TRUE@ USE_NLS = @USE_NLS@ -USE_NLS_FALSE = @USE_NLS_FALSE@ -USE_NLS_TRUE = @USE_NLS_TRUE@ VERSION = @VERSION@ WHICH_PPDS = @WHICH_PPDS@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -326,6 +281,7 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ cups_bindir = @cups_bindir@ cups_conf_datadir = @cups_conf_datadir@ cups_conf_serverbin = @cups_conf_serverbin@ @@ -371,10 +327,13 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) -TESTS = run-testpattern run-testpattern-1 run-testpattern-2 +TESTS = run-testpattern-1 run-testpattern-2 @BUILD_TESTPATTERN_TRUE@noinst_SCRIPTS = run-testpattern-2 AM_LFLAGS = -i AM_YFLAGS = -d @@ -382,7 +341,7 @@ testpattern_SOURCES = testpattern.c testpatterny.y testpatternl.l testpattern.h testpattern_LDADD = $(GUTENPRINT_LIBS) printers_LDADD = $(GUTENPRINT_LIBS) printer_options_LDADD = $(GUTENPRINT_LIBS) -pkgdata_DATA = testpattern.sample extended.sample +@INSTALL_SAMPLES_TRUE@pkgdata_DATA = testpattern.sample extended.sample MAINTAINERCLEANFILES = Makefile.in testpatternl.c testpatterny.c testpatterny.h EXTRA_DIST = testpatterny.h $(pkgdata_DATA) run-testpattern run-testpattern-1 all: all-am @@ -422,7 +381,7 @@ 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)" + 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 \ @@ -457,18 +416,18 @@ clean-noinstPROGRAMS: done printer_options$(EXEEXT): $(printer_options_OBJECTS) $(printer_options_DEPENDENCIES) @rm -f printer_options$(EXEEXT) - $(LINK) $(printer_options_LDFLAGS) $(printer_options_OBJECTS) $(printer_options_LDADD) $(LIBS) + $(LINK) $(printer_options_OBJECTS) $(printer_options_LDADD) $(LIBS) printers$(EXEEXT): $(printers_OBJECTS) $(printers_DEPENDENCIES) @rm -f printers$(EXEEXT) - $(LINK) $(printers_LDFLAGS) $(printers_OBJECTS) $(printers_LDADD) $(LIBS) + $(LINK) $(printers_OBJECTS) $(printers_LDADD) $(LIBS) testpatterny.h: testpatterny.c @if test ! -f $@; then \ rm -f testpatterny.c; \ - $(MAKE) testpatterny.c; \ + $(MAKE) $(AM_MAKEFLAGS) testpatterny.c; \ else :; fi testpattern$(EXEEXT): $(testpattern_OBJECTS) $(testpattern_DEPENDENCIES) @rm -f testpattern$(EXEEXT) - $(LINK) $(testpattern_LDFLAGS) $(testpattern_OBJECTS) $(testpattern_LDADD) $(LIBS) + $(LINK) $(testpattern_OBJECTS) $(testpattern_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -483,64 +442,40 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpatterny.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(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 $@ $< .l.c: - $(LEXCOMPILE) $< - sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ - rm -f $(LEX_OUTPUT_ROOT).c + $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) .y.c: - $(YACCCOMPILE) $< - if test -f y.tab.h; then \ - to=`echo "$*_H" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ - sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ - y.tab.h >$*.ht; \ - rm -f y.tab.h; \ - if cmp -s $*.ht $*.h; then \ - rm -f $*.ht ;\ - else \ - mv $*.ht $*.h; \ - fi; \ - fi - if test -f y.output; then \ - mv y.output $*.output; \ - fi - sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ - rm -f y.tab.c + $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)" + test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @list='$(pkgdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -605,9 +540,9 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ - list='$(TESTS)'; \ + list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ @@ -616,7 +551,7 @@ check-TESTS: $(TESTS) if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *" $$tst "*) \ + *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ @@ -628,7 +563,7 @@ check-TESTS: $(TESTS) elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ - *" $$tst "*) \ + *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ @@ -678,23 +613,21 @@ check-TESTS: $(TESTS) else :; fi distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/../../scripts - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -711,7 +644,7 @@ check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -750,7 +683,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -764,12 +697,20 @@ info-am: install-data-am: install-pkgdataDATA +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -790,22 +731,24 @@ ps: ps-am ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ - uninstall-pkgdataDATA +uninstall-am: uninstall-binPROGRAMS uninstall-pkgdataDATA + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-pkgdataDATA install-strip installcheck installcheck-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-pkgdataDATA install-ps \ + install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-binPROGRAMS uninstall-info-am \ - uninstall-pkgdataDATA + uninstall-am uninstall-binPROGRAMS uninstall-pkgdataDATA @SET_MAKE@ diff --git a/src/testpattern/run-testpattern b/src/testpattern/run-testpattern index 360c81a..f194323 100755 --- a/src/testpattern/run-testpattern +++ b/src/testpattern/run-testpattern @@ -16,6 +16,7 @@ valgrind=0 valopts='' extra='' dontrun= +output='' set_opt() { opt=`echo $1 | awk -F= '{print $1}'` @@ -31,6 +32,7 @@ usage() { echo "Usage: run-testpattern [-v|--valgrind]" echo " [-p|--parameter parameter=value]" echo " [-n|--dontrun]" + echo " [-O|--output]" echo " [--] [printers...]" exit 0; } @@ -43,6 +45,7 @@ set_args() { -c|--cachegrind) valopts='--tool=cachegrind'; valgrind=4 ;; -g|--gdb-attach) valopts='--gdb-attach=yes' ;; -p|--parameter) shift; set_opt "$1" ;; + -O|--output) shift; output="$1" ;; -n|--dontrun) dontrun=1 ;; --) shift; args="$@"; return ;; *) return ;; @@ -116,12 +119,16 @@ EOF } run_testpattern() { + suppress=-n + if [ -n "$output" ] ; then + suppress='' + fi case "$valgrind" in - 1) valgrind $valopts -q --num-callers=100 --leak-check=yes ./testpattern -n ;; - 2) valgrind $valopts --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./testpattern -n ;; - 3) valgrind $valopts --error-limit=no --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./testpattern -n ;; - 4) valgrind $valopts ./testpattern -n ;; - *) ./testpattern -n ;; + 1) valgrind $valopts -q --num-callers=100 --leak-check=yes --error-limit=no ./testpattern $suppress ;; + 2) valgrind $valopts --num-callers=100 --leak-resolution=high --leak-check=yes --error-limit=no ./testpattern $suppress ;; + 3) valgrind $valopts --error-limit=no --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./testpattern $suppress ;; + 4) valgrind $valopts ./testpattern $suppress ;; + *) ./testpattern $suppress ;; esac if [ $? -ne 0 ] ; then retval=1 @@ -129,7 +136,7 @@ run_testpattern() { exit $retval } -set_args `getopt hgvp:nc "$@"` +set_args `getopt hgvp:ncO: "$@"` if [ -z "$args" ] ; then args=`./printers` @@ -141,14 +148,25 @@ StandardDithers="EvenTone HybridEvenTone Adaptive Ordered Fast VeryFast Floyd Pr the_message='' +if [ -z "$dontrun" -a -n "$output" -a ! -d "$output" ] ; then + mkdir "$output" + if [ "$?" -ne 0 ] ; then + echo "Cannot create directory '$output'" + exit 1 + fi +fi + print_all_testpatterns() { if [ -z "`echo $extra |grep DitherAlgorithm`" ] ; then for p in $args ; do set_message "$p " for d in $StandardDithers ; do + if [ -n "$output" ] ; then + outstuff="`printf '\n%s\n' \"output \\\"$output/${p}_${d}\\\";\"`" + fi set_message " $d" - print_one_testpattern "$p" "`printf '%s\n' \"parameter \\\"DitherAlgorithm\\\" \\\"$d\\\";\"`" "$extra" "$the_message" + print_one_testpattern "$p" "`printf '%s\n' \"parameter \\\"DitherAlgorithm\\\" \\\"$d\\\";\"`" "$extra" "$the_message" "$outstuff" the_message='' done done diff --git a/src/testpattern/run-testpattern-1 b/src/testpattern/run-testpattern-1 index 466a476..f606235 100755 --- a/src/testpattern/run-testpattern-1 +++ b/src/testpattern/run-testpattern-1 @@ -16,6 +16,7 @@ valgrind=0 valopts='' extra='' dontrun= +output= set_opt() { opt=`echo $1 | awk -F= '{print $1}'` @@ -31,6 +32,7 @@ usage() { echo "Usage: run-testpattern [-v|--valgrind]" echo " [-p|--parameter parameter=value]" echo " [-n|--dontrun]" + echo " [-O|--output]" echo " [--] [printers...]" exit 0; } @@ -46,6 +48,7 @@ set_args() { -g|--gdb-attach) valopts='--gdb-attach=yes' ;; -p|--parameter) shift; set_opt "$1" ;; -n|--dontrun) dontrun=1 ;; + -O|--output) shift; output="$1" ;; -o|--one) print_command=run_testpattern; dontrun=1 ;; --) shift; args="$@"; return ;; *) return ;; @@ -207,13 +210,16 @@ EOF } run_testpattern() { + suppress=-n + if [ -n "$output" ] ; then + suppress='' + fi case "$valgrind" in - 1) valgrind $valopts -q --num-callers=100 --leak-check=yes ./testpattern -n ;; - 2) valgrind $valopts --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./testpattern -n ;; - 3) valgrind $valopts --error-limit=no --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./testpattern -n ;; - 4) valgrind $valopts ./testpattern -n ;; - 5) LD_PRELOAD=libefence.so.0.0 ./testpattern -n ;; - *) ./testpattern -n ;; + 1) valgrind $valopts -q --num-callers=100 --leak-check=yes --error-limit=no ./testpattern $suppress ;; + 2) valgrind $valopts --num-callers=100 --leak-resolution=high --leak-check=yes --error-limit=no ./testpattern $suppress ;; + 3) valgrind $valopts --error-limit=no --num-callers=100 --show-reachable=yes --leak-resolution=high --leak-check=yes ./testpattern $suppress ;; + 4) valgrind $valopts ./testpattern $suppress ;; + *) ./testpattern $suppress ;; esac if [ $? -ne 0 ] ; then retval=1 @@ -221,7 +227,7 @@ run_testpattern() { exit $retval } -set_args `getopt hgvp:nco "$@"` +set_args `getopt hgvp:ncoO: "$@"` if [ -z "$args" ] ; then args=`./printers` @@ -238,18 +244,29 @@ RawTypes="raw-data-8 raw-data-16" RawModes="rgb kcmy cmyk cmy gray white" RawColorCorrections="None Density Desaturated Accurate Bright Uncorrected Threshold Raw Predithered" RawInkTypes="CMYK RGB CMY KCMY RGBGray CMYGray" -RawPrintingModes="Color BW" +RawPrintingModes="BW Color" the_message='' +if [ -z "$dontrun" -a -n "$output" -a ! -d "$output" ] ; then + mkdir "$output" + if [ "$?" -ne 0 ] ; then + echo "Cannot create directory '$output'" + exit 1 + fi +fi + print_all_testpatterns() { for a in $RawPrintingModes ; do for b in $RawInkTypes ; do for c in $RawColorCorrections ; do for d in $RawModes ; do for e in $RawBitDepths ; do - set_message "$a $b $c $d $e" - print_one_raw_testpattern "raw-data-8" $d $e $b $c $a "$extra" "$the_message" | $print_command + set_message "Raw $a $b $c $d $e" + if [ -n "$output" ] ; then + outstuff="`printf '\n%s\n' \"output \\\"$output/raw-data-8_${a}_${b}_${c}_${d}_${e}\\\";\"`" + fi + print_one_raw_testpattern "raw-data-8" $d $e $b $c $a "$extra" "$the_message" "$outstuff"| $print_command the_message="" done done @@ -261,8 +278,11 @@ print_all_testpatterns() { for c in $StandardColorCorrections ; do for d in $StandardModes ; do for e in $StandardBitDepths ; do - set_message "$a $b $c $d $e" - print_one_testpattern "escp2-r800" $d $e $b $c $a "$extra" "$the_message" | $print_command + set_message "R800 $a $b $c $d $e" + if [ -n "$output" ] ; then + outstuff="`printf '\n%s\n' \"output \\\"$output/escp2-r800_${a}_${b}_${c}_${d}_${e}\\\";\"`" + fi + print_one_testpattern "escp2-r800" $d $e $b $c $a "$extra" "$the_message" "$outstuff" | $print_command the_message="" done done @@ -271,8 +291,11 @@ print_all_testpatterns() { done for a in $StandardColorCorrections ; do for b in $StandardBitDepths ; do - set_message "Color extended 8 CMYKRB $a $b" - print_one_testpattern "escp2-r800" "extended 8" $b CMYKRB $a Color "$extra" "$the_message" | $print_command + set_message "R800 Extended Color 8 CMYKRB $a $b" + if [ -n "$output" ] ; then + outstuff="`printf '\n%s\n' \"output \\\"$output/escp2-r800_${b}_CMYKRB_${a}_Color\\\";\"`" + fi + print_one_testpattern "escp2-r800" "extended 8" $b CMYKRB $a Color "$extra" "$the_message" "$outstuff" | $print_command the_message="" done done diff --git a/src/testpattern/run-testpattern-2.in b/src/testpattern/run-testpattern-2.in index 9f0fd5c..065d8f4 100644 --- a/src/testpattern/run-testpattern-2.in +++ b/src/testpattern/run-testpattern-2.in @@ -14,29 +14,54 @@ my $retval = 0; my $testpattern_command; my @printer_list = (); my @special_options = (); -my @standard_options = qw(InkType); +my @standard_options = qw(InkType DitherAlgorithm Duplex); my $global_status = 1; +my $output = undef; my @extras = (); my @messages = (); +my @global_messages = (); my %stpdata = (); my %models_found = (); my %models; my %families; my $skip_duplicate_printers = 0; +my $std_pages = 1; + +my @default_options = (); +my %base_settings = ("DitherAlgorithm" => "Fast", + "ColorCorrection" => "Raw"); GetOptions("v+" => \$valgrind, "c" => \$cachegrind, "g" => \$gdb_attach, "n" => \$dontrun, + "p:i" => \$std_pages, "s!" => \$skip_duplicate_printers, "o=s" => \@special_options, - "m" => \$calc_md5); + "O=s" => \$output, + "d=s" => \@default_options, + "m:s" => \$calc_md5); + +my $pages = $std_pages; + +if (defined $calc_md5 && $calc_md5 eq "0") { + $calc_md5 = undef; +} if (! @special_options) { @special_options = @standard_options; } +foreach my $opt (@default_options) { + my ($option, $value) = split(/=/, $opt); + if (! $value) { + delete $base_settings{$option}; + } else { + $base_settings{$option} = $value; + } +} + my $pwd = `pwd`; chomp $pwd; @@ -58,11 +83,22 @@ sub set_message($) { push @messages, "message \"$message\";\n"; } +sub set_global_message($) { + my ($message) = @_; + push @global_messages, "message \"$message\";\n"; +} + sub print_one_testpattern($) { my ($printer) = @_; - my $stuff = "printer \"$printer\";\n"; - $stuff .= join "", @extras, @messages; - $stuff .= << 'EOF'; + my $stuff = join "", @global_messages; + foreach my $page (0..$pages - 1) { + $stuff .= "printer \"$printer\";\n"; + $stuff .= join "", @extras, @messages; + if ($pages > 1) { + $stuff .= "message \"(page $page)\";\n"; + } + $stuff .= "parameter_int \"PageNumber\" $page;\n"; + $stuff .= << 'EOF'; hsize 0.1; vsize 0.1; left 0.15; @@ -118,6 +154,7 @@ pattern 1.0 1.0 1.0 1.0 1.0 0.0 0.9 1.0 0.0 0.1 1.0 0.0 0.1 1.0 0.0 0.0 1.0; pattern 0.0 0.0 1.0 1.0 1.0 0.0 0.9 1.0 0.0 0.1 1.0 0.0 0.1 1.0 0.0 0.0 1.0; end; EOF + } return $stuff; } @@ -146,14 +183,6 @@ sub do_print { my ($output, $fh) = @_; if ($dontrun) { print $output; - } elsif ($calc_md5) { - open TESTPATTERN, "|$testpattern_command" or - die "Can't run $testpattern_command: $!\n"; - print TESTPATTERN $output; - my $status = close TESTPATTERN; - if (! $status) { - $global_status = 0; - } } else { print $fh $output; } @@ -197,17 +226,38 @@ sub do_printer { my $pmode; foreach $pmode (@printing_modes) { my ($resolution); + $pages = $std_pages; foreach $resolution (@resolutions) { @extras = (); @messages = (); + @global_messages = (); if ($first_time) { - set_message("$printer\n"); + set_global_message("$printer\n"); $first_time = 0; } set_opt("PrintingMode", $pmode); set_opt("Resolution", $resolution); - set_opt("DitherAlgorithm", "Fast"); - set_opt("ColorCorrection", "Raw"); + map { set_opt($_, $base_settings{$_})} keys %base_settings; + if (defined $output || defined $calc_md5) { + my $outkey = "${printer}_PrintingMode_${pmode}_Resolution_${resolution}"; + my $md5_dir = $calc_md5; + if (defined $calc_md5 && $calc_md5 eq "") { + $md5_dir = $output; + } + my $outbase = "${outkey}.prn"; + my $outfile = "$output/$outbase"; + my $md5file = "$md5_dir/${outkey}.md5"; + if (! $md5_dir) { + $md5file = "${outkey}.md5"; + } + if ($output && $calc_md5) { + push @extras, "output \"|tee '$outfile' | md5sum -b | sed 's/-/$outbase/' > '$md5file'\";\n"; + } elsif ($output) { + push @extras, "output \"$outfile\";\n"; + } else { + push @extras, "output \"|md5sum -b | sed 's/-/$outbase/' > '$md5file'\";\n"; + } + } set_message(" ${pmode}+${resolution}"); my $output = print_one_testpattern($printer); do_print( $output, $fh ); @@ -218,17 +268,48 @@ sub do_printer { if ($#opts >= 1) { my $opt; foreach $opt (@opts) { + my ($out_file); @extras = (); @messages = (); + @global_messages = (); if ($first_time) { - set_message("$printer\n"); + set_global_message("$printer\n"); $first_time = 0; } set_opt("PrintingMode", $pmode); set_opt("Resolution", $min_res_name); set_opt($key, $opt); - set_opt("DitherAlgorithm", "Fast"); - set_opt("ColorCorrection", "Raw"); + map { + if ($key ne $_) { + set_opt($_, $base_settings{$_}); + if ($key eq "Duplex") { + set_opt("JobMode", "Job"); + $pages = 4; + } else { + $pages = $std_pages; + } + } + } keys %base_settings; + if (defined $output || defined $calc_md5) { + my $outkey = "${printer}_PrintingMode_${pmode}_Resolution_${min_res_name}_${key}_${opt}"; + my $md5_dir = $calc_md5; + if (defined $calc_md5 && $calc_md5 eq "") { + $md5_dir = $output; + } + my $outbase = "${outkey}.prn"; + my $outfile = "$output/$outbase"; + my $md5file = "$md5_dir/${outkey}.md5"; + if (! $md5_dir) { + $md5file = "${outkey}.md5"; + } + if (defined $output && defined $calc_md5) { + push @extras, "output \"|tee '$outfile' | md5sum -b | sed 's/-/$outbase/' > '$md5file'\";\n"; + } elsif ($output) { + push @extras, "output \"$outfile\";\n"; + } else { + push @extras, "output \"|md5sum -b | sed 's/-/$outbase/' > '$md5file'\";\n"; + } + } set_message(" ${key}=${opt}+${pmode}+${min_res_name}"); my $output = print_one_testpattern($printer); do_print( $output, $fh ); @@ -263,19 +344,22 @@ if ($dontrun) { $valgrind_command = "valgrind $valopts"; } - my $status = 1; - if ($calc_md5) { - $testpattern_command = "./testpattern > out.prn; a=\$? ; md5sum out.prn; exit \$a"; - map { do_printer($_) } @printer_list; - $status = $global_status; - } else { - $testpattern_command = "$valgrind_command ./testpattern -n"; - open TESTPATTERN, "|$testpattern_command" or - die "Can't run $testpattern_command: $!\n"; - $testpattern_command = "$valgrind_command ./testpattern -n"; - map { do_printer($_, \*TESTPATTERN) } @printer_list; - $status = close TESTPATTERN; + if (defined $output && $output ne "" && ! -d $output) { + mkdir $output || die "Can't create directory $output: $!\n"; + } + + if (defined $calc_md5 && $calc_md5 ne "" && ! -d $calc_md5) { + mkdir $calc_md5 || die "Can't create directory $calc_md5: $!\n"; } + + my $status = 1; + my ($suppress); + if (! defined $output && ! defined $calc_md5) { $suppress = '-n'; } + $testpattern_command = "$valgrind_command ./testpattern $suppress"; + open TESTPATTERN, "|$testpattern_command" or + die "Can't run $testpattern_command: $!\n"; + map { do_printer($_, \*TESTPATTERN) } @printer_list; + $status = close TESTPATTERN; if ($status) { exit 0; } else { diff --git a/src/testpattern/testpattern.c b/src/testpattern/testpattern.c index db7fe2f..29c30b1 100644 --- a/src/testpattern/testpattern.c +++ b/src/testpattern/testpattern.c @@ -1,5 +1,5 @@ /* - * "$Id: testpattern.c,v 1.44 2006/04/18 12:30:57 rlk Exp $" + * "$Id: testpattern.c,v 1.44.8.2 2007/12/31 03:37:27 rlk Exp $" * * Test pattern generator for Gimp-Print * @@ -40,6 +40,7 @@ #include <string.h> #include "testpattern.h" #include <gutenprint/gutenprint-intl.h> +#include <errno.h> extern int yyparse(void); @@ -87,6 +88,7 @@ int global_invert_data = 0; int global_use_raw_cmyk; int global_did_something; int global_suppress_output = 0; +char *global_output = NULL; static testpattern_t *static_testpatterns; @@ -171,6 +173,8 @@ static void writefunc(void *file, const char *buf, size_t bytes) { FILE *prn = (FILE *)file; + if (! file) + return; if (!global_suppress_output || (file == stderr)) { fwrite(buf, 1, bytes, prn); @@ -232,6 +236,8 @@ do_print(void) int count; int i; char tmp[32]; + FILE *output = stdout; + int write_to_process = 0; initialize_global_parameters(); global_vars = stp_vars_create(); @@ -264,10 +270,42 @@ do_print(void) } return 2; } + if (global_output) + { + if (strcmp(global_output, "-") == 0) + output = stdout; + else if (strcmp(global_output, "") == 0) + output = NULL; + else if (global_output[0] == '|') + { + write_to_process = 1; + output = popen(global_output+1, "w"); + if (! output) + { + fprintf(stderr, "popen '%s' failed: %s\n", global_output, strerror(errno)); + output = NULL; + } + free(global_output); + global_output = NULL; + } + else + { + output = fopen(global_output, "wb"); + if (! output) + { + fprintf(stderr, "Create %s failed: %s\n", global_output, strerror(errno)); + output = NULL; + } + free(global_output); + global_output = NULL; + } + } + else + output = stdout; stp_set_printer_defaults(v, the_printer); stp_set_outfunc(v, writefunc); stp_set_errfunc(v, writefunc); - stp_set_outdata(v, stdout); + stp_set_outdata(v, output); stp_set_errdata(v, stderr); stp_set_string_parameter(v, "InputImageType", global_image_type); sprintf(tmp, "%d", global_bit_depth); @@ -286,12 +324,29 @@ do_print(void) for (i = 0; i < count; i++) { const stp_parameter_t *p = stp_parameter_list_param(params, i); - const char *val = stp_get_string_parameter(global_vars, p->name); - if (p->p_type == STP_PARAMETER_TYPE_STRING_LIST && val && strlen(val) > 0) - stp_set_string_parameter(v, p->name, val); - stp_set_page_width(v, stp_get_page_width(global_vars)); - stp_set_page_height(v, stp_get_page_height(global_vars)); + if (p->p_type == STP_PARAMETER_TYPE_STRING_LIST) + { + const char *val = stp_get_string_parameter(global_vars, p->name); + if (val && strlen(val) > 0) + { + stp_set_string_parameter(v, p->name, val); + } + } + else if (p->p_type == STP_PARAMETER_TYPE_INT && + stp_check_int_parameter(global_vars, p->name, STP_PARAMETER_ACTIVE)) + { + int val = stp_get_int_parameter(global_vars, p->name); + stp_set_int_parameter(v, p->name, val); + } + else if (p->p_type == STP_PARAMETER_TYPE_DOUBLE && + stp_check_float_parameter(global_vars, p->name, STP_PARAMETER_ACTIVE)) + { + double val = stp_get_float_parameter(global_vars, p->name); + stp_set_float_parameter(v, p->name, val); + } } + stp_set_page_width(v, stp_get_page_width(global_vars)); + stp_set_page_height(v, stp_get_page_height(global_vars)); stp_parameter_list_destroy(params); stp_get_imageable_area(v, &left, &right, &bottom, &top); @@ -328,6 +383,13 @@ do_print(void) stp_vars_destroy(v); stp_free(static_testpatterns); static_testpatterns = NULL; + if (output && output != stdout) + { + if (write_to_process) + (void) pclose(output); + else + (void) fclose(output); + } return 0; } @@ -384,6 +446,8 @@ fill_black_##bits(unsigned char *data, size_t len, size_t scount) \ int i; \ T *s_data = (T *) data; \ unsigned black_val = global_ink_limit * ((1 << bits) - 1); \ + unsigned blocks = (len / scount) * scount; \ + unsigned extra = len - blocks; \ if (strcmp(global_image_type, "Raw") == 0) \ { \ for (i = 0; i < (len / scount) * scount; i++) \ @@ -402,6 +466,28 @@ fill_black_##bits(unsigned char *data, size_t len, size_t scount) \ } \ s_data += global_channel_depth; \ } \ + memset(s_data, 0xff, sizeof(T) * extra * \ + global_channel_depth); \ + } \ + else if (strcmp(global_image_type, "RGB") == 0) \ + { \ + for (i = 0; i < (len / scount) * scount; i++) \ + { \ + memset(s_data, 0, sizeof(T) * 3); \ + s_data += 3; \ + } \ + memset(s_data, 0xff, sizeof(T) * extra * 3); \ + } \ + else if (strcmp(global_image_type, "CMY") == 0) \ + { \ + for (i = 0; i < (len / scount) * scount; i++) \ + { \ + s_data[0] = black_val; \ + s_data[1] = black_val; \ + s_data[2] = black_val; \ + s_data += 3; \ + } \ + memset(s_data, 0, sizeof(T) * extra * 3); \ } \ else if (strcmp(global_image_type, "CMYK") == 0) \ { \ @@ -411,6 +497,7 @@ fill_black_##bits(unsigned char *data, size_t len, size_t scount) \ s_data[3] = black_val; \ s_data += 4; \ } \ + memset(s_data, 0, sizeof(T) * extra * 4); \ } \ else if (strcmp(global_image_type, "KCMY") == 0) \ { \ @@ -420,6 +507,7 @@ fill_black_##bits(unsigned char *data, size_t len, size_t scount) \ s_data[0] = black_val; \ s_data += 4; \ } \ + memset(s_data, 0, sizeof(T) * extra * 4); \ } \ else if (strcmp(global_image_type, "Grayscale") == 0) \ { \ @@ -429,6 +517,16 @@ fill_black_##bits(unsigned char *data, size_t len, size_t scount) \ s_data[0] = black_val; \ s_data += 1; \ } \ + memset(s_data, 0, sizeof(T) * extra); \ + } \ + else if (strcmp(global_image_type, "Whitescale") == 0) \ + { \ + for (i = 0; i < (len / scount) * scount; i++) \ + { \ + memset(s_data, 0, sizeof(T) * 1); \ + s_data += 1; \ + } \ + memset(s_data, 0xff, sizeof(T) * extra); \ } \ } @@ -455,9 +553,64 @@ fill_black(unsigned char *data, size_t len, size_t scount, size_t bytes) static void \ fill_white_##bits(unsigned char *data, size_t len, size_t scount) \ { \ + int i; \ T *s_data = (T *) data; \ - memset(s_data, 0, sizeof(T) * global_channel_depth * \ - ((len / scount) * scount)); \ + if (strcmp(global_image_type, "Raw") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0, sizeof(T) * global_channel_depth); \ + s_data += global_channel_depth; \ + } \ + } \ + else if (strcmp(global_image_type, "RGB") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0xff, sizeof(T) * 3); \ + s_data += 3; \ + } \ + } \ + else if (strcmp(global_image_type, "CMY") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0, sizeof(T) * 3); \ + s_data += 3; \ + } \ + } \ + else if (strcmp(global_image_type, "CMYK") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0, sizeof(T) * 4); \ + s_data += 4; \ + } \ + } \ + else if (strcmp(global_image_type, "KCMY") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0, sizeof(T) * 4); \ + s_data += 4; \ + } \ + } \ + else if (strcmp(global_image_type, "Grayscale") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0, sizeof(T) * 1); \ + s_data += 1; \ + } \ + } \ + else if (strcmp(global_image_type, "Whitescale") == 0) \ + { \ + for (i = 0; i < len; i++) \ + { \ + memset(s_data, 0xff, sizeof(T) * 1); \ + s_data += 1; \ + } \ + } \ } FILL_WHITE_FUNCTION(unsigned short, 16) @@ -844,6 +997,10 @@ Image_get_row(stp_image_t *image, unsigned char *data, previous_band = band; fprintf(stderr, "."); } + else + fill_pattern(&(static_testpatterns[band]), data, + global_printer_width, global_steps, depth, + global_bit_depth / 8); } return STP_IMAGE_STATUS_OK; } diff --git a/src/testpattern/testpattern.h b/src/testpattern/testpattern.h index 8b288a2..6b0fc83 100644 --- a/src/testpattern/testpattern.h +++ b/src/testpattern/testpattern.h @@ -1,5 +1,5 @@ /* - * "$Id: testpattern.h,v 1.15 2004/09/17 18:38:27 rleigh Exp $" + * "$Id: testpattern.h,v 1.15.18.1 2007/12/15 20:35:52 rlk Exp $" * * Test pattern generator for Gimp-Print * @@ -25,6 +25,7 @@ #endif #include <gutenprint/gutenprint.h> +#include <stdio.h> typedef struct { @@ -80,6 +81,7 @@ extern int global_bit_depth; extern int global_channel_depth; extern int global_did_something; extern int global_invert_data; +extern char *global_output; extern char *c_strdup(const char *s); diff --git a/src/testpattern/testpatternl.c b/src/testpattern/testpatternl.c index ad2e0c6..3cfa272 100644 --- a/src/testpattern/testpatternl.c +++ b/src/testpattern/testpatternl.c @@ -1,31 +1,92 @@ -/* 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 "testpatternl.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 33 +#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 __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 @@ -34,34 +95,17 @@ #if __STDC__ -#define YY_USE_PROTOS #define YY_USE_CONST #endif /* __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 +120,75 @@ * 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 ) +#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; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef unsigned int 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 +225,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 +248,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,99 +287,120 @@ 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; 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 49 -#define YY_END_OF_BUFFER 50 -static yyconst short int yy_accept[233] = +#define YY_NUM_RULES 50 +#define YY_END_OF_BUFFER 51 +/* 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[239] = { 0, - 0, 0, 50, 49, 46, 48, 49, 47, 49, 49, - 43, 32, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 46, 0, 47, 0, 45, 43, 45, 0, 43, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, - 44, 0, 45, 44, 45, 45, 37, 45, 45, 45, - 42, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 36, 45, 20, 45, 45, 45, 45, 44, - 45, 45, 34, 1, 45, 45, 45, 45, 39, 38, - 29, 45, 45, 45, 35, 45, 45, 45, 21, 45, - 45, 45, 33, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 7, 45, 45, 45, 45, 9, 22, 27, - 45, 45, 45, 45, 10, 45, 45, 45, 45, 45, - 45, 11, 23, 40, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2, 45, 45, 45, 45, 45, 45, - 45, 45, 5, 45, 30, 45, 19, 45, 45, 8, - 45, 3, 41, 45, 45, 25, 13, 45, 45, 6, - - 28, 45, 45, 45, 45, 26, 24, 12, 4, 31, - 14, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 15, 45, 45, 45, 45, 18, 17, 45, - 16, 0 + 0, 0, 51, 50, 47, 49, 50, 48, 50, 50, + 44, 32, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 47, 0, 48, 0, 46, 44, 46, 0, + 44, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 0, 45, 0, 46, 45, 46, 46, 37, 46, + 46, 46, 43, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + + 46, 46, 46, 46, 46, 36, 46, 20, 46, 46, + 46, 46, 45, 46, 46, 34, 1, 46, 46, 46, + 46, 39, 38, 29, 46, 46, 46, 35, 46, 46, + 46, 21, 46, 46, 46, 33, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 7, 46, 46, 46, + 46, 9, 22, 27, 46, 46, 46, 46, 10, 46, + 46, 46, 46, 46, 46, 46, 11, 23, 40, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 2, 46, + 46, 46, 41, 46, 46, 46, 46, 46, 5, 46, + 30, 46, 19, 46, 46, 8, 46, 3, 42, 46, + + 46, 25, 13, 46, 46, 6, 28, 46, 46, 46, + 46, 26, 24, 12, 4, 31, 14, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 15, 46, + 46, 46, 46, 18, 17, 46, 16, 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, @@ -349,7 +432,7 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[38] = +static yyconst flex_int32_t yy_meta[38] = { 0, 1, 1, 2, 3, 1, 1, 1, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -357,127 +440,130 @@ static yyconst int yy_meta[38] = 4, 4, 4, 4, 4, 4, 4 } ; -static yyconst short int yy_base[237] = +static yyconst flex_int16_t yy_base[243] = { 0, - 0, 0, 468, 469, 465, 469, 0, 0, 460, 455, - 29, 469, 455, 31, 32, 33, 34, 35, 40, 47, - 38, 42, 49, 52, 58, 54, 62, 65, 66, 69, - 70, 461, 458, 0, 455, 469, 73, 451, 449, 82, - 93, 71, 85, 79, 95, 84, 87, 96, 97, 98, - 101, 100, 116, 107, 102, 117, 115, 125, 108, 127, - 126, 128, 132, 130, 131, 141, 142, 143, 144, 157, - 144, 448, 160, 162, 151, 149, 164, 165, 167, 168, - 448, 169, 170, 171, 172, 173, 174, 181, 176, 183, - 185, 184, 188, 187, 193, 195, 194, 196, 197, 208, - - 206, 190, 447, 213, 446, 214, 216, 217, 218, 444, - 220, 219, 444, 443, 222, 223, 224, 221, 442, 441, - 440, 240, 243, 229, 439, 226, 227, 245, 438, 246, - 247, 249, 437, 254, 250, 252, 256, 258, 259, 262, - 263, 265, 269, 268, 271, 272, 273, 436, 435, 434, - 275, 282, 274, 281, 433, 277, 290, 292, 293, 295, - 296, 432, 431, 430, 297, 298, 302, 303, 306, 307, - 308, 309, 312, 429, 310, 317, 311, 320, 322, 328, - 329, 330, 428, 331, 427, 333, 426, 335, 339, 425, - 337, 424, 423, 336, 338, 422, 421, 340, 347, 420, - - 419, 341, 352, 353, 354, 418, 417, 416, 409, 406, - 362, 360, 367, 368, 370, 371, 375, 373, 376, 377, - 378, 380, 400, 382, 388, 379, 386, 392, 385, 389, - 343, 469, 412, 416, 420, 115 + 0, 0, 479, 480, 476, 480, 0, 0, 471, 466, + 29, 480, 466, 31, 32, 33, 34, 35, 40, 47, + 38, 42, 49, 52, 54, 56, 62, 65, 68, 69, + 71, 70, 472, 469, 0, 466, 480, 85, 462, 460, + 87, 98, 72, 73, 79, 100, 81, 92, 94, 91, + 102, 103, 105, 110, 112, 116, 119, 120, 121, 122, + 123, 127, 128, 133, 134, 146, 136, 140, 141, 147, + 142, 160, 155, 459, 164, 166, 162, 160, 169, 170, + 171, 172, 459, 173, 174, 175, 176, 178, 180, 182, + 186, 184, 191, 188, 194, 195, 196, 197, 199, 201, + + 200, 210, 212, 207, 213, 458, 214, 457, 221, 222, + 223, 224, 455, 226, 225, 455, 454, 228, 234, 231, + 232, 453, 452, 451, 227, 247, 237, 450, 250, 253, + 241, 449, 256, 258, 259, 448, 238, 262, 260, 264, + 266, 268, 269, 270, 273, 267, 279, 274, 281, 280, + 283, 447, 446, 445, 286, 287, 284, 291, 444, 292, + 297, 300, 303, 304, 305, 308, 443, 442, 441, 309, + 306, 311, 313, 315, 310, 318, 319, 320, 440, 321, + 332, 339, 439, 329, 327, 340, 330, 342, 438, 343, + 437, 344, 436, 345, 346, 435, 348, 434, 433, 351, + + 353, 432, 425, 354, 355, 422, 417, 356, 364, 359, + 365, 416, 413, 412, 411, 410, 372, 374, 366, 373, + 376, 377, 381, 382, 384, 387, 390, 392, 409, 391, + 394, 397, 398, 405, 404, 408, 137, 480, 428, 432, + 436, 87 } ; -static yyconst short int yy_def[237] = +static yyconst flex_int16_t yy_def[243] = { 0, - 232, 1, 232, 232, 232, 232, 233, 234, 235, 232, - 236, 232, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 232, 233, 234, 235, 232, 232, 236, 232, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 232, - 232, 232, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - - 236, 236, 236, 236, 236, 236, 236, 236, 236, 232, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 0, 232, 232, 232, 232 + 238, 1, 238, 238, 238, 238, 239, 240, 241, 238, + 242, 238, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 238, 239, 240, 241, 238, 238, 242, 238, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 238, 238, 238, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 238, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 0, 238, 238, + 238, 238 } ; -static yyconst short int yy_nxt[507] = +static yyconst flex_int16_t yy_nxt[518] = { 0, 4, 5, 6, 7, 8, 9, 10, 10, 4, 11, 12, 13, 13, 14, 15, 16, 17, 13, 18, 19, - 20, 13, 21, 22, 23, 13, 13, 24, 25, 26, - 27, 13, 28, 29, 30, 31, 13, 39, 40, 232, - 232, 232, 232, 232, 46, 41, 232, 50, 232, 47, - 232, 43, 55, 56, 42, 232, 44, 232, 57, 48, - 232, 58, 232, 51, 61, 59, 232, 45, 49, 52, - 232, 53, 54, 232, 232, 60, 63, 232, 232, 232, - 62, 39, 37, 75, 64, 67, 69, 232, 65, 70, - 39, 40, 232, 232, 66, 232, 68, 76, 41, 72, - - 73, 232, 74, 232, 232, 232, 232, 78, 232, 232, - 232, 81, 80, 84, 77, 232, 232, 85, 38, 79, - 87, 86, 83, 232, 232, 232, 90, 82, 88, 89, - 91, 92, 94, 232, 232, 232, 232, 97, 232, 232, - 232, 93, 98, 96, 99, 103, 104, 95, 102, 232, - 232, 232, 232, 71, 100, 108, 101, 232, 105, 232, - 70, 106, 107, 72, 72, 111, 110, 109, 232, 74, - 232, 74, 232, 232, 112, 232, 232, 232, 232, 232, - 232, 232, 232, 115, 232, 117, 113, 124, 121, 232, - 114, 232, 232, 232, 118, 232, 232, 116, 232, 123, - - 128, 232, 232, 232, 232, 232, 119, 120, 126, 130, - 122, 131, 133, 134, 232, 137, 232, 129, 125, 127, - 135, 232, 232, 132, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 148, 232, 232, 136, 232, 152, 153, - 138, 142, 143, 146, 144, 145, 140, 141, 232, 147, - 139, 232, 151, 232, 232, 232, 149, 232, 232, 150, - 232, 157, 232, 154, 232, 158, 232, 232, 160, 155, - 232, 232, 156, 232, 159, 163, 232, 232, 164, 232, - 232, 232, 232, 232, 168, 232, 161, 162, 171, 232, - 232, 166, 167, 165, 169, 172, 173, 175, 232, 174, - - 232, 232, 170, 232, 232, 232, 232, 176, 177, 179, - 232, 232, 181, 182, 232, 232, 232, 232, 232, 232, - 232, 178, 184, 180, 188, 232, 185, 193, 232, 192, - 232, 183, 186, 189, 190, 191, 232, 232, 232, 232, - 194, 232, 187, 232, 232, 232, 232, 232, 232, 232, - 201, 232, 195, 196, 205, 232, 199, 197, 198, 202, - 232, 232, 232, 207, 209, 206, 200, 203, 232, 210, - 232, 208, 204, 212, 213, 232, 232, 214, 232, 232, - 215, 232, 211, 232, 232, 232, 232, 232, 232, 216, - 232, 218, 226, 232, 232, 219, 232, 232, 217, 222, - - 232, 220, 227, 221, 228, 224, 223, 231, 232, 229, - 225, 230, 33, 33, 232, 33, 34, 232, 34, 34, - 35, 35, 35, 35, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 110, 232, 232, 232, 110, 71, 232, - 36, 36, 32, 232, 37, 36, 32, 232, 3, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - - 232, 232, 232, 232, 232, 232 + 20, 13, 21, 22, 23, 13, 24, 25, 26, 27, + 28, 13, 29, 30, 31, 32, 13, 40, 41, 238, + 238, 238, 238, 238, 47, 42, 238, 51, 238, 48, + 238, 44, 56, 57, 43, 238, 45, 238, 58, 49, + 238, 59, 238, 52, 238, 60, 63, 46, 50, 53, + 238, 54, 55, 238, 65, 61, 238, 238, 238, 238, + 238, 238, 64, 62, 77, 78, 71, 238, 69, 238, + 39, 67, 66, 40, 38, 40, 41, 68, 70, 238, + + 238, 72, 238, 42, 74, 75, 238, 76, 238, 83, + 238, 238, 80, 238, 79, 86, 81, 82, 238, 87, + 238, 84, 90, 88, 238, 89, 85, 238, 238, 238, + 238, 238, 93, 94, 91, 238, 238, 96, 100, 98, + 92, 238, 238, 95, 238, 238, 102, 106, 238, 238, + 238, 99, 97, 105, 238, 238, 103, 101, 104, 111, + 109, 110, 107, 108, 73, 112, 74, 74, 238, 113, + 238, 72, 238, 76, 238, 76, 114, 238, 238, 238, + 238, 238, 238, 238, 238, 115, 238, 118, 238, 120, + 238, 116, 238, 124, 238, 117, 238, 127, 121, 238, + + 126, 119, 238, 238, 238, 238, 131, 238, 238, 238, + 122, 123, 133, 134, 129, 238, 125, 136, 238, 128, + 238, 238, 238, 130, 139, 132, 138, 137, 135, 238, + 238, 238, 238, 238, 238, 238, 238, 140, 141, 238, + 238, 142, 238, 153, 152, 238, 238, 146, 147, 238, + 148, 149, 144, 145, 150, 238, 151, 143, 238, 158, + 155, 238, 156, 154, 238, 157, 238, 238, 238, 162, + 238, 161, 238, 163, 238, 238, 238, 238, 238, 159, + 165, 238, 238, 160, 164, 168, 169, 238, 238, 238, + 173, 238, 238, 171, 238, 238, 166, 167, 176, 238, + + 238, 178, 172, 170, 174, 238, 177, 180, 238, 179, + 175, 238, 238, 238, 238, 182, 238, 238, 238, 238, + 185, 238, 181, 238, 187, 188, 238, 238, 238, 238, + 183, 190, 184, 186, 194, 238, 191, 238, 238, 189, + 238, 192, 196, 195, 198, 193, 197, 238, 238, 200, + 238, 238, 238, 238, 238, 199, 238, 201, 203, 238, + 207, 238, 238, 238, 238, 202, 208, 238, 205, 211, + 204, 213, 238, 238, 238, 216, 215, 206, 209, 212, + 238, 238, 238, 218, 238, 238, 214, 210, 219, 238, + 238, 220, 238, 217, 221, 238, 224, 223, 238, 238, + + 238, 225, 238, 222, 232, 238, 238, 226, 228, 227, + 234, 233, 238, 238, 229, 230, 238, 238, 238, 238, + 238, 238, 231, 236, 238, 238, 237, 235, 34, 34, + 238, 34, 35, 238, 35, 35, 36, 36, 36, 36, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 113, 238, 238, 238, 113, 73, + 238, 37, 37, 33, 238, 38, 37, 33, 238, 3, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238 } ; -static yyconst short int yy_chk[507] = +static yyconst flex_int16_t yy_chk[518] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -485,61 +571,65 @@ static yyconst short int yy_chk[507] = 1, 1, 1, 1, 1, 1, 1, 11, 11, 14, 15, 16, 17, 18, 16, 11, 21, 18, 19, 16, 22, 15, 21, 22, 14, 20, 15, 23, 22, 17, - 24, 23, 26, 18, 24, 23, 25, 15, 17, 19, - 27, 20, 20, 28, 29, 23, 25, 30, 31, 42, - 24, 37, 37, 42, 26, 29, 31, 44, 27, 37, - 40, 40, 46, 43, 28, 47, 30, 43, 40, 41, - - 41, 41, 41, 45, 48, 49, 50, 45, 52, 51, - 55, 48, 47, 51, 44, 54, 59, 51, 236, 46, - 52, 51, 50, 57, 53, 56, 55, 49, 53, 54, - 56, 56, 57, 58, 61, 60, 62, 59, 64, 65, - 63, 56, 60, 58, 61, 63, 64, 57, 62, 66, - 67, 68, 69, 71, 61, 68, 61, 76, 65, 75, - 71, 66, 67, 70, 70, 75, 70, 69, 73, 73, - 74, 74, 77, 78, 76, 79, 80, 82, 83, 84, - 85, 86, 87, 79, 89, 82, 77, 89, 86, 88, - 78, 90, 92, 91, 83, 94, 93, 80, 102, 88, - - 93, 95, 97, 96, 98, 99, 84, 85, 91, 95, - 87, 96, 98, 99, 101, 102, 100, 94, 90, 92, - 100, 104, 106, 97, 107, 108, 109, 112, 111, 118, - 115, 116, 117, 118, 126, 127, 101, 124, 126, 127, - 104, 109, 111, 116, 112, 115, 107, 108, 122, 117, - 106, 123, 124, 128, 130, 131, 122, 132, 135, 123, - 136, 132, 134, 128, 137, 134, 138, 139, 136, 130, - 140, 141, 131, 142, 135, 139, 144, 143, 140, 145, - 146, 147, 153, 151, 144, 156, 137, 138, 147, 154, - 152, 142, 143, 141, 145, 151, 152, 154, 157, 153, - - 158, 159, 146, 160, 161, 165, 166, 156, 157, 159, - 167, 168, 161, 165, 169, 170, 171, 172, 175, 177, - 173, 158, 167, 160, 171, 176, 168, 177, 178, 176, - 179, 166, 169, 172, 173, 175, 180, 181, 182, 184, - 178, 186, 170, 188, 194, 191, 195, 189, 198, 202, - 188, 231, 179, 180, 195, 199, 184, 181, 182, 189, - 203, 204, 205, 199, 203, 198, 186, 191, 212, 204, - 211, 202, 194, 211, 212, 213, 214, 212, 215, 216, - 212, 218, 205, 217, 219, 220, 221, 226, 222, 212, - 224, 214, 222, 229, 227, 215, 225, 230, 213, 218, - - 228, 216, 224, 217, 225, 220, 219, 230, 223, 226, - 221, 227, 233, 233, 210, 233, 234, 209, 234, 234, - 235, 235, 235, 235, 208, 207, 206, 201, 200, 197, - 196, 193, 192, 190, 187, 185, 183, 174, 164, 163, - 162, 155, 150, 149, 148, 133, 129, 125, 121, 120, - 119, 114, 113, 110, 105, 103, 81, 72, 39, 38, - 35, 33, 32, 13, 10, 9, 5, 3, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - - 232, 232, 232, 232, 232, 232 + 24, 23, 25, 18, 26, 23, 25, 15, 17, 19, + 27, 20, 20, 28, 26, 23, 29, 30, 32, 31, + 43, 44, 25, 24, 43, 44, 32, 45, 30, 47, + 242, 28, 27, 38, 38, 41, 41, 29, 31, 50, + + 48, 38, 49, 41, 42, 42, 42, 42, 46, 49, + 51, 52, 46, 53, 45, 52, 47, 48, 54, 52, + 55, 50, 54, 52, 56, 53, 51, 57, 58, 59, + 60, 61, 57, 57, 55, 62, 63, 58, 61, 59, + 56, 64, 65, 57, 67, 237, 63, 65, 68, 69, + 71, 60, 58, 64, 66, 70, 63, 62, 63, 70, + 68, 69, 66, 67, 73, 71, 72, 72, 78, 72, + 77, 73, 75, 75, 76, 76, 77, 79, 80, 81, + 82, 84, 85, 86, 87, 78, 88, 81, 89, 84, + 90, 79, 92, 88, 91, 80, 94, 91, 85, 93, + + 90, 82, 95, 96, 97, 98, 95, 99, 101, 100, + 86, 87, 97, 98, 93, 104, 89, 100, 102, 92, + 103, 105, 107, 94, 103, 96, 102, 101, 99, 109, + 110, 111, 112, 115, 114, 125, 118, 104, 105, 120, + 121, 107, 119, 125, 121, 127, 137, 112, 114, 131, + 115, 118, 110, 111, 119, 126, 120, 109, 129, 131, + 127, 130, 129, 126, 133, 130, 134, 135, 139, 137, + 138, 135, 140, 138, 141, 146, 142, 143, 144, 133, + 140, 145, 148, 134, 139, 143, 144, 147, 150, 149, + 148, 151, 157, 146, 155, 156, 141, 142, 151, 158, + + 160, 156, 147, 145, 149, 161, 155, 158, 162, 157, + 150, 163, 164, 165, 171, 161, 166, 170, 175, 172, + 164, 173, 160, 174, 166, 170, 176, 177, 178, 180, + 162, 172, 163, 165, 176, 185, 173, 184, 187, 171, + 181, 174, 178, 177, 181, 175, 180, 182, 186, 184, + 188, 190, 192, 194, 195, 182, 197, 185, 187, 200, + 194, 201, 204, 205, 208, 186, 195, 210, 190, 201, + 188, 205, 209, 211, 219, 210, 209, 192, 197, 204, + 217, 220, 218, 217, 221, 222, 208, 200, 218, 223, + 224, 218, 225, 211, 218, 226, 220, 219, 227, 230, + + 228, 221, 231, 218, 228, 232, 233, 222, 224, 223, + 231, 230, 235, 234, 225, 226, 236, 229, 216, 215, + 214, 213, 227, 233, 212, 207, 236, 232, 239, 239, + 206, 239, 240, 203, 240, 240, 241, 241, 241, 241, + 202, 199, 198, 196, 193, 191, 189, 183, 179, 169, + 168, 167, 159, 154, 153, 152, 136, 132, 128, 124, + 123, 122, 117, 116, 113, 108, 106, 83, 74, 40, + 39, 36, 34, 33, 13, 10, 9, 5, 3, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238 } ; 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. */ @@ -549,9 +639,8 @@ static char *yy_last_accepting_cpos; #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "testpatternl.l" -#define INITIAL 0 /* - * "$Id: testpatternl.l,v 1.17 2005/07/28 00:58:45 rlk Exp $" + * "$Id: testpatternl.l,v 1.17.14.1 2007/12/15 20:35:52 rlk Exp $" * * Test pattern generator for Gimp-Print * @@ -611,7 +700,23 @@ do \ while (0) -#line 615 "testpatternl.c" +#line 704 "testpatternl.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 ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -619,65 +724,30 @@ do \ #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 )); +extern int yywrap (void ); #endif #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 )); +static int yyinput (void ); #else -static int input YY_PROTO(( void )); -#endif +static int input (void ); #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 - -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#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. */ @@ -686,7 +756,6 @@ 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(). @@ -699,9 +768,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 = '*'; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -711,9 +781,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();" - @@ -734,12 +817,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. @@ -756,27 +845,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 "testpatternl.l" -#line 769 "testpatternl.c" +#line 860 "testpatternl.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; @@ -784,68 +875,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 >= 233 ) + if ( yy_current_state >= 239 ) 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] != 469 ); + while ( yy_base[yy_current_state] != 480 ); 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: @@ -1051,75 +1142,82 @@ yylval.ival = WHITE;DBG(WHITE); return WHITE; case 41: YY_RULE_SETUP #line 115 "testpatternl.l" -DBG(MESSAGE); return MESSAGE; +DBG(OUTPUT); return OUTPUT; YY_BREAK case 42: YY_RULE_SETUP #line 116 "testpatternl.l" -DBG(END); return END; +DBG(MESSAGE); return MESSAGE; YY_BREAK case 43: YY_RULE_SETUP -#line 119 "testpatternl.l" -yylval.ival = atoi(yytext); DBG(tINT); return tINT; +#line 117 "testpatternl.l" +DBG(END); return END; YY_BREAK case 44: YY_RULE_SETUP #line 120 "testpatternl.l" -yylval.dval = strtod(yytext, NULL); DBG(tDOUBLE); return tDOUBLE; +yylval.ival = atoi(yytext); DBG(tINT); return tINT; YY_BREAK case 45: YY_RULE_SETUP #line 121 "testpatternl.l" -yylval.sval = c_strstrip(yytext); DBG(tSTRING); return tSTRING; +yylval.dval = strtod(yytext, NULL); DBG(tDOUBLE); return tDOUBLE; YY_BREAK case 46: +/* rule 46 can match eol */ YY_RULE_SETUP #line 122 "testpatternl.l" -DBG(whitespace); /* Skip blanks/tabs */ +yylval.sval = c_strstrip(yytext); DBG(tSTRING); return tSTRING; YY_BREAK case 47: YY_RULE_SETUP #line 123 "testpatternl.l" -DBG(comment); /* Skip comments */ +DBG(whitespace); /* Skip blanks/tabs */ YY_BREAK case 48: YY_RULE_SETUP #line 124 "testpatternl.l" -DBG(newline); mylineno++; +DBG(comment); /* Skip comments */ YY_BREAK case 49: +/* rule 49 can match eol */ YY_RULE_SETUP #line 125 "testpatternl.l" +DBG(newline); mylineno++; + YY_BREAK +case 50: +YY_RULE_SETUP +#line 126 "testpatternl.l" ECHO; YY_BREAK -#line 1097 "testpatternl.c" +#line 1195 "testpatternl.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 @@ -1129,13 +1227,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 @@ -1148,30 +1246,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 @@ -1182,7 +1280,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; @@ -1190,30 +1288,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; @@ -1224,8 +1322,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 * @@ -1234,21 +1331,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. @@ -1268,34 +1364,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 ) { @@ -1308,8 +1400,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. */ @@ -1319,35 +1410,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), 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; } } @@ -1355,152 +1446,137 @@ 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; + (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 >= 233 ) + if ( yy_current_state >= 239 ) 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 >= 233 ) + if ( yy_current_state >= 239 ) 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 == 232); + yy_is_jam = (yy_current_state == 238); 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() @@ -1514,16 +1590,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(); @@ -1533,90 +1609,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()" ); @@ -1625,80 +1703,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 - } - + /* 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; + } -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif + 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; @@ -1715,29 +1788,121 @@ 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*) + ); + + 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*) + ); + + /* 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()" ); @@ -1751,56 +1916,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 str 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()" ); @@ -1810,148 +1970,177 @@ int len; b->yy_is_our_buffer = 1; return b; - } -#endif - +} -#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; +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 #endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); +static void yy_fatal_error (yyconst char* msg ) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); +/* Redefine yyless() so it works in section 3 code. */ - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); +#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_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } +/* Accessor methods (get/set functions) to struct members. */ - yy_start_stack[yy_start_stack_ptr++] = YY_START; +/** Get the input stream. + * + */ +FILE *yyget_in (void) +{ + return yyin; +} - BEGIN(new_state); - } -#endif +/** Get the output stream. + * + */ +FILE *yyget_out (void) +{ + return yyout; +} +/** Get the length of the current token. + * + */ +int yyget_leng (void) +{ + return yyleng; +} -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); +/** Get the current token. + * + */ - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif +char *yyget_text (void) +{ + return yytext; +} +/** 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 @@ -1960,23 +2149,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 */ +} -#if YY_MAIN -int main() - { - yylex(); - return 0; - } -#endif -#line 125 "testpatternl.l" +#define YYTABLES_NAME "yytables" + +#line 126 "testpatternl.l" diff --git a/src/testpattern/testpatternl.l b/src/testpattern/testpatternl.l index 3d430fb..e7a213d 100644 --- a/src/testpattern/testpatternl.l +++ b/src/testpattern/testpatternl.l @@ -1,5 +1,5 @@ /* - * "$Id: testpatternl.l,v 1.17 2005/07/28 00:58:45 rlk Exp $" + * "$Id: testpatternl.l,v 1.17.14.1 2007/12/15 20:35:52 rlk Exp $" * * Test pattern generator for Gimp-Print * @@ -112,6 +112,7 @@ cmy yylval.ival = RGB;DBG(CMY); return CMY; grey yylval.ival = GRAY;DBG(GRAY); return GRAY; gray yylval.ival = GRAY;DBG(GRAY); return GRAY; white yylval.ival = WHITE;DBG(WHITE); return WHITE; +output DBG(OUTPUT); return OUTPUT; message DBG(MESSAGE); return MESSAGE; end DBG(END); return END; diff --git a/src/testpattern/testpatterny.c b/src/testpattern/testpatterny.c index 25a082c..524355e 100644 --- a/src/testpattern/testpatterny.c +++ b/src/testpattern/testpatterny.c @@ -109,7 +109,8 @@ MODE = 298, PAGESIZE = 299, MESSAGE = 300, - END = 301 + OUTPUT = 301, + END = 302 }; #endif /* Tokens. */ @@ -156,7 +157,8 @@ #define MODE 298 #define PAGESIZE 299 #define MESSAGE 300 -#define END 301 +#define OUTPUT 301 +#define END 302 @@ -260,7 +262,7 @@ typedef int YYSTYPE; /* Line 216 of yacc.c. */ -#line 264 "testpatterny.c" +#line 266 "testpatterny.c" #ifdef short # undef short @@ -473,22 +475,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 54 +#define YYFINAL 59 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 134 +#define YYLAST 136 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 47 +#define YYNTOKENS 48 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 66 +#define YYNNTS 70 /* YYNRULES -- Number of rules. */ -#define YYNRULES 117 +#define YYNRULES 123 /* YYNRULES -- Number of states. */ -#define YYNSTATES 174 +#define YYNSTATES 180 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 301 +#define YYMAXUTOK 302 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -526,7 +528,7 @@ static const yytype_uint8 yytranslate[] = 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, 44, - 45, 46 + 45, 46, 47 }; #if YYDEBUG @@ -542,64 +544,67 @@ static const yytype_uint16 yyprhs[] = 136, 139, 143, 145, 148, 149, 151, 154, 159, 165, 167, 169, 171, 174, 175, 177, 179, 181, 187, 191, 194, 197, 201, 204, 208, 213, 219, 226, 228, 230, - 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, - 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, - 272, 274, 277, 279, 281, 283, 285, 288, 289, 292, - 294, 295, 298, 300, 302, 303, 306, 307 + 232, 234, 236, 238, 240, 243, 245, 247, 249, 251, + 253, 255, 257, 259, 261, 263, 265, 267, 269, 271, + 273, 275, 277, 279, 281, 283, 285, 287, 290, 292, + 294, 296, 298, 301, 302, 305, 307, 308, 311, 313, + 315, 316, 319, 320 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 111, 0, -1, 6, -1, 7, -1, 8, -1, 9, + 116, 0, -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, -1, 12, -1, 13, -1, 36, 3, -1, 37, 3, -1, 38, 3, -1, 39, 3, -1, 40, 3, -1, 41, 3, -1, 31, 3, 3, - -1, 49, -1, 50, -1, 51, -1, 52, -1, 53, - -1, 54, -1, 55, -1, 43, 56, -1, 15, 48, - 4, -1, 15, 3, 4, -1, 14, 48, 4, -1, + -1, 50, -1, 51, -1, 52, -1, 53, -1, 54, + -1, 55, -1, 56, -1, 43, 57, -1, 15, 49, + 4, -1, 15, 3, 4, -1, 14, 49, 4, -1, 14, 3, 4, -1, 14, 4, -1, 16, 3, -1, 17, 4, -1, 18, 5, -1, 44, 5, -1, 44, - 3, 3, -1, 66, -1, 67, -1, 19, 5, 5, + 3, 3, -1, 67, -1, 68, -1, 19, 5, 5, -1, 20, 5, 3, -1, 21, 5, 4, -1, 22, - 5, 5, -1, 69, -1, 70, -1, 71, -1, 72, + 5, 5, -1, 70, -1, 71, -1, 72, -1, 73, -1, 23, 4, -1, 24, 4, -1, 25, 4, -1, 26, 4, -1, 27, 4, -1, 28, 3, -1, 4, - 4, 4, -1, 80, -1, 81, 80, -1, -1, 81, - -1, 80, 82, -1, 48, 4, 4, 4, -1, 35, - 3, 4, 4, 4, -1, 84, -1, 85, -1, 86, - -1, 87, 86, -1, -1, 87, -1, 83, -1, 88, - -1, 4, 4, 4, 4, 4, -1, 29, 90, 89, - -1, 30, 89, -1, 33, 3, -1, 32, 3, 3, + 4, 4, -1, 81, -1, 82, 81, -1, -1, 82, + -1, 81, 83, -1, 49, 4, 4, 4, -1, 35, + 3, 4, 4, 4, -1, 85, -1, 86, -1, 87, + -1, 88, 87, -1, -1, 88, -1, 84, -1, 89, + -1, 4, 4, 4, 4, 4, -1, 29, 91, 90, + -1, 30, 90, -1, 33, 3, -1, 32, 3, 3, -1, 45, 5, -1, 45, 5, 5, -1, 45, 5, 5, 5, -1, 45, 5, 5, 5, 5, -1, 45, - 5, 5, 5, 5, 5, -1, 95, -1, 96, -1, - 97, -1, 98, -1, 99, -1, 100, -1, 60, -1, - 61, -1, 58, -1, 59, -1, 62, -1, 63, -1, - 64, -1, 65, -1, 73, -1, 74, -1, 75, -1, - 76, -1, 77, -1, 78, -1, 79, -1, 57, -1, - 68, -1, 101, -1, 102, 34, -1, 91, -1, 92, - -1, 93, -1, 101, -1, 104, 34, -1, -1, 106, - 105, -1, 94, -1, -1, 108, 103, -1, 106, -1, - 107, -1, -1, 46, 34, -1, -1, 108, 112, 109, - 110, -1 + 5, 5, 5, 5, 5, -1, 96, -1, 97, -1, + 98, -1, 99, -1, 100, -1, 101, -1, 46, -1, + 46, 5, -1, 103, -1, 104, -1, 105, -1, 61, + -1, 62, -1, 59, -1, 60, -1, 63, -1, 64, + -1, 65, -1, 66, -1, 74, -1, 75, -1, 76, + -1, 77, -1, 78, -1, 79, -1, 80, -1, 58, + -1, 69, -1, 102, -1, 106, -1, 107, 34, -1, + 92, -1, 93, -1, 94, -1, 102, -1, 109, 34, + -1, -1, 111, 110, -1, 95, -1, -1, 113, 108, + -1, 111, -1, 112, -1, -1, 47, 34, -1, -1, + 113, 117, 114, 115, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 139, 139, 139, 139, 139, 140, 140, 140, 140, - 143, 155, 167, 179, 191, 203, 215, 227, 227, 227, - 227, 227, 227, 227, 230, 233, 243, 252, 262, 271, - 278, 285, 292, 301, 310, 319, 319, 322, 332, 341, - 350, 364, 364, 364, 364, 366, 373, 380, 387, 394, - 401, 409, 424, 424, 427, 427, 430, 433, 447, 460, - 460, 463, 463, 466, 466, 469, 469, 472, 487, 490, - 505, 516, 533, 539, 546, 554, 563, 574, 574, 574, - 574, 574, 577, 580, 580, 580, 580, 580, 580, 581, - 581, 581, 581, 581, 581, 581, 582, 582, 582, 582, - 582, 585, 589, 589, 589, 589, 592, 596, 596, 599, - 603, 603, 606, 606, 609, 609, 614, 613 + 0, 140, 140, 140, 140, 140, 141, 141, 141, 141, + 144, 156, 168, 180, 192, 204, 216, 228, 228, 228, + 228, 228, 228, 228, 231, 234, 244, 253, 263, 272, + 279, 286, 293, 302, 311, 320, 320, 323, 333, 342, + 351, 365, 365, 365, 365, 367, 374, 381, 388, 395, + 402, 410, 425, 425, 428, 428, 431, 434, 448, 461, + 461, 464, 464, 467, 467, 470, 470, 473, 488, 491, + 506, 517, 534, 540, 547, 555, 564, 575, 575, 575, + 575, 575, 578, 581, 588, 593, 593, 596, 599, 599, + 599, 599, 599, 599, 600, 600, 600, 600, 600, 600, + 600, 601, 601, 601, 601, 601, 601, 604, 608, 608, + 608, 608, 611, 615, 615, 618, 622, 622, 625, 625, + 628, 628, 633, 632 }; #endif @@ -615,19 +620,20 @@ static const char *const yytname[] = "DENSITY", "TOP", "LEFT", "HSIZE", "VSIZE", "BLACKLINE", "PATTERN", "XPATTERN", "EXTENDED", "IMAGE", "GRID", "SEMI", "CHANNEL", "CMYK", "KCMY", "RGB", "CMY", "GRAY", "WHITE", "RAW", "MODE", "PAGESIZE", - "MESSAGE", "END", "$accept", "COLOR", "cmykspec", "kcmyspec", "rgbspec", - "cmyspec", "grayspec", "whitespec", "extendedspec", "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_float", "parameter_curve", "parameter", "density", "top", - "left", "hsize", "vsize", "blackline", "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", "Message0", - "Message1", "Message2", "Message3", "Message4", "A_Message", "message", - "A_Rule", "Rule", "A_Pattern", "Pattern", "Patterns", "Image", "Rules", - "Output", "EOF", "Thing", "@1", 0 + "MESSAGE", "OUTPUT", "END", "$accept", "COLOR", "cmykspec", "kcmyspec", + "rgbspec", "cmyspec", "grayspec", "whitespec", "extendedspec", + "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_float", "parameter_curve", "parameter", + "density", "top", "left", "hsize", "vsize", "blackline", "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", + "Message0", "Message1", "Message2", "Message3", "Message4", "A_Message", + "message", "Output0", "Output1", "A_Output", "output", "A_Rule", "Rule", + "A_Pattern", "Pattern", "Patterns", "Image", "Rules", "Output", "EOF", + "Thing", "@1", 0 }; #endif @@ -640,25 +646,26 @@ 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, 299, 300, 301 + 295, 296, 297, 298, 299, 300, 301, 302 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 47, 48, 48, 48, 48, 48, 48, 48, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 56, 56, - 56, 56, 56, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 68, 69, 70, 71, - 72, 73, 73, 73, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 81, 82, 82, 83, 84, 85, 86, - 86, 87, 87, 88, 88, 89, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, - 100, 100, 101, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 103, 104, 104, 104, 104, 105, 106, 106, 107, - 108, 108, 109, 109, 110, 110, 112, 111 + 0, 48, 49, 49, 49, 49, 49, 49, 49, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 57, 57, + 57, 57, 57, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 69, 70, 71, 72, + 73, 74, 74, 74, 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, 98, 99, 100, 101, 101, 101, + 101, 101, 102, 103, 104, 105, 105, 106, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 108, 109, 109, + 109, 109, 110, 111, 111, 112, 113, 113, 114, 114, + 115, 115, 117, 116 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -672,10 +679,11 @@ static const yytype_uint8 yyr2[] = 2, 3, 1, 2, 0, 1, 2, 4, 5, 1, 1, 1, 2, 0, 1, 1, 1, 5, 3, 2, 2, 3, 2, 3, 4, 5, 6, 1, 1, 1, + 1, 1, 1, 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, 2, 1, 1, 1, 1, 2, 0, 2, 1, - 0, 2, 1, 1, 0, 2, 0, 4 + 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 2, 0, 2, 1, 0, 2, 1, 1, + 0, 2, 0, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -683,73 +691,73 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 110, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 116, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 98, 85, 86, 83, 84, 87, 88, 89, 90, - 35, 36, 99, 41, 42, 43, 44, 91, 92, 93, - 94, 95, 96, 97, 77, 78, 79, 80, 81, 82, - 100, 0, 111, 107, 1, 0, 29, 2, 3, 4, - 5, 6, 7, 8, 9, 0, 0, 0, 30, 31, - 32, 0, 0, 0, 0, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 0, 0, 0, 0, 17, 18, - 19, 20, 21, 22, 23, 24, 0, 33, 72, 101, - 0, 109, 112, 113, 114, 28, 27, 26, 25, 37, - 38, 39, 40, 0, 10, 11, 12, 13, 14, 15, - 34, 73, 0, 0, 63, 0, 102, 103, 104, 105, - 0, 108, 0, 117, 16, 74, 71, 0, 63, 0, - 0, 0, 54, 65, 59, 60, 61, 64, 66, 69, - 70, 106, 115, 75, 0, 68, 0, 0, 0, 52, - 55, 56, 62, 76, 0, 51, 0, 0, 53, 0, - 0, 57, 67, 58 + 0, 83, 103, 90, 91, 88, 89, 92, 93, 94, + 95, 35, 36, 104, 41, 42, 43, 44, 96, 97, + 98, 99, 100, 101, 102, 77, 78, 79, 80, 81, + 82, 105, 85, 86, 87, 106, 0, 117, 113, 1, + 0, 29, 2, 3, 4, 5, 6, 7, 8, 9, + 0, 0, 0, 30, 31, 32, 0, 0, 0, 0, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 0, + 0, 0, 0, 17, 18, 19, 20, 21, 22, 23, + 24, 0, 33, 72, 84, 107, 0, 115, 118, 119, + 120, 28, 27, 26, 25, 37, 38, 39, 40, 0, + 10, 11, 12, 13, 14, 15, 34, 73, 0, 0, + 63, 0, 108, 109, 110, 111, 0, 114, 0, 123, + 16, 74, 71, 0, 63, 0, 0, 0, 54, 65, + 59, 60, 61, 64, 66, 69, 70, 112, 121, 75, + 0, 68, 0, 0, 0, 52, 55, 56, 62, 76, + 0, 51, 0, 0, 53, 0, 0, 57, 67, 58 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 141, 88, 89, 90, 91, 92, 93, 94, 95, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 142, 160, 161, 143, 144, 145, 146, - 147, 148, 149, 138, 126, 127, 128, 101, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 130, 131, 102, - 103, 1, 104, 133, 2, 53 + -1, 147, 93, 94, 95, 96, 97, 98, 99, 100, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 148, 166, 167, 149, 150, 151, 152, + 153, 154, 155, 144, 132, 133, 134, 107, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 136, 137, 108, 109, 1, 110, 139, 2, 58 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -118 +#define YYPACT_NINF -124 static const yytype_int16 yypact[] = { - -118, -14, 16, 56, 41, 24, 36, 53, 66, 67, - 68, 69, 77, 78, 79, 80, 81, 83, 39, 23, - 82, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, 54, -118, 57, -118, 86, -118, -118, -118, -118, - -118, -118, -118, -118, -118, 87, 88, 89, -118, -118, - -118, 90, 91, 92, 93, -118, -118, -118, -118, -118, - -118, 94, 96, 97, 98, 99, 100, 101, -118, -118, - -118, -118, -118, -118, -118, -118, 102, -118, 103, -118, - 104, -118, 12, -118, 60, -118, -118, -118, -118, -118, - -118, -118, -118, 106, -118, -118, -118, -118, -118, -118, - -118, 105, 108, 109, 11, 111, -118, -118, -118, -118, - 84, -118, 85, -118, -118, 107, -118, 112, 11, 113, - 117, 118, 119, -118, -118, -118, -118, 26, -118, -118, - -118, -118, -118, 110, 120, -118, 121, 122, 123, -118, - 119, -118, -118, -118, 124, -118, 125, 126, -118, 127, - 128, -118, -118, -118 + -124, -14, 16, 57, 41, 24, 54, 67, 68, 69, + 70, 77, 55, 79, 80, 81, 82, 84, 40, 23, + 83, 85, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, 58, -124, 59, -124, + 89, -124, -124, -124, -124, -124, -124, -124, -124, -124, + 90, 91, 92, -124, -124, -124, 93, 86, 95, 96, + -124, -124, -124, -124, -124, -124, 94, 97, 99, 100, + 101, 102, 103, -124, -124, -124, -124, -124, -124, -124, + -124, 104, -124, 105, -124, -124, 106, -124, 12, -124, + 61, -124, -124, -124, -124, -124, -124, -124, -124, 108, + -124, -124, -124, -124, -124, -124, -124, 107, 110, 111, + 11, 113, -124, -124, -124, -124, 87, -124, 88, -124, + -124, 109, -124, 114, 11, 115, 117, 119, 120, -124, + -124, -124, -124, 27, -124, -124, -124, -124, -124, 112, + 121, -124, 122, 123, 124, -124, 120, -124, -124, -124, + 125, -124, 126, 127, -124, 128, 129, -124, -124, -124 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -118, 52, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -117, -118, -118, -118, -118, -118, -26, - -118, -118, -5, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, 32, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118 + -124, 52, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -123, -124, -124, -124, -124, -124, -19, + -124, -124, -9, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, 28, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -760,61 +768,61 @@ static const yytype_int8 yypgoto[] = static const yytype_uint8 yytable[] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 139, 54, 57, 58, 59, - 60, 61, 62, 63, 64, 159, 96, 68, 97, 18, - 19, 20, 57, 58, 59, 60, 61, 62, 63, 64, - 69, 123, 124, 168, 66, 125, 140, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 67, 20, 70, 55, - 56, 140, 57, 58, 59, 60, 61, 62, 63, 64, - 81, 71, 72, 73, 74, 82, 83, 84, 85, 86, - 87, 75, 76, 77, 78, 79, 80, 98, 99, 100, - 105, 106, 107, 108, 110, 109, 111, 113, 112, 114, - 115, 116, 117, 118, 119, 120, 132, 122, 121, 134, - 135, 136, 153, 137, 150, 163, 154, 156, 151, 152, - 157, 162, 158, 139, 164, 165, 166, 167, 169, 170, - 171, 172, 173, 155, 129 + 13, 14, 15, 16, 17, 145, 59, 62, 63, 64, + 65, 66, 67, 68, 69, 165, 101, 73, 102, 18, + 19, 20, 21, 62, 63, 64, 65, 66, 67, 68, + 69, 129, 130, 174, 71, 131, 146, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 72, 20, 74, 80, + 60, 61, 146, 62, 63, 64, 65, 66, 67, 68, + 69, 86, 75, 76, 77, 78, 87, 88, 89, 90, + 91, 92, 79, 81, 82, 83, 84, 85, 103, 116, + 104, 106, 105, 111, 112, 113, 114, 119, 115, 117, + 120, 118, 121, 122, 123, 124, 125, 126, 138, 128, + 127, 140, 141, 142, 159, 143, 156, 169, 160, 162, + 163, 157, 158, 164, 145, 170, 171, 172, 173, 175, + 176, 177, 178, 179, 168, 161, 135 }; static const yytype_uint8 yycheck[] = { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4, 0, 6, 7, 8, - 9, 10, 11, 12, 13, 142, 3, 3, 5, 43, - 44, 45, 6, 7, 8, 9, 10, 11, 12, 13, - 4, 29, 30, 160, 3, 33, 35, 6, 7, 8, - 9, 10, 11, 12, 13, 3, 4, 45, 5, 3, - 4, 35, 6, 7, 8, 9, 10, 11, 12, 13, - 31, 5, 5, 5, 5, 36, 37, 38, 39, 40, - 41, 4, 4, 4, 4, 4, 3, 5, 34, 32, - 4, 4, 4, 4, 3, 5, 4, 3, 5, 3, - 3, 3, 3, 3, 3, 3, 46, 3, 5, 3, - 5, 3, 5, 4, 3, 5, 4, 4, 34, 34, - 3, 147, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 138, 102 + 9, 10, 11, 12, 13, 148, 3, 3, 5, 43, + 44, 45, 46, 6, 7, 8, 9, 10, 11, 12, + 13, 29, 30, 166, 3, 33, 35, 6, 7, 8, + 9, 10, 11, 12, 13, 3, 4, 45, 4, 4, + 3, 4, 35, 6, 7, 8, 9, 10, 11, 12, + 13, 31, 5, 5, 5, 5, 36, 37, 38, 39, + 40, 41, 5, 4, 4, 4, 4, 3, 5, 3, + 5, 32, 34, 4, 4, 4, 4, 3, 5, 4, + 3, 5, 3, 3, 3, 3, 3, 3, 47, 3, + 5, 3, 5, 3, 5, 4, 3, 5, 4, 4, + 3, 34, 34, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 153, 144, 108 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 108, 111, 14, 15, 16, 17, 18, 19, 20, + 0, 113, 116, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 43, 44, - 45, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 45, 46, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 112, 0, 3, 4, 6, 7, 8, - 9, 10, 11, 12, 13, 48, 3, 48, 3, 4, - 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, - 3, 31, 36, 37, 38, 39, 40, 41, 49, 50, - 51, 52, 53, 54, 55, 56, 3, 5, 5, 34, - 32, 94, 106, 107, 109, 4, 4, 4, 4, 5, - 3, 4, 5, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 3, 29, 30, 33, 91, 92, 93, 101, - 104, 105, 46, 110, 3, 5, 3, 4, 90, 4, - 35, 48, 80, 83, 84, 85, 86, 87, 88, 89, - 3, 34, 34, 5, 4, 89, 4, 3, 4, 80, - 81, 82, 86, 5, 4, 4, 4, 4, 80, 4, - 4, 4, 4, 4 + 76, 77, 78, 79, 80, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 117, 0, + 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, + 49, 3, 49, 3, 4, 5, 5, 5, 5, 5, + 4, 4, 4, 4, 4, 3, 31, 36, 37, 38, + 39, 40, 41, 50, 51, 52, 53, 54, 55, 56, + 57, 3, 5, 5, 5, 34, 32, 95, 111, 112, + 114, 4, 4, 4, 4, 5, 3, 4, 5, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 3, 29, + 30, 33, 92, 93, 94, 102, 109, 110, 47, 115, + 3, 5, 3, 4, 91, 4, 35, 49, 81, 84, + 85, 86, 87, 88, 89, 90, 3, 34, 34, 5, + 4, 90, 4, 3, 4, 81, 82, 83, 87, 5, + 4, 4, 4, 4, 81, 4, 4, 4, 4, 4 }; #define yyerrok (yyerrstatus = 0) @@ -1629,7 +1637,7 @@ yyreduce: switch (yyn) { case 10: -#line 144 "testpatterny.y" +#line 145 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>cmykspec %d\n", (yyvsp[(2) - (2)].ival)); @@ -1642,7 +1650,7 @@ yyreduce: break; case 11: -#line 156 "testpatterny.y" +#line 157 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>kcmyspec %d\n", (yyvsp[(2) - (2)].ival)); @@ -1655,7 +1663,7 @@ yyreduce: break; case 12: -#line 168 "testpatterny.y" +#line 169 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>rgbspec %d\n", (yyvsp[(2) - (2)].ival)); @@ -1668,7 +1676,7 @@ yyreduce: break; case 13: -#line 180 "testpatterny.y" +#line 181 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>cmyspec %d\n", (yyvsp[(2) - (2)].ival)); @@ -1681,7 +1689,7 @@ yyreduce: break; case 14: -#line 192 "testpatterny.y" +#line 193 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>grayspec %d\n", (yyvsp[(2) - (2)].ival)); @@ -1694,7 +1702,7 @@ yyreduce: break; case 15: -#line 204 "testpatterny.y" +#line 205 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>whitespec %d\n", (yyvsp[(2) - (2)].ival)); @@ -1707,7 +1715,7 @@ yyreduce: break; case 16: -#line 216 "testpatterny.y" +#line 217 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>extendedspec %d\n", (yyvsp[(2) - (3)].ival)); @@ -1720,7 +1728,7 @@ yyreduce: break; case 25: -#line 234 "testpatterny.y" +#line 235 "testpatterny.y" { int channel = find_color((yyvsp[(2) - (3)]).sval); if (getenv("STP_TESTPATTERN_DEBUG")) @@ -1731,7 +1739,7 @@ yyreduce: break; case 26: -#line 244 "testpatterny.y" +#line 245 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>channel_level %d %f\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval)); @@ -1741,7 +1749,7 @@ yyreduce: break; case 27: -#line 253 "testpatterny.y" +#line 254 "testpatterny.y" { int channel = find_color((yyvsp[(2) - (3)]).sval); if (getenv("STP_TESTPATTERN_DEBUG")) @@ -1752,7 +1760,7 @@ yyreduce: break; case 28: -#line 263 "testpatterny.y" +#line 264 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>channel_gamma %d %f\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval)); @@ -1762,7 +1770,7 @@ yyreduce: break; case 29: -#line 272 "testpatterny.y" +#line 273 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>global_gamma %f\n", (yyvsp[(2) - (2)].dval)); @@ -1771,7 +1779,7 @@ yyreduce: break; case 30: -#line 279 "testpatterny.y" +#line 280 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>steps %d\n", (yyvsp[(2) - (2)].ival)); @@ -1780,7 +1788,7 @@ yyreduce: break; case 31: -#line 286 "testpatterny.y" +#line 287 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>ink_limit %f\n", (yyvsp[(2) - (2)].dval)); @@ -1789,7 +1797,7 @@ yyreduce: break; case 32: -#line 293 "testpatterny.y" +#line 294 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>printer %s\n", (yyvsp[(2) - (2)].sval)); @@ -1799,7 +1807,7 @@ yyreduce: break; case 33: -#line 302 "testpatterny.y" +#line 303 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>page_size_name %s\n", (yyvsp[(2) - (2)].sval)); @@ -1809,7 +1817,7 @@ yyreduce: break; case 34: -#line 311 "testpatterny.y" +#line 312 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>page_size_custom %d %d\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival)); @@ -1819,7 +1827,7 @@ yyreduce: break; case 37: -#line 323 "testpatterny.y" +#line 324 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>parameter_string %s %s\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].sval)); @@ -1830,7 +1838,7 @@ yyreduce: break; case 38: -#line 333 "testpatterny.y" +#line 334 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>parameter_int %s %d\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].ival)); @@ -1840,7 +1848,7 @@ yyreduce: break; case 39: -#line 342 "testpatterny.y" +#line 343 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>parameter_float %s %f\n", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].dval)); @@ -1850,7 +1858,7 @@ yyreduce: break; case 40: -#line 351 "testpatterny.y" +#line 352 "testpatterny.y" { stp_curve_t *curve = stp_curve_create_from_string((yyvsp[(3) - (3)].sval)); if (getenv("STP_TESTPATTERN_DEBUG")) @@ -1865,7 +1873,7 @@ yyreduce: break; case 45: -#line 367 "testpatterny.y" +#line 368 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>density %f\n", (yyvsp[(2) - (2)].dval)); @@ -1874,7 +1882,7 @@ yyreduce: break; case 46: -#line 374 "testpatterny.y" +#line 375 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>top %f\n", (yyvsp[(2) - (2)].dval)); @@ -1883,7 +1891,7 @@ yyreduce: break; case 47: -#line 381 "testpatterny.y" +#line 382 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>left %f\n", (yyvsp[(2) - (2)].dval)); @@ -1892,7 +1900,7 @@ yyreduce: break; case 48: -#line 388 "testpatterny.y" +#line 389 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>hsize %f\n", (yyvsp[(2) - (2)].dval)); @@ -1901,7 +1909,7 @@ yyreduce: break; case 49: -#line 395 "testpatterny.y" +#line 396 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>vsize %f\n", (yyvsp[(2) - (2)].dval)); @@ -1910,7 +1918,7 @@ yyreduce: break; case 50: -#line 402 "testpatterny.y" +#line 403 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>blackline %d\n", (yyvsp[(2) - (2)].ival)); @@ -1919,7 +1927,7 @@ yyreduce: break; case 51: -#line 410 "testpatterny.y" +#line 411 "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), @@ -1935,7 +1943,7 @@ yyreduce: break; case 57: -#line 434 "testpatterny.y" +#line 435 "testpatterny.y" { int channel = find_color((yyvsp[(1) - (4)]).sval); if (getenv("STP_TESTPATTERN_DEBUG")) @@ -1950,7 +1958,7 @@ yyreduce: break; case 58: -#line 448 "testpatterny.y" +#line 449 "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)); @@ -1964,7 +1972,7 @@ yyreduce: break; case 67: -#line 473 "testpatterny.y" +#line 474 "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)); @@ -1980,7 +1988,7 @@ yyreduce: break; case 69: -#line 491 "testpatterny.y" +#line 492 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>xpattern\n"); @@ -1996,7 +2004,7 @@ yyreduce: break; case 70: -#line 506 "testpatterny.y" +#line 507 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>grid %d\n", (yyvsp[(2) - (2)].ival)); @@ -2008,7 +2016,7 @@ yyreduce: break; case 71: -#line 517 "testpatterny.y" +#line 518 "testpatterny.y" { if (getenv("STP_TESTPATTERN_DEBUG")) fprintf(stderr, ">>>image %d %d\n", (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival)); @@ -2026,7 +2034,7 @@ yyreduce: break; case 72: -#line 534 "testpatterny.y" +#line 535 "testpatterny.y" { fprintf(stderr,"%s",(yyvsp[(2) - (2)].sval)); free((yyvsp[(2) - (2)].sval)); @@ -2034,7 +2042,7 @@ yyreduce: break; case 73: -#line 540 "testpatterny.y" +#line 541 "testpatterny.y" { fprintf(stderr,"%s%s", (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2043,7 +2051,7 @@ yyreduce: break; case 74: -#line 547 "testpatterny.y" +#line 548 "testpatterny.y" { fprintf(stderr,"%s%s%s", (yyvsp[(2) - (4)].sval), (yyvsp[(3) - (4)].sval), (yyvsp[(4) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); @@ -2053,7 +2061,7 @@ yyreduce: break; case 75: -#line 555 "testpatterny.y" +#line 556 "testpatterny.y" { fprintf(stderr, "%s%s%s%s", (yyvsp[(2) - (5)].sval), (yyvsp[(3) - (5)].sval), (yyvsp[(4) - (5)].sval), (yyvsp[(5) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); @@ -2064,7 +2072,7 @@ yyreduce: break; case 76: -#line 564 "testpatterny.y" +#line 565 "testpatterny.y" { fprintf(stderr, "%s%s%s%s%s", (yyvsp[(2) - (6)].sval), (yyvsp[(3) - (6)].sval), (yyvsp[(4) - (6)].sval), (yyvsp[(5) - (6)].sval), (yyvsp[(6) - (6)].sval)); free((yyvsp[(2) - (6)].sval)); @@ -2075,28 +2083,44 @@ yyreduce: } break; - case 101: -#line 586 "testpatterny.y" - { global_did_something = 1; } + case 83: +#line 582 "testpatterny.y" + { + if (global_output) + free(global_output); + global_output = NULL; + } break; - case 106: -#line 593 "testpatterny.y" + case 84: +#line 589 "testpatterny.y" + { + global_output = (yyvsp[(2) - (2)].sval); + } + break; + + case 107: +#line 605 "testpatterny.y" { global_did_something = 1; } break; - case 109: -#line 600 "testpatterny.y" + case 112: +#line 612 "testpatterny.y" { global_did_something = 1; } break; case 115: -#line 610 "testpatterny.y" +#line 619 "testpatterny.y" + { global_did_something = 1; } + break; + + case 121: +#line 629 "testpatterny.y" { return 0; } break; - case 116: -#line 614 "testpatterny.y" + case 122: +#line 633 "testpatterny.y" { current_testpattern = get_next_testpattern(); } @@ -2104,7 +2128,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2108 "testpatterny.c" +#line 2132 "testpatterny.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2318,6 +2342,6 @@ yyreturn: } -#line 620 "testpatterny.y" +#line 639 "testpatterny.y" diff --git a/src/testpattern/testpatterny.h b/src/testpattern/testpatterny.h index 69e3127..a005618 100644 --- a/src/testpattern/testpatterny.h +++ b/src/testpattern/testpatterny.h @@ -82,7 +82,8 @@ MODE = 298, PAGESIZE = 299, MESSAGE = 300, - END = 301 + OUTPUT = 301, + END = 302 }; #endif /* Tokens. */ @@ -129,7 +130,8 @@ #define MODE 298 #define PAGESIZE 299 #define MESSAGE 300 -#define END 301 +#define OUTPUT 301 +#define END 302 diff --git a/src/testpattern/testpatterny.y b/src/testpattern/testpatterny.y index bb2073f..c32b20f 100644 --- a/src/testpattern/testpatterny.y +++ b/src/testpattern/testpatterny.y @@ -1,5 +1,5 @@ /* - * "$Id: testpatterny.y,v 1.26.18.2 2007/05/29 01:47:30 rlk Exp $" + * "$Id: testpatterny.y,v 1.26.18.3 2007/12/15 20:35:52 rlk Exp $" * * Test pattern generator for Gimp-Print * @@ -130,6 +130,7 @@ find_color(const char *name) %token MODE %token PAGESIZE %token MESSAGE +%token OUTPUT %token END %start Thing @@ -577,9 +578,27 @@ A_Message: Message0 | Message1 | Message2 | Message3 | Message4 message: A_Message ; +Output0: OUTPUT + { + if (global_output) + free(global_output); + global_output = NULL; + } + +Output1: OUTPUT tSTRING + { + global_output = $2; + } + +A_Output: Output0 | Output1 +; + +output: A_Output +; + A_Rule: gamma | channel_gamma | level | channel_level | global_gamma | steps | ink_limit | printer | parameter | density | top | left | hsize - | vsize | blackline | inputspec | page_size | message + | vsize | blackline | inputspec | page_size | message | output ; Rule: A_Rule SEMI |