diff options
Diffstat (limited to 'doc/developer')
36 files changed, 1352 insertions, 2199 deletions
diff --git a/doc/developer/Makefile.am b/doc/developer/Makefile.am index e59d4da..36b80d9 100644 --- a/doc/developer/Makefile.am +++ b/doc/developer/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.16 2005/01/30 16:01:52 rleigh Exp $ +## $Id: Makefile.am,v 1.18 2005/11/22 14:43:04 rleigh Exp $ ## Copyright (C) 2001 Andy Stewart and Roger Leigh ## ## This program is free software; you can redistribute it and/or modify @@ -17,12 +17,8 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.4 gnu - @SET_MAKE@ -MAINT_CHARSET = latin1 - include $(top_srcdir)/scripts/global.mk @@ -128,7 +124,7 @@ html-stamp: $(MANUAL_SRC_FILES) install-data-local: $(STANDARD_TARGETS) if test -n '$(STANDARD_TARGETS)' ; then \ - $(mkinstalldirs) $(DESTDIR)$(datadir)/$(PACKAGE)/doc/$(HTMLDIR) ; \ + $(mkdir_p) $(DESTDIR)$(datadir)/$(PACKAGE)/doc/$(HTMLDIR) ; \ if test -f gutenprint.pdf ; then \ $(INSTALL_DATA) gutenprint.pdf $(DESTDIR)$(datadir)/$(PACKAGE)/doc ; \ elif test -f $(srcdir)/gutenprint.pdf ; then \ diff --git a/doc/developer/Makefile.in b/doc/developer/Makefile.in index 13fa2cb..2a98d84 100644 --- a/doc/developer/Makefile.in +++ b/doc/developer/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -53,13 +53,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +depcomp = +am__depfiles_maybe = SOURCES = DIST_SOURCES = 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@ @@ -97,7 +97,6 @@ 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@ CONVERT = @CONVERT@ CPP = @CPP@ @@ -110,14 +109,12 @@ CUPS_PPDS_AT_TOP_LEVEL_TRUE = @CUPS_PPDS_AT_TOP_LEVEL_TRUE@ CUPS_PPD_PS_LEVEL = @CUPS_PPD_PS_LEVEL@ CXX = @CXX@ CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DB2HTML = @DB2HTML@ DB2PDF = @DB2PDF@ DB2PS = @DB2PS@ DEFS = @DEFS@ -DEPDIR = @DEPDIR@ DIALOG = @DIALOG@ DOXYGEN = @DOXYGEN@ DVIPDF = @DVIPDF@ @@ -252,13 +249,8 @@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ -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@ +ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ @@ -304,8 +296,6 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -AUTOMAKE_OPTIONS = 1.4 gnu -MAINT_CHARSET = latin1 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(LOCAL_CPPFLAGS) $(GNUCFLAGS) MANUAL_SRC_FILES = \ copying.xml \ @@ -348,9 +338,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/developer/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps doc/developer/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/developer/Makefile + $(AUTOMAKE) --gnu --ignore-deps doc/developer/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -584,7 +574,7 @@ html-stamp: $(MANUAL_SRC_FILES) install-data-local: $(STANDARD_TARGETS) if test -n '$(STANDARD_TARGETS)' ; then \ - $(mkinstalldirs) $(DESTDIR)$(datadir)/$(PACKAGE)/doc/$(HTMLDIR) ; \ + $(mkdir_p) $(DESTDIR)$(datadir)/$(PACKAGE)/doc/$(HTMLDIR) ; \ if test -f gutenprint.pdf ; then \ $(INSTALL_DATA) gutenprint.pdf $(DESTDIR)$(datadir)/$(PACKAGE)/doc ; \ elif test -f $(srcdir)/gutenprint.pdf ; then \ diff --git a/doc/developer/gutenprint.pdf b/doc/developer/gutenprint.pdf Binary files differindex 4e5743e..4d8ad0a 100644 --- a/doc/developer/gutenprint.pdf +++ b/doc/developer/gutenprint.pdf diff --git a/doc/developer/reference-html/HTML.manifest b/doc/developer/reference-html/HTML.manifest deleted file mode 100644 index 731655e..0000000 --- a/doc/developer/reference-html/HTML.manifest +++ /dev/null @@ -1,18 +0,0 @@ -book1.html -f14.html -c39.html -c48.html -x67.html -x79.html -c194.html -c200.html -x271.html -c464.html -x955.html -x1669.html -c1717.html -x1734.html -c1968.html -gpl.html -gpl-terms.html -ln10.html diff --git a/doc/developer/reference-html/gpl.html b/doc/developer/reference-html/a2122.html index 92c79e6..df22a8b 100644 --- a/doc/developer/reference-html/gpl.html +++ b/doc/developer/reference-html/a2122.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >GNU General Public License</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Dithering" HREF="c1968.html"><LINK REL="NEXT" TITLE="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION" -HREF="gpl-terms.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x2153.html"></HEAD ><BODY CLASS="appendix" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -53,7 +56,7 @@ WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A -HREF="gpl-terms.html" +HREF="x2153.html" ACCESSKEY="N" >Next</A ></TD @@ -70,31 +73,12 @@ NAME="gpl" ></A >Appendix A. GNU General Public License</H1 ><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="gpl.html#gpl-preamble" ->Preamble</A -></DT -><DT -><A -HREF="gpl-terms.html" ->TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</A -></DT -></DL -></DIV -><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="gpl-preamble" ->Preamble</A +>A.1. Preamble</A ></H1 ><P > The licenses for most software are designed to take away your @@ -198,7 +182,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD @@ -207,7 +191,7 @@ WIDTH="33%" ALIGN="right" VALIGN="top" ><A -HREF="gpl-terms.html" +HREF="x2153.html" ACCESSKEY="N" >Next</A ></TD diff --git a/doc/developer/reference-html/c1717.html b/doc/developer/reference-html/c1717.html index 0d98cde..8e09502 100644 --- a/doc/developer/reference-html/c1717.html +++ b/doc/developer/reference-html/c1717.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Weaving for inkjet printers</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Appropriate Remote Commands" HREF="x1669.html"><LINK REL="NEXT" TITLE="Weaving algorithms" -HREF="x1734.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x1734.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -70,37 +73,18 @@ NAME="AEN1717" ></A >Chapter 6. Weaving for inkjet printers</H1 ><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="c1717.html#AEN1719" ->Introduction</A -></DT -><DT -><A -HREF="x1734.html" ->Weaving algorithms</A -></DT -></DL -></DIV -><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="AEN1719" ->Introduction</A +>6.1. Introduction</A ></H1 ><P > The Epson Stylus Color/Photo printers don't have memory to print using all of the nozzles in the print head. For example, the Stylus Photo 700/EX has 32 nozzles. At 720 dpi, with an 8" wide - image, a single line requires ((8 × 720 × 6) / 8) + image, a single line requires ((8 720 6) / 8) bytes, or 4320 bytes (because the Stylus Photo printers have 6 ink colors). To use 32 nozzles per color would require 138240 bytes. It's actually worse than that, though, because the @@ -115,12 +99,12 @@ NAME="AEN1719" ><P > With the newer (740/750 and later) printers it's even worse, since these printers support multiple dot sizes; of course, the - even newer 2880×720 printers don't help either. + even newer 2880720 printers don't help either. </P ><P > Older Epson printers had a mode called MicroWeave<SUP ->™</SUP +>™</SUP >. In this mode, the host fed the printer individual rows of dots, and the printer bundled them up and sent them to the print head in the correct @@ -128,7 +112,7 @@ NAME="AEN1719" in new printers, but in some cases the implementation is very minimal: the printer uses exactly one nozzle of each color (the first one). This makes printing extremely slow (more than 30 - minutes for one 8.5×11" page), although the quality is + minutes for one 8.511" page), although the quality is extremely high with no visible banding whatsoever. It's not good for the print head, though, since no ink is flowing through the other nozzles. This leads to drying of ink and possible @@ -171,11 +155,11 @@ NAME="AEN1719" ><P > Interestingly, apparently the Windows (and presumably Macintosh) drivers for most or all Epson printers still list a - “microweave” mode. Experiments have demonstrated - that this does not in fact use the “microweave” mode + “microweave” mode. Experiments have demonstrated + that this does not in fact use the “microweave” mode of the printer. Possibly it does nothing, or it uses a different weave pattern from what the - “non-microweave” mode does. This is unnecessarily + “non-microweave” mode does. This is unnecessarily confusing, at least for people who write drivers who try to explain them to people who don't. </P @@ -256,7 +240,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/c194.html b/doc/developer/reference-html/c194.html index 561e519..5ed6bd7 100644 --- a/doc/developer/reference-html/c194.html +++ b/doc/developer/reference-html/c194.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Reporting Bugs</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Integrating libgutenprint" HREF="x79.html"><LINK REL="NEXT" TITLE="Adding a new printer" -HREF="c200.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c200.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -126,7 +129,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/c1968.html b/doc/developer/reference-html/c1968.html index ad12784..e03ce26 100644 --- a/doc/developer/reference-html/c1968.html +++ b/doc/developer/reference-html/c1968.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Dithering</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Weaving algorithms" HREF="x1734.html"><LINK REL="NEXT" TITLE="GNU General Public License" -HREF="gpl.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="a2122.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -53,7 +56,7 @@ WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A -HREF="gpl.html" +HREF="a2122.html" ACCESSKEY="N" >Next</A ></TD @@ -102,9 +105,9 @@ CLASS="filename" CLASS="variablelist" ><DL ><DT -><VAR +><TT CLASS="literal" ->dither_fastblack</VAR +>dither_fastblack</TT ></DT ><DD ><P @@ -116,9 +119,9 @@ CLASS="literal" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->dither_black</VAR +>dither_black</TT ></DT ><DD ><P @@ -129,9 +132,9 @@ CLASS="literal" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->dither_cmyk</VAR +>dither_cmyk</TT ></DT ><DD ><P @@ -146,7 +149,7 @@ CLASS="literal" ><P > There is a choice of dithering algorithms. Four of them are based on a basic error diffusion, with a few tweaks of my own. - The other one is ‘ordered’. However, they all share + The other one is ‘ordered’. However, they all share the basic operation in common. First, the algorithm picks what kind of dot (if there are multiple dot sizes and/or tones that may be picked) is the candidate to be printed. This decision is @@ -183,7 +186,7 @@ CLASS="literal" </P ><P > Error diffusion works by taking the output error at a given - pixel and “diffusing” it into surrounding pixels. + pixel and “diffusing” it into surrounding pixels. Output error is the difference between the amount of ink output and the input level at each pixel. For simple printers, with one or four ink colors and only one dot size, the amount of ink @@ -205,7 +208,7 @@ CLASS="literal" </P ><P > There are two sub-classes of error diffusion that we use here, - ‘random’ and ‘hybrid’. One of the + ‘random’ and ‘hybrid’. One of the techniques that we use to ameliorate the artifacts is to use a fuzzy threshold rather than the hard threshold of half of the output level. Random error diffusion uses a pseudo-random @@ -216,7 +219,7 @@ CLASS="literal" </P ><P > There is one additional variant (on both sub-classes), called - ‘adaptive hybrid’ and ‘adaptive random’. + ‘adaptive hybrid’ and ‘adaptive random’. The adaptive variant takes advantage of the fact that the patterns that ordered dithering create are less visible at very low densities, while the artifacts created by error diffusion @@ -237,7 +240,7 @@ CLASS="literal" > The next question: how do we handle black when printing in color? Black ink is much darker than colored inks. It's possible to produce black by adding some mixture of cyan, - magenta, and yellow—in principle. In practice, the black + magenta, and yellow—in principle. In practice, the black really isn't very black, and different inks and different papers will produce different color casts. However, by using CMY to produce gray, we can output a lot more dots! This makes for a @@ -322,7 +325,7 @@ TYPE="1" ></LI ><LI ><P -> Compute the “virtual value”. The virtual value +> Compute the “virtual value”. The virtual value is the distance between the value of the lighter and the value of the darker ink. So if the value of the light ink is 32768 and the dark ink is 65536, we compute a virtual @@ -363,7 +366,7 @@ HREF="mailto:ttonino@bio.vu.nl" requires careful selection of initial points to achieve good results, and is very time consuming. For best results, a different matrix must be used for modes with 2:1 aspect ratio - (e.g. 1440×720) than for 1:1 (e. g. 720×720). It is + (e.g. 1440720) than for 1:1 (e. g. 720720). It is essential with any of these matrices that every point be used. Skipping points generates low-frequency noise. </P @@ -482,16 +485,16 @@ CLASS="emphasis" ></LI ><LI ><P -> Oversampling. This is how to print 1440×720 with Epson - Stylus printers. Printing full density at 1440×720 will +> Oversampling. This is how to print 1440720 with Epson + Stylus printers. Printing full density at 1440720 will result in excess ink being laid down. The trick is to print only every other dot. We still compute the error as though we printed every dot. It turns out that randomizing which dots are printed results in very speckled output. This can be - taken too far; oversampling at 1440×1440 or - 1440×2880 virtual resolution results in other problems. - However, at present 1440×1440 (which is more accurately - called "1440×720 enhanced", as the Epson printers cannot + taken too far; oversampling at 14401440 or + 14402880 virtual resolution results in other problems. + However, at present 14401440 (which is more accurately + called "1440720 enhanced", as the Epson printers cannot print 1440 rows per inch) does quite well, although it's slow. </P ></LI @@ -816,23 +819,23 @@ CLASS="function" CLASS="function" >dither_set_X_ranges_simple</CODE > - (<VAR + (<TT CLASS="literal" ->X</VAR -> = <VAR +>X</TT +> = <TT CLASS="literal" ->c</VAR +>c</TT >, - <VAR + <TT CLASS="literal" ->m</VAR ->, <VAR +>m</TT +>, <TT CLASS="literal" ->y</VAR +>y</TT > or - <VAR + <TT CLASS="literal" ->k</VAR +>k</TT >) describes the ink choices available for each color. This is useful in typical cases where a four color printer with variable dot sizes is in use. It is @@ -861,23 +864,23 @@ CLASS="function" CLASS="function" >dither_set_X_ranges</CODE > - (<VAR + (<TT CLASS="literal" ->X</VAR -> = <VAR +>X</TT +> = <TT CLASS="literal" ->c</VAR +>c</TT >, - <VAR + <TT CLASS="literal" ->m</VAR ->, <VAR +>m</TT +>, <TT CLASS="literal" ->y</VAR +>y</TT > or - <VAR + <TT CLASS="literal" ->k</VAR +>k</TT >) describes in a more general way the ink choices available for each color. For each possible ink choice, a bit pattern, dot size, value (i. e. relative @@ -912,7 +915,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD @@ -921,7 +924,7 @@ WIDTH="33%" ALIGN="right" VALIGN="top" ><A -HREF="gpl.html" +HREF="a2122.html" ACCESSKEY="N" >Next</A ></TD diff --git a/doc/developer/reference-html/c200.html b/doc/developer/reference-html/c200.html index ea024f7..cd26eae 100644 --- a/doc/developer/reference-html/c200.html +++ b/doc/developer/reference-html/c200.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Adding a new printer</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Reporting Bugs" HREF="c194.html"><LINK REL="NEXT" TITLE="The driver file" -HREF="x271.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x271.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -69,28 +72,6 @@ CLASS="chapter" NAME="AEN200" ></A >Chapter 4. Adding a new printer</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="c200.html#AEN217" -><TT -CLASS="filename" ->printers.xml</TT -></A -></DT -><DT -><A -HREF="x271.html" ->The driver file</A -></DT -></DL -></DIV ><P > This chapter covers adding a new ESCP/2, PCL, or Canon printer. Writing a new driver module is not covered. @@ -150,7 +131,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN217" -><TT +>4.1. <TT CLASS="filename" >printers.xml</TT ></A @@ -174,12 +155,6 @@ CLASS="informalexample" ><A NAME="AEN223" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" ><printer name="EPSON Stylus Color 1500" driver="escp2-1500"> @@ -188,33 +163,30 @@ CLASS="programlisting" <gamma value="0.597"/> <density value="1.0"/> </printer></PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P > There are other tags that may be present. The only ones that - are mandatory are <VAR + are mandatory are <TT CLASS="literal" -><printer></VAR +><printer></TT >, - <VAR + <TT CLASS="literal" -><color></VAR +><color></TT > and - <VAR + <TT CLASS="literal" -><model></VAR +><model></TT >. The other optional parameters - (<VAR + (<TT CLASS="literal" -><gamma></VAR +><gamma></TT > and - <VAR + <TT CLASS="literal" -><density></VAR +><density></TT > in this case) can be used to adjust control settings. This is probably not the right place for them; the printer drivers themselves should contain this @@ -241,75 +213,75 @@ CLASS="variablelist" ></P ><DL ><DT -><VAR +><TT CLASS="literal" -><family></VAR +><family></TT ></DT ><DD ><P > This defines what driver module this printer uses. The - attribute <VAR + attribute <TT CLASS="literal" ->name</VAR +>name</TT > is the name of the family driver to associate the printers with, for example - <VAR + <TT CLASS="literal" ->escp2</VAR ->, <VAR +>escp2</TT +>, <TT CLASS="literal" ->pcl</VAR +>pcl</TT >, - <VAR + <TT CLASS="literal" ->canon</VAR ->, <VAR +>canon</TT +>, <TT CLASS="literal" ->ps</VAR +>ps</TT > or - <VAR + <TT CLASS="literal" ->raw</VAR +>raw</TT >. This tag may only contain - <VAR + <TT CLASS="literal" -><printer></VAR +><printer></TT > elements. </P ></DD ><DT -><VAR +><TT CLASS="literal" -><printer></VAR +><printer></TT ></DT ><DD ><P > This starts the definition of a printer. It must contain - the attributes <VAR + the attributes <TT CLASS="literal" ->name</VAR +>name</TT > and - <VAR + <TT CLASS="literal" ->driver</VAR ->. <VAR +>driver</TT +>. <TT CLASS="literal" ->name</VAR +>name</TT > should be is the full name of the printer, and must be human - readable. <VAR + readable. <TT CLASS="literal" ->driver</VAR +>driver</TT > should consist of alphanumerics and hyphens, and be fairly short. - <VAR + <TT CLASS="literal" ->name</VAR +>name</TT > is what will appear in the user-visible listing of printers, and may be translated - into the user's language, while <VAR + into the user's language, while <TT CLASS="literal" ->driver</VAR +>driver</TT > is what is actually used to key into the list of printers. It is legal to have multiple printers with the same driver @@ -317,43 +289,43 @@ CLASS="literal" </P ></DD ><DT -><VAR +><TT CLASS="literal" -><color></VAR +><color></TT ></DT ><DD ><P > This tag may not contain any content, but the - <VAR + <TT CLASS="literal" ->value</VAR +>value</TT > attribute may be set to - <VAR + <TT CLASS="literal" ->true</VAR -> or <VAR +>true</TT +> or <TT CLASS="literal" ->false</VAR +>false</TT >. This indicates that this printer is capable of color, or is not capable of color respectively. </P ></DD ><DT -><VAR +><TT CLASS="literal" -><model></VAR +><model></TT ></DT ><DD ><P > This defines a model number. This tag may not contain any - content, but the <VAR + content, but the <TT CLASS="literal" ->value</VAR +>value</TT > attribute may be set to a positive integer. This is passed into the driver, which may do whatever it cares to with - it—index into a table, compute on, or whatever. + it—index into a table, compute on, or whatever. This need not be unique. </P ></DD @@ -386,7 +358,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/c39.html b/doc/developer/reference-html/c39.html index 04c08a9..3021576 100644 --- a/doc/developer/reference-html/c39.html +++ b/doc/developer/reference-html/c39.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Copying, modification and redistribution</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Preface" HREF="f14.html"><LINK REL="NEXT" TITLE="Using libgutenprint" -HREF="c48.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c48.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -111,7 +114,7 @@ CLASS="emphasis" ><P > Gutenprint is licensed under the terms of the GNU General Public License (GPL), reproduced in <A -HREF="gpl.html" +HREF="a2122.html" >Appendix A</A >. </P @@ -141,7 +144,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/c464.html b/doc/developer/reference-html/c464.html index 5d5fc45..cb3bede 100644 --- a/doc/developer/reference-html/c464.html +++ b/doc/developer/reference-html/c464.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >ESC/P2</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="The driver file" HREF="x271.html"><LINK REL="NEXT" TITLE="Remote Mode Commands" -HREF="x955.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x955.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -69,30 +72,6 @@ CLASS="chapter" NAME="AEN464" ></A >Chapter 5. ESC/P2</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="c464.html#AEN477" ->Standard commands</A -></DT -><DT -><A -HREF="x955.html" ->Remote Mode Commands</A -></DT -><DT -><A -HREF="x1669.html" ->Appropriate Remote Commands</A -></DT -></DL -></DIV ><P > This is a description of the ESC/P2 raster commands used by the Gutenprint printer driver, which is a subset of the complete @@ -114,29 +93,29 @@ CLASS="emphasis" are certainly not complete. </P ><P -> All ESCP/2 raster commands begin with the <VAR +> All ESCP/2 raster commands begin with the <TT CLASS="literal" ->ESC</VAR +>ESC</TT > character (0x1b), followed by either one or two command characters and arguments where applicable. Older commands generally have one command character. Newer commands usually have a - ‘<VAR + ‘<TT CLASS="literal" ->(</VAR ->’ (left parenthesis) followed by +>(</TT +>’ (left parenthesis) followed by a command character and a byte count for the arguments that follow. The byte count is a 16-bit (2 byte) binary integer, in little endian order. </P ><P > All arguments listed here are of the form - <VAR + <TT CLASS="literal" ->name[bytes]</VAR -> where <VAR +>name[bytes]</TT +> where <TT CLASS="literal" ->[bytes]</VAR +>[bytes]</TT > is the number of bytes that comprise the argument. The arguments themselves are usually one, two, or four byte integers, always @@ -154,7 +133,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN477" ->Standard commands</A +>5.1. Standard commands</A ></H1 ><P ></P @@ -166,9 +145,9 @@ CLASS="variablelist" ></P ><DL ><DT -><VAR +><TT CLASS="literal" ->ESC @</VAR +>ESC @</TT ></DT ><DD ><P @@ -178,22 +157,22 @@ CLASS="literal" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (G <VAR +>ESC (G <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - <VAR + <CODE CLASS="varname" ->ON1</VAR -></VAR +>ON1</CODE +></TT ></DT ><DD ><P -> Turn on graphics mode. <VAR +> Turn on graphics mode. <CODE CLASS="varname" ->ON</VAR +>ON</CODE > should be <CODE CLASS="constant" @@ -202,31 +181,31 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (U <VAR +>ESC (U <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - <VAR + <CODE CLASS="varname" ->UNIT1</VAR -></VAR +>UNIT1</CODE +></TT ></DT ><DD ><P > Set basic unit of measurement used by printer. This is expressed in multiples of 1/3600". At 720 DPI, - <VAR + <CODE CLASS="varname" ->UNIT</VAR +>UNIT</CODE > is <CODE CLASS="constant" >5</CODE >; at - 360 DPI, <VAR + 360 DPI, <CODE CLASS="varname" ->UNIT</VAR +>UNIT</CODE > is <CODE CLASS="constant" @@ -235,88 +214,88 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (U <VAR +>ESC (U <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=5 - <VAR + <CODE CLASS="varname" ->PAGEUNITS1</VAR -> <VAR +>PAGEUNITS1</CODE +> <CODE CLASS="varname" ->VUNIT1</VAR +>VUNIT1</CODE > - <VAR + <CODE CLASS="varname" ->HUNIT1</VAR +>HUNIT1</CODE > - <VAR + <CODE CLASS="varname" ->BASEUNIT2</VAR -></VAR +>BASEUNIT2</CODE +></TT ></DT ><DD ><P > Set basic units of measurement used by the printer. - <VAR + <CODE CLASS="varname" ->PAGEUNIT</VAR +>PAGEUNIT</CODE > is the unit of page measurement (for commands that set page dimensions and - the like). <VAR + the like). <CODE CLASS="varname" ->VUNIT</VAR +>VUNIT</CODE > is the unit of vertical measurement (for vertical movement commands). - <VAR + <CODE CLASS="varname" ->HUNIT</VAR +>HUNIT</CODE > is the unit of horizontal movement (for horizontal positioning commands). All of these units are expressed in - <VAR + <CODE CLASS="varname" ->BASEUNIT</VAR +>BASEUNIT</CODE >, which is in reciprocal - inches. Typically, <VAR + inches. Typically, <CODE CLASS="varname" ->BASEUNIT</VAR +>BASEUNIT</CODE > is <CODE CLASS="constant" >1440</CODE >. In 720 DPI mode, - <VAR + <CODE CLASS="varname" ->PAGEUNIT</VAR ->, <VAR +>PAGEUNIT</CODE +>, <CODE CLASS="varname" ->VUNIT</VAR +>VUNIT</CODE >, - and <VAR + and <CODE CLASS="varname" ->HUNIT</VAR +>HUNIT</CODE > are all <CODE CLASS="constant" >2</CODE ->; in 1440×720 DPI mode, - <VAR +>; in 1440720 DPI mode, + <CODE CLASS="varname" ->PAGEUNIT</VAR -> and <VAR +>PAGEUNIT</CODE +> and <CODE CLASS="varname" ->VUNIT</VAR +>VUNIT</CODE > are normally set to <CODE CLASS="constant" >2</CODE >; - <VAR + <CODE CLASS="varname" ->HUNIT</VAR +>HUNIT</CODE > is set to <CODE CLASS="constant" @@ -325,20 +304,20 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (K <VAR +>ESC (K <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 - <VAR + <CODE CLASS="varname" ->ZERO1</VAR +>ZERO1</CODE > - <VAR + <CODE CLASS="varname" ->GRAYMODE1</VAR -></VAR +>GRAYMODE1</CODE +></TT ></DT ><DD ><P @@ -347,9 +326,9 @@ CLASS="varname" identified because they are advertised as having more black nozzles than nozzles of individual colors. Setting grayscale mode allows use of these extra nozzles - for faster printing. <VAR + for faster printing. <CODE CLASS="varname" ->GRAYMODE</VAR +>GRAYMODE</CODE > should be <CODE CLASS="constant" @@ -362,9 +341,9 @@ CLASS="constant" CLASS="constant" >1</CODE > for grayscale. - <VAR + <CODE CLASS="varname" ->ZERO</VAR +>ZERO</CODE > should always be <CODE CLASS="constant" @@ -373,22 +352,22 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (i <VAR +>ESC (i <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - <VAR + <CODE CLASS="varname" ->MICROWEAVE1</VAR -></VAR +>MICROWEAVE1</CODE +></TT ></DT ><DD ><P -> If <VAR +> If <CODE CLASS="varname" ->MICROWEAVE</VAR +>MICROWEAVE</CODE > is <CODE CLASS="constant" @@ -397,7 +376,7 @@ CLASS="constant" printers, this is used to turn on microweave; on newer printers, it prints one row at a time. All printers support this mode. It should only be used at 720 (or - 1440×720) DPI. The Epson Stylus Pro series + 1440720) DPI. The Epson Stylus Pro series indicates additional modes: </P ><P @@ -412,7 +391,7 @@ CLASS="constant" ></DT ><DD ><P -> “Full-overlap” +> “Full-overlap” </P ></DD ><DT @@ -422,7 +401,7 @@ CLASS="constant" ></DT ><DD ><P -> “Four-pass” +> “Four-pass” </P ></DD ><DT @@ -432,7 +411,7 @@ CLASS="constant" ></DT ><DD ><P -> “Full-overlap 2” +> “Full-overlap 2” </P ></DD ></DL @@ -450,19 +429,19 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" >ESC U - <VAR + <CODE CLASS="varname" ->DIRECTION1</VAR -></VAR +>DIRECTION1</CODE +></TT ></DT ><DD ><P -> If <VAR +> If <CODE CLASS="varname" ->DIRECTION</VAR +>DIRECTION</CODE > is <CODE CLASS="constant" @@ -475,31 +454,31 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (s <VAR +>ESC (s <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - <VAR + <CODE CLASS="varname" ->SPEED1</VAR -></VAR +>SPEED1</CODE +></TT ></DT ><DD ><P > On some older printers, this controls the print head - speed. <VAR + speed. <CODE CLASS="varname" ->SPEED</VAR +>SPEED</CODE > of <CODE CLASS="constant" >2</CODE > is 10 inches/sec; - <VAR + <CODE CLASS="varname" ->SPEED</VAR +>SPEED</CODE > of <CODE CLASS="constant" >0</CODE @@ -508,26 +487,26 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (e <VAR +>ESC (e <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 - <VAR + <CODE CLASS="varname" ->ZERO1</VAR +>ZERO1</CODE > - <VAR + <CODE CLASS="varname" ->DOTSIZE1</VAR -></VAR +>DOTSIZE1</CODE +></TT ></DT ><DD ><P -> Choose print dotsize. <VAR +> Choose print dotsize. <CODE CLASS="varname" ->DOTSIZE</VAR +>DOTSIZE</CODE > can take on various values, depending upon the printer. Almost all printers support <CODE @@ -538,45 +517,45 @@ CLASS="constant" CLASS="constant" >2</CODE >. Variable dot size printers - allow a value of <VAR + allow a value of <CODE CLASS="varname" ->16</VAR +>16</CODE >. Other than the - value of <VAR + value of <CODE CLASS="varname" ->16</VAR +>16</CODE >, this appears to be ignored at resolutions of 720 DPI and above. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (C <VAR +>ESC (C <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 - <VAR + <CODE CLASS="varname" ->PAGELENGTH2</VAR -></VAR ->, <VAR +>PAGELENGTH2</CODE +></TT +>, <TT CLASS="literal" ->ESC (C <VAR +>ESC (C <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->PAGELENGTH4</VAR -></VAR +>PAGELENGTH4</CODE +></TT ></DT ><DD ><P -> Set the length of the page in “pageunits” - (see <VAR +> Set the length of the page in “pageunits” + (see <TT CLASS="literal" ->ESC (U</VAR +>ESC (U</TT > above). The second form of the command allows setting of longer page lengths on new printers (these happen to be the printers that @@ -584,41 +563,41 @@ CLASS="literal" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (c <VAR +>ESC (c <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->TOP2</VAR +>TOP2</CODE > - <VAR + <CODE CLASS="varname" ->LENGTH2</VAR -></VAR ->, <VAR +>LENGTH2</CODE +></TT +>, <TT CLASS="literal" ->ESC (c <VAR +>ESC (c <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=8 - <VAR + <CODE CLASS="varname" ->TOP4</VAR +>TOP4</CODE > - <VAR + <CODE CLASS="varname" ->LENGTH4</VAR -></VAR +>LENGTH4</CODE +></TT ></DT ><DD ><P > Set the vertical page margins of the page in - “pageunits” (see <VAR + “pageunits” (see <TT CLASS="literal" ->ESC (U</VAR +>ESC (U</TT > above). The margins are specified as the top of the page and the length of the page. The second form of the @@ -628,119 +607,119 @@ CLASS="literal" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (S <VAR +>ESC (S <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=8 - <VAR + <CODE CLASS="varname" ->WIDTH4</VAR +>WIDTH4</CODE > - <VAR + <CODE CLASS="varname" ->LENGTH4</VAR -></VAR +>LENGTH4</CODE +></TT ></DT ><DD ><P > Set the width and length of the printed page region in - “pageunits” (see <VAR + “pageunits” (see <TT CLASS="literal" ->ESC (U</VAR +>ESC (U</TT > above). </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (v <VAR +>ESC (v <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 - <VAR + <CODE CLASS="varname" ->ADVANCE2</VAR -></VAR ->, <VAR +>ADVANCE2</CODE +></TT +>, <TT CLASS="literal" ->ESC (v <VAR +>ESC (v <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->ADVANCE4</VAR -></VAR +>ADVANCE4</CODE +></TT ></DT ><DD ><P -> Feed vertically <VAR +> Feed vertically <CODE CLASS="varname" ->ADVANCE</VAR +>ADVANCE</CODE > - “vertical units” (see <VAR + “vertical units” (see <TT CLASS="literal" >ESC - (U</VAR + (U</TT > above) from the current print head position. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (V <VAR +>ESC (V <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 - <VAR + <CODE CLASS="varname" ->ADVANCE2</VAR -></VAR ->, <VAR +>ADVANCE2</CODE +></TT +>, <TT CLASS="literal" ->ESC (V <VAR +>ESC (V <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->ADVANCE4</VAR -></VAR +>ADVANCE4</CODE +></TT ></DT ><DD ><P -> Feed vertically <VAR +> Feed vertically <CODE CLASS="varname" ->ADVANCE</VAR +>ADVANCE</CODE > - “vertical units” (see <VAR + “vertical units” (see <TT CLASS="literal" >ESC - (U</VAR + (U</TT > above) from the top margin. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC ($ <VAR +>ESC ($ <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->OFFSET4</VAR -></VAR +>OFFSET4</CODE +></TT ></DT ><DD ><P -> Set horizontal position to <VAR +> Set horizontal position to <CODE CLASS="varname" ->OFFSET</VAR +>OFFSET</CODE > from the left margin. This command operates on printers of the 740 class and newer (all printers with variable @@ -748,19 +727,19 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" >ESC $ - <VAR + <CODE CLASS="varname" ->OFFSET2</VAR -></VAR +>OFFSET2</CODE +></TT ></DT ><DD ><P -> Set horizontal position to <VAR +> Set horizontal position to <CODE CLASS="varname" ->OFFSET</VAR +>OFFSET</CODE > from the left margin. This command operates on printers of the 740 class and newer (all printers with variable @@ -768,34 +747,34 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (\ <VAR +>ESC (\ <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->UNITS2</VAR +>UNITS2</CODE > - <VAR + <CODE CLASS="varname" ->OFFSET2</VAR -></VAR +>OFFSET2</CODE +></TT ></DT ><DD ><P -> Set horizontal position to <VAR +> Set horizontal position to <CODE CLASS="varname" ->OFFSET</VAR +>OFFSET</CODE > from the previous print head position, measured in - <VAR + <CODE CLASS="varname" ->UNITS</VAR ->. <VAR +>UNITS</CODE +>. <CODE CLASS="varname" ->UNITS</VAR +>UNITS</CODE > is measured in inverse inches, and should be set to 1440 in all cases. This operates on all 1440 dpi printers that @@ -803,58 +782,58 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (/ <VAR +>ESC (/ <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->OFFSET4</VAR -></VAR +>OFFSET4</CODE +></TT ></DT ><DD ><P -> Set horizontal position to <VAR +> Set horizontal position to <CODE CLASS="varname" ->OFFSET</VAR +>OFFSET</CODE > from the previous print head position, measured in - “horizontal units” (see <VAR + “horizontal units” (see <TT CLASS="literal" >ESC - (U</VAR + (U</TT > above). This operates on all variable dot size printers. </P ></DD ><DT -><VAR +><TT CLASS="literal" >ESC \ - <VAR + <CODE CLASS="varname" ->OFFSET2</VAR -></VAR +>OFFSET2</CODE +></TT ></DT ><DD ><P -> Set horizontal position to <VAR +> Set horizontal position to <CODE CLASS="varname" ->OFFSET</VAR +>OFFSET</CODE > from the previous print head position, measured in basic - unit of measurement (see <VAR + unit of measurement (see <TT CLASS="literal" ->ESC (U</VAR +>ESC (U</TT > above). This is used on all 720 dpi printers, and can also be used on 1440 dpi printers in lower resolutions to save a few bytes. Note that - <VAR + <CODE CLASS="varname" ->OFFSET</VAR +>OFFSET</CODE > may be negative. The range of values for this command is between <CODE @@ -868,35 +847,35 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" >ESC r - <VAR + <CODE CLASS="varname" ->COLOR1</VAR -></VAR ->, <VAR +>COLOR1</CODE +></TT +>, <TT CLASS="literal" ->ESC (r <VAR +>ESC (r <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 - <VAR + <CODE CLASS="varname" ->DENSITY1</VAR +>DENSITY1</CODE > - <VAR + <CODE CLASS="varname" ->COLOR1</VAR -></VAR +>COLOR1</CODE +></TT ></DT ><DD ><P > Set the ink color. The first form is used on four-color printers; the second on six-color printers. - <VAR + <CODE CLASS="varname" ->DENSITY</VAR +>DENSITY</CODE > is <CODE CLASS="constant" >0</CODE @@ -905,9 +884,9 @@ CLASS="constant" CLASS="constant" >1</CODE > for light. - <VAR + <CODE CLASS="varname" ->COLOR</VAR +>COLOR</CODE > is </P ><DIV @@ -929,9 +908,9 @@ WIDTH="1*" TITLE="color"><THEAD ><TR ><TH -><VAR +><CODE CLASS="varname" ->COLOR</VAR +>COLOR</CODE ></TH ><TH >Color name</TH @@ -983,33 +962,33 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC . <VAR +>ESC . <CODE CLASS="varname" ->COMPRESS1</VAR +>COMPRESS1</CODE > - <VAR + <CODE CLASS="varname" ->VSEP1</VAR -> <VAR +>VSEP1</CODE +> <CODE CLASS="varname" ->HSEP1</VAR +>HSEP1</CODE > - <VAR + <CODE CLASS="varname" ->LINES1</VAR -> <VAR +>LINES1</CODE +> <CODE CLASS="varname" ->WIDTH2</VAR +>WIDTH2</CODE > - data...</VAR + data...</TT ></DT ><DD ><P -> Print data. <VAR +> Print data. <CODE CLASS="varname" ->COMPRESS</VAR +>COMPRESS</CODE > signifies the compression mode. </P @@ -1032,9 +1011,9 @@ WIDTH="1*" TITLE="compression"><THEAD ><TR ><TH -><VAR +><CODE CLASS="varname" ->COMPRESS</VAR +>COMPRESS</CODE ></TH ><TH >Compression mode</TH @@ -1058,7 +1037,7 @@ CLASS="constant" ></TD ><TD > TIFF compression (incorrectly documented as - “run length encoded”) + “run length encoded”) </TD ></TR ><TR @@ -1075,9 +1054,9 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <CODE CLASS="varname" ->VSEP</VAR +>VSEP</CODE > depends upon resolution and printer type. At 360 DPI, it is always <CODE @@ -1091,13 +1070,13 @@ CLASS="constant" <CODE CLASS="constant" >40</CODE -> (8 × 5}). On some other +> (8 5}). On some other printers, it varies. </P ><P -> <VAR +> <CODE CLASS="varname" ->HSEP1</VAR +>HSEP1</CODE > is <CODE CLASS="constant" >10</CODE @@ -1111,9 +1090,9 @@ CLASS="constant" 1/720"). </P ><P -> <VAR +> <CODE CLASS="varname" ->LINES</VAR +>LINES</CODE > is the number of lines to be printed. It should be <CODE CLASS="constant" @@ -1123,18 +1102,18 @@ CLASS="constant" be the number of lines to be actually printed. </P ><P -> <VAR +> <CODE CLASS="varname" ->WIDTH</VAR +>WIDTH</CODE > is the number of pixels to be printed in each row. Following this command, a carriage return (<CODE CLASS="constant" >13</CODE > decimal, - <VAR + <TT CLASS="literal" ->0A</VAR +>0A</TT > hex) should be output to return the print head position to the left margin. </P @@ -1184,35 +1163,35 @@ CLASS="constant" ></OL ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC i <VAR +>ESC i <CODE CLASS="varname" ->COLOR1</VAR +>COLOR1</CODE > - <VAR + <CODE CLASS="varname" ->COMPRESS1</VAR -> <VAR +>COMPRESS1</CODE +> <CODE CLASS="varname" ->BITS1</VAR +>BITS1</CODE > - <VAR + <CODE CLASS="varname" ->BYTES2</VAR -> <VAR +>BYTES2</CODE +> <CODE CLASS="varname" ->LINES2</VAR +>LINES2</CODE > - data...</VAR + data...</TT ></DT ><DD ><P > Print data in the newer printers (that support variable dot size), and Stylus Pro models. - <VAR + <CODE CLASS="varname" ->COLOR</VAR +>COLOR</CODE > is the color. </P ><DIV @@ -1234,9 +1213,9 @@ WIDTH="1*" TITLE="color"><THEAD ><TR ><TH -><VAR +><CODE CLASS="varname" ->COLOR</VAR +>COLOR</CODE ></TH ><TH >Color name</TH @@ -1304,7 +1283,7 @@ CLASS="constant" >16</CODE ></TD ><TD ->Gray (“light black”)</TD +>Gray (“light black”)</TD ></TR ><TR ><TD @@ -1328,9 +1307,9 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <CODE CLASS="varname" ->COMPRESS</VAR +>COMPRESS</CODE > signifies the compression mode: </P @@ -1353,9 +1332,9 @@ WIDTH="1*" TITLE="compression"><THEAD ><TR ><TH -><VAR +><CODE CLASS="varname" ->COMPRESS</VAR +>COMPRESS</CODE ></TH ><TH >Compression mode</TH @@ -1379,7 +1358,7 @@ CLASS="constant" ></TD ><TD > TIFF compression (incorrectly documented as - “run length encoded”) + “run length encoded”) </TD ></TR ><TR @@ -1390,7 +1369,7 @@ CLASS="constant" ></TD ><TD > TIFF compression with a special command set, or - “run length encoding 2” on some + “run length encoding 2” on some printers. </TD ></TR @@ -1398,27 +1377,27 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <CODE CLASS="varname" ->BITS</VAR +>BITS</CODE > is the number of bits per pixel. </P ><P -> <VAR +> <CODE CLASS="varname" ->BYTES</VAR +>BYTES</CODE > is the number of bytes wide for - each row (ceiling(BITS × width_of_row, 8)}). Note - that this is different from the <VAR + each row (ceiling(BITS width_of_row, 8)}). Note + that this is different from the <TT CLASS="literal" ->ESC .</VAR +>ESC .</TT > command above. </P ><P -> <VAR +> <CODE CLASS="varname" ->LINES</VAR +>LINES</CODE > is the number of lines to be printed. This command is the only way to get variable dot size printing. In variable dot mode, the size of @@ -1437,23 +1416,23 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (D <VAR +>ESC (D <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 - <VAR + <CODE CLASS="varname" ->BASE2</VAR -> <VAR +>BASE2</CODE +> <CODE CLASS="varname" ->VERTICAL1</VAR +>VERTICAL1</CODE > - <VAR + <CODE CLASS="varname" ->HORIZONTAL1</VAR -></VAR +>HORIZONTAL1</CODE +></TT ></DT ><DD ><P @@ -1462,9 +1441,9 @@ CLASS="varname" (and possibly other high end printers). </P ><P -> <VAR +> <CODE CLASS="varname" ->BASE</VAR +>BASE</CODE > is the base unit for this command; it must be <CODE CLASS="constant" @@ -1472,42 +1451,42 @@ CLASS="constant" >. </P ><P -> <VAR +> <CODE CLASS="varname" ->VERTICAL</VAR +>VERTICAL</CODE > is the distance in these units between printed rows; it should be - ((separation_in_nozzles × <VAR + ((separation_in_nozzles <CODE CLASS="varname" ->BASE</VAR +>BASE</CODE > - ÷ 720). + 720). </P ><P -> <VAR +> <CODE CLASS="varname" ->HORIZONTAL</VAR +>HORIZONTAL</CODE > is the horizontal separation between dots in a row. Depending upon the - printer, this should be either (14400 ÷ 720) or - (14400 ÷ 360). The Stylus Pro 9000 manual + printer, this should be either (14400 720) or + (14400 360). The Stylus Pro 9000 manual suggests that the settings should match the chosen resolution, but that is apparently not the case (or not always the case) on other printers. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC (R <VAR +>ESC (R <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=8 00 R E M O T E - 1</VAR + 1</TT ></DT ><DD ><P -> Enters “remote mode”. This is a special, +> Enters “remote mode”. This is a special, undocumented command set that is used to set up various printer options, such as paper feed tray, and perform utility functions such as head cleaning and alignment. @@ -1518,9 +1497,9 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->ESC 01 @EJL [sp] ID\r\n</VAR +>ESC 01 @EJL [sp] ID\r\n</TT ></DT ><DD ><P @@ -1535,12 +1514,6 @@ CLASS="informalexample" ><A NAME="AEN937" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >@EJL ID\r @@ -1550,9 +1523,6 @@ MDL:[printer model]; CLS:PRINTER; DES:EPSON [printer model]; \f</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1578,19 +1548,10 @@ CLASS="informalexample" ><A NAME="AEN941" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >ESC 01@EJL[space]1284.4[newline]@EJL[space][space][space][space] [space][newline]ESC@</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1604,12 +1565,6 @@ CLASS="informalexample" ><A NAME="AEN944" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >magic command @@ -1627,9 +1582,6 @@ ESC (c ESC (S ESC (D (if needed) ESC (V (optional -- this can be accomplished with ESC (v)</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1643,18 +1595,9 @@ CLASS="informalexample" ><A NAME="AEN947" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >ESC (v</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1668,21 +1611,12 @@ CLASS="informalexample" ><A NAME="AEN950" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >ESC ($ or ESC (\ or ESC \ ESC (r or ESC r (if needed---not used with "ESC i" and not needed if the color has not changed from the previous printed line) ESC . or ESC i ...data... [return] (0A hex)</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1696,19 +1630,10 @@ CLASS="informalexample" ><A NAME="AEN953" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >[formfeed] (0C hex) ESC @</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1739,7 +1664,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/c48.html b/doc/developer/reference-html/c48.html index a09caa6..3e4767b 100644 --- a/doc/developer/reference-html/c48.html +++ b/doc/developer/reference-html/c48.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Using libgutenprint</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="Copying, modification and redistribution" HREF="c39.html"><LINK REL="NEXT" TITLE="Linking with libgutenprint" -HREF="x67.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x67.html"></HEAD ><BODY CLASS="chapter" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -69,30 +72,6 @@ CLASS="chapter" NAME="AEN48" ></A >Chapter 2. Using libgutenprint</H1 -><DIV -CLASS="TOC" -><DL -><DT -><B ->Table of Contents</B -></DT -><DT -><A -HREF="c48.html#AEN51" ->Code prerequisites</A -></DT -><DT -><A -HREF="x67.html" ->Linking with libgutenprint</A -></DT -><DT -><A -HREF="x79.html" ->Integrating libgutenprint</A -></DT -></DL -></DIV ><P > This chapter describes how to write programs that use libgutenprint. @@ -103,7 +82,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN51" ->Code prerequisites</A +>2.1. Code prerequisites</A ></H1 ><P > To use libgutenprint with a program, several steps must be taken: @@ -121,18 +100,9 @@ CLASS="informalexample" ><A NAME="AEN57" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" ><gimp-print/gimp-print.h></PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -165,12 +135,6 @@ CLASS="informalexample" ><A NAME="AEN65" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >#include <gimp-print/gimp-print.h> @@ -181,9 +145,6 @@ main (int argc, char *argv[]) return 0; } </PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -214,7 +175,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/docbook.css b/doc/developer/reference-html/docbook.css deleted file mode 100644 index 0f90516..0000000 --- a/doc/developer/reference-html/docbook.css +++ /dev/null @@ -1,12 +0,0 @@ -.NAVHEADER { display: none } -.NAVFOOTER { display: none } -.TOC { display: none } - -.NAVTOC { margin-left: 15; - display: none } - -.NAVBTN { font-size: 10pt } - -.TOCTITLE { font-size: 10pt; - color: blue; - text-decoration: underline; } diff --git a/doc/developer/reference-html/f14.html b/doc/developer/reference-html/f14.html index d234b7a..203891e 100644 --- a/doc/developer/reference-html/f14.html +++ b/doc/developer/reference-html/f14.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Preface</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="PREVIOUS" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="NEXT" TITLE="Copying, modification and redistribution" -HREF="c39.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c39.html"></HEAD ><BODY CLASS="preface" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -39,7 +42,7 @@ WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="P" >Prev</A ></TD @@ -77,7 +80,7 @@ NAME="AEN14" on a par with proprietary vendor-supplied drivers in many cases, and can be used for many of the most demanding printing tasks, especially for high quality printing on modern inkjets, including - “photographic quality” models which offer very high + “photographic quality” models which offer very high resolutions and several inks. The core of Gutenprint is a shared library (libgutenprint) which may be used by any program that wishes to produce high-quality printed output. @@ -158,7 +161,7 @@ CLASS="command" > <P CLASS="literallayout" >We hope you enjoy using Gutenprint!<br> -—The Gutenprint project<br> +—The Gutenprint project<br> </P > </P @@ -179,7 +182,7 @@ WIDTH="33%" ALIGN="left" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="P" >Prev</A ></TD @@ -188,7 +191,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/book1.html b/doc/developer/reference-html/index.html index 34715a9..0c894e7 100644 --- a/doc/developer/reference-html/book1.html +++ b/doc/developer/reference-html/index.html @@ -1,18 +1,21 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >The Developer's Guide to Gutenprint</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="NEXT" TITLE="Preface" -HREF="f14.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="f14.html"></HEAD ><BODY CLASS="book" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="BOOK" ><A @@ -32,10 +35,35 @@ CLASS="corpauthor" </H3 ><P CLASS="copyright" +>Copyright © 2003 The Gutenprint Project</P +><DIV +CLASS="legalnotice" +><P +></P ><A -HREF="ln10.html" ->Copyright</A -> © 2003 The Gutenprint Project</P +NAME="AEN10" +></A +><P +> 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. + </P +><P +> 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. + </P +><P +> You should have received a copy of the GNU General Public + License along with this program; if not, write to the Free + Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + </P +><P +></P +></DIV ><HR></DIV ><DIV CLASS="TOC" @@ -62,24 +90,24 @@ HREF="c48.html" ><DD ><DL ><DT -><A +>2.1. <A HREF="c48.html#AEN51" >Code prerequisites</A ></DT ><DT -><A +>2.2. <A HREF="x67.html" >Linking with libgutenprint</A ></DT ><DT -><A +>2.3. <A HREF="x79.html" >Integrating libgutenprint</A ></DT ><DD ><DL ><DT -><A +>2.3.1. <A HREF="x79.html#AEN86" ><B CLASS="command" @@ -87,7 +115,7 @@ CLASS="command" ></A ></DT ><DT -><A +>2.3.2. <A HREF="x79.html#AEN123" ><B CLASS="command" @@ -95,7 +123,7 @@ CLASS="command" ></A ></DT ><DT -><A +>2.3.3. <A HREF="x79.html#AEN133" ><B CLASS="command" @@ -103,7 +131,7 @@ CLASS="command" ></A ></DT ><DT -><A +>2.3.4. <A HREF="x79.html#AEN150" ><B CLASS="command" @@ -127,7 +155,7 @@ HREF="c200.html" ><DD ><DL ><DT -><A +>4.1. <A HREF="c200.html#AEN217" ><TT CLASS="filename" @@ -135,24 +163,24 @@ CLASS="filename" ></A ></DT ><DT -><A +>4.2. <A HREF="x271.html" >The driver file</A ></DT ><DD ><DL ><DT -><A +>4.2.1. <A HREF="x271.html#AEN281" >Epson inkjet printers</A ></DT ><DT -><A +>4.2.2. <A HREF="x271.html#AEN403" >Tuning the printer</A ></DT ><DT -><A +>4.2.3. <A HREF="x271.html#AEN433" >Canon inkjet printers</A ></DT @@ -168,17 +196,17 @@ HREF="c464.html" ><DD ><DL ><DT -><A +>5.1. <A HREF="c464.html#AEN477" >Standard commands</A ></DT ><DT -><A +>5.2. <A HREF="x955.html" >Remote Mode Commands</A ></DT ><DT -><A +>5.3. <A HREF="x1669.html" >Appropriate Remote Commands</A ></DT @@ -192,39 +220,39 @@ HREF="c1717.html" ><DD ><DL ><DT -><A +>6.1. <A HREF="c1717.html#AEN1719" >Introduction</A ></DT ><DT -><A +>6.2. <A HREF="x1734.html" >Weaving algorithms</A ></DT ><DD ><DL ><DT -><A +>6.2.1. <A HREF="x1734.html#AEN1740" >Simple weaving algorithms</A ></DT ><DT -><A +>6.2.2. <A HREF="x1734.html#AEN1757" >Perfect weaving</A ></DT ><DT -><A +>6.2.3. <A HREF="x1734.html#AEN1791" >Weaving collisions</A ></DT ><DT -><A +>6.2.4. <A HREF="x1734.html#AEN1809" ->What makes a “perfect” weave?</A +>What makes a “perfect” weave?</A ></DT ><DT -><A +>6.2.5. <A HREF="x1734.html#AEN1937" >Oversampling</A ></DT @@ -239,86 +267,86 @@ HREF="c1968.html" ></DT ><DT >A. <A -HREF="gpl.html" +HREF="a2122.html" >GNU General Public License</A ></DT ><DD ><DL ><DT -><A -HREF="gpl.html#gpl-preamble" +>A.1. <A +HREF="a2122.html#gpl-preamble" >Preamble</A ></DT ><DT -><A -HREF="gpl-terms.html" +>A.2. <A +HREF="x2153.html" >TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</A ></DT ><DD ><DL ><DT -><A -HREF="gpl-terms.html#gpl-sect0" +>A.2.1. <A +HREF="x2153.html#gpl-sect0" >Section 0</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect1" +>A.2.2. <A +HREF="x2153.html#gpl-sect1" >Section 1</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect2" +>A.2.3. <A +HREF="x2153.html#gpl-sect2" >Section 2</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect3" +>A.2.4. <A +HREF="x2153.html#gpl-sect3" >Section 3</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect4" +>A.2.5. <A +HREF="x2153.html#gpl-sect4" >Section 4</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect5" +>A.2.6. <A +HREF="x2153.html#gpl-sect5" >Section 5</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect6" +>A.2.7. <A +HREF="x2153.html#gpl-sect6" >Section 6</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect7" +>A.2.8. <A +HREF="x2153.html#gpl-sect7" >Section 7</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect8" +>A.2.9. <A +HREF="x2153.html#gpl-sect8" >Section 8</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect9" +>A.2.10. <A +HREF="x2153.html#gpl-sect9" >Section 9</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect10" +>A.2.11. <A +HREF="x2153.html#gpl-sect10" >Section 10</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect11" +>A.2.12. <A +HREF="x2153.html#gpl-sect11" >NO WARRANTY</A ></DT ><DT -><A -HREF="gpl-terms.html#gpl-sect12" +>A.2.13. <A +HREF="x2153.html#gpl-sect12" >Section 12</A ></DT ></DL diff --git a/doc/developer/reference-html/ln10.html b/doc/developer/reference-html/ln10.html deleted file mode 100644 index 24f7a7f..0000000 --- a/doc/developer/reference-html/ln10.html +++ /dev/null @@ -1,97 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML -><HEAD -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK -REL="HOME" -TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK -REL="NEXT" -TITLE="Preface" -HREF="f14.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD -><BODY -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->The Developer's Guide to Gutenprint</TH -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="legalnotice" -><P -></P -><A -NAME="AEN10" -></A -><P -> 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. - </P -><P -> 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. - </P -><P -> You should have received a copy of the GNU General Public - License along with this program; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - </P -><P -></P -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -> </TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="book1.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -> </TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file diff --git a/doc/developer/reference-html/stylesheet-images/caution.gif b/doc/developer/reference-html/stylesheet-images/caution.gif Binary files differdeleted file mode 100644 index 9cc2e15..0000000 --- a/doc/developer/reference-html/stylesheet-images/caution.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/home.gif b/doc/developer/reference-html/stylesheet-images/home.gif Binary files differdeleted file mode 100644 index 55e1d59..0000000 --- a/doc/developer/reference-html/stylesheet-images/home.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/important.gif b/doc/developer/reference-html/stylesheet-images/important.gif Binary files differdeleted file mode 100644 index 25e40c7..0000000 --- a/doc/developer/reference-html/stylesheet-images/important.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/next.gif b/doc/developer/reference-html/stylesheet-images/next.gif Binary files differdeleted file mode 100644 index 8c502e7..0000000 --- a/doc/developer/reference-html/stylesheet-images/next.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/note.gif b/doc/developer/reference-html/stylesheet-images/note.gif Binary files differdeleted file mode 100644 index 7322e8e..0000000 --- a/doc/developer/reference-html/stylesheet-images/note.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/prev.gif b/doc/developer/reference-html/stylesheet-images/prev.gif Binary files differdeleted file mode 100644 index 0894d9e..0000000 --- a/doc/developer/reference-html/stylesheet-images/prev.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/tip.gif b/doc/developer/reference-html/stylesheet-images/tip.gif Binary files differdeleted file mode 100644 index f062955..0000000 --- a/doc/developer/reference-html/stylesheet-images/tip.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/toc-blank.gif b/doc/developer/reference-html/stylesheet-images/toc-blank.gif Binary files differdeleted file mode 100644 index 6c65e3a..0000000 --- a/doc/developer/reference-html/stylesheet-images/toc-blank.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/toc-minus.gif b/doc/developer/reference-html/stylesheet-images/toc-minus.gif Binary files differdeleted file mode 100644 index 40ebe61..0000000 --- a/doc/developer/reference-html/stylesheet-images/toc-minus.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/toc-plus.gif b/doc/developer/reference-html/stylesheet-images/toc-plus.gif Binary files differdeleted file mode 100644 index 3e9e7d5..0000000 --- a/doc/developer/reference-html/stylesheet-images/toc-plus.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/up.gif b/doc/developer/reference-html/stylesheet-images/up.gif Binary files differdeleted file mode 100644 index e899a27..0000000 --- a/doc/developer/reference-html/stylesheet-images/up.gif +++ /dev/null diff --git a/doc/developer/reference-html/stylesheet-images/warning.gif b/doc/developer/reference-html/stylesheet-images/warning.gif Binary files differdeleted file mode 100644 index a587079..0000000 --- a/doc/developer/reference-html/stylesheet-images/warning.gif +++ /dev/null diff --git a/doc/developer/reference-html/x1669.html b/doc/developer/reference-html/x1669.html index 4fad283..1080dee 100644 --- a/doc/developer/reference-html/x1669.html +++ b/doc/developer/reference-html/x1669.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Appropriate Remote Commands</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="ESC/P2" HREF="c464.html"><LINK @@ -17,11 +17,14 @@ TITLE="Remote Mode Commands" HREF="x955.html"><LINK REL="NEXT" TITLE="Weaving for inkjet printers" -HREF="c1717.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c1717.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -71,32 +74,32 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN1669" ->Appropriate Remote Commands</A +>5.3. Appropriate Remote Commands</A ></H1 ><P > All of the remote commands described above are wrapped up with the usual boilerplate. The files always start with - <VAR + <TT CLASS="literal" ->00 00 00</VAR -> and the “magic” - command described above, then two <VAR +>00 00 00</TT +> and the “magic” + command described above, then two <TT CLASS="literal" ->ESC @</VAR +>ESC @</TT >s to reset the printer. The remote command sequences come next; if they print anything that is usually followed by a - <VAR + <TT CLASS="literal" ->FF</VAR -> (<VAR +>FF</TT +> (<TT CLASS="literal" ->0C</VAR +>0C</TT > hex) character to feed the page, then the file ends with another two - <VAR + <TT CLASS="literal" ->ESC @</VAR +>ESC @</TT >s to get back to the ground state. </P ><P @@ -108,9 +111,9 @@ CLASS="literal" TYPE="1" ><LI ><P -> Host uses <VAR +> Host uses <TT CLASS="literal" ->DT</VAR +>DT</TT > to print an alignment sheet. </P @@ -123,24 +126,24 @@ CLASS="literal" ></LI ><LI ><P -> Host sends a <VAR +> Host sends a <TT CLASS="literal" ->DA</VAR +>DA</TT > command indicating which pattern the user chose. </P ></LI ><LI ><P -> If the user said “realign”, meaning he isn't +> If the user said “realign”, meaning he isn't done yet, go to step 1. </P ></LI ><LI ><P -> We are done: host sends a <VAR +> We are done: host sends a <TT CLASS="literal" ->SV</VAR +>SV</TT > command and exits. </P @@ -157,12 +160,6 @@ CLASS="informalexample" ><A NAME="AEN1693" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >PM 00 00 @@ -170,9 +167,6 @@ SN 00 00 00 EX 00 00 00 00 05 01 ST 00 01 SM 00 02</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -186,12 +180,6 @@ CLASS="informalexample" ><A NAME="AEN1696" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >PM 00 00 @@ -201,9 +189,6 @@ SN 00 01 00 SN 00 02 01 EX 00 00 00 00 05 00 FP 00 00 00</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -217,64 +202,55 @@ CLASS="informalexample" ><A NAME="AEN1699" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >IR 00 02 LD</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P > For different paper type settings on the STP 870, the - arguments to <VAR + arguments to <TT CLASS="literal" ->SN</VAR +>SN</TT > vary. The arguments to the - first and third <VAR + first and third <TT CLASS="literal" ->SN</VAR +>SN</TT > commands are as outlined - in the description of the <VAR + in the description of the <TT CLASS="literal" ->SN</VAR +>SN</TT > command above; - the arguments to the second (“platen gap”) are - <VAR + the arguments to the second (“platen gap”) are + <TT CLASS="literal" ->00 01 01</VAR -> for thick papers (“matte - paper—heavyweight”, “photo paper” and - “premium glossy photo paper”) and <VAR +>00 01 01</TT +> for thick papers (“matte + paper—heavyweight”, “photo paper” and + “premium glossy photo paper”) and <TT CLASS="literal" >00 01 - 00</VAR + 00</TT > for all others. </P ><P > For roll-mode printing, the STP 870's sequence changes as - follows. <VAR + follows. <TT CLASS="literal" ->IR</VAR ->'s arguments become <VAR +>IR</TT +>'s arguments become <TT CLASS="literal" >00 - 01</VAR -> in the header, and <VAR + 01</TT +> in the header, and <TT CLASS="literal" ->00 00</VAR +>00 00</TT > after - the job, and <VAR + the job, and <TT CLASS="literal" ->EX</VAR +>EX</TT >'s last argument changes from <CODE CLASS="constant" @@ -286,12 +262,12 @@ CLASS="constant" </P ><P > For zero-margin printing on the STP 870, the arguments to - <VAR + <TT CLASS="literal" ->FP</VAR -> become <VAR +>FP</TT +> become <TT CLASS="literal" ->00 0xb0 0xff</VAR +>00 0xb0 0xff</TT >. This moves the origin about 5.5mm to the left, to a point one tenth of an inch to the left of the left-hand edge of the @@ -330,7 +306,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/x1734.html b/doc/developer/reference-html/x1734.html index dfe36a3..8c52bfd 100644 --- a/doc/developer/reference-html/x1734.html +++ b/doc/developer/reference-html/x1734.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Weaving algorithms</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="Weaving for inkjet printers" HREF="c1717.html"><LINK @@ -17,11 +17,14 @@ TITLE="Weaving for inkjet printers" HREF="c1717.html"><LINK REL="NEXT" TITLE="Dithering" -HREF="c1968.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c1968.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -71,11 +74,11 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN1734" ->Weaving algorithms</A +>6.2. Weaving algorithms</A ></H1 ><P > I considered a few algorithms to perform the weave. The first - one I devised let me use only (jets − + one I devised let me use only (jets − distance_between_jets + 1) nozzles, or 25. This is OK in principle, but it's slower than using all nozzles. By playing around with it some more, I came up with an algorithm that lets @@ -85,13 +88,13 @@ NAME="AEN1734" ><P > This still produces some banding, though. Even better quality can be achieved by using multiple nozzles on the same line. How - do we do this? In 1440×720 mode, we're printing two + do we do this? In 1440720 mode, we're printing two output lines at the same vertical position. However, if we want four passes, we have to effectively print each line twice. Actually doing this would increase the density, so what we do is print half the dots on each pass. This produces near-perfect output, and it's far faster than using (pseudo) - “MicroWeave”. + “MicroWeave”. </P ><P > Yet another complication is how to get near the top and bottom @@ -125,7 +128,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN1740" ->Simple weaving algorithms</A +>6.2.1. Simple weaving algorithms</A ></H2 ><P > The initial problem is to calculate the starting position of @@ -138,12 +141,12 @@ NAME="AEN1740" </P ><P > Once we have a formula for the starting row of each pass, we - then turn that “inside out” to get a formula for + then turn that “inside out” to get a formula for the pass number containing each row. </P ><P > First, let's define how our printer works. We measure - vertical position on the paper in “rows”; the + vertical position on the paper in “rows”; the resolution with which the printer can position the paper vertically. The print head contains J ink jets, which are spaced S rows apart. @@ -157,7 +160,7 @@ NAME="AEN1740" > It's pretty obvious how to do this. We make one pass with the print head, printing J lines of data, each line S rows after the previous one. We then advance the paper by S - × J rows and print the next row. For example, if J = + J rows and print the next row. For example, if J = 7 and S = 4, this method can be illustrated like this: </P ><DIV @@ -167,12 +170,6 @@ CLASS="informalexample" ><A NAME="AEN1747" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >pass number @@ -186,9 +183,6 @@ CLASS="screen" 4 rows offset from one jet to the next \---------------------------/ 7*4=28 rows offset from one pass to the next</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -210,7 +204,7 @@ CLASS="computeroutput" CLASS="computeroutput" >0</SAMP > and starts at row 0. Each - subsequent pass p starts at row p × S × J. Each + subsequent pass p starts at row p S J. Each pass prints J lines, each line being S rows after the previous one. (For ease of viewing this file on a standard terminal, I'm clipping the examples at column 80.) @@ -221,7 +215,7 @@ CLASS="computeroutput" rows with printing to get a full-density page (we're ignoring oversampling at this stage). Where we have previously printed a single pass, we'll now print a - “pass block”: we print extra passes to fill in + “pass block”: we print extra passes to fill in the empty rows. A naive implementation might look like this: </P @@ -232,12 +226,6 @@ CLASS="informalexample" ><A NAME="AEN1754" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *---*---*---*---*---*---* @@ -252,15 +240,12 @@ CLASS="screen" 9 *---*---*---*---*---* 10 *---*---*---*---*--- 11 *---*---*---*---*--</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P > (Now you can see why this process is called - “weaving”!) + “weaving”!) </P ></DIV ><DIV @@ -269,7 +254,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN1757" ->Perfect weaving</A +>6.2.2. Perfect weaving</A ></H2 ><P > This simple weave pattern prints every row, but will give @@ -286,15 +271,15 @@ NAME="AEN1757" each pass as possible. </P ><P -> Each pass block prints S × J lines in S passes. The - first line printed in each pass block is S × J rows +> Each pass block prints S J lines in S passes. The + first line printed in each pass block is S J rows lower on the page than the first line printed in the previous pass block. Therefore, if we advance the paper by J rows between each pass, we can print the right number of passes in each block and advance the paper perfectly evenly. </P ><P -> Here's what this “perfect” weave looks like: +> Here's what this “perfect” weave looks like: </P ><DIV CLASS="informalexample" @@ -303,12 +288,6 @@ CLASS="informalexample" ><A NAME="AEN1763" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start of full weave @@ -325,16 +304,13 @@ CLASS="screen" 9 *---*---*---*-- 10 *---*--- 11 *</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P > You'll notice that, for the first few rows, this weave is - too sparse. It is not until the row marked “start of - full weave” that every subsequent row is printed. We + too sparse. It is not until the row marked “start of + full weave” that every subsequent row is printed. We can calculate this start position as follows: </P ><DIV @@ -344,18 +320,9 @@ CLASS="informalexample" ><A NAME="AEN1766" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ->start = (S − 1) × (J − 1)</PRE -></TD -></TR -></TABLE +>start = (S − 1) (J − 1)</PRE ><P ></P ></DIV @@ -374,14 +341,8 @@ CLASS="informalexample" NAME="AEN1770" ></A ><P -> S = 2, J = 7, start = (2−1) × (7−1) = 6: +> S = 2, J = 7, start = (2−1) (7−1) = 6: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > starting row of full weave @@ -394,9 +355,6 @@ CLASS="screen" 5 *-*-*-*-*-*-* 6 *-*-*-*-*-*-* 7 *-*-*-*-*-*-*</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -410,12 +368,6 @@ NAME="AEN1773" ><P > S = 7, J = 2, start = 6: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start @@ -430,9 +382,6 @@ CLASS="screen" 7 *------* 8 *------* 9 *------*</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -446,12 +395,6 @@ NAME="AEN1776" ><P > S = 4, J = 13, start = 36: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start @@ -462,9 +405,6 @@ CLASS="screen" 3 *---*---*---*---*---*---*---*---*---*-- 4 *---*---*---*---*---*---*- 5 *---*---*---*</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -478,12 +418,6 @@ NAME="AEN1779" ><P > S = 13, J = 4, start = 36: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start @@ -508,9 +442,6 @@ CLASS="screen" 17 *--------- 18 *----- 19 *-</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -524,12 +455,6 @@ NAME="AEN1782" ><P > S = 8, J = 5, start = 28: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start @@ -550,9 +475,6 @@ CLASS="screen" 13 *-------*---- 14 *------- 15 *--</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -566,12 +488,6 @@ NAME="AEN1785" ><P > S = 9, J = 5, start = 32: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start @@ -592,9 +508,6 @@ CLASS="screen" 13 *--------*--- 14 *------- 15 *--</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -608,12 +521,6 @@ NAME="AEN1788" ><P > S = 6, J = 7, start = 30: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > start @@ -630,9 +537,6 @@ CLASS="screen" 9 *-----*-----*-- 10 *-----*- 11 *</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -643,7 +547,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN1791" ->Weaving collisions</A +>6.2.3. Weaving collisions</A ></H2 ><P > A perfect weave is not possible in all cases. Let's look at @@ -659,12 +563,6 @@ NAME="AEN1794" ><P > S = 6, J = 4: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----*-----*-----* @@ -675,9 +573,6 @@ CLASS="screen" 5 | ^ | *-^---*-----*-----* OUCH! ^ | ^ | |</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -694,18 +589,9 @@ CLASS="informalexample" ><A NAME="AEN1798" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ->row(p, j) = (p × J) + (j × S)</PRE -></TD -></TR -></TABLE +>row(p, j) = (p J) + (j S)</PRE ><P ></P ></DIV @@ -720,19 +606,10 @@ CLASS="informalexample" ><A NAME="AEN1801" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ->row(0, 2) = (0 × 4) + (2 × 6) = 12 -row(3, 0) = (3 × 4) + (0 × 6) = 12</PRE -></TD -></TR -></TABLE +>row(0, 2) = (0 4) + (2 6) = 12 +row(3, 0) = (3 4) + (0 6) = 12</PRE ><P ></P ></DIV @@ -759,12 +636,6 @@ NAME="AEN1806" ><P > S = 6, J = 4: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----*-----*-----* @@ -773,9 +644,6 @@ CLASS="screen" 3 ^-----^-----*-----* 4 ^-----^-----*-----* 5 ^-----^-----*-----*</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -786,7 +654,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN1809" ->What makes a “perfect” weave?</A +>6.2.4. What makes a “perfect” weave?</A ></H2 ><P > So what causes the perfect weave cases to be perfect, and @@ -862,9 +730,9 @@ TYPE="1" ></LI ></OL ><P -> These repeated subtractions can be done with C's <VAR +> These repeated subtractions can be done with C's <TT CLASS="literal" ->%</VAR +>%</TT > operator, so we can write this in C as follows: </P @@ -875,12 +743,6 @@ CLASS="informalexample" ><A NAME="AEN1836" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >unsigned int @@ -895,21 +757,18 @@ gcd(unsigned int x, unsigned int y) } return y; }</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> <VAR +> <TT CLASS="literal" ->gcd(S,J)</VAR +>gcd(S,J)</TT > will feature quite prominently in our weaving algorithm. </P ><P -> If 0 ≤ j < J, there should only be a single pair (p, j) +> If 0 ≤ j < J, there should only be a single pair (p, j) for any given row number. If S and J are not relatively prime, this assumption breaks down. (For conciseness, let G = GCD(S,J).) @@ -924,12 +783,6 @@ NAME="AEN1841" ><P > S = 8, J = 6, G = 2: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-------*-------*-------*-------*-------* @@ -938,9 +791,6 @@ CLASS="screen" 3 *-------*-------*-------*-------*-------* 4 ^-------^-------^-------*-------*-------* 5 ^-------^-------^-------*-------*-------*</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -962,12 +812,6 @@ CLASS="informalexample" ><A NAME="AEN1846" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-------*-------* - - - @@ -976,9 +820,6 @@ CLASS="screen" 3 *-------*-------* - - - 4 *-------*-------* - - - 5 *-------*-------* - - -</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -993,12 +834,6 @@ CLASS="informalexample" ><A NAME="AEN1849" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-------*-------* - - - @@ -1009,9 +844,6 @@ CLASS="screen" 5 *-------*-------* - - - ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ These rows need filling in.</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1025,19 +857,19 @@ CLASS="computeroutput" </P ><P > Let's analyse this. Consider how a pass p could collide - with pass 0. Pass p starts at offset p × J. Pass 0 - prints at rows which are multiples of S. If p × J is + with pass 0. Pass p starts at offset p J. Pass 0 + prints at rows which are multiples of S. If p J is exactly divisible by S, a collision has occurred, unless (p - ×J) ≥ J × S (which will happen when we + J) ≥ J S (which will happen when we finish a pass block). </P ><P -> So, we want to find p and q such that p × J = q - × S and p is minimised. Then p is the number of rows +> So, we want to find p and q such that p J = q + S and p is minimised. Then p is the number of rows before a collision, and q is the number of jets in pass 0 which are not involved in the collision. To do this, we find the lowest common multiple of J and S, which is L = (J - × S) / G. L / J is the number of rows before a + S) / G. L / J is the number of rows before a collision, and L / S is the number of jets in the first pass not involved in the collision. </P @@ -1045,7 +877,7 @@ CLASS="computeroutput" > Thus, we see that the first J / G rows printed by a given pass are not overprinted by any later pass. However, the rest of the rows printed by pass p are overprinted by the - first J − (J / G) jets of pass p + (S / G). We will + first J − (J / G) jets of pass p + (S / G). We will use C to refer to S / G, the number of rows after which a collision occurs. </P @@ -1062,12 +894,6 @@ NAME="AEN1857" ><P > S = 6, J = 9, G = 3, C = S / G = 2: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----*-----*-----*-----*-----*-----*-----*-----* @@ -1078,14 +904,11 @@ CLASS="screen" 5 ^-----^-----^-----^-----^-----^-- ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ These rows need filling in.</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> In this case, the first J − (J / G) = 9 − (9 / +> In this case, the first J − (J / G) = 9 − (9 / 3) = 6 jets of pass p + (6 / 3) = p + 2 collide with the last 6 jets of pass p. Only one row in every G = 2 rows is printed by this weave. @@ -1100,12 +923,6 @@ NAME="AEN1861" ><P > S = 9, J = 6, G = 3, C = 3: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > 0 *--------*--------*--------*--------*--------* @@ -1114,9 +931,6 @@ CLASS="screen" 3 ^--------^--------^--------^--------*--------* 4 ^--------^--------^--------^--------*--------* 5 ^--------^--------^--------^--------*--------*</PRE -></TD -></TR -></TABLE ><P > Here, the first J - (J / G) = 6 - (6 / 3) = 4 jets of pass p + (9 / 3) = p + 3 collide with the last 4 jets of pass @@ -1153,12 +967,6 @@ NAME="AEN1868" ><P > S = 7, J = 2, G = 1: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > imaginary extra jet @@ -1174,28 +982,25 @@ CLASS="screen" 7 *------* <--start of pass block 1 8 *------* 9 *------*</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P > We can now calculate the start of a given pass by reference to its pass block. The first pass of pass block - b always starts at row (b × S × J). The start + b always starts at row (b S J). The start row of each of the other passes in the block are calculated using offsets from this row. </P ><P > For the example above, there are 7 passes in each pass block, and their offsets are 0, 2, 4, 6, 8, 10 and 12. - The next pass block is offset S × J = 14 rows from + The next pass block is offset S J = 14 rows from the start of the current pass block. </P ><P -> The simplest way to modify the “perfect” weave - pattern to give a correct weave in cases where G ≠ 1 +> The simplest way to modify the “perfect” weave + pattern to give a correct weave in cases where G ≠ 1 is to simply change any offsets which would result in a collision, until the collision disappears. Every printed row in the weave, as we have shown it up to now, is @@ -1224,7 +1029,7 @@ CLASS="screen" The passes in the second subblock each have 1 added to their offset, the passes in the third subblock have 2 added, and so on. Thus, the offset of pass p (numbered - relative to the start of its pass block) is p × J + + relative to the start of its pass block) is p J + floor(p / B). </P ><P @@ -1240,12 +1045,6 @@ NAME="AEN1878" ><P > S = 6, J = 9, G = 3, B = 2: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----*-----*-----*-----*-----*-----*-----*-----* @@ -1261,9 +1060,6 @@ CLASS="screen" | | start of subblock 2 (offset 2 rows) | start of subblock 1 (following passes offset by 1 row) start of passblock 0, subblock 0 (pass start calculated as p*J)</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1277,12 +1073,6 @@ NAME="AEN1881" ><P > S = 9, J = 6, G = 3, B = 3: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *--------*--------*--------*--------*--------* @@ -1298,9 +1088,6 @@ CLASS="screen" 10 \---/ *--------*-------- 11 small offset *--------*-- 12 *----</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1320,12 +1107,6 @@ NAME="AEN1885" ><P > S = 8, J = 4, G = 4, B = 2: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-------*-------*-------* @@ -1339,9 +1120,6 @@ CLASS="screen" 8 *-------*-------*-------* 9 \/ *-------*-------*-------* very small offset!</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1356,12 +1134,6 @@ CLASS="informalexample" ><A NAME="AEN1889" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >subblock number @@ -1376,9 +1148,6 @@ CLASS="screen" 1 * 2 * 3 *</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1399,19 +1168,10 @@ CLASS="informalexample" ><A NAME="AEN1893" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >offset(b) = 2*b , if b < ceiling(G/2) = 2*(G-b)-1 , otherwise</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1425,12 +1185,6 @@ CLASS="informalexample" ><A NAME="AEN1896" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0123456789 @@ -1454,9 +1208,6 @@ CLASS="screen" 7 * 8 * 9 *</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1470,12 +1221,6 @@ CLASS="informalexample" ><A NAME="AEN1899" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" > 1 @@ -1502,9 +1247,6 @@ CLASS="screen" 8 * 9 * 10 *</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1521,12 +1263,6 @@ NAME="AEN1902" ><P > S = 12, J = 6, G = 6, B = 2: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----------*-----------*-----------*-----------*-----------* @@ -1542,9 +1278,6 @@ CLASS="screen" 10 *-----------*---- 11 *---------- 12 *-----</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1556,7 +1289,7 @@ CLASS="screen" > (This might seem odd, but it occurs to me that a good weave pattern might also make a good score for bell ringers. When church bells are rung, a list of - “changes” are used. For example, if 8 bells + “changes” are used. For example, if 8 bells are being used, they will, at first, be rung in order: 12345678. If the first change is for bells 5 and 6, the bells will then be rung in the order 12346578. If the @@ -1584,12 +1317,6 @@ CLASS="informalexample" ><A NAME="AEN1909" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >passesperblock = S @@ -1603,9 +1330,6 @@ if subpassblock < ceiling(subblocksperblock/2) else subblockoffset = 2*(subblocksperblock-subpassblock)-1 startingrow = passblock * S * J + offsetinpassblock * J + subblockoffset</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1621,12 +1345,6 @@ CLASS="informalexample" ><A NAME="AEN1912" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >subblocksperblock = gcd(S, J) @@ -1636,9 +1354,6 @@ if subpassblock * 2 < subblocksperblock else subblockoffset = 2*(subblocksperblock-subpassblock)-1 startingrow = p * J + subblockoffset</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1652,12 +1367,6 @@ CLASS="informalexample" ><A NAME="AEN1915" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >subblocksperblock = gcd(S, J) @@ -1669,14 +1378,11 @@ subblockoffset(p) subpassblock = floor((p % S) * subblocksperblock / S) row(j, p) = p * J + subblockoffset(p) + j * S</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> Together with the inequality 0 ≤ j < J, we can use +> Together with the inequality 0 ≤ j < J, we can use this definition in reverse to calculate the pass number containing a given row, r. Working out the inverse definition involves a little guesswork, but one possible @@ -1691,20 +1397,11 @@ CLASS="informalexample" ><A NAME="AEN1918" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >subblocksperblock = gcd(S, J) subblockoffset = r % subblocksperblock pass = (r - subblockoffset) / J</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1719,12 +1416,6 @@ CLASS="informalexample" ><A NAME="AEN1921" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >offset = r % J @@ -1735,9 +1426,6 @@ pass-- offset += J } jet = offset / S</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1752,12 +1440,6 @@ CLASS="informalexample" ><A NAME="AEN1924" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >G = gcd(S, J) @@ -1777,9 +1459,6 @@ subblockretreat = floor(pass / passespersubblock) % G pass -= subblockretreat * passespersubblock pass += subpassblock * passespersubblock jet = (r - subblockoffset - pass * J) / S</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1799,12 +1478,6 @@ NAME="AEN1927" passesperblock = S = 6, passespersubblock = S / G = 6 / 2 = 3: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----*-----*-----* @@ -1827,9 +1500,6 @@ CLASS="screen" 17 *-----*-- 18 *----- 19 *-</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1845,12 +1515,6 @@ NAME="AEN1930" passesperblock = S = 8, passespersubblock= S / G = 8 / 2 = 4: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-------*-------*-------*-------*-------* @@ -1866,9 +1530,6 @@ CLASS="screen" 10 *-------*-------*- 11 *-------*--- 12 *----</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1884,12 +1545,6 @@ NAME="AEN1933" passesperblock = S = 6, passespersubblock= S / G = 6 / 6 = 1: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *-----*-----*-----*-----*-----*-----*-----*-----*-----*-----*-----* @@ -1899,9 +1554,6 @@ CLASS="screen" 4 *-----*-----*-----*-----*-- 5 *-----*-----*---- 6 *-----</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1920,7 +1572,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN1937" ->Oversampling</A +>6.2.5. Oversampling</A ></H2 ><P > By oversampling, we mean printing on the same row more than @@ -1937,7 +1589,7 @@ NAME="AEN1937" necessary to get a 1/1440" horizontal resolution. If it can only print two drops 1/360" apart, 4x oversampling will be necessary for a 1/1440" horizontal resolution. The printer - enforces this “drop spacing” by only accepting + enforces this “drop spacing” by only accepting raster passes with a horizontal resolution matching the spacing with which it can print dots, so we must print passes at different horizontal positions if we are to obtain @@ -1948,18 +1600,18 @@ NAME="AEN1937" ><P > Oversampling can also be done to decrease the banding apparent in an image. By splitting a row into two or more - sets of dots (“lines”) and printing each line on + sets of dots (“lines”) and printing each line on the same row, but with a different nozzle for each line, we can get a smoother print. </P ><P > To quantify these two kinds of oversampling, we'll introduce two new constants: H shows how many different horizontal - offsets we want to print at (the “horizontal - oversampling”) while O shows how many times we want to + offsets we want to print at (the “horizontal + oversampling”) while O shows how many times we want to print each row, over and above the number of times necessary - for horizontal oversampling (the “extra - oversampling”). + for horizontal oversampling (the “extra + oversampling”). </P ><P > It is necessary for all the lines printed by a given pass to @@ -1977,10 +1629,10 @@ NAME="AEN1937" advance the paper between passes. Previously, we'd have defined A = J; we now let A = J / H. This also affects our pass blocks. Printing one pass block used to involve - advancing the paper S × J rows; it now advances the - paper (S×J) / H rows. We therefore name a group of H - pass blocks a “band”. Printing one band - involves advancing the paper S×J rows, as a pass + advancing the paper S J rows; it now advances the + paper (SJ) / H rows. We therefore name a group of H + pass blocks a “band”. Printing one band + involves advancing the paper SJ rows, as a pass block did before. </P ><P @@ -2002,12 +1654,6 @@ NAME="AEN1946" passesperblock = S = 4, passespersubblock = S/G = 4/1 = 4: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 *---*---*---*---*---*---*---*---*---* @@ -2026,9 +1672,6 @@ CLASS="screen" 13 *---*---*---* 14 *---*--- 15 *--</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -2040,7 +1683,7 @@ CLASS="screen" CLASS="computeroutput" >*</SAMP >s - with integers in the range [0…H−1]. + with integers in the range [0…H−1]. </P ><P > Overprinting occurs once per pass block, so we can simply @@ -2055,12 +1698,6 @@ CLASS="informalexample" ><A NAME="AEN1952" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 0---0---0---0---0---0---0---0---0---0 @@ -2079,9 +1716,6 @@ CLASS="screen" 13 1---1---1---1 14 1---1--- 15 1--</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -2098,12 +1732,6 @@ NAME="AEN1954" passesperblock= S = 4, passespersubblock= S/G = 4/2 = 2: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >0 0---0---0---0---0---0---0---0---0---0---0---0 @@ -2119,9 +1747,6 @@ CLASS="screen" 10 0---0---0---0---0 11 0---0---0-- 12 1---1-</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -2145,12 +1770,6 @@ NAME="AEN1958" passesperblock = S = 4, passespersubblock = S/G = 4/1 = 4 </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >Band 0: @@ -2171,9 +1790,6 @@ Band 1: 12 1---1---1---1- 13 1---1---1 14 1---</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -2188,12 +1804,6 @@ CLASS="informalexample" ><A NAME="AEN1962" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >A = floor(J / H) @@ -2207,9 +1817,6 @@ band = floor(P / (S * H)) passinband = P % (S * H) startingrow = band * S * J + passinband * A + subblockoffset subpass = passinband / S</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -2222,12 +1829,6 @@ CLASS="informalexample" ><A NAME="AEN1965" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >A = floor(J / H) @@ -2244,11 +1845,8 @@ passinband(p) = p % (S * H) row(j, p) = band(p) * S * J + passinband(p) * A + subblockoffset(p) + j * S row(j, p) = p * J + subblockoffset(p) + j * S</PRE -></TD -></TR -></TABLE ><P -> To be continued… +> To be continued… </P ><P ></P @@ -2282,7 +1880,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/gpl-terms.html b/doc/developer/reference-html/x2153.html index 31088e9..4ccc109 100644 --- a/doc/developer/reference-html/gpl-terms.html +++ b/doc/developer/reference-html/x2153.html @@ -1,24 +1,27 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="GNU General Public License" -HREF="gpl.html"><LINK +HREF="a2122.html"><LINK REL="PREVIOUS" TITLE="GNU General Public License" -HREF="gpl.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="a2122.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -39,7 +42,7 @@ WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A -HREF="gpl.html" +HREF="a2122.html" ACCESSKEY="P" >Prev</A ></TD @@ -64,7 +67,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="gpl-terms" ->TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</A +>A.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</A ></H1 ><DIV CLASS="sect2" @@ -72,7 +75,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect0" ->Section 0</A +>A.2.1. Section 0</A ></H2 ><P > This License applies to any program or other work which @@ -112,7 +115,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect1" ->Section 1</A +>A.2.2. Section 1</A ></H2 ><P > You may copy and distribute verbatim copies of the Program's @@ -135,14 +138,14 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect2" ->Section 2</A +>A.2.3. Section 2</A ></H2 ><P > You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of <A -HREF="gpl-terms.html#gpl-sect1" +HREF="x2153.html#gpl-sect1" >Section 1</A > above, provided that you also meet all of these conditions: @@ -181,18 +184,43 @@ TYPE="a" <DIV CLASS="note" -><BLOCKQUOTE -CLASS="note" ><P +></P +><TABLE +CLASS="note" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/note.gif" +HSPACE="5" +ALT="Note"></TD +><TH +ALIGN="LEFT" +VALIGN="MIDDLE" ><B ->Exception:: </B -> - If the Program itself is interactive but does not +>Exception:</B +></TH +></TR +><TR +><TD +> </TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +> If the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) </P -></BLOCKQUOTE +></TD +></TR +></TABLE ></DIV > @@ -234,19 +262,19 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect3" ->Section 3</A +>A.2.4. Section 3</A ></H2 ><P > You may copy and distribute the Program (or a work based on it, under <A -HREF="gpl-terms.html#gpl-sect2" +HREF="x2153.html#gpl-sect2" >Section 2</A > in object code or executable form under the terms of <A -HREF="gpl-terms.html#gpl-sect1" +HREF="x2153.html#gpl-sect1" >Sections 1</A > and <A -HREF="gpl-terms.html#gpl-sect2" +HREF="x2153.html#gpl-sect2" >2</A > above provided that you also do one of the following: @@ -315,7 +343,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect4" ->Section 4</A +>A.2.5. Section 4</A ></H2 ><P > You may not copy, modify, sublicense, or distribute the @@ -334,7 +362,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect5" ->Section 5</A +>A.2.6. Section 5</A ></H2 ><P > You are not required to accept this License, since you have @@ -354,7 +382,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect6" ->Section 6</A +>A.2.7. Section 6</A ></H2 ><P > Each time you redistribute the Program (or any work based on @@ -372,7 +400,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect7" ->Section 7</A +>A.2.8. Section 7</A ></H2 ><P > If, as a consequence of a court judgment or allegation of @@ -420,7 +448,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect8" ->Section 8</A +>A.2.9. Section 8</A ></H2 ><P > If the distribution and/or use of the Program is restricted in @@ -439,7 +467,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect9" ->Section 9</A +>A.2.10. Section 9</A ></H2 ><P > The Free Software Foundation may publish revised and/or new @@ -464,7 +492,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect10" ->Section 10</A +>A.2.11. Section 10</A ></H2 ><P > If you wish to incorporate parts of the Program into other @@ -484,7 +512,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect11" ->NO WARRANTY</A +>A.2.12. NO WARRANTY</A ></H2 ><FONT COLOR="RED" @@ -508,7 +536,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="gpl-sect12" ->Section 12</A +>A.2.13. Section 12</A ></H2 ><P > IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN @@ -541,7 +569,7 @@ WIDTH="33%" ALIGN="left" VALIGN="top" ><A -HREF="gpl.html" +HREF="a2122.html" ACCESSKEY="P" >Prev</A ></TD @@ -550,7 +578,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD @@ -571,7 +599,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="gpl.html" +HREF="a2122.html" ACCESSKEY="U" >Up</A ></TD diff --git a/doc/developer/reference-html/x271.html b/doc/developer/reference-html/x271.html index c4b2518..9337d74 100644 --- a/doc/developer/reference-html/x271.html +++ b/doc/developer/reference-html/x271.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >The driver file</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="Adding a new printer" HREF="c200.html"><LINK @@ -17,11 +17,14 @@ TITLE="Adding a new printer" HREF="c200.html"><LINK REL="NEXT" TITLE="ESC/P2" -HREF="c464.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c464.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -71,7 +74,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN271" ->The driver file</A +>4.2. The driver file</A ></H1 ><P > Adding a new printer to a driver module @@ -112,7 +115,7 @@ CLASS="filename" prefer this; it isn't materially more work for the host to compute things like exact paper sizes and such, it allows a lot more tweaking, and it may be why Epson has been more open with - information—the communication protocol doesn't really + information—the communication protocol doesn't really contain very much IP, so they have less reason to keep it secret. </P @@ -125,20 +128,20 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN281" ->Epson inkjet printers</A +>4.2.1. Epson inkjet printers</A ></H2 ><P -> The <VAR +> The <CODE CLASS="varname" ->model_capabilities</VAR +>model_capabilities</CODE > vector in <TT CLASS="filename" >print-escp2.c</TT > contains one entry for each - defined printer model. The <VAR + defined printer model. The <TT CLASS="literal" ->model</VAR +>model</TT > parameter in <TT CLASS="filename" @@ -164,12 +167,6 @@ CLASS="informalexample" ><A NAME="AEN291" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >typedef struct escp2_printer @@ -245,9 +242,6 @@ const double *hue_adjustment; const double *sat_adjustment; const paperlist_t *paperlist; } escp2_printer_t;</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -277,21 +271,21 @@ const paperlist_t *paperlist; > Most printers can print using either the number of nozzles available or any smaller number. Some printers require that all of the nozzles be used. Those printers will set - <VAR + <CODE CLASS="varname" ->min_nozzles</VAR +>min_nozzles</CODE > and/or - <VAR + <CODE CLASS="varname" ->min_black_nozzles</VAR +>min_black_nozzles</CODE > to the same value as - <VAR + <CODE CLASS="varname" ->nozzles</VAR +>nozzles</CODE > and/or - <VAR + <CODE CLASS="varname" ->black_nozzles</VAR +>black_nozzles</CODE >. </P ><P @@ -304,9 +298,9 @@ CLASS="varname" ><P > Most Epson printers, other than the high-end Stylus Pro models, cannot print dots spaced more closely than 1/360" or - 1/720" apart (this is the setting for <VAR + 1/720" apart (this is the setting for <CODE CLASS="varname" ->xres</VAR +>xres</CODE >. This is true even for printers that support resolutions of 1440 or 2880 DPI. In these cases, the data must be printed in @@ -320,25 +314,25 @@ CLASS="varname" For example, the Stylus Photo EX can normally print with a dot spacing of 1/720". The smallest dot size cannot be printed with a dot spacing of less than 1/360", however. In this - case, we use <VAR + case, we use <CODE CLASS="varname" ->enhanced_xres</VAR +>enhanced_xres</CODE > to specify the resolution to be used in this enhanced mode, and - <VAR + <CODE CLASS="varname" ->enhanced_resolution</VAR +>enhanced_resolution</CODE > to specify the printing resolution above which we use the - <VAR + <CODE CLASS="varname" ->enhanced_xres</VAR +>enhanced_xres</CODE >. </P ><P -> The <VAR +> The <CODE CLASS="varname" ->resolution_scale</VAR +>resolution_scale</CODE > command is used to specify scaling factors for the dot separation on newer printers. It should always be 14400 with current printers. @@ -355,26 +349,26 @@ CLASS="function" >INCH</CODE > macro defined to make specification of the - <VAR + <CODE CLASS="varname" ->max_paper_width</VAR +>max_paper_width</CODE > and - <VAR + <CODE CLASS="varname" ->max_paper_height</VAR +>max_paper_height</CODE > more legible. It multiplies <CODE CLASS="constant" >72</CODE > by the provided expression to get the appropriate number of points. For example, to - specify 8.5", <VAR + specify 8.5", <TT CLASS="literal" ->INCH(17/2)</VAR +>INCH(17/2)</TT > expands to - <VAR + <TT CLASS="literal" ->(72 * 17/2)</VAR +>(72 * 17/2)</TT >, which is evaluated left to right, and hence generates the correct value. </P @@ -385,25 +379,25 @@ CLASS="literal" CLASS="constant" >1</CODE > for - <VAR + <CODE CLASS="varname" ->separation_rows</VAR +>separation_rows</CODE > and <CODE CLASS="constant" >0</CODE > for the others. Very, very few printers require (or allow) - <VAR + <CODE CLASS="varname" ->separation_rows</VAR +>separation_rows</CODE > to be anything but <CODE CLASS="constant" >1</CODE > and - <VAR + <CODE CLASS="varname" ->pseudo_separation_rows</VAR +>pseudo_separation_rows</CODE > other than <CODE CLASS="constant" @@ -414,9 +408,9 @@ CLASS="constant" exceptions. </P ><P -> <VAR +> <CODE CLASS="varname" ->zero_margin_offset</VAR +>zero_margin_offset</CODE > is used to specify an additional negative horizontal offset required to print to the edges of the paper on newer Stylus Photo printers. These must @@ -483,14 +477,14 @@ CLASS="emphasis" ><P > The lists of dot sizes and densities contain values for 13 printing modes: 120/180 DPI using printer weaving (single row; - incorrectly referred to as “microweave”) and - “soft” weaving (the driver determines the exact + incorrectly referred to as “microweave”) and + “soft” weaving (the driver determines the exact pattern of dot layout), 360 DPI microweave and softweave, - 720×360 DPI microweave and softweave, 720 DPI microweave - and softweave, 1440×720 microweave and softweave, - 2880×720 microweave and softweave, and 2880×1440 + 720360 DPI microweave and softweave, 720 DPI microweave + and softweave, 1440720 microweave and softweave, + 2880720 microweave and softweave, and 28801440 softweave only. Printer weaving is referred to as - “microweave” for historical reasons. + “microweave” for historical reasons. </P ><P > For the dot sizes, the value for each element in the vector @@ -587,28 +581,28 @@ CLASS="constant" CLASS="constant" >0x10</CODE > usually works best at - 1440×720 and <CODE + 1440720 and <CODE CLASS="constant" >0x11</CODE > works best at - 720×720. Unfortunately, <CODE + 720720. Unfortunately, <CODE CLASS="constant" >0x10</CODE > doesn't seem to generate quite enough density at - 720×720, because if it did the output would be very - smooth. Perhaps it's possible to tweak things… + 720720, because if it did the output would be very + smooth. Perhaps it's possible to tweak things… </P ><P > The list of densities is a list of base density values for all - of the above listed modes. “Density” refers to + of the above listed modes. “Density” refers to the amount of ink deposited when a solid color (or solid black) is printed. So if the density is <CODE CLASS="constant" >0.5</CODE >, solid black actually prints only - half the possible dots. “Base density” refers to + half the possible dots. “Base density” refers to the fact that the density value can be scaled in the GUI or on the Ghostscript command line. The density value specified (which is not made visible to the user) is multiplied by the @@ -632,8 +626,8 @@ CLASS="constant" density value that results in solid black (no visible gaps under a fairly high power magnifying glass or loupe). If an appropriate density value is found for 720 DPI, it could be - divided by 2 for 1440×720, by 4 for 2880×720, and - by 8 for 2880×1440. + divided by 2 for 1440720, by 4 for 2880720, and + by 8 for 28801440. </P ><P > However, for printers that offer a choice of dot size, this @@ -651,7 +645,7 @@ CLASS="constant" > The last member is a pointer to a structure containing a list of ink values for variable dot size (or 6 color) inks. We model variable dot size inks as producing a certain - “value” of ink for each available dot size, where + “value” of ink for each available dot size, where the largest dot size has a value of <CODE CLASS="constant" >1</CODE @@ -810,7 +804,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN403" ->Tuning the printer</A +>4.2.2. Tuning the printer</A ></H2 ><P > Now, how do you use all this to tune a printer? There are a @@ -983,7 +977,7 @@ CLASS="emphasis" credit, so too much cyan and magenta is deposited, which overwhelms the yellow). Make sure you do this on very white, very high grade inkjet paper that's designed for - 1440×720 DPI or higher; otherwise the ink will spread on + 1440720 DPI or higher; otherwise the ink will spread on contact and you'll get values that aren't really true for high grade paper. You can, of course, calibrate for low grade paper if that's what you're going to use, but that shouldn't @@ -1006,7 +1000,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN433" ->Canon inkjet printers</A +>4.2.3. Canon inkjet printers</A ></H2 ><P > Basically, a new Canon printer can be added to @@ -1018,8 +1012,8 @@ CLASS="filename" differences are noted here. </P ><P -> In general, Canon printers have more “built-in - intelligence“ than Epson printers which results in the +> In general, Canon printers have more “built-in + intelligence“ than Epson printers which results in the fact that the driver only has to tell the printing conditions like resolutions, dot sizes, etc. to the printer and afterwards transfer the raster data line by line for each @@ -1038,12 +1032,6 @@ CLASS="informalexample" ><A NAME="AEN440" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >typedef struct canon_caps { @@ -1065,9 +1053,6 @@ canon_dot_size_t dot_sizes; /* Vector of dot sizes for resolutions */ canon_densities_t densities; /* List of densities for each printer */ canon_variable_inklist_t *inxs; /* Choices of inks for this printer */ } canon_cap_t;</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -1075,11 +1060,11 @@ canon_variable_inklist_t *inxs; /* Choices of inks for this printer */ > Since there are Canon printers which print in resolutions of 2<SUP >n</SUP -> × 150 DPI (e.g. 300, 600, +> 150 DPI (e.g. 300, 600, 1200) and others which support resolutions of 2<SUP >n</SUP -> × 180 DPI (e.g. 360, 720, +> 180 DPI (e.g. 360, 720, 1440), there's a base resolution (150 or 180, respectively) given in the <SPAN CLASS="type" @@ -1143,12 +1128,6 @@ CLASS="informalexample" ><A NAME="AEN458" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >static const canon_variable_inklist_t canon_ink_myinks[] = @@ -1164,20 +1143,17 @@ CLASS="programlisting" &ci_CMYK_3, &ci_CMYK_3, &ci_CMYK_3, }, };</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> where the <VAR +> where the <TT CLASS="literal" ->&ci_CMYK_1</VAR +>&ci_CMYK_1</TT > and - <VAR + <TT CLASS="literal" ->&ci_CMYK_3</VAR +>&ci_CMYK_3</TT > entries are references to a previously defined const of type <SPAN @@ -1212,7 +1188,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/x67.html b/doc/developer/reference-html/x67.html index db78e88..425a70b 100644 --- a/doc/developer/reference-html/x67.html +++ b/doc/developer/reference-html/x67.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Linking with libgutenprint</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="Using libgutenprint" HREF="c48.html"><LINK @@ -17,11 +17,14 @@ TITLE="Using libgutenprint" HREF="c48.html"><LINK REL="NEXT" TITLE="Integrating libgutenprint" -HREF="x79.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x79.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -71,13 +74,13 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN67" ->Linking with libgutenprint</A +>2.2. Linking with libgutenprint</A ></H1 ><P > To link a program with libgutenprint, the option - <VAR + <CODE CLASS="option" ->-lgutenprint</VAR +>-lgutenprint</CODE > needs to be passed to the compiler when linking. For example, to compile and link <TT @@ -86,12 +89,6 @@ CLASS="filename" > the following commands would be used: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ><SAMP @@ -108,9 +105,6 @@ CLASS="prompt" CLASS="userinput" >gcc -o stpimage -lgutenprint stpimage.o</KBD ></PRE -></TD -></TR -></TABLE ><P > The compiler and linker flags needed may vary depending on the options Gutenprint was configured with when it was built. The @@ -146,7 +140,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/x79.html b/doc/developer/reference-html/x79.html index f387523..ac4968b 100644 --- a/doc/developer/reference-html/x79.html +++ b/doc/developer/reference-html/x79.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Integrating libgutenprint</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="Using libgutenprint" HREF="c48.html"><LINK @@ -17,11 +17,14 @@ TITLE="Linking with libgutenprint" HREF="x67.html"><LINK REL="NEXT" TITLE="Reporting Bugs" -HREF="c194.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="c194.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -71,7 +74,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN79" ->Integrating libgutenprint</A +>2.3. Integrating libgutenprint</A ></H1 ><P > This section describes how to integrate the compiling and @@ -99,7 +102,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN86" -><B +>2.3.1. <B CLASS="command" >pkg-config</B ></A @@ -111,13 +114,13 @@ CLASS="command" CLASS="command" >configure</B > when configuring the package when - it was built, the <VAR + it was built, the <CODE CLASS="varname" ->CFLAGS</VAR +>CFLAGS</CODE > and - <VAR + <CODE CLASS="varname" ->LIBS</VAR +>LIBS</CODE > parameters needed to compile and link programs with libgutenprint may vary. To make it simple to determine what these are on any given system, a @@ -140,21 +143,15 @@ CLASS="refentrytitle" > manual page for a compete synopsis. </P ><P -> The correct <VAR +> The correct <CODE CLASS="varname" ->CFLAGS</VAR +>CFLAGS</CODE > to use can be obtained - with the <VAR + with the <CODE CLASS="option" ->--cflags</VAR +>--cflags</CODE > option: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ><SAMP @@ -165,25 +162,16 @@ CLASS="userinput" >pkg-config --cflags gutenprint</KBD > -I/usr/local/include</PRE -></TD -></TR -></TABLE ><P -> The correct <VAR +> The correct <CODE CLASS="varname" ->LIBS</VAR +>LIBS</CODE > to use can the obtained - with the <VAR + with the <CODE CLASS="option" ->--libs</VAR +>--libs</CODE > option: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ><SAMP @@ -194,22 +182,13 @@ CLASS="userinput" >pkg-config --libs gutenprint</KBD > -L/usr/local/lib -lgutenprint -lm -ldl</PRE -></TD -></TR -></TABLE ><P > Lastly, the installed version of Gutenprint can be obtained with the - <VAR + <CODE CLASS="varname" ->--version</VAR +>--version</CODE > option: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ><SAMP @@ -220,19 +199,10 @@ CLASS="userinput" >pkg-config --modversion gutenprint</KBD > 4.3.23</PRE -></TD -></TR -></TABLE ><P > The command can be used from the shell by enclosing it in - backquotes ‘`’: + backquotes ‘`’: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ><SAMP @@ -250,9 +220,6 @@ CLASS="userinput" >gcc `pkg-config --libs gutenprint` -o stpimage stpimage.o</KBD ></PRE -></TD -></TR -></TABLE ><P > However, this is not the way it it typically used. Normally it is used in a <TT @@ -271,7 +238,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN123" -><B +>2.3.2. <B CLASS="command" >make</B ></A @@ -292,20 +259,11 @@ CLASS="command" >make</B >: </P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >GUTENPRINT_VERSION = $(shell pkg-config --version gutenprint) GUTENPRINT_CFLAGS = $(shell pkg-config --cflags gutenprint) GUTENPRINT_LIBS = $(shell pkg-config --libs gutenprint)</PRE -></TD -></TR -></TABLE ><P > How you choose to use these variables is entirely up to you. See the GNU <B @@ -321,7 +279,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN133" -><B +>2.3.3. <B CLASS="command" >autoconf</B ></A @@ -347,7 +305,7 @@ CLASS="filename" CLASS="command" >autoconf</B > expands - the m4 macros into ‘real’ shell script. The + the m4 macros into ‘real’ shell script. The resulting <B CLASS="command" >configure</B @@ -384,18 +342,9 @@ CLASS="informalexample" ><A NAME="AEN148" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" >PKG_CHECK_MODULES(GUTENPRINT, gutenprint)</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -406,7 +355,7 @@ CLASS="sect2" CLASS="sect2" ><A NAME="AEN150" -><B +>2.3.4. <B CLASS="command" >automake</B ></A @@ -490,26 +439,26 @@ CLASS="filename" CLASS="filename" >Makefile.in</TT > files such as - <VAR + <CODE CLASS="option" ->dist</VAR ->, <VAR +>dist</CODE +>, <CODE CLASS="option" ->distcheck</VAR +>distcheck</CODE >, - <VAR + <CODE CLASS="option" ->clean</VAR ->, <VAR +>clean</CODE +>, <CODE CLASS="option" ->distclean</VAR +>distclean</CODE >, - <VAR + <CODE CLASS="option" ->maintainer-clean</VAR -> and <VAR +>maintainer-clean</CODE +> and <CODE CLASS="option" ->tags</VAR +>tags</CODE >, and there are many more more available. See the GNU <B @@ -526,13 +475,13 @@ CLASS="function" CLASS="function" >AC_SUBST</CODE > to substitute - <VAR + <CODE CLASS="varname" ->GUTENPRINT_CFLAGS</VAR +>GUTENPRINT_CFLAGS</CODE > and - <VAR + <CODE CLASS="varname" ->GUTENPRINT_LIBS</VAR +>GUTENPRINT_LIBS</CODE >, <B CLASS="command" >automake</B @@ -566,18 +515,9 @@ CLASS="informalexample" ><A NAME="AEN189" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="programlisting" ->AUTOMAKE_OPTIONS = 1.7 gnu -MAINT_CHARSET = latin1 - -@SET_MAKE@ +>@SET_MAKE@ AM_CFLAGS = $(GUTENPRINT_CFLAGS) @@ -586,9 +526,6 @@ stpimage_SOURCES = stpimage.c stpimage_LDADD = $(GUTENPRINT_LIBS) MAINTAINERCLEANFILES = Makefile.in</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -630,7 +567,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/reference-html/x955.html b/doc/developer/reference-html/x955.html index 25d7881..bc3f395 100644 --- a/doc/developer/reference-html/x955.html +++ b/doc/developer/reference-html/x955.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Remote Mode Commands</TITLE ><META NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Developer's Guide to Gutenprint" -HREF="book1.html"><LINK +HREF="index.html"><LINK REL="UP" TITLE="ESC/P2" HREF="c464.html"><LINK @@ -17,11 +17,14 @@ TITLE="ESC/P2" HREF="c464.html"><LINK REL="NEXT" TITLE="Appropriate Remote Commands" -HREF="x1669.html"><META -http-equiv="Content-Type" -content="text/html; charset=UTF-8"></HEAD +HREF="x1669.html"></HEAD ><BODY CLASS="sect1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE @@ -71,7 +74,7 @@ CLASS="sect1" CLASS="sect1" ><A NAME="AEN955" ->Remote Mode Commands</A +>5.2. Remote Mode Commands</A ></H1 ><P > The following description of remote commands comes out of an @@ -93,18 +96,9 @@ CLASS="informalexample" ><A NAME="AEN959" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >ESC (R BC=8 00 R E M O T E 1</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -119,26 +113,17 @@ CLASS="informalexample" ><A NAME="AEN962" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >ESC 00 00 00</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P > All remote mode commands must be sent before the initial - <VAR + <TT CLASS="literal" ->ESC (G</VAR +>ESC (G</TT > command is sent. </P ><P @@ -178,13 +163,13 @@ CLASS="variablelist" ></P ><DL ><DT -><VAR +><TT CLASS="literal" ->NC <VAR +>NC <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - 00</VAR + 00</TT ></DT ><DD ><P @@ -192,18 +177,18 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->VI <VAR +>VI <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - 00</VAR + 00</TT ></DT ><DD ><P -> On my 740, prints the following, probably “version - information”: +> On my 740, prints the following, probably “version + information”: </P ><DIV CLASS="informalexample" @@ -212,33 +197,24 @@ CLASS="informalexample" ><A NAME="AEN989" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >W01286 I02382\r\n</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ></DD ><DT -><VAR +><TT CLASS="literal" ->* AI <VAR +>* AI <CODE CLASS="varname" ->BC</VAR ->=3 00 00 00</VAR +>BC</CODE +>=3 00 00 00</TT ></DT ><DD ><P -> Prints a “printer ID”. On one 870, prints the +> Prints a “printer ID”. On one 870, prints the following: </P ><DIV @@ -248,18 +224,9 @@ CLASS="informalexample" ><A NAME="AEN997" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >51-51-50-51-49-48\r\n</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -269,12 +236,12 @@ CLASS="screen" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* LD <VAR +>* LD <CODE CLASS="varname" ->BC</VAR ->=0</VAR +>BC</CODE +>=0</TT ></DT ><DD ><P @@ -282,30 +249,30 @@ CLASS="varname" ROM. This apparently does not load factory defaults per se, but any settings that are saved. This is commonly used right at the end of each print job after the - <VAR + <TT CLASS="literal" ->ESC @</VAR +>ESC @</TT > printer reset command. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* CH <VAR +>* CH <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P > Perform a head cleaning cycle. The heads to clean are - determined by parameter <VAR + determined by parameter <CODE CLASS="varname" ->xx</VAR +>xx</CODE >: </P ><DIV @@ -327,9 +294,9 @@ WIDTH="1*" TITLE="description"><THEAD ><TR ><TH -><VAR +><CODE CLASS="varname" ->xx</VAR +>xx</CODE ></TH ><TH >Description</TH @@ -367,16 +334,16 @@ CLASS="constant" ></TABLE ></DIV ><P -> While <VAR +> While <CODE CLASS="varname" ->xx</VAR +>xx</CODE > = <CODE CLASS="constant" >00</CODE > is - likely supported by all printers, <VAR + likely supported by all printers, <CODE CLASS="varname" ->xx</VAR +>xx</CODE > = <CODE CLASS="constant" @@ -389,24 +356,24 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* DT <VAR +>* DT <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=3 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -> 00</VAR +>xx</CODE +> 00</TT ></DT ><DD ><P > Print an alignment pattern. There are three patterns, which are picked via the choice of - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >. Pattern <CODE CLASS="constant" >0</CODE @@ -422,27 +389,27 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* DA <VAR +>* DA <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 00 - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE > 00 - <VAR + <CODE CLASS="varname" ->yy</VAR -></VAR +>yy</CODE +></TT ></DT ><DD ><P > Set results for the alignment pattern. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is the pattern (<CODE CLASS="constant" @@ -451,9 +418,9 @@ CLASS="constant" CLASS="constant" >3</CODE >); - <VAR + <CODE CLASS="varname" ->yy</VAR +>yy</CODE > is the best choice from the set (<CODE CLASS="constant" @@ -474,12 +441,12 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* SV <VAR +>* SV <CODE CLASS="varname" ->BC</VAR ->=0</VAR +>BC</CODE +>=0</TT ></DT ><DD ><P @@ -487,13 +454,13 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* RS <VAR +>* RS <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - 01</VAR + 01</TT ></DT ><DD ><P @@ -501,13 +468,13 @@ CLASS="varname" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* IQ <VAR +>* IQ <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - 01</VAR + 01</TT ></DT ><DD ><P @@ -521,18 +488,9 @@ CLASS="informalexample" ><A NAME="AEN1089" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >IQ:KKCCMMYY</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -546,18 +504,9 @@ CLASS="informalexample" ><A NAME="AEN1092" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >IQ:KKCCMMYYccmm</PRE -></TD -></TR -></TABLE ><P ></P ></DIV @@ -578,16 +527,16 @@ CLASS="screen" CLASS="variablelist" ><DL ><DT -><VAR +><TT CLASS="literal" ->* IR <VAR +>* IR <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P @@ -599,36 +548,36 @@ CLASS="emphasis" ></SPAN >. This command has been observed on an STP 870 with - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >03</CODE > at the start - of a job and <VAR + of a job and <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >02</CODE > at the end of a job (where it is followed by an - <VAR + <TT CLASS="literal" ->LD</VAR +>LD</TT > command). When in roll mode, the values change to - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >01</CODE > at the start - of a job and <VAR + of a job and <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >00</CODE @@ -637,23 +586,23 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* FP <VAR +>* FP <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=3 00 - <VAR + <CODE CLASS="varname" ->pos</VAR ->[2]</VAR +>pos</CODE +>[2]</TT ></DT ><DD ><P > Specify the horizontal left margin in units of 1/360 inch. - The default value for <VAR + The default value for <CODE CLASS="varname" ->pos</VAR +>pos</CODE > is <CODE CLASS="constant" @@ -683,38 +632,38 @@ CLASS="constant" CLASS="variablelist" ><DL ><DT -><VAR +><TT CLASS="literal" ->* SN <VAR +>* SN <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=3 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -> <VAR +>xx</CODE +> <CODE CLASS="varname" ->yy</VAR -></VAR +>yy</CODE +></TT ></DT ><DD ><P -> Select Mechanism Sequence. <VAR +> Select Mechanism Sequence. <CODE CLASS="varname" ->xx</VAR +>xx</CODE > controls which sub-operation is performed. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >00</CODE > selects - the “Feed paper sequence setting”. - <VAR + the “Feed paper sequence setting”. + <CODE CLASS="varname" ->yy</VAR +>yy</CODE > can take on the following values (on the STP 870, at any rate): </P @@ -737,9 +686,9 @@ WIDTH="1*" TITLE="description"><THEAD ><TR ><TH -><VAR +><CODE CLASS="varname" ->yy</VAR +>yy</CODE ></TH ><TH >Media type</TH @@ -841,24 +790,24 @@ CLASS="constant" presumably to tune it for different types of paper. </P ><P -> <VAR +> <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >01</CODE > controls the platen gap setting; - <VAR + <CODE CLASS="varname" ->yy</VAR +>yy</CODE >=<CODE CLASS="constant" >00</CODE > is the - default, <VAR + default, <CODE CLASS="varname" ->yy</VAR +>yy</CODE >=<CODE CLASS="constant" >1</CODE @@ -869,17 +818,17 @@ CLASS="constant" > are higher settings. </P ><P -> <VAR +> <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >02</CODE > controls paper loading speed - (<VAR + (<CODE CLASS="varname" ->yy</VAR +>yy</CODE >=<CODE CLASS="constant" >0</CODE @@ -895,12 +844,12 @@ CLASS="constant" CLASS="constant" >1</CODE > is - used when printing on “plain paper”, - “360dpi ink jet paper” or “ink jet - transparencies”, and - <VAR + used when printing on “plain paper”, + “360dpi ink jet paper” or “ink jet + transparencies”, and + <CODE CLASS="varname" ->yy</VAR +>yy</CODE >=<CODE CLASS="constant" >00</CODE @@ -908,35 +857,35 @@ CLASS="constant" other paper type settings. </P ><P -> <VAR +> <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >07</CODE > controls duplex printing for printers with that capability - (<VAR + (<CODE CLASS="varname" ->yy</VAR ->=<VAR +>yy</CODE +>=<CODE CLASS="varname" ->0</VAR +>0</CODE > is default, for non-duplex printing; <CODE CLASS="constant" >1</CODE > is front - side of the paper, and <VAR + side of the paper, and <CODE CLASS="varname" ->2</VAR +>2</CODE > is back side). </P ><P -> <VAR +> <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >09</CODE @@ -944,9 +893,9 @@ CLASS="constant" zero margin printing on the printers with the capability of printing zero-margin on all sides (Stylus Photo 780/790, 890, and 1280/1290). - <VAR + <CODE CLASS="varname" ->yy</VAR +>yy</CODE >=<CODE CLASS="constant" >0</CODE @@ -959,80 +908,80 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* PP <VAR +>* PP <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=3 00 - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE > - <VAR + <CODE CLASS="varname" ->yy</VAR -></VAR +>yy</CODE +></TT ></DT ><DD ><P > Set Paper Path. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >2</CODE > indicates manual feed, - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >3</CODE > is for roll - paper. <VAR + paper. <CODE CLASS="varname" ->yy</VAR -> selects “paper path - number”. +>yy</CODE +> selects “paper path + number”. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* AC <VAR +>* AC <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P > Set Auto Cutting State. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >0</CODE > selects auto cutting off, - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >1</CODE > selects auto cutting on, and - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >2</CODE @@ -1047,74 +996,74 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* DR <VAR +>* DR <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=4 00 xx - <VAR + <CODE CLASS="varname" ->DT2</VAR -></VAR +>DT2</CODE +></TT ></DT ><DD ><P > Set Drying Time. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >00</CODE > sets the - drying time “per scan” (per pass?); - <VAR + drying time “per scan” (per pass?); + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >01</CODE > sets the - drying time per page. <VAR + drying time per page. <CODE CLASS="varname" ->DT</VAR +>DT</CODE > indicates the drying time, which is in seconds if page mode is used and in milliseconds if scan mode is used. - <VAR + <CODE CLASS="varname" ->DT</VAR +>DT</CODE > must not exceed 3600 seconds in per-page mode and 10000 milliseconds in per-scan mode. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* IK <VAR +>* IK <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P > Select Ink Type. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >00</CODE > selects dye ink. Pigment ink is apparently selected by - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >01</CODE @@ -1123,24 +1072,24 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* PZ BC=2 00 xx</VAR +>* PZ BC=2 00 xx</TT ></DT ><DD ><P > Set Pause After Printing. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >00</CODE > selects no pause after printing; - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >01</CODE @@ -1159,30 +1108,30 @@ CLASS="emphasis" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* EX <VAR +>* EX <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=6 00 00 00 00 0x14 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P > Set Vertical Print Page Line Mode. - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >00</CODE > is off, - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE >=<CODE CLASS="constant" >01</CODE @@ -1192,30 +1141,30 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* EX <VAR +>* EX <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=6 00 00 00 00 0x05 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P -> Set Roll Paper Mode. If <VAR +> Set Roll Paper Mode. If <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is <CODE CLASS="constant" >0</CODE >, roll paper mode is off; if - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is <CODE CLASS="constant" >1</CODE @@ -1224,70 +1173,70 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* EX <VAR +>* EX <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=3 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -> <VAR +>xx</CODE +> <CODE CLASS="varname" ->yy</VAR -></VAR +>yy</CODE +></TT ></DT ><DD ><P -> Appears to be a synonym for the <VAR +> Appears to be a synonym for the <TT CLASS="literal" ->SN</VAR +>SN</TT > command described above. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* PH <VAR +>* PH <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P > Select Paper Thickness. Set the paper thickness - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE > in .1 mm units. This must not exceed <CODE CLASS="constant" >0x10</CODE > (1.6 mm). If the - thickness is set “more than” .6 mm (which - probably means “at least” 0.6 mm, since the - other case reads “less than 0.5 mm”), the + thickness is set “more than” .6 mm (which + probably means “at least” 0.6 mm, since the + other case reads “less than 0.5 mm”), the platen gap is set high irrespective of the - <VAR + <TT CLASS="literal" ->SN</VAR +>SN</TT > command. </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* PM <VAR +>* PM <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - 00</VAR + 00</TT ></DT ><DD ><P @@ -1303,27 +1252,27 @@ CLASS="emphasis" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* ST <VAR +>* ST <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P > Epson's STP 750/1200 programming guide refers to the - <VAR + <TT CLASS="literal" ->ST</VAR -> command as “Set printer - state reply”. If <VAR +>ST</TT +> command as “Set printer + state reply”. If <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is <CODE CLASS="constant" @@ -1333,9 +1282,9 @@ CLASS="constant" >2</CODE >, the printer will not send status replies. If - <VAR + <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is <CODE CLASS="constant" >1</CODE @@ -1357,12 +1306,6 @@ CLASS="informalexample" ><A NAME="AEN1341" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >@BDC ST\r @@ -1375,30 +1318,27 @@ AI:CW:02kkccmmyy, MI:mm [TC:tttt;] INK:...; \f</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> (<VAR +> (<TT CLASS="literal" ->\r</VAR +>\r</TT > is carriage return; - <VAR + <TT CLASS="literal" ->\n</VAR -> is newline; <VAR +>\n</TT +> is newline; <TT CLASS="literal" ->\f</VAR +>\f</TT > is formfeed.) </P ><P -> <VAR +> <TT CLASS="literal" ->ST</VAR +>ST</TT > is the printer status: </P ><DIV @@ -1493,9 +1433,9 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <TT CLASS="literal" ->ER</VAR +>ER</TT >, if provided, is the error status: </P ><DIV @@ -1644,9 +1584,9 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <TT CLASS="literal" ->IQ</VAR +>IQ</TT > is the amount of ink left, as a (decimal!) percentage expressed in hexadecimal. The values are black, cyan, magenta, and yellow. 6 and 7 @@ -1727,9 +1667,9 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <TT CLASS="literal" ->WR</VAR +>WR</TT >, if provided, is the warning status: </P ><DIV @@ -1765,7 +1705,7 @@ CLASS="constant" ></TD ><TD > Black ink low (Photo black on printers using - UltraChrome® ink) + UltraChrome ink) </TD ></TR ><TR @@ -1845,41 +1785,41 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <TT CLASS="literal" ->RV</VAR +>RV</TT > is the firmware revision (one byte ASCII). </P ><P -> <VAR +> <TT CLASS="literal" ->AI</VAR +>AI</TT > is actuator information. These are two byte ASCII codes that indicate ``ink weight rank ID'' of KCMY, respectively. </P ><P -> <VAR +> <TT CLASS="literal" ->TC</VAR +>TC</TT >, if provided, is the total time of cleaning or ink filling (?). </P ><P -> <VAR +> <TT CLASS="literal" ->RC</VAR +>RC</TT >, if provided, is the firmware revision. </P ><P -> <VAR +> <TT CLASS="literal" ->INK:</VAR -> and <VAR +>INK:</TT +> and <TT CLASS="literal" ->MI</VAR +>MI</TT > are <SPAN CLASS="emphasis" @@ -1891,26 +1831,26 @@ CLASS="emphasis" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* SM <VAR +>* SM <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - <VAR + <CODE CLASS="varname" ->xx</VAR -></VAR +>xx</CODE +></TT ></DT ><DD ><P -> Set Status Reply Rate. <VAR +> Set Status Reply Rate. <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is the - repeat interval in seconds. If <VAR + repeat interval in seconds. If <CODE CLASS="varname" ->xx</VAR +>xx</CODE > is <CODE CLASS="constant" @@ -1920,13 +1860,13 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* ST <VAR +>* ST <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - 01</VAR + 01</TT ></DT ><DD ><P @@ -1939,39 +1879,30 @@ CLASS="informalexample" ><A NAME="AEN1556" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" ->@BDC PS\r\nST:<VAR +>@BDC PS\r\nST:<CODE CLASS="varname" ->xx</VAR +>xx</CODE >;\f</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> <VAR +> <TT CLASS="literal" ->\r</VAR +>\r</TT > is carriage return; - <VAR + <TT CLASS="literal" ->\n</VAR -> is newline; <VAR +>\n</TT +> is newline; <TT CLASS="literal" ->\f</VAR +>\f</TT > is - formfeed). If <VAR + formfeed). If <CODE CLASS="varname" ->xx</VAR +>xx</CODE > (the reply value) is <CODE CLASS="constant" @@ -1992,13 +1923,13 @@ CLASS="constant" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* SM <VAR +>* SM <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - 01</VAR + 01</TT ></DT ><DD ><P @@ -2012,63 +1943,54 @@ CLASS="informalexample" ><A NAME="AEN1574" ></A -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD ><PRE CLASS="screen" >@BDC PS\r\nST:xx;\f</PRE -></TD -></TR -></TABLE ><P ></P ></DIV ><P -> <VAR +> <TT CLASS="literal" ->\r</VAR +>\r</TT > is carriage return; - <VAR + <TT CLASS="literal" ->\n</VAR -> is newline; <VAR +>\n</TT +> is newline; <TT CLASS="literal" ->\f</VAR +>\f</TT > is - formfeed). See <VAR + formfeed). See <TT CLASS="literal" >SM - <VAR + <CODE CLASS="varname" ->BC</VAR ->=2</VAR +>BC</CODE +>=2</TT > above for the meaning of the return value. </P ></DD ><DT -><VAR +><TT CLASS="literal" >* ?? - <VAR + <CODE CLASS="varname" ->BC</VAR ->=<VAR +>BC</CODE +>=<CODE CLASS="varname" ->xx</VAR +>xx</CODE > - <VAR + <CODE CLASS="varname" ->y</VAR ->[1] … - <VAR +>y</CODE +>[1] … + <CODE CLASS="varname" ->y</VAR ->[xx]</VAR +>y</CODE +>[xx]</TT ></DT ><DD ><P @@ -2076,31 +1998,31 @@ CLASS="varname" Commands). The command string is executed (it would appear from the documentation), and the string sent is returned using a sequence similar to that described in - the <VAR + the <TT CLASS="literal" ->ST <VAR +>ST <CODE CLASS="varname" ->BC</VAR ->=1</VAR +>BC</CODE +>=1</TT > and - <VAR + <TT CLASS="literal" ->SM <VAR +>SM <CODE CLASS="varname" ->BC</VAR ->=1</VAR +>BC</CODE +>=1</TT > commands. Note that in this case the number of bytes is variable! </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* SM <VAR +>* SM <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=2 00 - 02</VAR + 02</TT ></DT ><DD ><P @@ -2115,13 +2037,13 @@ CLASS="emphasis" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* JE <VAR +>* JE <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=1 - 00</VAR + 00</TT ></DT ><DD ><P @@ -2143,38 +2065,38 @@ CLASS="emphasis" </P ></DD ><DT -><VAR +><TT CLASS="literal" ->* CO <VAR +>* CO <CODE CLASS="varname" ->BC</VAR +>BC</CODE >=8 00 - <VAR + <CODE CLASS="varname" ->cutter</VAR ->[1] <VAR +>cutter</CODE +>[1] <CODE CLASS="varname" ->page</VAR +>page</CODE >[1] - <VAR + <CODE CLASS="varname" ->unit</VAR +>unit</CODE >[1] - <VAR + <CODE CLASS="varname" ->position</VAR ->[4]</VAR +>position</CODE +>[4]</TT ></DT ><DD ><P > Specify paper cutting on Stylus Photo 2200 (and perhaps - some other printers). <VAR + some other printers). <CODE CLASS="varname" ->cutter</VAR +>cutter</CODE > must be - 0. <VAR + 0. <CODE CLASS="varname" ->page</VAR +>page</CODE > should be one of the following: </P @@ -2234,9 +2156,9 @@ CLASS="constant" ></TABLE ></DIV ><P -> <VAR +> <CODE CLASS="varname" ->unit</VAR +>unit</CODE > should be one of the following: </P ><DIV @@ -2296,9 +2218,9 @@ CLASS="constant" ></DIV ><P > This command should be used twice. The first - <VAR + <TT CLASS="literal" ->CO</VAR +>CO</TT > command specifies where the page will be cut at the top, and the second specifies where the page will be cut at the bottom. This permits @@ -2333,7 +2255,7 @@ WIDTH="34%" ALIGN="center" VALIGN="top" ><A -HREF="book1.html" +HREF="index.html" ACCESSKEY="H" >Home</A ></TD diff --git a/doc/developer/using.xml b/doc/developer/using.xml index c63ca7a..e192633 100644 --- a/doc/developer/using.xml +++ b/doc/developer/using.xml @@ -215,10 +215,7 @@ GUTENPRINT_LIBS = $(shell pkg-config --libs gutenprint)</programlisting> write a <filename>Makefile.am</filename> to do this: </para> <informalexample> - <programlisting>AUTOMAKE_OPTIONS = 1.7 gnu -MAINT_CHARSET = latin1 - -@SET_MAKE@ + <programlisting>@SET_MAKE@ AM_CFLAGS = $(GUTENPRINT_CFLAGS) |