| <!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-2003, All Rights Reserved"> |
| <META NAME="docnumber" CONTENT="CUPS-SUM-1.2.0"> |
| <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.2.0<BR> |
| Easy Software Products<BR> |
| Copyright 1997-2003, 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> ("CUPS<SUP>TM</SUP>") Version 1.2.0.</P> |
| <H2><A NAME="1_1">System Overview</A></H2> |
| <P>CUPS provides a portable printing layer for UNIX®-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 ("IPP") as the basis for |
| managing print jobs and queues. The Line Printer Daemon ("LPD") Server |
| Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are |
| also supported with reduced functionality. CUPS adds network printer |
| browsing and PostScript Printer Description ("PPD") 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> </TD><TH>Description</TH></TR> |
| <TR><TD> </TD></TR> |
| <TR VALIGN="TOP"><TD><CODE>lpstat</CODE> |
| <BR> <CODE>lpstat(1)</CODE></TD><TD> </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> </TD></TR> |
| <TR VALIGN="TOP"><TD><VAR>/var</VAR> |
| <BR><VAR> /usr/share/cups/data/testprint.ps</VAR></TD><TD> </TD><TD> |
| File and directory names.</TD></TR> |
| <TR><TD> </TD></TR> |
| <TR VALIGN="TOP"><TD NOWRAP><TT>Request ID is Printer-123</TT></TD><TD> |
| </TD><TD>Screen output.</TD></TR> |
| <TR><TD> </TD></TR> |
| <TR VALIGN="TOP"><TD NOWRAP><KBD>lp -d printer filename ENTER</KBD></TD><TD> |
| </TD><TD>Literal user input; special keys like <KBD>ENTER</KBD> are |
| in ALL CAPS.</TD></TR> |
| <TR><TD> </TD></TR> |
| <TR VALIGN="TOP"><TD>12.3</TD><TD> </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> </DD> |
| <DT>Mb</DT> |
| <DD>Megabytes, or 1048576 bytes |
| <BR> </DD> |
| <DT>Gb</DT> |
| <DD>Gigabytes, or 1073741824 bytes |
| <BR> </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> </DD> |
| <DT>CUPS Software Programmers Manual</DT> |
| <DD>A programmer guide for interfacing with and/or extending the CUPS |
| software. |
| <BR> </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® Windows® 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 ("HTTP") |
| 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 ("RIP") 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 ("LPD") 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 "name@server".</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 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, "Standard Printing Options"</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 "classified" label at |
| the top and bottom.</LI> |
| <LI><CODE>confidential</CODE> - A banner page with a "confidential" |
| label at the top and bottom.</LI> |
| <LI><CODE>secret</CODE> - A banner page with a "secret" 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 "top secret" label at |
| the top and bottom.</LI> |
| <LI><CODE>unclassified</CODE> - A banner page with an "unclassified" |
| 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 "printer drivers" 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, "Standard Printer |
| Options"</A>. Rather than specifying these options each time you print |
| a file, CUPS allows you to save them as "default" 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 <CODE>lpr</CODE> 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-2003 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:[email protected]"> [email protected]</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>, ("CUPS<SUP>TM</SUP>"), |
| is provided under the GNU General Public License ("GPL") and GNU |
| Library General Public License ("LGPL"), 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 "cups" |
| subdirectory of the CUPS source distribution and in the "cups" include |
| directory and library files in the binary distributions. The GNU GPL |
| applies to the remainder of the CUPS distribution, including the |
| "pdftops" 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 "link-to" 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 ("Apple OS-Developed Software"), 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 "pdftops" 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:[email protected]"> [email protected]</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> |
| <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 "Program", below, |
| refers to any such program or work, and a "work based on the Program" |
| 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 "modification".) Each licensee is addressed as "you". |
| <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 "any |
| later version", 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 "AS IS" 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 |
| "work based on the library" and a "work that uses the library". 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 "this License"). Each |
| licensee is addressed as "you".</P> |
| <P>A "library" 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 "Library", below, refers to any such software library or work |
| which has been distributed under these terms. A "work based on the |
| Library" 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 "modification".)</P> |
| <P>"Source code" 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 "work that uses the |
| Library". 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 "work that uses the Library" with the Library |
| creates an executable that is a derivative of the Library (because it |
| contains portions of the Library), rather than a "work that uses the |
| library". The executable is therefore covered by this License. Section |
| 6 states terms for distribution of such executables.</P> |
| <P>When a "work that uses the Library" 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 "work that uses the Library" 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 "work that uses the Library", 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 "work that uses the |
| Library" 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 "any |
| later version", 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 "AS IS" 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> |