sum.html   [plain text]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>CUPS Software Users Manual</TITLE>
<META NAME="author" CONTENT="Easy Software Products">
<META NAME="copyright" CONTENT="Copyright 1997-2002, All Rights Reserved">
<META NAME="docnumber" CONTENT="CUPS-SUM-1.1.15">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<STYLE TYPE="text/css"><!--
BODY { font-family: serif }
H1 { font-family: sans-serif }
H2 { font-family: sans-serif }
H3 { font-family: sans-serif }
H4 { font-family: sans-serif }
H5 { font-family: sans-serif }
H6 { font-family: sans-serif }
SUB { font-size: smaller }
SUP { font-size: smaller }
PRE { font-family: monospace }
--></STYLE>
</HEAD>
<BODY BGCOLOR="#ffffff">
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
<H1>CUPS Software Users Manual</H1></A><BR>
CUPS-SUM-1.1.15<BR>
Easy Software Products<BR>
Copyright 1997-2002, All Rights Reserved<BR>
</CENTER>
<HR>
<H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
<BR>
<BR><B><A HREF="#1">Preface</A></B>
<UL>
<LI><A HREF="#1_1">System Overview</A></LI>
<LI><A HREF="#1_2">Document Overview</A></LI>
<LI><A HREF="#1_3">Notation Conventions</A></LI>
<LI><A HREF="#1_4">Abbreviations</A></LI>
<LI><A HREF="#1_5">Other References</A></LI>
</UL>
<B><A HREF="#OVERVIEW">1 - Printing System Overview</A></B>
<UL>
<LI><A HREF="#2_1">The Printing Problem</A></LI>
<LI><A HREF="#2_2">The Technology</A></LI>
<LI><A HREF="#2_3">Jobs</A></LI>
<LI><A HREF="#2_4">Classes</A></LI>
<LI><A HREF="#2_5">Filters</A></LI>
<LI><A HREF="#2_6">Backends</A></LI>
<LI><A HREF="#2_7">Printer Drivers</A></LI>
<LI><A HREF="#2_8">Networking</A></LI>
</UL>
<B><A HREF="#USING_SYSTEM">2 - Using the Printing System</A></B>
<UL>
<LI><A HREF="#3_1">Submitting Files for Printing</A></LI>
<LI><A HREF="#3_2">Choosing a Printer</A></LI>
<LI><A HREF="#3_3">Setting Printer Options</A></LI>
<LI><A HREF="#3_4">Printing Multiple Copies</A></LI>
<LI><A HREF="#3_5">Checking the Printer Status from the Command-Line</A></LI>
<LI><A HREF="#3_6">Checking the Printer Status from the Web</A></LI>
<LI><A HREF="#3_7">Canceling a Print Job</A></LI>
</UL>
<B><A HREF="#STANDARD_OPTIONS">3 - Standard Printer Options</A></B>
<UL>
<LI><A HREF="#4_1">General Options</A></LI>
<UL>
<LI><A HREF="#4_1_1">Selecting the Media Size, Type, and Source</A></LI>
<LI><A HREF="#4_1_2">Setting the Orientation</A></LI>
<LI><A HREF="#4_1_3">Printing On Both Sides of the Paper</A></LI>
</UL>
<LI><A HREF="#4_2">Banner Options</A></LI>
<UL>
<LI><A HREF="#4_2_1">Selecting the Banner Page(s)</A></LI>
</UL>
<LI><A HREF="#4_3">Document Options</A></LI>
<UL>
<LI><A HREF="#4_3_1">Selecting a Range of Pages</A></LI>
<LI><A HREF="#4_3_2">Selecting Even or Odd Pages</A></LI>
<LI><A HREF="#4_3_3">N-Up Printing</A></LI>
<LI><A HREF="#4_3_4">Setting the Brightness</A></LI>
<LI><A HREF="#4_3_5">Setting the Gamma Correction</A></LI>
</UL>
<LI><A HREF="#4_4">Text Options</A></LI>
<UL>
<LI><A HREF="#4_4_1">Setting the Number of Characters Per Inch</A></LI>
<LI><A HREF="#4_4_2">Setting the Number of Lines Per Inch</A></LI>
<LI><A HREF="#4_4_3">Setting the Number of Columns</A></LI>
<LI><A HREF="#4_4_4">Setting the Page Margins</A></LI>
<LI><A HREF="#4_4_5">Pretty Printing</A></LI>
</UL>
<LI><A HREF="#4_5">Image Options</A></LI>
<UL>
<LI><A HREF="#4_5_1">Positioning the Image</A></LI>
<LI><A HREF="#4_5_2">Scaling the Image</A></LI>
<LI><A HREF="#4_5_3">Adjusting the Hue (Tint) of an Image</A></LI>
<LI><A HREF="#4_5_4">Adjusting the Saturation (Color) of an Image</A></LI>
</UL>
<LI><A HREF="#4_6">HP-GL/2 Options</A></LI>
<UL>
<LI><A HREF="#4_6_1">Printing in Black</A></LI>
<LI><A HREF="#4_6_2">Fitting the Plot on the Page</A></LI>
<LI><A HREF="#4_6_3">Setting the Default Pen Width</A></LI>
</UL>
<LI><A HREF="#4_7">Raw or Unfiltered Output</A></LI>
</UL>
<B><A HREF="#SAVING_OPTIONS">4 - Saving Printer Options and Defaults</A></B>
<UL>
<LI><A HREF="#5_1">Printer Options</A></LI>
<LI><A HREF="#5_2">Setting Options for a Specific Printer</A></LI>
<LI><A HREF="#5_3">Removing Options</A></LI>
<LI><A HREF="#5_4">Viewing the Current Defaults</A></LI>
<LI><A HREF="#5_5">Viewing Options for a Specific Printer</A></LI>
<LI><A HREF="#5_6">Setting the Default Printer</A></LI>
<LI><A HREF="#5_7">Printer Instances</A></LI>
<LI><A HREF="#5_8">Removing Instances</A></LI>
</UL>
<B><A HREF="#LICENSE">A - Software License Agreement</A></B>
<UL>
<LI><A HREF="#6_1">Common UNIX Printing System License Agreement</A></LI>
<UL>
<LI><A HREF="#6_1_1">Introduction</A></LI>
<LI><A HREF="#6_1_2">License Exceptions</A></LI>
<LI><A HREF="#6_1_3">Trademarks</A></LI>
<LI><A HREF="#6_1_4">Binary Distribution Rights</A></LI>
<LI><A HREF="#6_1_5">Support</A></LI>
</UL>
<LI><A HREF="#6_2">GNU GENERAL PUBLIC LICENSE</A></LI>
<LI><A HREF="#6_3">GNU LIBRARY GENERAL PUBLIC LICENSE</A></LI>
</UL>
<HR>
<H1 ALIGN="RIGHT"><A NAME="1">Preface</A></H1>
<P>This software users manual describes how to use the Common UNIX
 Printing System<SUP>TM</SUP> (&quot;CUPS<SUP>TM</SUP>&quot;) Version 1.1.15.</P>
<H2><A NAME="1_1">System Overview</A></H2>
<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
 systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
 Software Products</A> to promote a standard printing solution for all
 UNIX vendors and users. CUPS provides the System V and Berkeley
 command-line interfaces.</P>
<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
 managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
 Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
 also supported with reduced functionality. CUPS adds network printer
 browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
 options to support real-world printing under UNIX.</P>
<P>CUPS also includes a customized version of GNU Ghostscript (currently
 based off GNU Ghostscript 5.50) and an image file RIP that are used to
 support non-PostScript printers. Sample drivers for HP and EPSON
 printers are included that use these filters.</P>

<!-- NEED 2in -->
<H2><A NAME="1_2">Document Overview</A></H2>
<P>This software users manual is organized into the following sections:</P>
<UL>
<LI><A HREF="#OVERVIEW">1 - Printing System Overview</A></LI>
<LI><A HREF="#USING_SYSTEM">2 - Using the Printing System</A></LI>
<LI><A HREF="#STANDARD_OPTIONS">3 - Standard Printer Options</A></LI>
<LI><A HREF="#SAVING_OPTIONS">4 - Saving Printer Options and Defaults</A>
</LI>
<LI><A HREF="#LICENSE">A - Software License Agreement</A></LI>
</UL>
<H2><A NAME="1_3">Notation Conventions</A></H2>
<P>Various font and syntax conventions are used in this guide. Examples
 and their meanings and uses are explained below:
<CENTER>
<TABLE WIDTH="80%">
<TR><TH>Example</TH><TD>&nbsp;&nbsp;&nbsp;</TD><TH>Description</TH></TR>
<TR><TD>&nbsp;</TD></TR>
<TR VALIGN="TOP"><TD><CODE>lpstat</CODE>
<BR> <CODE>lpstat(1)</CODE></TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD>The names of commands;
 the first mention of a command or function in a chapter is followed by
 a manual page section number.</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR VALIGN="TOP"><TD><VAR>/var</VAR>
<BR><VAR> /usr/share/cups/data/testprint.ps</VAR></TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD>
File and directory names.</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR VALIGN="TOP"><TD NOWRAP><TT>Request ID is Printer-123</TT></TD><TD>
&nbsp;&nbsp;&nbsp;</TD><TD>Screen output.</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR VALIGN="TOP"><TD NOWRAP><KBD>lp -d printer filename ENTER</KBD></TD><TD>
&nbsp;&nbsp;&nbsp;</TD><TD>Literal user input; special keys like <KBD>ENTER</KBD> are
 in ALL CAPS.</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR VALIGN="TOP"><TD>12.3</TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD>Numbers in the text are
 written using the period (.) to indicate the decimal point.</TD></TR>
</TABLE>
</CENTER>

<!-- NEED 3in -->
</P>
<H2><A NAME="1_4">Abbreviations</A></H2>
 The following abbreviations are used throughout this manual:
<UL>
<DL>
<DT>kb</DT>
<DD>Kilobytes, or 1024 bytes
<BR>&nbsp;</DD>
<DT>Mb</DT>
<DD>Megabytes, or 1048576 bytes
<BR>&nbsp;</DD>
<DT>Gb</DT>
<DD>Gigabytes, or 1073741824 bytes
<BR>&nbsp;</DD>
</DL>
</UL>
<H2><A NAME="1_5">Other References</A></H2>
<UL>
<DL>
<DT>CUPS Software Administrators Manual</DT>
<DD>An administration guide for the CUPS software.
<BR>&nbsp;</DD>
<DT>CUPS Software Programmers Manual</DT>
<DD>A programmer guide for interfacing with and/or extending the CUPS
 software.
<BR>&nbsp;</DD>
</DL>
</UL>
<H1 ALIGN="RIGHT"><A NAME="OVERVIEW">1 - Printing System Overview</A></H1>
<P>This chapter provides an overview of how the Common UNIX Printing
 System works.</P>
<H2><A NAME="2_1">The Printing Problem</A></H2>
<P>For years<I> the printing problem</I> has plagued UNIX. Unlike
 Microsoft&reg; Windows&reg; or Mac OS, UNIX has no standard interface or system
 in place for supporting printers. Among the solutions currently
 available, the Berkeley and System V printing systems are the most
 prevalent.</P>
<P>These printing systems support line printers (text only) or
 PostScript printers (text and graphics), and with some coaxing they can
 be made to support a full range of printers and file formats. However,
 because each varient of the UNIX operating system uses a different
 printing system than the next developing printer drivers for a wide
 range of printers and operating systems is extremely difficult. That
 combined with the limited volume of customers for each UNIX varient has
 forced most printer vendors to give up supporting UNIX entirely.</P>
<P>CUPS is designed to eliminate<I> the printing problem</I>. One common
 printing system can be used by all UNIX varients to support the
 printing needs of users. Printer vendors can use its modular filter
 interface to develop a single driver program that supports a wide range
 of file formats with little or no effort. Since CUPS provides both the
 System V and Berkeley printing commands, users (and applications) can
 reap the benefits of this new technology with no changes.</P>
<H2><A NAME="2_2">The Technology</A></H2>
<P>CUPS is based upon an emerging Internet standard called the Internet
 Printing Protocol. IPP has been embraced by dozens of printer and
 printer server manufacturers and is supported by Microsoft Windows
 2000.</P>
<P>IPP defines a standard protocol for printing as well as managing
 print jobs and printer options like media size, resolution, and so
 forth. Like all IP-based protocols, IPP can be used locally or over the
 Internet to printers hundreds or thousands of miles away. Unlike other
 protocols, however, IPP also supports access control, authentication,
 and encryption, making it a much more capable and secure printing
 solution than older ones.</P>
<P>IPP is layered on top of the Hyper-Text Transport Protocol (&quot;HTTP&quot;)
 which is the basis of web servers on the Internet. This allows users to
 view documentation, check status information on a printer or server,
 and manage their printers, classes, and jobs using their web browser.</P>
<P>CUPS provides a complete IPP/1.1 based printing system that provides
 Basic, Digest, and local certificate authentication and user, domain,
 or IP-based access control. TLS encryption will be available in future
 versions of CUPS.</P>
<H2><A NAME="2_3">Jobs</A></H2>
<P>Each file or set of files that is submitted for printing is called a<I>
 job</I>. Jobs are identified by a unique number starting at 1 and are
 assigned to a particular destination, usually a printer. Jobs can also
 have options associated with them such as media size, number of copies,
 and priority.</P>
<H2><A NAME="2_4">Classes</A></H2>
<P>CUPS supports collections of printers known as<I> classes</I>. Jobs
 sent to a class are forwarded to the first available printer in the
 class.</P>
<H2><A NAME="2_5">Filters</A></H2>
<P>Filters allow a user or application to print many types of files
 without extra effort. Print jobs sent to a CUPS server are filtered
 before sending them to a printer. Some filters convert job files to
 different formats that the printer can understand. Others perform page
 selection and ordering tasks.</P>
<P>CUPS provides filters for printing many types of image files, HP-GL/2
 files, PDF files, and text files. CUPS also supplies PostScript and
 image file Raster Image Processor (&quot;RIP&quot;) filters that convert
 PostScript or image files into bitmaps that can be sent to a raster
 printer.</P>
<H2><A NAME="2_6">Backends</A></H2>
<P>Backends perform the most important task of all - they send the
 filtered print data to the printer.</P>
<P>CUPS provides backends for printing over parallel, serial, and USB
 ports, and over the network via the IPP, JetDirect (AppSocket), and
 Line Printer Daemon (&quot;LPD&quot;) protocols. Additional backends are
 available in network service packages such as the SMB backend included
 with the popular SAMBA software.</P>
<P>Backends are also used to determine the available devices. On startup
 each backend is asked for a list of devices it supports, and any
 information that is available. This allows the parallel backend to tell
 CUPS that an EPSON Stylus Color 600 printer is attached to parallel
 port 1, for example.</P>
<H2><A NAME="2_7">Printer Drivers</A></H2>
<P>Printer drivers in CUPS consist of one of more filters specific to a
 printer. CUPS includes sample printer drivers for Hewlett-Packard
 LaserJet and DeskJet printers and EPSON 9-pin, 24-pin, Stylus Color,
 and Stylus Photo printers. While these drivers do not generate optimal
 output for the different printer models, they do provide basic printing
 and demonstrate how you can write your own printer drivers and
 incorporate them into CUPS.</P>
<H2><A NAME="2_8">Networking</A></H2>
<P>Printers and classes on the local system are automatically shared
 with other systems on the network. This allows you to setup one system
 to print to a printer and use this system as a printer server or spool
 host for all of the others. Users may then select a local printer by
 name or a remote printer using &quot;name@server&quot;.</P>
<P>CUPS also provides<I> implicit classes</I>, which are collections of
 printers and/or classes with the same name. This allows you to setup
 multiple servers pointing to the same physical network printer, for
 example, so that you aren't relying on a single system for printing.
 Because this also works with printer classes, you can setup multiple
 servers and printers and never worry about a single point of failure
 unless all of the printers and servers go down!</P>
<H1 ALIGN="RIGHT"><A NAME="USING_SYSTEM">2 - Using the Printing System</A>
</H1>
<P>This chapter shows you how to submit, query, and cancel print jobs to
 different printers.</P>
<H2><A NAME="3_1">Submitting Files for Printing</A></H2>
<P>CUPS provides both the System V (<CODE>lp(1)</CODE>) and Berkeley (<CODE>
lpr(1)</CODE>) printing commands. Type the following command to print a
 file to the default (or only) printer on the system:</P>
<UL>
<PRE>
<B>lp filename ENTER</B>
</PRE>
</UL>
<P>or:</P>
<UL>
<PRE>
<B>lpr filename ENTER</B>
</PRE>
</UL>
<P>CUPS understands many different types of files directly, including
 PostScript and image files. This allows you to print from inside your
 applications or at the command-line, whichever is most convenient!</P>
<H2><A NAME="3_2">Choosing a Printer</A></H2>
<P>Many systems will have more than one printer available to the user.
 These printers can be attached to the local system via a parallel,
 serial, or USB port, or available over the network.</P>
<P>Use the <CODE>lpstat(1)</CODE> command to see a list of available
 printers:</P>
<UL>
<PRE>
<B>lpstat -p -d ENTER</B>
</PRE>
</UL>
<P>The <CODE>-p</CODE> option specifies that you want to see a list of
 printers, and the <CODE>-d</CODE> option reports the current system
 default printer or class.</P>
<P>Use the <CODE>-d</CODE> option with the <CODE>lp</CODE> command to
 print to a specific printer:</P>
<UL>
<PRE>
<B>lp -d printer filename ENTER</B>
</PRE>
</UL>
<P>or the <CODE>-P</CODE> option with the <CODE>lpr</CODE> command:</P>
<UL>
<PRE>
<B>lpr -P printer filename ENTER</B>
</PRE>
</UL>
<H2><A NAME="3_3">Setting Printer Options</A></H2>
<P>For many types of files, the default printer options may be
 sufficient for your needs. However, there may be times when you need to
 change the options for a particular file you are printing.</P>
<P>The <CODE>lp</CODE> and <CODE>lpr</CODE> commands allow you to pass
 printer options using the <CODE>-o</CODE> option:</P>
<UL>
<PRE>
<B>lp -o landscape -o scaling=75 -o media=A4 filename.jpg
<B>lpr -o landscape -o scaling=75 -o media=A4 filename.jpg
</B></B></PRE>
</UL>
<P>The available printer options vary depending on the printer. The
 standard options are described in<A HREF="#STANDARD_OPTIONS"> Chapter
 3, &quot;Standard Printing Options&quot;</A>.</P>
<H2><A NAME="3_4">Printing Multiple Copies</A></H2>
<P>Both the <CODE>lp</CODE> and <CODE>lpr</CODE> commands have options
 for printing more than one copy of a file:</P>
<UL>
<PRE>
<B>lp -n <I>num-copies</I> filename ENTER</B>
<B>lpr -#<I>num-copies</I> filename ENTER</B>
</PRE>
</UL>
<P>Copies are normally<I> not</I> collated for you. Use the <CODE>-o
 Collate=True</CODE> option to get collated copies :</P>
<UL>
<PRE>
<B>lp -n <I>num-copies</I> -o Collate=True filename ENTER</B>
<B>lpr -#<I>num-copies</I> -o Collate=True filename ENTER</B>
</PRE>
</UL>

<!-- NEED 3in -->
<H2><A NAME="3_5">Checking the Printer Status from the Command-Line</A></H2>
<P>The <CODE>lpstat</CODE> command can be used to check for jobs that
 you have submitted for printing:</P>
<UL>
<PRE>
<B>lpstat ENTER</B>
Printer-1 johndoe 4427776
Printer-2 johndoe 15786
Printer-3 johndoe 372842
</PRE>
</UL>
<P>The jobs are listed in the order they will be printed. Use the <CODE>
-p</CODE> option to see which files and printers are active:</P>
<UL>
<PRE>
<B>lpstat -p ENTER</B>
printer DeskJet now printing DeskJet-1.
</PRE>
</UL>

<!-- NEED 2in -->
<P>Use the <CODE>-o</CODE> and <CODE>-p</CODE> options together to show
 the jobs and the printers:</P>
<UL>
<PRE>
<B>lpstat -o -p ENTER</B>
Printer-1 johndoe 4427776
Printer-2 johndoe 15786
Printer-3 johndoe 372842
printer DeskJet now printing DeskJet-1.
</PRE>
</UL>
<H2><A NAME="3_6">Checking the Printer Status from the Web</A></H2>
<P>Since CUPS uses the Internet Printing Protocol, it is also a
 fully-functional web server. To use your web browser to monitor the
 printers on your system, open the URL:</P>
<UL>
<PRE>
<A HREF="http://localhost:631">http://localhost:631</A>
</PRE>
</UL>
<P>From there you can view the status of classes, jobs, and printers
 with the click of a button!</P>
<H2><A NAME="3_7">Canceling a Print Job</A></H2>
<P>The <CODE>cancel(1)</CODE> and <CODE>lprm(1)</CODE> commands cancel a
 print job:</P>
<UL>
<PRE>
<B>cancel <I>job-id</I> ENTER</B>
<B>lprm <I>job-id</I> ENTER</B>
</PRE>
</UL>
<P>The <CODE>job-id</CODE> is the number that was reported to you by the
 <CODE>lp</CODE> or <CODE>lpstat</CODE> commands.</P>
<H1 ALIGN="RIGHT"><A NAME="STANDARD_OPTIONS">3 - Standard Printer
 Options</A></H1>
<P>This chapter describes the standard printer options that are
 available when printing with the <CODE>lp</CODE> and <CODE>lpr</CODE>
 commands.</P>
<H2><A NAME="4_1">General Options</A></H2>
<P>The following options apply when printing all types of files.
<!-- NEED 2in -->
</P>
<H3><A NAME="4_1_1">Selecting the Media Size, Type, and Source</A></H3>
<P>The <CODE>-o media=xyz</CODE> option sets the media size, type,
 and/or source:</P>
<UL>
<PRE>
<B>lp -o media=Letter filename ENTER</B>
<B>lp -o media=Letter,MultiPurpose filename ENTER</B>
<B>lpr -o media=Letter,Transparency filename ENTER</B>
<B>lpr -o media=Letter,MultiPurpose,Transparency filename ENTER</B>
</PRE>
</UL>

<!-- NEED 3in -->
<P>The available media sizes, types, and sources depend on the printer,
 but most support the following options (case is not significant):</P>
<UL>
<LI><CODE>Letter</CODE> - US Letter (8.5x11 inches, or 216x279mm)</LI>
<LI><CODE>Legal</CODE> - US Legal (8.5x14 inches, or 216x356mm)</LI>
<LI><CODE>A4</CODE> - ISO A4 (8.27x11.69 inches, or 210x297mm)</LI>
<LI><CODE>COM10</CODE> - US #10 Envelope (9.5x4.125 inches, or
 241x105mm)</LI>
<LI><CODE>DL</CODE> - ISO DL Envelope (8.66x4.33 inches, or 220x110mm)</LI>
<LI><CODE>Transparency</CODE> - Transparency media type or source</LI>
<LI><CODE>Upper</CODE> - Upper paper tray</LI>
<LI><CODE>Lower</CODE> - Lower paper tray</LI>
<LI><CODE>MultiPurpose</CODE> - Multi-purpose paper tray</LI>
<LI><CODE>LargeCapacity</CODE> - Large capacity paper tray</LI>
</UL>
<P>The actual options supported are defined in the printer's PPD file in
 the <CODE>PageSize</CODE>, <CODE>InputSlot</CODE>, and <CODE>MediaType</CODE>
 options.</P>
<H3><A NAME="4_1_2">Setting the Orientation</A></H3>
<P>The <CODE>-o landscape</CODE> option will rotate the page 90 degrees
 to print in landscape orientation:</P>
<UL>
<PRE>
<B>lp -o landscape filename ENTER</B>
<B>lpr -o landscape filename ENTER</B>
</PRE>
</UL>
<H3><A NAME="4_1_3">Printing On Both Sides of the Paper</A></H3>
<P>The <CODE>-o sides=two-sided-short-edge</CODE> and <CODE>-o
 sides=two-sided-long-edge</CODE> options will enable duplexing on the
 printer, if the printer supports it. The <CODE>-o
 sides=two-sided-short-edge</CODE> option is suitable for landscape
 pages, while the <CODE>-o sides=two-sided-long-edge</CODE> option is
 suitable for portrait pages:</P>
<UL>
<PRE>
<B>lp -o sides=two-sided-short-edge filename ENTER</B>
<B>lp -o sides=two-sided-long-edge filename ENTER</B>
<B>lpr -o sides=two-sided-long-edge filename ENTER</B>
</PRE>
</UL>
<P>The default is to print single-sided:</P>
<UL>
<PRE>
<B>lp -o sides=one-sided filename ENTER</B>
<B>lpr -o sides=one-sided filename ENTER</B>
</PRE>
</UL>
<H2><A NAME="4_2">Banner Options</A></H2>
<P>The following options apply when printing all types of files.</P>
<H3><A NAME="4_2_1">Selecting the Banner Page(s)</A></H3>
<P>The <CODE>-o jobsheets=start,end</CODE> option sets the banner
 page(s) to use for a job:</P>
<UL>
<PRE>
<B>lp -o job-sheets=none filename ENTER</B>
<B>lp -o job-sheets=standard filename ENTER</B>
<B>lpr -o job-sheets=classified,classified filename ENTER</B>
</PRE>
</UL>
<P>If only one banner file is specified, it will be printed before the
 files in the job. If a second banner file is specified, it is printed
 after the files in the job.</P>
<P>The available banner pages depend on the local system configuration;
 CUPS includes the following banner files:</P>
<UL>
<LI><CODE>none</CODE> - Do not produce a banner page.</LI>
<LI><CODE>classified</CODE> - A banner page with a &quot;classified&quot; label at
 the top and bottom.</LI>
<LI><CODE>confidential</CODE> - A banner page with a &quot;confidential&quot;
 label at the top and bottom.</LI>
<LI><CODE>secret</CODE> - A banner page with a &quot;secret&quot; label at the top
 and bottom.</LI>
<LI><CODE>standard</CODE> - A banner page with no label at the top and
 bottom.</LI>
<LI><CODE>topsecret</CODE> - A banner page with a &quot;top secret&quot; label at
 the top and bottom.</LI>
<LI><CODE>unclassified</CODE> - A banner page with an &quot;unclassified&quot;
 label at the top and bottom.</LI>
</UL>
<H2><A NAME="4_3">Document Options</A></H2>
<P>The following options apply when printing all types of files.</P>
<H3><A NAME="4_3_1">Selecting a Range of Pages</A></H3>
<P>The <CODE>-o page-ranges=pages</CODE> option selects a range of pages
 for printing:</P>
<UL>
<PRE>
<B>lp -o page-ranges=1 filename ENTER</B>
<B>lp -o page-ranges=1-4 filename ENTER</B>
<B>lp -o page-ranges=1-4,7,9-12 filename ENTER</B>
<B>lpr -o page-ranges=1-4,7,9-12 filename ENTER</B>
</PRE>
</UL>
<P>As shown above, the <CODE>pages</CODE> value can be a single page, a
 range of pages, or a collection of page numbers and ranges separated by
 commas. The pages will always be printed in ascending order, regardless
 of the order of the pages in the <CODE>page-ranges</CODE> option.</P>
<P>The default is to print all pages.</P>
<H3><A NAME="4_3_2">Selecting Even or Odd Pages</A></H3>
<P>Use the <CODE>-o page-set=set</CODE> option to select the even or odd
 pages:</P>
<UL>
<PRE>
<B>lp -o page-set=odd filename ENTER</B>
<B>lp -o page-set=even filename ENTER</B>
<B>lpr -o page-set=even filename ENTER</B>
</PRE>
</UL>
<P>The default is to print all pages.</P>
<H3><A NAME="4_3_3">N-Up Printing</A></H3>
<P>The <CODE>-o number-up=value</CODE> option selects N-Up printing.
 N-Up printing places multiple document pages on a single printed page.
 CUPS supports 1, 2, 4, 6, 9, and 16-Up formats; the default format is
 1-Up:</P>
<UL>
<PRE>
<B>lp -o number-up=1 filename ENTER</B>
<B>lp -o number-up=2 filename ENTER</B>
<B>lp -o number-up=4 filename ENTER</B>
<B>lpr -o number-up=16 filename ENTER</B>
</PRE>
</UL>
<P>The <CODE>-o page-border=value</CODE> option chooses the border to
 draw around each page:</P>
<UL>
<LI><CODE>-o page-border=double</CODE>; draw two hairline borders around
 each page</LI>
<LI><CODE>-o page-border=double-thick</CODE>; draw two 1pt borders
 around each page</LI>
<LI><CODE>-o page-border=none</CODE>; do not draw a border (default)</LI>
<LI><CODE>-o page-border=single</CODE>; draw one hairline border around
 each page</LI>
<LI><CODE>-o page-border=single-thick</CODE>; draw one 1pt border around
 each page</LI>
</UL>
<P>The <CODE>-o number-up-layout=value</CODE> option chooses the layout
 of the pages on each output page:</P>
<UL>
<LI><CODE>-o number-up-layout=btlr</CODE>; Bottom to top, left to right</LI>
<LI><CODE>-o number-up-layout=btrl</CODE>; Bottom to top, right to left</LI>
<LI><CODE>-o number-up-layout=lrbt</CODE>; Left to right, bottom to top</LI>
<LI><CODE>-o number-up-layout=lrtb</CODE>; Left to right, top to bottom
 (default)</LI>
<LI><CODE>-o number-up-layout=rlbt</CODE>; Right to left, bottom to top</LI>
<LI><CODE>-o number-up-layout=rltb</CODE>; Right to left, top to bottom</LI>
<LI><CODE>-o number-up-layout=tblr</CODE>; Top to bottom, left to right</LI>
<LI><CODE>-o number-up-layout=tbrl</CODE>; Top to bottom, right to left</LI>
</UL>
<H3><A NAME="4_3_4">Setting the Brightness</A></H3>
<P>You can control the overall brightness of the printed output using
 the <CODE>-o brightness=percent</CODE> option:</P>
<UL>
<PRE>
<B>lp -o brightness=120 filename ENTER</B>
<B>lpr -o brightness=120 filename ENTER</B>
</PRE>
</UL>
<P>Values greater than 100 will lighten the print, while values less
 than 100 will darken it.</P>
<H3><A NAME="4_3_5">Setting the Gamma Correction</A></H3>
<P>You can control the overall gamma correction of the printed output
 using the <CODE>-o gamma=value</CODE> option:</P>
<UL>
<PRE>
<B>lp -o gamma=1700 filename ENTER</B>
<B>lpr -o gamma=1700 filename ENTER</B>
</PRE>
</UL>
<P>Values greater than 1000 will lighten the print, while values less
 than 1000 will darken it. The default gamma is 1000.</P>
<H2><A NAME="4_4">Text Options</A></H2>
<P>The following options apply when printing text files.</P>
<H3><A NAME="4_4_1">Setting the Number of Characters Per Inch</A></H3>
<P>The <CODE>-o cpi=value</CODE> option sets the number of characters
 per inch:</P>
<UL>
<PRE>
<B>lp -o cpi=10 filename ENTER</B>
<B>lp -o cpi=12 filename ENTER</B>
<B>lpr -o cpi=17 filename ENTER</B>
</PRE>
</UL>
<P>The default characters per inch is 10.</P>
<H3><A NAME="4_4_2">Setting the Number of Lines Per Inch</A></H3>
<P>The <CODE>-o lpi=value</CODE> option sets the number of lines per
 inch:</P>
<UL>
<PRE>
<B>lp -o lpi=6 filename ENTER</B>
<B>lpr -o lpi=8 filename ENTER</B>
</PRE>
</UL>
<P>The default lines per inch is 6.</P>
<H3><A NAME="4_4_3">Setting the Number of Columns</A></H3>
<P>The <CODE>-o columns=value</CODE> option sets the number of text
 columns:</P>
<UL>
<PRE>
<B>lp -o columns=2 filename ENTER</B>
<B>lpr -o columns=3 filename ENTER</B>
</PRE>
</UL>
<P>The default number of columns is 1.</P>
<H3><A NAME="4_4_4">Setting the Page Margins</A></H3>
<P>Normally the page margins are set to the hard limits of the printer.
 Use the <CODE>-o page-left=value</CODE>, <CODE>-o page-right=value</CODE>
, <CODE>-o page-top=value</CODE>, and <CODE>-o page-bottom=value</CODE>
 options to adjust the page margins:</P>
<UL>
<PRE>
<B>lp -o page-left=<I>value</I> filename ENTER</B>
<B>lp -o page-right=<I>value</I> filename ENTER</B>
<B>lp -o page-top=<I>value</I> filename ENTER</B>
<B>lp -o page-bottom=<I>value</I> filename ENTER</B>
<B>lpr -o page-bottom=<I>value</I> filename ENTER</B>
</PRE>
</UL>
<P>The <CODE>value</CODE> argument is the margin in points; each point
 is 1/72 inch or 0.35mm.</P>
<H3><A NAME="4_4_5">Pretty Printing</A></H3>
<P>The <CODE>-o prettyprint</CODE> option puts a header at the top of
 each page with the page number, job title (usually the filename), and
 the date. Also, C and C++ keywords are highlighted, and comment lines
 are italicized:</P>
<UL>
<PRE>
<B>lp -o prettyprint filename ENTER</B>
<B>lpr -o prettyprint filename ENTER</B>
</PRE>
</UL>
<H2><A NAME="4_5">Image Options</A></H2>
<P>The following options apply when printing image files.</P>
<H3><A NAME="4_5_1">Positioning the Image</A></H3>
<P>The <CODE>-o position=name</CODE> option specifies the position of
 the image on the page:</P>
<UL>
<LI><CODE>center</CODE> - Center the image on the page (default)</LI>
<LI><CODE>top</CODE> - Print the image centered at the top of the page</LI>
<LI><CODE>left</CODE> - Print the image centered on the left of page</LI>
<LI><CODE>right</CODE> - Print the image centered on the right of the
 page</LI>
<LI><CODE>top-left</CODE> - Print the image at the top left corner of
 the page</LI>
<LI><CODE>top-right</CODE> - Print the image at the top right corner of
 the page</LI>
<LI><CODE>bottom</CODE> - Print the image centered at the bottom of the
 page</LI>
<LI><CODE>bottom-left</CODE> - Print the image at the bottom left corner
 of the page</LI>
<LI><CODE>bottom-right</CODE> - Print the image at the bottom right
 corner of the page</LI>
</UL>
<H3><A NAME="4_5_2">Scaling the Image</A></H3>
<P>The <CODE>-o scaling=percent</CODE>, <CODE>-o ppi=value</CODE>, and <CODE>
-o natural-scaling=percent</CODE> options change the size of a printed
 image:</P>
<UL>
<PRE>
<B>lp -o scaling=<I>percent</I> filename ENTER</B>
<B>lp -o ppi=<I>value</I> filename ENTER</B>
<B>lpr -o natural-scaling=<I>percent</I> filename ENTER</B>
</PRE>
</UL>
<P>The <CODE>scaling=percent</CODE> value is a number from 1 to 800
 specifying the size in relation to the page (<I>not</I> the image.) A
 scaling of 100 percent will fill the page as completely as the image
 aspect ratio allows. A scaling of 200 percent will print on up to 4
 pages.</P>
<P>The <CODE>ppi=value</CODE> value is a number from 1 to 1200
 specifying the resolution of the image in pixels per inch. An image
 that is 3000x2400 pixels will print 10x8 inches at 300 pixels per inch,
 for example. If the specified resolution makes the image larger than
 the page, multiple pages will be printed to satisfy the request.</P>
<P>The <CODE>natural-scaling=percent</CODE> value is a number from 1 to
 800 specifying the size in relation to the natural image size. A
 scaling of 100 percent will print the image at its natural size, while
 a scaling of 50 percent will print the image at half its natural size.
 If the specified scaling makes the image larger than the page, multiple
 pages will be printed to satisfy the request.</P>
<H3><A NAME="4_5_3">Adjusting the Hue (Tint) of an Image</A></H3>
<P>The <CODE>-o hue=value</CODE> option will adjust the hue of the
 printed image, much like the tint control on your television:</P>
<UL>
<PRE>
<B>lp -o hue=<I>value</I> filename ENTER</B>
<B>lpr -o hue=<I>value</I> filename ENTER</B>
</PRE>
</UL>

<!-- NEED 3in -->
<P>The <CODE>value</CODE> argument is a number from -360 to 360 and
 represents the color hue rotation. The following table summarizes the
 change you'll see with different colors:
<CENTER>
<TABLE BORDER="1" WIDTH="50%">
<TR><TH>Original</TH><TH>hue=-45</TH><TH>hue=45</TH></TR>
<TR><TD>Red</TD><TD>Purple</TD><TD>Yellow-orange</TD></TR>
<TR><TD>Green</TD><TD>Yellow-green</TD><TD>Blue-green</TD></TR>
<TR><TD>Yellow</TD><TD>Orange</TD><TD>Green-yellow</TD></TR>
<TR><TD>Blue</TD><TD>Sky-blue</TD><TD>Purple</TD></TR>
<TR><TD>Magenta</TD><TD>Indigo</TD><TD>Crimson</TD></TR>
<TR><TD>Cyan</TD><TD>Blue-green</TD><TD>Light-navy-blue</TD></TR>
</TABLE>
</CENTER>
</P>
<P>The default hue adjustment is 0.</P>
<H3><A NAME="4_5_4">Adjusting the Saturation (Color) of an Image</A></H3>
<P>The <CODE>-o saturation=percent</CODE> option adjusts the saturation
 of the colors in an image, much like the color knob on your television:</P>
<UL>
<PRE>
<B>lp -o saturation=<I>percent</I> filename ENTER</B>
<B>lpr -o saturation=<I>percent</I> filename ENTER</B>
</PRE>
</UL>
<P>The <CODE>percent</CODE> argument specifies the color saturation from
 0 to 200. A color saturation of 0 produces a black-and-white print,
 while a value of 200 will make the colors extremely intense.</P>
<P>The default saturation is 100.
<!-- NEED 4in -->
</P>
<H2><A NAME="4_6">HP-GL/2 Options</A></H2>
<P>The following options apply to HP-GL/2 files.</P>
<H3><A NAME="4_6_1">Printing in Black</A></H3>
<P>The <CODE>-o blackplot</CODE> option specifies that all pens should
 plot in black:</P>
<UL>
<PRE>
<B>lp -o blackplot filename ENTER</B>
<B>lpr -o blackplot filename ENTER</B>
</PRE>
</UL>
<P>The default is to use the colors defined in the plot file or the
 standard pen colors defined in the HP-GL/2 reference manual from
 Hewlett Packard.</P>
<H3><A NAME="4_6_2">Fitting the Plot on the Page</A></H3>
<P>The <CODE>-o fitplot</CODE> option specifies that the plot should be
 scaled to fit on the page:</P>
<UL>
<PRE>
<B>lp -o fitplot filename ENTER</B>
<B>lpr -o fitplot filename ENTER</B>
</PRE>
</UL>
<P>The default is to use the absolute distances specified in the plot
 file.
<CENTER>
<TABLE BGCOLOR="#cccccc" BORDER="1" CELLPADDING="5" WIDTH="80%">
<TR><TD><B> NOTE:</B>
<P>This feature depends upon an accurate plot size (<CODE>PS</CODE>)
 command in the HP-GL/2 file. If no plot size is given in the file than
 the HP-GL/2 filter assumes the plot is ANSI E size.</P>
</TD></TR>
</TABLE>
</CENTER>
</P>
<H3><A NAME="4_6_3">Setting the Default Pen Width</A></H3>
<P>The <CODE>-o penwidth=value</CODE> option specifies the default pen
 width for HP-GL/2 files:</P>
<UL>
<PRE>
<B>lp -o penwidth=<I>value</I> filename ENTER</B>
<B>lpr -o penwidth=<I>value</I> filename ENTER</B>
</PRE>
</UL>
<P>The pen width <CODE>value</CODE> specifies the pen width in
 micrometers. The default value of 1000 produces lines that are 1
 millimeter in width. Specifying a pen width of 0 produces lines that
 are exactly 1 pixel wide.
<CENTER>
<TABLE BGCOLOR="#cccccc" BORDER="1" CELLPADDING="5" WIDTH="80%">
<TR><TD><B> NOTE:</B>
<P>This option is ignored when the pen widths are set in the plot file.</P>
</TD></TR>
</TABLE>
</CENTER>
</P>
<H2><A NAME="4_7">Raw or Unfiltered Output</A></H2>
<P>The <CODE>-o raw</CODE> option allows you to send files directly to a
 printer without filtering. This is sometimes required when printing
 from applications that provide their own &quot;printer drivers&quot; for your
 printer:</P>
<UL>
<PRE>
<B>lp -o raw filename ENTER</B>
<B>lpr -o raw filename ENTER</B>
</PRE>
</UL>
<P>The <CODE>-l</CODE> option can also be used with the <CODE>lpr</CODE>
 command to send files directly to a printer:</P>
<UL>
<PRE>
<B>lpr -l filename ENTER</B>
</PRE>
</UL>
<H1 ALIGN="RIGHT"><A NAME="SAVING_OPTIONS">4 - Saving Printer Options
 and Defaults</A></H1>
<P>This chapter describes how to save printer options for your printer
 and set your own default printer.</P>
<H2><A NAME="5_1">Printer Options</A></H2>
<P>Each printer supports a large number of options, which you learned
 about in<A HREF="#STANDARD_OPTIONS"> Chapter 3, &quot;Standard Printer
 Options&quot;</A>. Rather than specifying these options each time you print
 a file, CUPS allows you to save them as &quot;default&quot; options for the
 printer.</P>
<P>The <CODE>lpoptions(1)</CODE> command saves the options for your
 printers. Like the <CODE>lp</CODE> and <CODE>lpr</CODE> commands, it
 accepts printer options using the <CODE>-o</CODE> argument:</P>
<UL>
<PRE>
<B>lpoptions -o prettyprint ENTER</B>
<B>lpoptions -o media=A4 -o sides=two-sided-long-edge ENTER</B>
<B>lpoptions -o media=Legal -o scaling=100 ENTER</B>
</PRE>
</UL>
<P>Once saved, any <CODE>lp</CODE> or <CODE>lpr</CODE> command will use
 them when you print.</P>
<H2><A NAME="5_2">Setting Options for a Specific Printer</A></H2>
<P>The previous example shows how to set the options for the default
 printer. The <CODE>-p printer</CODE> option specifies the options are
 for another printer:</P>
<UL>
<PRE>
<B>lpoptions -p laserjet -o prettyprint ENTER</B>
<B>lpoptions -p laserjet -o media=A4 -o sides=two-sided-long-edge ENTER</B>
<B>lpoptions -p deskjet -o media=Legal -o scaling=100 ENTER</B>
</PRE>
</UL>
<H2><A NAME="5_3">Removing Options</A></H2>
<P>The previous two examples shows how to set options for the default
 and a specific printer. Below, shows you how to remove the saved option
 using the <CODE>-r</CODE> argument:</P>
<UL>
<PRE>
<KBD>lpoptions -r prettyprint <I>ENTER</I></KBD>
<KBD>lpoptions -p laserjet -r prettyprint <I>ENTER</I></KBD>
</PRE>
</UL>
<H2><A NAME="5_4">Viewing the Current Defaults</A></H2>
<P>The <CODE>lpoptions</CODE> command can also be used to show the
 current options by not specifying any new options on the command-line:</P>
<UL>
<PRE>
<B>lpoptions ENTER</B>
media=A4 sides=two-sided-long-edge
<B>lpoptions -p deskjet ENTER</B>
media=Legal scaling=100
</PRE>
</UL>
<H2><A NAME="5_5">Viewing Options for a Specific Printer</A></H2>
<P>You can display the supported options using the <CODE>lpoptions</CODE>
 command with the <CODE>-l</CODE> option, as follows:</P>
<UL>
<PRE>
<B>lpoptions -p laserjet -l ENTER</B>
</PRE>
</UL>
<H2><A NAME="5_6">Setting the Default Printer</A></H2>
<P>The administrator normally will set a system-wide default printer
 that is normally used as the default printer by everyone. Use the <CODE>
-d printer</CODE> option to set your own default printer:</P>
<UL>
<PRE>
<B>lpoptions -d deskjet ENTER</B>
</PRE>
</UL>
<P>The printer can be local (<CODE>deskjet</CODE>) or remote (<CODE>
deskjet@server</CODE>).</P>
<H2><A NAME="5_7">Printer Instances</A></H2>
<P>Besides setting options for each print queue, CUPS supports<I>
 printer instances</I> which allow you to define several different sets
 of options for each printer. You specify a printer instance using the
 slash (<CODE>/</CODE>) character:</P>
<UL>
<PRE>
<B>lpoptions -p laserjet/duplex -o sides=two-sided-long-edge ENTER</B>
<B>lpoptions -p laserjet/legal -o media=Legal ENTER</B>
</PRE>
</UL>
<P>The <CODE>lp</CODE> and lpr commands also understand this notation:</P>
<UL>
<PRE>
<B>lp -d laserjet/duplex filename ENTER</B>
<B>lpr -P laserjet/legal filename ENTER</B>
</PRE>
</UL>
<H2><A NAME="5_8">Removing Instances</A></H2>
<P>Use the <CODE>-x printer/instance</CODE> option to remove a printer
 instance that you no longer need:</P>
<UL>
<PRE>
<B>lpoptions -x laserjet ENTER</B>
<B>lpoptions -x laserjet/duplex ENTER</B>
<B>lpoptions -x laserjet/legal ENTER</B>
</PRE>
</UL>
<P>The <CODE>-x</CODE> option only removes the default options for that
 printer and instance; the original print queue will remain until
 deleted with the <CODE>lpadmin(8)</CODE> command by the administrator.</P>
<H1 ALIGN="RIGHT"><A NAME="LICENSE">A - Software License Agreement</A></H1>
<H2 ALIGN="CENTER"><A NAME="6_1">Common UNIX Printing System License
 Agreement</A></H2>
<P ALIGN="CENTER">Copyright 1997-2002 by Easy Software Products
<BR> 44141 AIRPORT VIEW DR STE 204
<BR> HOLLYWOOD, MARYLAND 20636-3111 USA
<BR>
<BR> Voice: +1.301.373.9600
<BR> Email:<A HREF="mailto:cups-info@cups.org"> cups-info@cups.org</A>
<BR> WWW:<A HREF="http://www.cups.org"> http://www.cups.org</A></P>
<H3><A NAME="6_1_1">Introduction</A></H3>
<P>The Common UNIX Printing System<SUP>TM</SUP>, (&quot;CUPS<SUP>TM</SUP>&quot;),
 is provided under the GNU General Public License (&quot;GPL&quot;) and GNU
 Library General Public License (&quot;LGPL&quot;), Version 2, with exceptions for
 Apple operating systems and the OpenSSL toolkit. A copy of the
 exceptions and licenses follow this introduction.</P>
<P>The GNU LGPL applies to the CUPS API library, located in the &quot;cups&quot;
 subdirectory of the CUPS source distribution and in the &quot;cups&quot; include
 directory and library files in the binary distributions. The GNU GPL
 applies to the remainder of the CUPS distribution, including the
 &quot;pdftops&quot; filter which is based upon Xpdf and the CUPS imaging library.</P>
<P>For those not familiar with the GNU GPL, the license basically allows
 you to:</P>
<UL>
<LI>Use the CUPS software at no charge.</LI>
<LI>Distribute verbatim copies of the software in source or binary form.</LI>
<LI>Sell verbatim copies of the software for a media fee, or sell
 support for the software.</LI>
<LI>Distribute or sell printer drivers and filters that use CUPS so long
 as source code is made available under the GPL.</LI>
</UL>
<P>What this license<B> does not</B> allow you to do is make changes or
 add features to CUPS and then sell a binary distribution without source
 code. You must provide source for any new drivers, changes, or
 additions to the software, and all code must be provided under the GPL
 or LGPL as appropriate. The only exceptions to this are the portions of
 the CUPS software covered by the Apple operating system license
 exceptions outlined later in this license agreement.</P>
<P>The GNU LGPL relaxes the &quot;link-to&quot; restriction, allowing you to
 develop applications that use the CUPS API library under other licenses
 and/or conditions as appropriate for your application.</P>
<H3><A NAME="6_1_2">License Exceptions</A></H3>
<P>In addition, as the copyright holder of CUPS, Easy Software Products
 grants the following special exceptions:</P>
<OL>
<LI><B>Apple Operating System Development License Exception</B>;
<OL TYPE="a">
<LI>Software that is developed by any person or entity for an Apple
 Operating System (&quot;Apple OS-Developed Software&quot;), including but not
 limited to Apple and third party printer drivers, filters, and backends
 for an Apple Operating System, that is linked to the CUPS imaging
 library or based on any sample filters or backends provided with CUPS
 shall not be considered to be a derivative work or collective work
 based on the CUPS program and is exempt from the mandatory source code
 release clauses of the GNU GPL. You may therefore distribute linked
 combinations of the CUPS imaging library with Apple OS-Developed
 Software without releasing the source code of the Apple OS-Developed
 Software. You may also use sample filters and backends provided with
 CUPS to develop Apple OS-Developed Software without releasing the
 source code of the Apple OS-Developed Software.</LI>
<LI>An Apple Operating System means any operating system software
 developed and/or marketed by Apple Computer, Inc., including but not
 limited to all existing releases and versions of Apple's Darwin, Mac OS
 X, and Mac OS X Server products and all follow-on releases and future
 versions thereof.</LI>
<LI>This exception is only available for Apple OS-Developed Software and
 does not apply to software that is distributed for use on other
 operating systems.</LI>
<LI>All CUPS software that falls under this license exception have the
 following text at the top of each source file:<BLOCKQUOTE>This file is
 subject to the Apple OS-Developed Software exception.</BLOCKQUOTE></LI>
</OL>
</LI>
<LI><B>OpenSSL Toolkit License Exception</B>;
<OL TYPE="a">
<LI>Easy Software Products explicitly allows the compilation and
 distribution of the CUPS software with the OpenSSL Toolkit.</LI>
</OL>
</LI>
</OL>
<P>No developer is required to provide these exceptions in a derived
 work.</P>
<H3><A NAME="6_1_3">Trademarks</A></H3>
<P>Easy Software Products has trademarked the Common UNIX Printing
 System, CUPS, and CUPS logo. These names and logos may be used freely
 in any direct port or binary distribution of CUPS. Please contract Easy
 Software Products for written permission to use them in derivative
 products. Our intention is to protect the value of these trademarks and
 ensure that any derivative product meets the same high-quality
 standards as the original.</P>
<H3><A NAME="6_1_4">Binary Distribution Rights</A></H3>
<P>Easy Software Products also sells rights to the CUPS source code
 under a binary distribution license for vendors that are unable to
 release source code for their drivers, additions, and modifications to
 CUPS under the GNU GPL and LGPL. For information please contact us at
 the address shown above.</P>
<P>The Common UNIX Printing System provides a &quot;pdftops&quot; filter that is
 based on the Xpdf software. For binary distribution licensing of this
 software, please contact:<BLOCKQUOTE> Derek B. Noonburg
<BR> Email:<A HREF="mailto:derekn@foolabs.com"> derekn@foolabs.com</A>
<BR> WWW:<A HREF="http://www.foolabs.com/xpdf/">
 http://www.foolabs.com/xpdf/</A></BLOCKQUOTE></P>
<H3><A NAME="6_1_5">Support</A></H3>
<P>Easy Software Products sells software support for CUPS as well as a
 commercial printing product based on CUPS called ESP Print Pro. You can
 find out more at our web site:</P>
<UL>
<PRE>
<A HREF="http://www.easysw.com/">http://www.easysw.com/</A>
</PRE>
</UL>

<!-- NEW PAGE -->
<H2><A NAME="6_2">GNU GENERAL PUBLIC LICENSE</A></H2>
<P>Version 2, June 1991</P>
<PRE>
Copyright 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Everyone is permitted to copy and distribute verbatim
copies of this license document, but changing it is not allowed.
</PRE>
<PRE>

</PRE>
<H4>Preamble</H4>
<P>The licenses for most software are designed to take away your freedom
 to share and change it. By contrast, the GNU General Public License is
 intended to guarantee your freedom to share and change free
 software--to make sure the software is free for all its users. This
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it. (Some other Free Software Foundation software is covered by
 the GNU Library General Public License instead.) You can apply it to
 your programs, too.</P>
<P>When we speak of free software, we are referring to freedom, not
 price. Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
 this service if you wish), that you receive source code or can get it
 if you want it, that you can change the software or use pieces of it in
 new free programs; and that you know you can do these things.</P>
<P>To protect your rights, we need to make restrictions that forbid
 anyone to deny you these rights or to ask you to surrender the rights.
 These restrictions translate to certain responsibilities for you if you
 distribute copies of the software, or if you modify it.</P>
<P>For example, if you distribute copies of such a program, whether
 gratis or for a fee, you must give the recipients all the rights that
 you have. You must make sure that they, too, receive or can get the
 source code. And you must show them these terms so they know their
 rights.</P>
<P>We protect your rights with two steps: (1) copyright the software,
 and (2) offer you this license which gives you legal permission to
 copy, distribute and/or modify the software.</P>
<P>Also, for each author's protection and ours, we want to make certain
 that everyone understands that there is no warranty for this free
 software. If the software is modified by someone else and passed on, we
 want its recipients to know that what they have is not the original, so
 that any problems introduced by others will not reflect on the original
 authors' reputations.</P>
<P>Finally, any free program is threatened constantly by software
 patents. We wish to avoid the danger that redistributors of a free
 program will individually obtain patent licenses, in effect making the
 program proprietary. To prevent this, we have made it clear that any
 patent must be licensed for everyone's free use or not licensed at all.</P>
<P>The precise terms and conditions for copying, distribution and
 modification follow.</P>
<H4>GNU GENERAL PUBLIC LICENSE
<BR> TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H4>
<OL START="0">
<LI>This License applies to any program or other work which contains a
 notice placed by the copyright holder saying it may be distributed
 under the terms of this General Public License. The &quot;Program&quot;, below,
 refers to any such program or work, and a &quot;work based on the Program&quot;
 means either the Program or any derivative work under copyright law:
 that is to say, a work containing the Program or a portion of it,
 either verbatim or with modifications and/or translated into another
 language. (Hereinafter, translation is included without limitation in
 the term &quot;modification&quot;.) Each licensee is addressed as &quot;you&quot;.
<P>Activities other than copying, distribution and modification are not
 covered by this License; they are outside its scope. The act of running
 the Program is not restricted, and the output from the Program is
 covered only if its contents constitute a work based on the Program
 (independent of having been made by running the Program). Whether that
 is true depends on what the Program does.</P>
<LI>You may copy and distribute verbatim copies of the Program's source
 code as you receive it, in any medium, provided that you conspicuously
 and appropriately publish on each copy an appropriate copyright notice
 and disclaimer of warranty; keep intact all the notices that refer to
 this License and to the absence of any warranty; and give any other
 recipients of the Program a copy of this License along with the
 Program.
<P>You may charge a fee for the physical act of transferring a copy, and
 you may at your option offer warranty protection in exchange for a fee.</P>
<LI>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 Section 1 above, provided
 that you also meet all of these conditions:
<OL TYPE="a">
<LI>You must cause the modified files to carry prominent notices stating
 that you changed the files and the date of any change.</LI>
<LI>You must cause any work that you distribute or publish, that in
 whole or in part contains or is derived from the Program or any part
 thereof, to be licensed as a whole at no charge to all third parties
 under the terms of this License.</LI>
<LI>if the modified program normally reads commands interactively when
 run, you must cause it, when started running for such interactive use
 in the most ordinary way, to print or display an announcement including
 an appropriate copyright notice and a notice that there is no warranty
 (or else, saying that you provide a warranty) and that users may
 redistribute the program under these conditions, and telling the user
 how to view a copy of this License. (Exception: 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.)</LI>
</OL>
<P>These requirements apply to the modified work as a whole. If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
 themselves, then this License, and its terms, do not apply to those
 sections when you distribute them as separate works. But when you
 distribute the same sections as part of a whole which is a work based
 on the Program, the distribution of the whole must be on the terms of
 this License, whose permissions for other licensees extend to the
 entire whole, and thus to each and every part regardless of who wrote
 it.</P>
<P>Thus, it is not the intent of this section to claim rights or contest
 your rights to work written entirely by you; rather, the intent is to
 exercise the right to control the distribution of derivative or
 collective works based on the Program.</P>
<P>In addition, mere aggregation of another work not based on the
 Program with the Program (or with a work based on the Program) on a
 volume of a storage or distribution medium does not bring the other
 work under the scope of this License.</P>
<LI>You may copy and distribute the Program (or a work based on it,
 under Section 2) in object code or executable form under the terms of
 Sections 1 and 2 above provided that you also do one of the following:
<OL TYPE="a">
<LI>Accompany it with the complete corresponding machine-readable source
 code, which must be distributed under the terms of Sections 1 and 2
 above on a medium customarily used for software interchange; or,</LI>
<LI>Accompany it with a written offer, valid for at least three years,
 to give any third party, for a charge no more than your cost of
 physically performing source distribution, a complete machine-readable
 copy of the corresponding source code, to be distributed under the
 terms of Sections 1 and 2 above on a medium customarily used for
 software interchange; or,</LI>
<LI>Accompany it with the information you received as to the offer to
 distribute corresponding source code. (This alternative is allowed only
 for noncommercial distribution and only if you received the program in
 object code or executable form with such an offer, in accord with
 Subsection b above.)</LI>
</OL>
<P>The source code for a work means the preferred form of the work for
 making modifications to it. For an executable work, complete source
 code means all the source code for all modules it contains, plus any
 associated interface definition files, plus the scripts used to control
 compilation and installation of the executable. However, as a special
 exception, the source code distributed need not include anything that
 is normally distributed (in either source or binary form) with the
 major components (compiler, kernel, and so on) of the operating system
 on which the executable runs, unless that component itself accompanies
 the executable.</P>
<P>If distribution of executable or object code is made by offering
 access to copy from a designated place, then offering equivalent access
 to copy the source code from the same place counts as distribution of
 the source code, even though third parties are not compelled to copy
 the source along with the object code.</P>
<LI>You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License. Any attempt otherwise
 to copy, modify, sublicense or distribute the Program is void, and will
 automatically terminate your rights under this License. However,
 parties who have received copies, or rights, from you under this
 License will not have their licenses terminated so long as such parties
 remain in full compliance.</LI>
<LI>You are not required to accept this License, since you have not
 signed it. However, nothing else grants you permission to modify or
 distribute the Program or its derivative works. These actions are
 prohibited by law if you do not accept this License. Therefore, by
 modifying or distributing the Program (or any work based on the
 Program), you indicate your acceptance of this License to do so, and
 all its terms and conditions for copying, distributing or modifying the
 Program or works based on it.</LI>
<LI>Each time you redistribute the Program (or any work based on the
 Program), the recipient automatically receives a license from the
 original licensor to copy, distribute or modify the Program subject to
 these terms and conditions. You may not impose any further restrictions
 on the recipients' exercise of the rights granted herein. You are not
 responsible for enforcing compliance by third parties to this License.</LI>
<LI>If, as a consequence of a court judgment or allegation of patent
 infringement or for any other reason (not limited to patent issues),
 conditions are imposed on you (whether by court order, agreement or
 otherwise) that contradict the conditions of this License, they do not
 excuse you from the conditions of this License. If you cannot
 distribute so as to satisfy simultaneously your obligations under this
 License and any other pertinent obligations, then as a consequence you
 may not distribute the Program at all. For example, if a patent license
 would not permit royalty-free redistribution of the Program by all
 those who receive copies directly or indirectly through you, then the
 only way you could satisfy both it and this License would be to refrain
 entirely from distribution of the Program.
<P>If any portion of this section is held invalid or unenforceable under
 any particular circumstance, the balance of the section is intended to
 apply and the section as a whole is intended to apply in other
 circumstances.</P>
<P>It is not the purpose of this section to induce you to infringe any
 patents or other property right claims or to contest validity of any
 such claims; this section has the sole purpose of protecting the
 integrity of the free software distribution system, which is
 implemented by public license practices. Many people have made generous
 contributions to the wide range of software distributed through that
 system in reliance on consistent application of that system; it is up
 to the author/donor to decide if he or she is willing to distribute
 software through any other system and a licensee cannot impose that
 choice.</P>
<P>This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.</P>
<LI>If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License may
 add an explicit geographical distribution limitation excluding those
 countries, so that distribution is permitted only in or among countries
 not thus excluded. In such case, this License incorporates the
 limitation as if written in the body of this License.</LI>
<LI>The Free Software Foundation may publish revised and/or new versions
 of the General Public License from time to time. Such new versions will
 be similar in spirit to the present version, but may differ in detail
 to address new problems or concerns.
<P>Each version is given a distinguishing version number. If the Program
 specifies a version number of this License which applies to it and &quot;any
 later version&quot;, you have the option of following the terms and
 conditions either of that version or of any later version published by
 the Free Software Foundation. If the Program does not specify a version
 number of this License, you may choose any version ever published by
 the Free Software Foundation.</P>
<LI>If you wish to incorporate parts of the Program into other free
 programs whose distribution conditions are different, write to the
 author to ask for permission. For software which is copyrighted by the
 Free Software Foundation, write to the Free Software Foundation; we
 sometimes make exceptions for this. Our decision will be guided by the
 two goals of preserving the free status of all derivatives of our free
 software and of promoting the sharing and reuse of software generally.</LI>
</LI>
</LI>
</LI>
</LI>
</LI>
</LI>
</OL>
<H4>NO WARRANTY</H4>
<OL START="11">
<LI>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
 PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER
 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
 YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
 NECESSARY SERVICING, REPAIR OR CORRECTION.</LI>
<LI>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
 AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
 PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
 FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 DAMAGES.</LI>
</OL>
<H4>END OF TERMS AND CONDITIONS</H4>

<!-- NEW PAGE -->
<H2><A NAME="6_3">GNU LIBRARY GENERAL PUBLIC LICENSE</A></H2>
<P>Version 2, June 1991</P>
<PRE>
Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

[This is the first released version of the library GPL.  It is
 numbered 2 because it goes with version 2 of the ordinary GPL.]
</PRE>
<H4>Preamble</H4>
<P>The licenses for most software are designed to take away your freedom
 to share and change it. By contrast, the GNU General Public Licenses
 are intended to guarantee your freedom to share and change free
 software--to make sure the software is free for all its users.</P>
<P>This license, the Library General Public License, applies to some
 specially designated Free Software Foundation software, and to any
 other libraries whose authors decide to use it. You can use it for your
 libraries, too.</P>
<P>When we speak of free software, we are referring to freedom, not
 price. Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
 this service if you wish), that you receive source code or can get it
 if you want it, that you can change the software or use pieces of it in
 new free programs; and that you know you can do these things.</P>
<P>To protect your rights, we need to make restrictions that forbid
 anyone to deny you these rights or to ask you to surrender the rights.
 These restrictions translate to certain responsibilities for you if you
 distribute copies of the library, or if you modify it.</P>
<P>For example, if you distribute copies of the library, whether gratis
 or for a fee, you must give the recipients all the rights that we gave
 you. You must make sure that they, too, receive or can get the source
 code. If you link a program with the library, you must provide complete
 object files to the recipients so that they can relink them with the
 library, after making changes to the library and recompiling it. And
 you must show them these terms so they know their rights.</P>
<P>Our method of protecting your rights has two steps: (1) copyright the
 library, and (2) offer you this license which gives you legal
 permission to copy, distribute and/or modify the library.</P>
<P>Also, for each distributor's protection, we want to make certain that
 everyone understands that there is no warranty for this free library.
 If the library is modified by someone else and passed on, we want its
 recipients to know that what they have is not the original version, so
 that any problems introduced by others will not reflect on the original
 authors' reputations.</P>
<P>Finally, any free program is threatened constantly by software
 patents. We wish to avoid the danger that companies distributing free
 software will individually obtain patent licenses, thus in effect
 transforming the program into proprietary software. To prevent this, we
 have made it clear that any patent must be licensed for everyone's free
 use or not licensed at all.</P>
<P>Most GNU software, including some libraries, is covered by the
 ordinary GNU General Public License, which was designed for utility
 programs. This license, the GNU Library General Public License, applies
 to certain designated libraries. This license is quite different from
 the ordinary one; be sure to read it in full, and don't assume that
 anything in it is the same as in the ordinary license.</P>
<P>The reason we have a separate public license for some libraries is
 that they blur the distinction we usually make between modifying or
 adding to a program and simply using it. Linking a program with a
 library, without changing the library, is in some sense simply using
 the library, and is analogous to running a utility program or
 application program. However, in a textual and legal sense, the linked
 executable is a combined work, a derivative of the original library,
 and the ordinary General Public License treats it as such.</P>
<P>Because of this blurred distinction, using the ordinary General
 Public License for libraries did not effectively promote software
 sharing, because most developers did not use the libraries. We
 concluded that weaker conditions might promote sharing better.</P>
<P>However, unrestricted linking of non-free programs would deprive the
 users of those programs of all benefit from the free status of the
 libraries themselves. This Library General Public License is intended
 to permit developers of non-free programs to use free libraries, while
 preserving your freedom as a user of such programs to change the free
 libraries that are incorporated in them. (We have not seen how to
 achieve this as regards changes in header files, but we have achieved
 it as regards changes in the actual functions of the Library.) The hope
 is that this will lead to faster development of free libraries.</P>
<P>The precise terms and conditions for copying, distribution and
 modification follow. Pay close attention to the difference between a
 &quot;work based on the library&quot; and a &quot;work that uses the library&quot;. The
 former contains code derived from the library, while the latter only
 works together with the library.</P>
<P>Note that it is possible for a library to be covered by the ordinary
 General Public License rather than by this special one.</P>
<H4>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H4>
<P><STRONG>0.</STRONG> This License Agreement applies to any software
 library which contains a notice placed by the copyright holder or other
 authorized party saying it may be distributed under the terms of this
 Library General Public License (also called &quot;this License&quot;). Each
 licensee is addressed as &quot;you&quot;.</P>
<P>A &quot;library&quot; means a collection of software functions and/or data
 prepared so as to be conveniently linked with application programs
 (which use some of those functions and data) to form executables.</P>
<P>The &quot;Library&quot;, below, refers to any such software library or work
 which has been distributed under these terms. A &quot;work based on the
 Library&quot; means either the Library or any derivative work under
 copyright law: that is to say, a work containing the Library or a
 portion of it, either verbatim or with modifications and/or translated
 straightforwardly into another language. (Hereinafter, translation is
 included without limitation in the term &quot;modification&quot;.)</P>
<P>&quot;Source code&quot; for a work means the preferred form of the work for
 making modifications to it. For a library, complete source code means
 all the source code for all modules it contains, plus any associated
 interface definition files, plus the scripts used to control
 compilation and installation of the library.</P>
<P>Activities other than copying, distribution and modification are not
 covered by this License; they are outside its scope. The act of running
 a program using the Library is not restricted, and output from such a
 program is covered only if its contents constitute a work based on the
 Library (independent of the use of the Library in a tool for writing
 it). Whether that is true depends on what the Library does and what the
 program that uses the Library does.</P>
<P><STRONG>1.</STRONG> You may copy and distribute verbatim copies of
 the Library's complete source code as you receive it, in any medium,
 provided that you conspicuously and appropriately publish on each copy
 an appropriate copyright notice and disclaimer of warranty; keep intact
 all the notices that refer to this License and to the absence of any
 warranty; and distribute a copy of this License along with the Library.</P>
<P>You may charge a fee for the physical act of transferring a copy, and
 you may at your option offer warranty protection in exchange for a fee.</P>
<P><STRONG>2.</STRONG> You may modify your copy or copies of the Library
 or any portion of it, thus forming a work based on the Library, and
 copy and distribute such modifications or work under the terms of
 Section 1 above, provided that you also meet all of these conditions:</P>
<OL TYPE="a">
<LI>The modified work must itself be a software library.
<P></P>
<LI>You must cause the files modified to carry prominent notices stating
 that you changed the files and the date of any change.
<P></P>
<LI>You must cause the whole of the work to be licensed at no charge to
 all third parties under the terms of this License.
<P></P>
<LI>If a facility in the modified Library refers to a function or a
 table of data to be supplied by an application program that uses the
 facility, other than as an argument passed when the facility is
 invoked, then you must make a good faith effort to ensure that, in the
 event an application does not supply such function or table, the
 facility still operates, and performs whatever part of its purpose
 remains meaningful.
<P>(For example, a function in a library to compute square roots has a
 purpose that is entirely well-defined independent of the application.
 Therefore, Subsection 2d requires that any application-supplied
 function or table used by this function must be optional: if the
 application does not supply it, the square root function must still
 compute square roots.)</P>
</LI>
</LI>
</LI>
</LI>
</OL>
<P>These requirements apply to the modified work as a whole. If
 identifiable sections of that work are not derived from the Library,
 and can be reasonably considered independent and separate works in
 themselves, then this License, and its terms, do not apply to those
 sections when you distribute them as separate works. But when you
 distribute the same sections as part of a whole which is a work based
 on the Library, the distribution of the whole must be on the terms of
 this License, whose permissions for other licensees extend to the
 entire whole, and thus to each and every part regardless of who wrote
 it.</P>
<P>Thus, it is not the intent of this section to claim rights or contest
 your rights to work written entirely by you; rather, the intent is to
 exercise the right to control the distribution of derivative or
 collective works based on the Library.</P>
<P>In addition, mere aggregation of another work not based on the
 Library with the Library (or with a work based on the Library) on a
 volume of a storage or distribution medium does not bring the other
 work under the scope of this License.</P>
<P><STRONG>3.</STRONG> You may opt to apply the terms of the ordinary
 GNU General Public License instead of this License to a given copy of
 the Library. To do this, you must alter all the notices that refer to
 this License, so that they refer to the ordinary GNU General Public
 License, version 2, instead of to this License. (If a newer version
 than version 2 of the ordinary GNU General Public License has appeared,
 then you can specify that version instead if you wish.) Do not make any
 other change in these notices.</P>
<P>Once this change is made in a given copy, it is irreversible for that
 copy, so the ordinary GNU General Public License applies to all
 subsequent copies and derivative works made from that copy.</P>
<P>This option is useful when you wish to copy part of the code of the
 Library into a program that is not a library.</P>
<P><STRONG>4.</STRONG> You may copy and distribute the Library (or a
 portion or derivative of it, under Section 2) in object code or
 executable form under the terms of Sections 1 and 2 above provided that
 you accompany it with the complete corresponding machine-readable
 source code, which must be distributed under the terms of Sections 1
 and 2 above on a medium customarily used for software interchange.</P>
<P>If distribution of object code is made by offering access to copy
 from a designated place, then offering equivalent access to copy the
 source code from the same place satisfies the requirement to distribute
 the source code, even though third parties are not compelled to copy
 the source along with the object code.</P>
<P><STRONG>5.</STRONG> A program that contains no derivative of any
 portion of the Library, but is designed to work with the Library by
 being compiled or linked with it, is called a &quot;work that uses the
 Library&quot;. Such a work, in isolation, is not a derivative work of the
 Library, and therefore falls outside the scope of this License.</P>
<P>However, linking a &quot;work that uses the Library&quot; with the Library
 creates an executable that is a derivative of the Library (because it
 contains portions of the Library), rather than a &quot;work that uses the
 library&quot;. The executable is therefore covered by this License. Section
 6 states terms for distribution of such executables.</P>
<P>When a &quot;work that uses the Library&quot; uses material from a header file
 that is part of the Library, the object code for the work may be a
 derivative work of the Library even though the source code is not.
 Whether this is true is especially significant if the work can be
 linked without the Library, or if the work is itself a library. The
 threshold for this to be true is not precisely defined by law.</P>
<P>If such an object file uses only numerical parameters, data structure
 layouts and accessors, and small macros and small inline functions (ten
 lines or less in length), then the use of the object file is
 unrestricted, regardless of whether it is legally a derivative work.
 (Executables containing this object code plus portions of the Library
 will still fall under Section 6.)</P>
<P>Otherwise, if the work is a derivative of the Library, you may
 distribute the object code for the work under the terms of Section 6.
 Any executables containing that work also fall under Section 6, whether
 or not they are linked directly with the Library itself.</P>
<P><STRONG>6.</STRONG> As an exception to the Sections above, you may
 also compile or link a &quot;work that uses the Library&quot; with the Library to
 produce a work containing portions of the Library, and distribute that
 work under terms of your choice, provided that the terms permit
 modification of the work for the customer's own use and reverse
 engineering for debugging such modifications.</P>
<P>You must give prominent notice with each copy of the work that the
 Library is used in it and that the Library and its use are covered by
 this License. You must supply a copy of this License. If the work
 during execution displays copyright notices, you must include the
 copyright notice for the Library among them, as well as a reference
 directing the user to the copy of this License. Also, you must do one
 of these things:</P>
<OL TYPE="a">
<LI>Accompany the work with the complete corresponding machine-readable
 source code for the Library including whatever changes were used in the
 work (which must be distributed under Sections 1 and 2 above); and, if
 the work is an executable linked with the Library, with the complete
 machine-readable &quot;work that uses the Library&quot;, as object code and/or
 source code, so that the user can modify the Library and then relink to
 produce a modified executable containing the modified Library. (It is
 understood that the user who changes the contents of definitions files
 in the Library will not necessarily be able to recompile the
 application to use the modified definitions.)
<P></P>
<LI>Accompany the work with a written offer, valid for at least three
 years, to give the same user the materials specified in Subsection 6a,
 above, for a charge no more than the cost of performing this
 distribution.
<P></P>
<LI>If distribution of the work is made by offering access to copy from
 a designated place, offer equivalent access to copy the above specified
 materials from the same place.
<P></P>
<LI>Verify that the user has already received a copy of these materials
 or that you have already sent this user a copy.</LI>
</LI>
</LI>
</LI>
</OL>
<P>For an executable, the required form of the &quot;work that uses the
 Library&quot; must include any data and utility programs needed for
 reproducing the executable from it. However, as a special exception,
 the source code distributed need not include anything that is normally
 distributed (in either source or binary form) with the major components
 (compiler, kernel, and so on) of the operating system on which the
 executable runs, unless that component itself accompanies the
 executable.</P>
<P>It may happen that this requirement contradicts the license
 restrictions of other proprietary libraries that do not normally
 accompany the operating system. Such a contradiction means you cannot
 use both them and the Library together in an executable that you
 distribute.</P>
<P><STRONG>7.</STRONG> You may place library facilities that are a work
 based on the Library side-by-side in a single library together with
 other library facilities not covered by this License, and distribute
 such a combined library, provided that the separate distribution of the
 work based on the Library and of the other library facilities is
 otherwise permitted, and provided that you do these two things:</P>
<OL TYPE="a">
<LI>Accompany the combined library with a copy of the same work based on
 the Library, uncombined with any other library facilities. This must be
 distributed under the terms of the Sections above.
<P></P>
<LI>Give prominent notice with the combined library of the fact that
 part of it is a work based on the Library, and explaining where to find
 the accompanying uncombined form of the same work.</LI>
</LI>
</OL>
<P><STRONG>8.</STRONG> You may not copy, modify, sublicense, link with,
 or distribute the Library except as expressly provided under this
 License. Any attempt otherwise to copy, modify, sublicense, link with,
 or distribute the Library is void, and will automatically terminate
 your rights under this License. However, parties who have received
 copies, or rights, from you under this License will not have their
 licenses terminated so long as such parties remain in full compliance.</P>
<P><STRONG>9.</STRONG> You are not required to accept this License,
 since you have not signed it. However, nothing else grants you
 permission to modify or distribute the Library or its derivative works.
 These actions are prohibited by law if you do not accept this License.
 Therefore, by modifying or distributing the Library (or any work based
 on the Library), you indicate your acceptance of this License to do so,
 and all its terms and conditions for copying, distributing or modifying
 the Library or works based on it.</P>
<P><STRONG>10.</STRONG> Each time you redistribute the Library (or any
 work based on the Library), the recipient automatically receives a
 license from the original licensor to copy, distribute, link with or
 modify the Library subject to these terms and conditions. You may not
 impose any further restrictions on the recipients' exercise of the
 rights granted herein. You are not responsible for enforcing compliance
 by third parties to this License.</P>
<P><STRONG>11.</STRONG> If, as a consequence of a court judgment or
 allegation of patent infringement or for any other reason (not limited
 to patent issues), conditions are imposed on you (whether by court
 order, agreement or otherwise) that contradict the conditions of this
 License, they do not excuse you from the conditions of this License. If
 you cannot distribute so as to satisfy simultaneously your obligations
 under this License and any other pertinent obligations, then as a
 consequence you may not distribute the Library at all. For example, if
 a patent license would not permit royalty-free redistribution of the
 Library by all those who receive copies directly or indirectly through
 you, then the only way you could satisfy both it and this License would
 be to refrain entirely from distribution of the Library.</P>
<P>If any portion of this section is held invalid or unenforceable under
 any particular circumstance, the balance of the section is intended to
 apply, and the section as a whole is intended to apply in other
 circumstances.</P>
<P>It is not the purpose of this section to induce you to infringe any
 patents or other property right claims or to contest validity of any
 such claims; this section has the sole purpose of protecting the
 integrity of the free software distribution system which is implemented
 by public license practices. Many people have made generous
 contributions to the wide range of software distributed through that
 system in reliance on consistent application of that system; it is up
 to the author/donor to decide if he or she is willing to distribute
 software through any other system and a licensee cannot impose that
 choice.</P>
<P>This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.</P>
<P><STRONG>12.</STRONG> If the distribution and/or use of the Library is
 restricted in certain countries either by patents or by copyrighted
 interfaces, the original copyright holder who places the Library under
 this License may add an explicit geographical distribution limitation
 excluding those countries, so that distribution is permitted only in or
 among countries not thus excluded. In such case, this License
 incorporates the limitation as if written in the body of this License.</P>
<P><STRONG>13.</STRONG> The Free Software Foundation may publish revised
 and/or new versions of the Library General Public License from time to
 time. Such new versions will be similar in spirit to the present
 version, but may differ in detail to address new problems or concerns.</P>
<P>Each version is given a distinguishing version number. If the Library
 specifies a version number of this License which applies to it and &quot;any
 later version&quot;, you have the option of following the terms and
 conditions either of that version or of any later version published by
 the Free Software Foundation. If the Library does not specify a license
 version number, you may choose any version ever published by the Free
 Software Foundation.</P>
<P><STRONG>14.</STRONG> If you wish to incorporate parts of the Library
 into other free programs whose distribution conditions are incompatible
 with these, write to the author to ask for permission. For software
 which is copyrighted by the Free Software Foundation, write to the Free
 Software Foundation; we sometimes make exceptions for this. Our
 decision will be guided by the two goals of preserving the free status
 of all derivatives of our free software and of promoting the sharing
 and reuse of software generally.</P>
<P><STRONG>NO WARRANTY</STRONG></P>
<P><STRONG>15.</STRONG> BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE,
 THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY
 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
 HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY &quot;AS IS&quot; WITHOUT
 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
 OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU
 ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</P>
<P><STRONG>16.</STRONG> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
 AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
 MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
 OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 DAMAGES.</P>
<H4>END OF TERMS AND CONDITIONS</H4>
</BODY>
</HTML>