1*3ff48bf5SDavid du Colombier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 27dd7cddfSDavid du Colombier<html> 37dd7cddfSDavid du Colombier<head> 47dd7cddfSDavid du Colombier<title>Details of Ghostscript output devices</title> 5*3ff48bf5SDavid du Colombier<!-- $Id: Devices.htm,v 1.34.2.4 2002/02/01 05:31:24 raph Exp $ --> 67dd7cddfSDavid du Colombier<!-- Originally: devices.txt --> 7*3ff48bf5SDavid du Colombier<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style"> 87dd7cddfSDavid du Colombier</head> 97dd7cddfSDavid du Colombier 107dd7cddfSDavid du Colombier<body> 117dd7cddfSDavid du Colombier<!-- [1.0 begin visible header] ============================================ --> 127dd7cddfSDavid du Colombier 137dd7cddfSDavid du Colombier<!-- [1.1 begin headline] ================================================== --> 147dd7cddfSDavid du Colombier 15*3ff48bf5SDavid du Colombier<h1>Details of Ghostscript output devices</h1> 167dd7cddfSDavid du Colombier 177dd7cddfSDavid du Colombier<!-- [1.1 end headline] ==================================================== --> 187dd7cddfSDavid du Colombier 197dd7cddfSDavid du Colombier<!-- [1.2 begin table of contents] ========================================= --> 207dd7cddfSDavid du Colombier 217dd7cddfSDavid du Colombier<h2>Table of contents</h2> 227dd7cddfSDavid du Colombier 237dd7cddfSDavid du Colombier<blockquote><ul> 247dd7cddfSDavid du Colombier<li><a href="#Measurements">Notes on measurements</a> 25*3ff48bf5SDavid du Colombier<li><a href="#IJS">IJS - Inkjet and other raster devices</a> 267dd7cddfSDavid du Colombier<li><a href="#Win">MS Windows printers</a> 27*3ff48bf5SDavid du Colombier<li><a href="#File_formats">File formats</a> 28*3ff48bf5SDavid du Colombier<ul> 297dd7cddfSDavid du Colombier<li><a href="#JFIF">JPEG file format (JFIF)</a> 30*3ff48bf5SDavid du Colombier<li><a href="#TIFF">TIFF file formats</a> 31*3ff48bf5SDavid du Colombier</ul> 32*3ff48bf5SDavid du Colombier<li><a href="#Display_devices">Display devices</a> 33*3ff48bf5SDavid du Colombier<ul> 34*3ff48bf5SDavid du Colombier<li><a href="#x11_devices">X Window System</a> 35*3ff48bf5SDavid du Colombier</ul> 36*3ff48bf5SDavid du Colombier<li><a href="#HP_ijs">HP Deskjet official drivers</a> 377dd7cddfSDavid du Colombier<li><a href="#HP8_color_inkjet">H-P 8xx, 1100, and 1600 color inkjet printers</a> 387dd7cddfSDavid du Colombier<ul> 397dd7cddfSDavid du Colombier<li><a href="#HP8_gdevcd8">Drivers contained in <b><tt>gdevcd8.c</tt></b></a> 407dd7cddfSDavid du Colombier<li><a href="#HP8_further_documentation">Further documentation</a> 417dd7cddfSDavid du Colombier</ul> 427dd7cddfSDavid du Colombier<li><a href="#HP880_color_inkjet">H-P 812, 815, 832, 880, 882, 895, and 970 color inkjet printers</a> 437dd7cddfSDavid du Colombier<ul> 447dd7cddfSDavid du Colombier<li><a href="#HP880_gdevcd8">Drivers contained in <b><tt>gdevcd8.c</tt></b></a> 457dd7cddfSDavid du Colombier<li><a href="#HP880_further_documentation">Further documentation</a> 467dd7cddfSDavid du Colombier</ul> 477dd7cddfSDavid du Colombier<li><a href="#HP_color_inkjet">Other H-P color inkjet printers</a> 487dd7cddfSDavid du Colombier<ul> 497dd7cddfSDavid du Colombier<li><a href="#HP_gdevcdj">Drivers contained in <b><tt>gdevcdj.c</tt></b></a> 507dd7cddfSDavid du Colombier<li><a href="#HP_paper_size">Default paper size</a> 517dd7cddfSDavid du Colombier<li><a href="#HP_limits">Deskjet physical limits</a> 527dd7cddfSDavid du Colombier<li><a href="#HP_command_line">Printer properties (command-line parameters)</a> 537dd7cddfSDavid du Colombier<ul> 547dd7cddfSDavid du Colombier<li><a href="#HP_bpp">Bits per pixel</a> 557dd7cddfSDavid du Colombier<li><a href="#HP_deskjet_properties">Deskjet properties</a> 567dd7cddfSDavid du Colombier<li><a href="#HP_paintjet_properties">Paintjet XL300 / Paintjet XL properties</a> 577dd7cddfSDavid du Colombier</ul> 587dd7cddfSDavid du Colombier<li><a href="#HP_gamma">Gamma correction</a> 597dd7cddfSDavid du Colombier<li><a href="#HP_resolution_enhance">HP's resolution-enhanced mode for Inkjet printers</a> 607dd7cddfSDavid du Colombier<li><a href="#HP_tips">General tips</a> 617dd7cddfSDavid du Colombier</ul> 62*3ff48bf5SDavid du Colombier<li><a href="#BJC_8200">Canon BJC-8200 printer</a> 63*3ff48bf5SDavid du Colombier<li><a href="#BJC">Other Canon BubbleJet (BJC) printers</a> 647dd7cddfSDavid du Colombier<ul> 657dd7cddfSDavid du Colombier<li><a href="#BJC_history">History</a> 667dd7cddfSDavid du Colombier<li><a href="#BJC_build">Configuring and building the BJC drivers</a> 677dd7cddfSDavid du Colombier<ul> 687dd7cddfSDavid du Colombier<li><a href="#BJC_defaults">Modify values in <b><tt>gdevbjc.h</tt></b></a> 697dd7cddfSDavid du Colombier<li><a href="#BJC_CMYK_RGB">CMYK-to-RGB color conversion</a> 707dd7cddfSDavid du Colombier<li><a href="#BJC_vertical_centering">Vertical centering of the printable area</a> 717dd7cddfSDavid du Colombier<li><a href="#BJC_margins">Page margins</a> 727dd7cddfSDavid du Colombier<li><a href="#BJC_compile">Makefile and compilation</a> 737dd7cddfSDavid du Colombier</ul> 747dd7cddfSDavid du Colombier<li><a href="#BJC_usage">Use of the drivers</a> 757dd7cddfSDavid du Colombier<ul> 767dd7cddfSDavid du Colombier<li><a href="#BJC_options">Supported Options and Defaults</a> 777dd7cddfSDavid du Colombier<li><a href="#BJC_device_info">Device information</a> 787dd7cddfSDavid du Colombier<li><a href="#BJC_HW_margins">Hardware margins</a> 797dd7cddfSDavid du Colombier<li><a href="#BJC_PPD">PostScript printer description (PPD) files</a> 807dd7cddfSDavid du Colombier<li><a href="#BJC_PPD_custom">Customizing the PPD files</a> 817dd7cddfSDavid du Colombier</ul> 827dd7cddfSDavid du Colombier<li><a href="#BJC_bugs">How to report problems</a> 837dd7cddfSDavid du Colombier<li><a href="#BJC_acks">Acknowledgements</a> 847dd7cddfSDavid du Colombier</ul> 857dd7cddfSDavid du Colombier<li><a href="#STC_epson_stylus">Epson Stylus color printer (see also <b><tt>uniprint</tt></b>)</a> 867dd7cddfSDavid du Colombier<ul> 877dd7cddfSDavid du Colombier<li><a href="#STC_usage">Usage</a> 887dd7cddfSDavid du Colombier<li><a href="#STC_options">Options</a> 897dd7cddfSDavid du Colombier<li><a href="#STC_FAQ">Application note and FAQ</a> 907dd7cddfSDavid du Colombier<ul> 917dd7cddfSDavid du Colombier<li><a href="#STC_FAQ_A3">Support for A3 paper</a> 927dd7cddfSDavid du Colombier<li><a href="#STC_FAQ_margins">Margins, PageSize</a> 937dd7cddfSDavid du Colombier<li><a href="#STC_FAQ_II_IIS_1500">Stylus Color II / IIs and 1500</a> 947dd7cddfSDavid du Colombier</ul> 957dd7cddfSDavid du Colombier<li><a href="#STC_recommendations">Recommendations</a> 967dd7cddfSDavid du Colombier<ul> 977dd7cddfSDavid du Colombier<li><a href="#STC_dither_experiment">Color dithering experiments with <b><tt>gdevstc</tt></b> 1.21</a> 987dd7cddfSDavid du Colombier</ul> 997dd7cddfSDavid du Colombier<li><a href="#STC_color_transform">Color transformation</a> 1007dd7cddfSDavid du Colombier<li><a href="#STC_CAM"><b><tt>ColorAdjustMatrix</tt></b></a> 1017dd7cddfSDavid du Colombier<li><a href="#STC_RGBCMYK_coding">RGB / CMYK coding and transfer, and <b><tt>BitsPerPixel</tt></b></a> 1027dd7cddfSDavid du Colombier<li><a href="#What_is_weaving">What is weaving?</a> 1037dd7cddfSDavid du Colombier<li><a href="#STC_print_modes">Print mode parameters</a> 1047dd7cddfSDavid du Colombier<ul> 1057dd7cddfSDavid du Colombier<li><a href="#STC_unidirectional"><b><tt>Unidirectional</tt></b></a> 1067dd7cddfSDavid du Colombier<li><a href="#STC_noweave"><b><tt>Microweave</tt></b>, <b><tt>noWeave</tt></b> and <b><tt>OutputCode=deltarow</tt></b></a> 1077dd7cddfSDavid du Colombier<li><a href="#STC_model"><b><tt>Model</tt></b></a> 1087dd7cddfSDavid du Colombier</ul> 1097dd7cddfSDavid du Colombier<li><a href="#STC_Pitfalls">Bugs and pitfalls</a> 1107dd7cddfSDavid du Colombier<li><a href="#STC_Tests">Tests</a> 1117dd7cddfSDavid du Colombier<ul> 1127dd7cddfSDavid du Colombier<li><a href="#STC_OutputCodes">The various OutputCodes</a> 1137dd7cddfSDavid du Colombier<li><a href="#STC_printing_time">Printing time related to other options</a> 1147dd7cddfSDavid du Colombier</ul> 1157dd7cddfSDavid du Colombier<li><a href="#STC_acks">Acknowledgments</a> 1167dd7cddfSDavid du Colombier</ul> 1177dd7cddfSDavid du Colombier<li><a href="#Uniprint">uniprint, a flexible unified printer driver</a> 1187dd7cddfSDavid du Colombier<ul> 1197dd7cddfSDavid du Colombier<li><a href="#Uni_state">The state of this driver</a> 1207dd7cddfSDavid du Colombier<li><a href="#Uni_background">Notes on <b><tt>uniprint</tt></b>'s background</a> 1217dd7cddfSDavid du Colombier<li><a href="#Uni_make_pfile">Godzilla's guide to the creation of Unified Printer Parameter (<b><tt>.upp</tt></b>) files</a> 1227dd7cddfSDavid du Colombier<li><a href="#Uni_all_parameters">All parameters in brief</a> 123*3ff48bf5SDavid du Colombier<li><a href="#Uni_honors"><b><tt>Uniprint</tt></b>'s Roll of Honor</a> 124*3ff48bf5SDavid du Colombier<li><a href="#Uni_weaving_howto"><b><tt>Uniprint</tt></b> weaving parameters howto</a></li> 125*3ff48bf5SDavid du Colombier<li><a href="#Uni_esc300">Extension to <b><tt>uniprint</tt></b> for the Epson Stylus Color 300</a></li> 1267dd7cddfSDavid du Colombier</ul> 1277dd7cddfSDavid du Colombier<li><a href="#SPARCprinter">Sun SPARCprinter</a> 1287dd7cddfSDavid du Colombier<ul> 1297dd7cddfSDavid du Colombier<li><a href="#SPARC_install">Installation</a> 1307dd7cddfSDavid du Colombier<li><a href="#SPARC_problems">Problems</a> 1317dd7cddfSDavid du Colombier</ul> 1327dd7cddfSDavid du Colombier<li><a href="#Apple">Apple dot matrix printer</a> 1337dd7cddfSDavid du Colombier</ul></blockquote> 1347dd7cddfSDavid du Colombier 1357dd7cddfSDavid du Colombier<!-- [1.2 end table of contents] =========================================== --> 1367dd7cddfSDavid du Colombier 1377dd7cddfSDavid du Colombier<!-- [1.3 begin hint] ====================================================== --> 1387dd7cddfSDavid du Colombier 1397dd7cddfSDavid du Colombier<p>For other information, see the <a href="Readme.htm">Ghostscript 1407dd7cddfSDavid du Colombieroverview</a>. You may also be interested in <a href="Make.htm">how to 1417dd7cddfSDavid du Colombierbuild Ghostscript</a> and <a href="Install.htm">install it</a>, as well as 1427dd7cddfSDavid du Colombierthe description of the <a href="Drivers.htm">driver interface</a>. 1437dd7cddfSDavid du Colombier 1447dd7cddfSDavid du Colombier<!-- [1.3 end hint] ======================================================== --> 1457dd7cddfSDavid du Colombier 1467dd7cddfSDavid du Colombier<hr> 1477dd7cddfSDavid du Colombier 1487dd7cddfSDavid du Colombier<!-- [1.0 end visible header] ============================================== --> 1497dd7cddfSDavid du Colombier 1507dd7cddfSDavid du Colombier<!-- [2.0 begin contents] ================================================== --> 1517dd7cddfSDavid du Colombier 152*3ff48bf5SDavid du Colombier<h2><a name="Measurements"></a>Notes on measurements</h2> 1537dd7cddfSDavid du Colombier 1547dd7cddfSDavid du Colombier<p> 1557dd7cddfSDavid du ColombierSeveral different important kinds of measures appear throughout this 1567dd7cddfSDavid du Colombierdocument: inches, centimeters and millimeters, points, and bits per pixel. 1577dd7cddfSDavid du Colombier 1587dd7cddfSDavid du Colombier<dl> 1597dd7cddfSDavid du Colombier<dt><b>Inches</b> 1607dd7cddfSDavid du Colombier<dd>1 inch equals 2.54 centimeters. The inch measure is sometimes 1617dd7cddfSDavid du Colombierrepresented by "<b>in</b>" or a quotation mark (<b>"</b>) to the right 162*3ff48bf5SDavid du Colombierof a measure, like <b>8.5in</b> or <b>8.5""</b>. Dots per inch, 1637dd7cddfSDavid du Colombier"<b>dpi</b>", are the common measure of printing resolution for dot-matrix, 1647dd7cddfSDavid du Colombierlaser, and ink-jet printers. U.S. "letter" paper is exactly 1657dd7cddfSDavid du Colombier8.5in×11in, approximately 21.6cm×27.9cm. (See in the usage 1667dd7cddfSDavid du Colombierdocumentation all the <a href="Use.htm#Known_paper_sizes">paper sizes 1677dd7cddfSDavid du Colombierpredefined in Ghostscript</a>.) 1687dd7cddfSDavid du Colombier 1697dd7cddfSDavid du Colombier<dt><b>Centimeters</b> and <b>millimeters</b> 1707dd7cddfSDavid du Colombier<dd>ISO standard paper sizes such as A4 and A3 are commonly represented in 1717dd7cddfSDavid du Colombierthe SI units of centimeters and millimeters. Centimeters are abbreviated 1727dd7cddfSDavid du Colombier"<b><tt>cm</tt></b>", millimeters "<b><tt>mm</tt></b>". ISO A4 paper is 1737dd7cddfSDavid du Colombierquite close to 21.0×29.7 centimeters (approximately 8.3×11.7 1747dd7cddfSDavid du Colombierinches). 1757dd7cddfSDavid du Colombier 1767dd7cddfSDavid du Colombier<dt><b>Points</b> 1777dd7cddfSDavid du Colombier<dd>Points are a measure traditionally used in the printing trade and now 1787dd7cddfSDavid du Colombierin PostScript, which specifies exactly 72 points per inch (approximately 1797dd7cddfSDavid du Colombier28.35 per centimeter). The <a href="Use.htm#Known_paper_sizes">paper sizes 1807dd7cddfSDavid du Colombierknown to Ghostscript</a> are defined in the initialization file 1817dd7cddfSDavid du Colombier<b><tt>gs_statd.ps</tt></b> in terms of points. 1827dd7cddfSDavid du Colombier 1837dd7cddfSDavid du Colombier<dt><b>Bits per pixel</b> 1847dd7cddfSDavid du Colombier<dd>Commonly abbreviated "<b><tt>bpp</tt></b>". 1857dd7cddfSDavid du Colombier</dl> 1867dd7cddfSDavid du Colombier 1877dd7cddfSDavid du Colombier<hr> 1887dd7cddfSDavid du Colombier 189*3ff48bf5SDavid du Colombier<h2><a name="IJS"></a>IJS - Inkjet and other raster devices</h2> 1907dd7cddfSDavid du Colombier 191*3ff48bf5SDavid du Colombier<p> 192*3ff48bf5SDavid du ColombierIJS is a relatively new initiative to improve the quality and ease of 193*3ff48bf5SDavid du Colombieruse of inkjet printing with Ghostscript. Using IJS, you can add new 194*3ff48bf5SDavid du Colombierdrivers, or upgrade existing ones, without recompiling Ghostscript. 195*3ff48bf5SDavid du ColombierAll driver authors are encouraged to adapt their drivers for IJS, and 196*3ff48bf5SDavid du Colombierif there is an IJS driver available for your printer, it should be 197*3ff48bf5SDavid du Colombieryour first choice. 198*3ff48bf5SDavid du Colombier</p> 199*3ff48bf5SDavid du Colombier 200*3ff48bf5SDavid du Colombier<p>Please see the <a href="http://www.linuxprinting.org/ijs/">IJS web 201*3ff48bf5SDavid du Colombierpage</a> for more information about IJS, including a listing of 202*3ff48bf5SDavid du ColombierIJS-compatible drivers. 203*3ff48bf5SDavid du Colombier</p> 204*3ff48bf5SDavid du Colombier 205*3ff48bf5SDavid du Colombier<p> 206*3ff48bf5SDavid du ColombierA typical command line for IJS is: 207*3ff48bf5SDavid du Colombier</p> 208*3ff48bf5SDavid du Colombier 209*3ff48bf5SDavid du Colombier<blockquote> 210*3ff48bf5SDavid du Colombier<b><tt> 211*3ff48bf5SDavid du Colombiergs -DSAFER -sDEVICE=ijs -sIjsServer=hpijs 212*3ff48bf5SDavid du Colombier -sDeviceManufacturer=HEWLETT-PACKARD -sDeviceModel='DESKJET 990' 213*3ff48bf5SDavid du Colombier -DIjsUseOutputFD -sOutputFile=/dev/usb/lp1 -DNOPAUSE -- 214*3ff48bf5SDavid du Colombier examples/tiger.eps 215*3ff48bf5SDavid du Colombier</tt></b> 216*3ff48bf5SDavid du Colombier</blockquote> 217*3ff48bf5SDavid du Colombier 218*3ff48bf5SDavid du Colombier 219*3ff48bf5SDavid du Colombier<p> 220*3ff48bf5SDavid du ColombierIndividual IJS command line parameters are as follows: 221*3ff48bf5SDavid du Colombier</p> 222*3ff48bf5SDavid du Colombier 223*3ff48bf5SDavid du Colombier<dl> 224*3ff48bf5SDavid du Colombier<dt><b><tt>-sIjsServer=</tt></b><em>{path}</em> 225*3ff48bf5SDavid du Colombier<dd>Sets the pathname for the IJS server (ie printer driver). 226*3ff48bf5SDavid du ColombierGhostscript will spawn a new process for this driver, and communicate 227*3ff48bf5SDavid du Colombierwith it using the IJS protocol. The pathname need not be absolute, 228*3ff48bf5SDavid du Colombieras the PATH environment variable is searched, but it's probably a good 229*3ff48bf5SDavid du Colombieridea for robustness and security. Note also that if -dSAFER is not 230*3ff48bf5SDavid du Colombierspecified, it's possible for PostScript code to set this parameter, 231*3ff48bf5SDavid du Colombierso it can cause arbitrary code to be executed. See the section on <a 232*3ff48bf5SDavid du Colombierhref="Use.htm#Security">Security</a> for more information. 233*3ff48bf5SDavid du Colombier</dl> 234*3ff48bf5SDavid du Colombier 235*3ff48bf5SDavid du Colombier<dl> 236*3ff48bf5SDavid du Colombier<dt><b><tt>-sDeviceManufacturer=</tt></b><em>{name}</em> 237*3ff48bf5SDavid du Colombier<dt><b><tt>-sDeviceModel=</tt></b><em>{name}</em> 238*3ff48bf5SDavid du Colombier<dd>These parameters select the device according to IEEE-1284 standard 239*3ff48bf5SDavid du Colombierdevice ID strings. In general, consult the documentation for the 240*3ff48bf5SDavid du Colombierdriver to find the appropriate settings. Note that, if the value 241*3ff48bf5SDavid du Colombiercontains a space, you'll want to quote the value in your shell, as 242*3ff48bf5SDavid du Colombierin the example above. 243*3ff48bf5SDavid du Colombier</dl> 244*3ff48bf5SDavid du Colombier 245*3ff48bf5SDavid du Colombier<dl> 246*3ff48bf5SDavid du Colombier<dt><b><tt>-sIjsParams=</tt></b><em>{params}</em> 247*3ff48bf5SDavid du Colombier<dd>This parameter allows you to set arbitrary IJS parameters on 248*3ff48bf5SDavid du Colombierthe IJS driver. The format is a comma-separated list of 249*3ff48bf5SDavid du Colombier<b><tt>key=value</tt></b> pairs. If it is necessary to send a 250*3ff48bf5SDavid du Colombiervalue containing a comma or backslash, it can be escaped with 251*3ff48bf5SDavid du Colombiera backslash. Thus, <b><tt>'-sIjsParams=Foo=bar,Baz=a\,b'</tt></b> sets 252*3ff48bf5SDavid du Colombierthe parameter Foo to "bar", and Baz to "a,b". 253*3ff48bf5SDavid du Colombier</dl> 254*3ff48bf5SDavid du Colombier 255*3ff48bf5SDavid du Colombier<dl> 256*3ff48bf5SDavid du Colombier<dt><b><tt>-dIjsUseOutputFD</tt></b> 257*3ff48bf5SDavid du Colombier<dd>This flag indicates that Ghostscript should open the output file 258*3ff48bf5SDavid du Colombierand pass a file descriptor to the server. If not set, Ghostscript 259*3ff48bf5SDavid du Colombiersimply passes the filename set in OutputFile to the server. In most 260*3ff48bf5SDavid du Colombiercases, this flag won't matter, but if you have a driver which works 261*3ff48bf5SDavid du Colombieronly with OutputFD (such as hpijs 1.0.2), or if you're using the 262*3ff48bf5SDavid du Colombier-sOutputFile="|cmd" syntax, you'll need to set it. 263*3ff48bf5SDavid du Colombier</dl> 264*3ff48bf5SDavid du Colombier 265*3ff48bf5SDavid du Colombier<dl> 266*3ff48bf5SDavid du Colombier<dt><b><tt>-dBitsPerSample=</tt></b><em>N</em> 267*3ff48bf5SDavid du Colombier<dd>This parameter controls the number of bits per sample. The 268*3ff48bf5SDavid du Colombierdefault value of 8 should be appropriate for most work. For monochrome 269*3ff48bf5SDavid du Colombierimages, use -dBitsPerSample=1. 270*3ff48bf5SDavid du Colombier</dl> 271*3ff48bf5SDavid du Colombier 272*3ff48bf5SDavid du Colombier<p>Generic Ghostscript options that are particularly relevant for IJS 273*3ff48bf5SDavid du Colombierare summarized below: 274*3ff48bf5SDavid du Colombier</p> 275*3ff48bf5SDavid du Colombier 276*3ff48bf5SDavid du Colombier<dl> 277*3ff48bf5SDavid du Colombier<dt><b><tt>-r</tt></b><em>number</em> 278*3ff48bf5SDavid du Colombier<br><b><tt>-r</tt></b><em>number1</em><b><tt>x</tt></b><em>number2</em> 279*3ff48bf5SDavid du Colombier<dd>Sets the resolution, in dpi. If the resolution is not specified, 280*3ff48bf5SDavid du ColombierGhostscript queries the IJS server to determine the preferred resolution. 281*3ff48bf5SDavid du ColombierWhen the resolution is specified, it overrides the value (if any) 282*3ff48bf5SDavid du Colombierpreferred by the IJS server. 283*3ff48bf5SDavid du Colombier</dl> 284*3ff48bf5SDavid du Colombier 285*3ff48bf5SDavid du Colombier<dl> 286*3ff48bf5SDavid du Colombier<dt><b><tt>-dDuplex</tt></b> 287*3ff48bf5SDavid du Colombier<dt><b><tt>-dTumble</tt></b> 288*3ff48bf5SDavid du Colombier<dd>These flags enable duplex (two-sided) printing. Tumble controls 289*3ff48bf5SDavid du Colombierthe orientation. When Tumble is false, the pages 290*3ff48bf5SDavid du Colombierare oriented suitably at the left or right. When Tumble is true, 291*3ff48bf5SDavid du Colombierthe pages are oriented suitably for binding at the top or 292*3ff48bf5SDavid du Colombierbottom. 293*3ff48bf5SDavid du Colombier</dl> 294*3ff48bf5SDavid du Colombier 295*3ff48bf5SDavid du Colombier<dl> 296*3ff48bf5SDavid du Colombier<dt><b><tt>-sProcessColorModel=</tt></b><em>{name}</em> 297*3ff48bf5SDavid du Colombier<dd>Use this flag to select the process color model. Suitable values 298*3ff48bf5SDavid du Colombierinclude DeviceGray, DeviceRGB, and DeviceCMYK. 299*3ff48bf5SDavid du Colombier</dl> 300*3ff48bf5SDavid du Colombier 301*3ff48bf5SDavid du Colombier<h3>Building IJS</h3> 302*3ff48bf5SDavid du Colombier 303*3ff48bf5SDavid du Colombier<p> IJS is included by default on Unix gcc builds, and also in 304*3ff48bf5SDavid du Colombierautoconf'ed builds. Others may need some makefile tweaking. First, 305*3ff48bf5SDavid du Colombiermake sure the IJS device is selected: 306*3ff48bf5SDavid du Colombier 307*3ff48bf5SDavid du Colombier<blockquote> 308*3ff48bf5SDavid du ColombierDEVICE_DEVS2=$(DD)ijs.dev 309*3ff48bf5SDavid du Colombier</blockquote> 310*3ff48bf5SDavid du Colombier 311*3ff48bf5SDavid du Colombier<p> Next, make sure that the path and execution type are set in 312*3ff48bf5SDavid du Colombierthe toplevel makefile. The values for Unix are as follows: 313*3ff48bf5SDavid du Colombier 314*3ff48bf5SDavid du Colombier<blockquote> 315*3ff48bf5SDavid du ColombierIJSSRCDIR=ijs 316*3ff48bf5SDavid du ColombierIJSEXECTYPE=unix 317*3ff48bf5SDavid du Colombier</blockquote> 318*3ff48bf5SDavid du Colombier 319*3ff48bf5SDavid du Colombier<p> At present, "unix" and "win" are the only supported values for 320*3ff48bf5SDavid du ColombierIJSEXECTYPE. If neither sounds appropriate for your system, it's 321*3ff48bf5SDavid du Colombierpossible that more porting work is needed. 322*3ff48bf5SDavid du Colombier 323*3ff48bf5SDavid du Colombier<p> Last, make sure that ijs.mak is included in the toplevel makefile. 324*3ff48bf5SDavid du ColombierIt should be present right after the include of icclib.mak. 325*3ff48bf5SDavid du Colombier 326*3ff48bf5SDavid du Colombier<p> IJS is not inherently platform-specific. We're very much interested 327*3ff48bf5SDavid du Colombierin taking patches from people who have ported it to non-mainstream 328*3ff48bf5SDavid du Colombierplatforms. And once it's built, you won't have to recompile Ghostscript 329*3ff48bf5SDavid du Colombierto support new drivers! 330*3ff48bf5SDavid du Colombier 331*3ff48bf5SDavid du Colombier<h2><a name="Win"></a>MS Windows printers</h2> 3329a747e4fSDavid du Colombier 3337dd7cddfSDavid du Colombier<p> 3347dd7cddfSDavid du ColombierThis section was written by Russell Lang, the author of Ghostscript's 3357dd7cddfSDavid du ColombierMS Windows-specific printer driver, and updated by 3367dd7cddfSDavid du Colombier<a href="mailto:Pierre.Arnaud@opac.ch">Pierre Arnaud</a>, 3377dd7cddfSDavid du Colombierthe current maintainer. 3387dd7cddfSDavid du Colombier</p> 3397dd7cddfSDavid du Colombier 3407dd7cddfSDavid du Colombier<p> 3417dd7cddfSDavid du ColombierThe <b><tt>mswinpr2</tt></b> device uses MS Windows printer drivers, and 3427dd7cddfSDavid du Colombierthus should work with any printer with device-independent bitmap (DIB) 3437dd7cddfSDavid du Colombierraster capabilities. The printer resolution cannot be selected directly 3447dd7cddfSDavid du Colombierusing PostScript commands from Ghostscript: use the printer setup in the 3457dd7cddfSDavid du ColombierControl Panel instead. It is however possible to specify a maximum resolution 3467dd7cddfSDavid du Colombierfor the printed document (see below). 3477dd7cddfSDavid du Colombier</p> 3487dd7cddfSDavid du Colombier 3497dd7cddfSDavid du Colombier<p> 3507dd7cddfSDavid du ColombierIf no Windows printer name is specified in <b><tt>-sOutputFile</tt></b>, 3517dd7cddfSDavid du ColombierGhostscript prompts for a Windows printer using the standard Print Setup 3527dd7cddfSDavid du Colombierdialog box. You must set the orientation to Portrait and the page size to 3537dd7cddfSDavid du Colombierthat expected by Ghostscript; otherwise the image will be clipped. 3547dd7cddfSDavid du ColombierGhostscript sets the physical device size to that of the Windows printer 3557dd7cddfSDavid du Colombierdriver, but it does not update the PostScript clipping path. 3567dd7cddfSDavid du Colombier</p> 3577dd7cddfSDavid du Colombier 3587dd7cddfSDavid du Colombier<p> 3597dd7cddfSDavid du ColombierIf a Windows printer name is specified in <b><tt>-sOutputFile</tt></b> using 3607dd7cddfSDavid du Colombierthe format <tt>"\\spool\printer_name"</tt>, for instance 3617dd7cddfSDavid du Colombier</p> 3627dd7cddfSDavid du Colombier 3637dd7cddfSDavid du Colombier<blockquote><b><tt> 3647dd7cddfSDavid du Colombiergs ... -sOutputFile="\\spool\Apple LaserWriter II NT" 3657dd7cddfSDavid du Colombier</tt></b></blockquote> 3667dd7cddfSDavid du Colombier 3677dd7cddfSDavid du Colombier<p> 3687dd7cddfSDavid du Colombierthen Ghostscript attempts to open the Windows printer without prompting 3697dd7cddfSDavid du Colombier(except, of course, if the printer is connected to <b><tt>FILE:</tt></b>). 3707dd7cddfSDavid du ColombierGhostscript attempts to set the Windows printer page size and orientation 3717dd7cddfSDavid du Colombierto match that expected by Ghostscript, but doesn't always succeed. It uses 3727dd7cddfSDavid du Colombierthis algorithm: 3737dd7cddfSDavid du Colombier</p> 3747dd7cddfSDavid du Colombier 3757dd7cddfSDavid du Colombier<ol> 3767dd7cddfSDavid du Colombier<li>If the requested page size matches one of the Windows standard page 3777dd7cddfSDavid du Colombiersizes +/- 2mm, request that standard size.</li> 3787dd7cddfSDavid du Colombier 3797dd7cddfSDavid du Colombier<li>Otherwise if the requested page size matches one of the Windows 3807dd7cddfSDavid du Colombierstandard page sizes in landscape mode, ask for that standard size in 3817dd7cddfSDavid du Colombierlandscape.</li> 3827dd7cddfSDavid du Colombier 3837dd7cddfSDavid du Colombier<li>Otherwise ask for the page size by specifying only its dimensions.</li> 3847dd7cddfSDavid du Colombier 3857dd7cddfSDavid du Colombier<li>Merge the requests above with the defaults. If the printer driver 3867dd7cddfSDavid du Colombierignores the requested paper size, no error is generated: it will print on 3877dd7cddfSDavid du Colombierthe wrong paper size.</li> 3887dd7cddfSDavid du Colombier 3897dd7cddfSDavid du Colombier<li>Open the Windows printer with the merged orientation and size.</li> 3907dd7cddfSDavid du Colombier</ol> 3917dd7cddfSDavid du Colombier 3927dd7cddfSDavid du Colombier<p> 3937dd7cddfSDavid du ColombierThe Ghostscript physical device size is updated to match the Windows 3947dd7cddfSDavid du Colombierprinter physical device. 3957dd7cddfSDavid du Colombier</p> 3967dd7cddfSDavid du Colombier 397*3ff48bf5SDavid du Colombier<h3><a name="Win_properties"></a>Supported command-line parameters</h3> 3987dd7cddfSDavid du Colombier 3997dd7cddfSDavid du Colombier<p> 4007dd7cddfSDavid du ColombierThe <b><tt>mswinpr2</tt></b> device supports a limited number of command-line 4017dd7cddfSDavid du Colombierparameters (e.g. it does not support setting the printer resolution). The 4027dd7cddfSDavid du Colombierrecognized parameters are the following: 4037dd7cddfSDavid du Colombier</p> 4047dd7cddfSDavid du Colombier 4057dd7cddfSDavid du Colombier<blockquote> 4067dd7cddfSDavid du Colombier<dl> 4077dd7cddfSDavid du Colombier<dt><b><tt>-sDEVICE=mswinpr2</tt></b></dt> 4087dd7cddfSDavid du Colombier<dd>Selects the MS Windows printer device. If Ghostscript was not 4097dd7cddfSDavid du Colombiercompiled with this device as the default output device, you have to specify 4107dd7cddfSDavid du Colombierit on the command line.</dd> 4117dd7cddfSDavid du Colombier 4127dd7cddfSDavid du Colombier<dt><b><tt>-dNoCancel</tt></b></dt> 4137dd7cddfSDavid du Colombier<dd>Hides the progress dialog, which shows the percent of the document page 4147dd7cddfSDavid du Colombieralready processed and also provides a <em>cancel</em> button. This option 4157dd7cddfSDavid du Colombieris useful if GS is intended to print pages in the background, without any 4167dd7cddfSDavid du Colombieruser intervention.</dd> 4177dd7cddfSDavid du Colombier 4187dd7cddfSDavid du Colombier<dt><b><tt>-sOutputFile=</tt></b><b>"\\spool\<em>printer_name</em>"</b></dt> 4197dd7cddfSDavid du Colombier<dd>Specifies which printer should be used. The <em>printer_name</em> should be 4207dd7cddfSDavid du Colombiertyped exactly as it appears in the Printers control panel, including spaces.</dd> 4217dd7cddfSDavid du Colombier 4227dd7cddfSDavid du Colombier</dl> 4237dd7cddfSDavid du Colombier</blockquote> 4247dd7cddfSDavid du Colombier 425*3ff48bf5SDavid du Colombier<h3><a name="Win_options"></a>Supported options (device properties)</h3> 4267dd7cddfSDavid du Colombier 4277dd7cddfSDavid du Colombier<p> 4287dd7cddfSDavid du ColombierSeveral extra options exist which cannot be set through the command-line, 4297dd7cddfSDavid du Colombierbut only by executing the appropriate PostScript setup code. These options 4307dd7cddfSDavid du Colombiercan be set through the inclusion of a setup file on the command-line: 4317dd7cddfSDavid du Colombier</p> 4327dd7cddfSDavid du Colombier 4337dd7cddfSDavid du Colombier<blockquote><b><tt> 4347dd7cddfSDavid du Colombiergs ... setup.ps ... 4357dd7cddfSDavid du Colombier</tt></b></blockquote> 4367dd7cddfSDavid du Colombier 4377dd7cddfSDavid du Colombier<p> 4387dd7cddfSDavid du ColombierThe <tt>setup.ps</tt> file is responsible for the device selection, therefore 4397dd7cddfSDavid du Colombieryou should not specify the <b><tt>-sDEVICE=mswinpr2</tt></b> option on the 4407dd7cddfSDavid du Colombiercommand-line if you are using such a setup file. Here is an example of such 4417dd7cddfSDavid du Colombiera setup file: 4427dd7cddfSDavid du Colombier</p> 4437dd7cddfSDavid du Colombier 4447dd7cddfSDavid du Colombier<blockquote><pre> 4457dd7cddfSDavid du Colombiermark 4467dd7cddfSDavid du Colombier /NoCancel true % don't show the cancel dialog 4477dd7cddfSDavid du Colombier /BitsPerPixel 4 % force 4 bits/pixel 4487dd7cddfSDavid du Colombier /UserSettings 4497dd7cddfSDavid du Colombier << 4507dd7cddfSDavid du Colombier /DocumentName (Ghostscript document) % name for the Windows spooler 4517dd7cddfSDavid du Colombier /MaxResolution 360 % maximum document resolution 4527dd7cddfSDavid du Colombier >> 4537dd7cddfSDavid du Colombier (mswinpr2) finddevice % select the Windows device driver 4547dd7cddfSDavid du Colombier putdeviceprops 4557dd7cddfSDavid du Colombiersetdevice 4567dd7cddfSDavid du Colombier</pre></blockquote> 4577dd7cddfSDavid du Colombier 4587dd7cddfSDavid du Colombier<p> 4597dd7cddfSDavid du ColombierThis example disables the progress dialog (same as the <tt><b>-dNoCancel</b></tt> 4607dd7cddfSDavid du Colombieroption), forces a 4 bits/pixel output resolution and specifies additional user 4617dd7cddfSDavid du Colombiersettings, such as the document name (which will be displayed by the Windows 4627dd7cddfSDavid du Colombierspooler for the queued document) and the maximum resolution (here 360 dpi). 4637dd7cddfSDavid du ColombierIt then finds and selects an instance of the MS Windows device printer 4647dd7cddfSDavid du Colombierand activates it. This will show the standard printer dialog, since no 4657dd7cddfSDavid du Colombier<tt><b>/OutputFile</b></tt> property was specified. 4667dd7cddfSDavid du Colombier</p> 4677dd7cddfSDavid du Colombier 4687dd7cddfSDavid du Colombier<p> 4697dd7cddfSDavid du ColombierThe following options are available: 4707dd7cddfSDavid du Colombier</p> 4717dd7cddfSDavid du Colombier 4727dd7cddfSDavid du Colombier<blockquote> 4737dd7cddfSDavid du Colombier<dl> 474*3ff48bf5SDavid du Colombier<dt><b><tt>/NoCancel <em>boolean</em></tt></b></dt> 4757dd7cddfSDavid du Colombier<dd>Disables (hides) the progress dialog when set to <em><tt>true</tt></em> or 476*3ff48bf5SDavid du Colombiershow the progress dialog if not set or set to <em><tt>false</tt></em>.</dd> 4777dd7cddfSDavid du Colombier 478*3ff48bf5SDavid du Colombier<dt><b><tt>/OutputFile <em>string</em></tt></b></dt> 4797dd7cddfSDavid du Colombier<dd>Specifies which printer should be used. The string should be of the form 4807dd7cddfSDavid du Colombier<tt><b>\\spool\<em>printer_name</em></b></tt>, where the <em>printer_name</em> should be 481*3ff48bf5SDavid du Colombiertyped exactly as it appears in the Printers control panel, including spaces.</dd> 4827dd7cddfSDavid du Colombier 483*3ff48bf5SDavid du Colombier<dt><b><tt>/QueryUser <em>integer</em></tt></b></dt> 4847dd7cddfSDavid du Colombier<dd>Shows the standard printer dialog (<tt><b>1</b></tt> or any other value), 4857dd7cddfSDavid du Colombiershows the <em>printer setup dialog</em> (<tt><b>2</b></tt>) or selects the 486*3ff48bf5SDavid du Colombier<em>default Windows printer</em> without any user interaction (<tt><b>3</b></tt>).</dd> 4877dd7cddfSDavid du Colombier 488*3ff48bf5SDavid du Colombier<dt><b><tt>/BitsPerPixel <em>integer</em></tt></b></dt> 4897dd7cddfSDavid du Colombier<dd>Sets the device depth to the specified bits per pixel. Currently supported 4907dd7cddfSDavid du Colombiervalues are <tt><b>1</b></tt> (monochrome), <tt><b>4</b></tt> (CMYK with screening 4917dd7cddfSDavid du Colombierhandled by Ghostscript) and <tt><b>24</b></tt> (True Color, dithering handled by 492*3ff48bf5SDavid du Colombierthe Windows printer driver; this option can produce huge print jobs).</dd> 4937dd7cddfSDavid du Colombier 494*3ff48bf5SDavid du Colombier<dt><b><tt>/UserSettings <em>dict</em></tt></b></dt> 4957dd7cddfSDavid du Colombier<dd>Sets additional options, defined in a dictionary. The following properties can 496*3ff48bf5SDavid du Colombierbe set: 4977dd7cddfSDavid du Colombier 4987dd7cddfSDavid du Colombier<dl> 499*3ff48bf5SDavid du Colombier<dt><b><tt>/DocumentName <em>string</em></tt></b></dt> 5007dd7cddfSDavid du Colombier<dd>Defines the user friendly document name which will be displayed by the 501*3ff48bf5SDavid du ColombierWindows spooler.</dd> 5027dd7cddfSDavid du Colombier 503*3ff48bf5SDavid du Colombier<dt><b><tt>/DocumentRange <em>[n1 n2]</em></tt></b></dt> 5047dd7cddfSDavid du Colombier<dd>Defines the range of pages contained in the document. This information can 505*3ff48bf5SDavid du Colombierbe used by the printer dialog, in conjunction with the following property.</dd> 5067dd7cddfSDavid du Colombier 507*3ff48bf5SDavid du Colombier<dt><b><tt>/SelectedRange <em>[n1 n2]</em></tt></b></dt> 5087dd7cddfSDavid du Colombier<dd>Defines the selected range of pages. This information will be displayed in 5097dd7cddfSDavid du Colombierthe printer dialog and will be updated after the user interaction. A PostScript 510*3ff48bf5SDavid du Colombierprogram could check these values and print only the selected page range.</dd> 5117dd7cddfSDavid du Colombier 512*3ff48bf5SDavid du Colombier<dt><b><tt>/MaxResolution <em>dpi</em></tt></b></dt> 5137dd7cddfSDavid du Colombier<dd>Specifies the maximum tolerated output resolution. If the selected printer has 5147dd7cddfSDavid du Colombiera higher resolution than <tt><b>dpi</b></tt>, then Ghostscript will render the 5157dd7cddfSDavid du Colombierdocument with a submultiple of the printer resolution. For example, if 5167dd7cddfSDavid du Colombier<tt><b>MaxResolution</b></tt> is set to 360 and the output printer supports 5177dd7cddfSDavid du Colombierup to 1200 dpi, then Ghostscript renders the document with an internal 5187dd7cddfSDavid du Colombierresolution of 1200/4=300 dpi. This can be very useful to reduce the memory 5197dd7cddfSDavid du Colombierrequirements when printing in True Color on some high resolution ink-jet color 520*3ff48bf5SDavid du Colombierprinters.</dd> 5217dd7cddfSDavid du Colombier 522*3ff48bf5SDavid du Colombier</dl></dd> 5237dd7cddfSDavid du Colombier 5247dd7cddfSDavid du Colombier</dl> 5257dd7cddfSDavid du Colombier</blockquote> 5267dd7cddfSDavid du Colombier 5277dd7cddfSDavid du Colombier<p> 5287dd7cddfSDavid du ColombierThese properties can be queried through the <tt><b>currentpagedevice</b></tt> 5297dd7cddfSDavid du Colombieroperator. The following PostScript code snippet shows how to do it for some 5307dd7cddfSDavid du Colombierof the properties: 5317dd7cddfSDavid du Colombier</p> 5327dd7cddfSDavid du Colombier 5337dd7cddfSDavid du Colombier<blockquote><pre> 5347dd7cddfSDavid du Colombiercurrentpagedevice /BitsPerPixel get == % displays the selected depth 5357dd7cddfSDavid du Colombier 5367dd7cddfSDavid du Colombiercurrentpagedevice /UserSettings get % get the additional options.. 5377dd7cddfSDavid du Colombier/us exch def % ..and assign them to a variable 5387dd7cddfSDavid du Colombier 5397dd7cddfSDavid du Colombierus /DocumentName get == % displays the document name 5407dd7cddfSDavid du Colombierus /SelectedRange get == % displays the selected page range 5417dd7cddfSDavid du Colombier 5427dd7cddfSDavid du Colombier% other misc. informations (don't rely on them) 5437dd7cddfSDavid du Colombier 5447dd7cddfSDavid du Colombierus /Color get == % 1 => monochrome output, 2 => color output 5457dd7cddfSDavid du Colombierus /PrintCopies get == % displays the number of copies requested 5467dd7cddfSDavid du Colombier</pre></blockquote> 5477dd7cddfSDavid du Colombier 5487dd7cddfSDavid du Colombier<p> 5497dd7cddfSDavid du ColombierThere are a few undocumented informations stored in the <tt><b>UserSettings</b></tt> 5507dd7cddfSDavid du Colombierdictionary. You should not rely on them. Their use is still experimental and 5517dd7cddfSDavid du Colombierthey could be removed in a future version. 5527dd7cddfSDavid du Colombier</p> 5537dd7cddfSDavid du Colombier 554*3ff48bf5SDavid du Colombier<h3><a name="Win_duplex"></a>Duplex printing</h3> 5557dd7cddfSDavid du Colombier 5567dd7cddfSDavid du Colombier<p> 5577dd7cddfSDavid du ColombierIf the Windows printer supports the duplex printing feature, then it will 5587dd7cddfSDavid du Colombieralso be available through the <b><tt>mswinpr2</tt></b> device. You can query 5597dd7cddfSDavid du Colombierfor this support through the <b><tt>/Duplex</tt></b> propery of the 5607dd7cddfSDavid du Colombier<b><tt>currentpagedevice</tt></b>. If it returns <b><tt>null</tt></b>, then 5617dd7cddfSDavid du Colombierthe feature is not supported by the selected printer. Otherwise, <b><tt>true</tt></b> 5627dd7cddfSDavid du Colombiermeans that the printer is currently set up to print on both faces of the paper 5637dd7cddfSDavid du Colombierand <b><tt>false</tt></b> that it is not, but that it can. 5647dd7cddfSDavid du Colombier</p> 5657dd7cddfSDavid du Colombier 5667dd7cddfSDavid du Colombier<p> 5677dd7cddfSDavid du ColombierThe following example shows how to print on both faces of the paper (using 5687dd7cddfSDavid du Colombierthe long side of the paper as the reference): 5697dd7cddfSDavid du Colombier</p> 5707dd7cddfSDavid du Colombier 5717dd7cddfSDavid du Colombier<blockquote><pre> 5727dd7cddfSDavid du Colombier<< /Duplex true /Tumble false >> setpagedevice 5737dd7cddfSDavid du Colombier</pre></blockquote> 5747dd7cddfSDavid du Colombier 5757dd7cddfSDavid du Colombier<p> 5767dd7cddfSDavid du Colombier</p> 5777dd7cddfSDavid du Colombier 578*3ff48bf5SDavid du Colombier 5797dd7cddfSDavid du Colombier<hr> 5807dd7cddfSDavid du Colombier 581*3ff48bf5SDavid du Colombier<h2><a name="File_formats"></a>File formats</h2> 582*3ff48bf5SDavid du Colombier 583*3ff48bf5SDavid du Colombier<h3><a name="JFIF"></a>JPEG file format (JFIF)</h3> 5847dd7cddfSDavid du Colombier 5857dd7cddfSDavid du Colombier<p> 5867dd7cddfSDavid du ColombierGhostscript includes output drivers that can produce <a 5877dd7cddfSDavid du Colombierhref="http://www.ijg.org/">Independent JPEG Group</a> JFIF (JPEG File 5887dd7cddfSDavid du ColombierInterchange Format) files from PostScript images. <b>Please note</b> that 5897dd7cddfSDavid du ColombierJPEG is a compression method specifically intended for continuous-tone 5907dd7cddfSDavid du Colombierimages such as photographs, not for graphics, and it is therefore quite 5917dd7cddfSDavid du Colombierunsuitable for the vast majority of page images produced with PostScript, 5927dd7cddfSDavid du Colombierwhich should be saved in a form better for graphics, such as 593*3ff48bf5SDavid du Colombier<a href="http://www.libpng.org/pub/png/">Portable Network Graphics</a> 594*3ff48bf5SDavid du Colombier(PNG) format. If you get crummy-looking JPEG files, don't blame 595*3ff48bf5SDavid du ColombierGhostscript; instead consult a reference about uses and abuses of JPEG, 596*3ff48bf5SDavid du Colombiersuch as the JPEG FAQ 5977dd7cddfSDavid du Colombier 5987dd7cddfSDavid du Colombier<blockquote> 5997dd7cddfSDavid du Colombier<a href="http://www.faqs.org/faqs/jpeg-faq/">http://www.faqs.org/faqs/jpeg-faq/</a> 6007dd7cddfSDavid du Colombier</blockquote> 6017dd7cddfSDavid du Colombier 6027dd7cddfSDavid du Colombier<p> 6037dd7cddfSDavid du ColombierYou can use the JPEG output drivers -- <b><tt>jpeg</tt></b> to produce 6047dd7cddfSDavid du Colombiercolor JPEG files and <b><tt>jpeggray</tt></b> for grayscale JPEGs -- the 6057dd7cddfSDavid du Colombiersame as other file-format drivers: by specifying the device name and an 6067dd7cddfSDavid du Colombieroutput file name, for example 6077dd7cddfSDavid du Colombier 6087dd7cddfSDavid du Colombier<blockquote><b><tt> 6097dd7cddfSDavid du Colombiergs -sDEVICE=jpeg -sOutputFile=foo.jpg foo.ps 6107dd7cddfSDavid du Colombier</tt></b></blockquote> 6117dd7cddfSDavid du Colombier 6127dd7cddfSDavid du Colombier<p> 6137dd7cddfSDavid du ColombierYou can also use the <a href="Use.htm#Resolution_switch"><b><tt>-r</tt></b> 6147dd7cddfSDavid du Colombierswitch</a> to specify the imaging resolution and thus the output file's 6157dd7cddfSDavid du Colombiersize in pixels. The default resolution is normally 72×72dpi. 6167dd7cddfSDavid du Colombier 6177dd7cddfSDavid du Colombier<p> 6187dd7cddfSDavid du ColombierThe JPEG devices support several special parameters to control the JPEG 6197dd7cddfSDavid du Colombier"quality setting" (DCT quantization level). 6207dd7cddfSDavid du Colombier 6217dd7cddfSDavid du Colombier<blockquote> 6227dd7cddfSDavid du Colombier<dl> 6237dd7cddfSDavid du Colombier<dt><b><tt>-dJPEGQ=</tt></b><b><em>N</em></b> (integer from 0 to 100, default 75) 6247dd7cddfSDavid du Colombier<dd>Set the quality level <b><em>N</em></b> according to the widely used 6257dd7cddfSDavid du ColombierIJG quality scale, which balances the extent of compression against the 6267dd7cddfSDavid du Colombierfidelity of the image when reconstituted. Lower values drop more 6277dd7cddfSDavid du Colombierinformation from the image to achieve higher compression, and therefore 6287dd7cddfSDavid du Colombierhave lower quality when reconstituted. 6297dd7cddfSDavid du Colombier 6307dd7cddfSDavid du Colombier<dt><b><tt>-dQFactor=</tt></b><b><em>M</em></b> (float from 0.0 to 1.0) 6317dd7cddfSDavid du Colombier<dd>Adobe's QFactor quality scale, which you may use in place of 6327dd7cddfSDavid du Colombier<b><tt>JPEGQ</tt></b> above. The QFactor scale is used by PostScript's 6337dd7cddfSDavid du ColombierDCTEncode filter but is nearly unheard-of elsewhere. 6347dd7cddfSDavid du Colombier</dl> 6357dd7cddfSDavid du Colombier</blockquote> 6367dd7cddfSDavid du Colombier 6377dd7cddfSDavid du Colombier<p> 6387dd7cddfSDavid du ColombierAt this writing the default JPEG quality level of 75 is equivalent to 6397dd7cddfSDavid du Colombier<b><tt>-dQFactor=0.5</tt></b>, but the JPEG default might change in the 6407dd7cddfSDavid du Colombierfuture. The JPEG drivers could be extended to support additional JPEG 6417dd7cddfSDavid du Colombiercompression options, such as the other DCTEncode filter parameters, but so 6427dd7cddfSDavid du Colombierfar they haven't been. 6437dd7cddfSDavid du Colombier 644*3ff48bf5SDavid du Colombier<h3><a name="TIFF"></a>TIFF file formats</h3> 645*3ff48bf5SDavid du Colombier 646*3ff48bf5SDavid du Colombier<p> 647*3ff48bf5SDavid du ColombierThere are two unrelated sets of TIFF drivers. There are two color TIFF 648*3ff48bf5SDavid du Colombierdrivers that produce uncompressed output: 649*3ff48bf5SDavid du Colombier 650*3ff48bf5SDavid du Colombier<blockquote> 651*3ff48bf5SDavid du Colombier<dl> 652*3ff48bf5SDavid du Colombier<dt><b><tt>tiff12nc</tt></b> 653*3ff48bf5SDavid du Colombier<dd>Produces 12-bit RGB output (4 bits per component). 654*3ff48bf5SDavid du Colombier<dt><b><tt>tiff24nc</tt></b> 655*3ff48bf5SDavid du Colombier<dd>Produces 24-bit RGB output (8 bits per component). 656*3ff48bf5SDavid du Colombier</dl> 657*3ff48bf5SDavid du Colombier</blockquote> 658*3ff48bf5SDavid du Colombier 659*3ff48bf5SDavid du Colombier<p> 660*3ff48bf5SDavid du ColombierThe remaining TIFF drivers all produce black-and-white output with different 661*3ff48bf5SDavid du Colombiercompression modes: 662*3ff48bf5SDavid du Colombier 663*3ff48bf5SDavid du Colombier<blockquote> 664*3ff48bf5SDavid du Colombier<dl> 665*3ff48bf5SDavid du Colombier<dt><b><tt>tiffcrle</tt></b> 666*3ff48bf5SDavid du Colombier<dd>G3 fax encoding with no EOLs 667*3ff48bf5SDavid du Colombier<dt><b><tt>tiffg3</tt></b> 668*3ff48bf5SDavid du Colombier<dd>G3 fax encoding with EOLs 669*3ff48bf5SDavid du Colombier<dt><b><tt>tiffg32d</tt></b> 670*3ff48bf5SDavid du Colombier<dd>2-D G3 fax encoding 671*3ff48bf5SDavid du Colombier<dt><b><tt>tiffg4</tt></b> 672*3ff48bf5SDavid du Colombier<dd>G4 fax encoding 673*3ff48bf5SDavid du Colombier<dt><b><tt>tifflzw</tt></b> 674*3ff48bf5SDavid du Colombier<dd>LZW-compatible (tag = 5) compression 675*3ff48bf5SDavid du Colombier<dt><b><tt>tiffpack</tt></b> 676*3ff48bf5SDavid du Colombier<dd>PackBits (tag = 32773) compression 677*3ff48bf5SDavid du Colombier</dl> 678*3ff48bf5SDavid du Colombier</blockquote> 679*3ff48bf5SDavid du Colombier 680*3ff48bf5SDavid du Colombier<p> 681*3ff48bf5SDavid du ColombierThe black-and-white TIFF drivers support creation of files that are 682*3ff48bf5SDavid du Colombiercomprised of more than a single strip. Multi-strip files reduce the memory 683*3ff48bf5SDavid du Colombierrequirement on the reader, since readers need only store and process one 684*3ff48bf5SDavid du Colombierstrip at a time. These drivers provide two parameters beyond the standard 685*3ff48bf5SDavid du Colombierset: 686*3ff48bf5SDavid du Colombier 687*3ff48bf5SDavid du Colombier<blockquote> 688*3ff48bf5SDavid du Colombier<dl> 689*3ff48bf5SDavid du Colombier<dt><b><tt>-dMaxStripSize=</tt><em>N</em></b> (non-negative integer; default = 0) 690*3ff48bf5SDavid du Colombier<dd>Set the maximum (uncompressed) size of a strip. 691*3ff48bf5SDavid du Colombier 692*3ff48bf5SDavid du Colombier<dt><b><tt>-dAdjustWidth=</tt><em>true|false</em></b> (Boolean; default = 693*3ff48bf5SDavid du Colombiertrue) 694*3ff48bf5SDavid du Colombier<dd>If true, then if the requested page width is close to either A4 (1728 695*3ff48bf5SDavid du Colombiercolumns) or B4 (2048 columns), set the page width to A4 or B4 respectively. 696*3ff48bf5SDavid du Colombier</dl></blockquote> 697*3ff48bf5SDavid du Colombier 698*3ff48bf5SDavid du Colombier<p> 699*3ff48bf5SDavid du ColombierThe TIFF 6.0 specification, Section 7, page 27, recommends that the size of 700*3ff48bf5SDavid du Colombiereach strip be about 8 Kbytes. As an example, to generate the 'tiger' in 701*3ff48bf5SDavid du Colombiertiffg4 format that has the recommended strip size, use: 702*3ff48bf5SDavid du Colombier 703*3ff48bf5SDavid du Colombier<blockquote><pre> 704*3ff48bf5SDavid du Colombiergs -sDEVICE=tiffg4 -sOutputFile=tiger.tif -dMaxStripSize=8192 examples/tiger.ps 705*3ff48bf5SDavid du Colombier</pre></blockquote> 706*3ff48bf5SDavid du Colombier 707*3ff48bf5SDavid du Colombier<p> 708*3ff48bf5SDavid du ColombierIf the value of the <b><tt>MaxStripSize</tt></b> parameter is smaller than a 709*3ff48bf5SDavid du Colombiersingle image row, then no error will be generated, and the TIFF file will be 710*3ff48bf5SDavid du Colombiergenerated correctly using one row per strip. Note that smaller strip sizes 711*3ff48bf5SDavid du Colombierincrease the size of the file by increasing the size of the StripOffsets and 712*3ff48bf5SDavid du ColombierStripByteCounts tables, and by reducing the effectiveness of the compression 713*3ff48bf5SDavid du Colombierwhich must start over for each strip. 714*3ff48bf5SDavid du Colombier 715*3ff48bf5SDavid du Colombier<p> 716*3ff48bf5SDavid du ColombierIf the value of MaxStripSize is 0 (the default), then the entire image will 717*3ff48bf5SDavid du Colombierbe a single strip. 718*3ff48bf5SDavid du Colombier 719*3ff48bf5SDavid du Colombier 7207dd7cddfSDavid du Colombier<hr> 7217dd7cddfSDavid du Colombier 722*3ff48bf5SDavid du Colombier<h2><a name="Display_devices"></a>Display Devices</h2> 723*3ff48bf5SDavid du Colombier 724*3ff48bf5SDavid du Colombier<p> 725*3ff48bf5SDavid du ColombierGhostscript is often used for screen display of postscript and pdf documents. 726*3ff48bf5SDavid du ColombierIn many cases, a client or 'viewer' application calls the ghostscript engine 727*3ff48bf5SDavid du Colombierto do the rasterization and handles the display of the resulting image itself, 728*3ff48bf5SDavid du Colombierbut it is also possible to invoke ghostscript directly and select an output 729*3ff48bf5SDavid du Colombierdevice which directly handles displaying the image on screen. 730*3ff48bf5SDavid du Colombier 731*3ff48bf5SDavid du Colombier<p> 732*3ff48bf5SDavid du ColombierThis section describes the various display-oriented devices that are available 733*3ff48bf5SDavid du Colombierin ghostscript. 734*3ff48bf5SDavid du Colombier 735*3ff48bf5SDavid du Colombier<h3><a name="x11_devices"></a>X Window System</h3> 736*3ff48bf5SDavid du Colombier 737*3ff48bf5SDavid du Colombier<p> 738*3ff48bf5SDavid du ColombierPerhaps the most common use of of a display device is with the X Window System 739*3ff48bf5SDavid du Colombieron unix-like systems. It is the default device on the command line client on 740*3ff48bf5SDavid du Colombiersuch systems, and is used more creatively by the gv client application. 741*3ff48bf5SDavid du Colombier 742*3ff48bf5SDavid du Colombier<p> 743*3ff48bf5SDavid du ColombierThe available devices are: 744*3ff48bf5SDavid du Colombier 745*3ff48bf5SDavid du Colombier<dl> 746*3ff48bf5SDavid du Colombier<dt><b>x11</b> 747*3ff48bf5SDavid du Colombier<dd>This is the default device, handling display on X11R6. 748*3ff48bf5SDavid du Colombier 749*3ff48bf5SDavid du Colombier<dt><b>x11alpha</b> 750*3ff48bf5SDavid du Colombier<dd>This is the x11 device, but with antialiasing. It is equivalent to 751*3ff48bf5SDavid du Colombierinvoking the x11 device with the options <tt>-dGraphicsAlphaBits=4 752*3ff48bf5SDavid du Colombier-dTextAlphaBits=4 -dMaxBitmap=50000000</tt>. 753*3ff48bf5SDavid du Colombier 754*3ff48bf5SDavid du Colombier<dt><b>x11cmyk</b> 755*3ff48bf5SDavid du Colombier<dd>This device rasterizes the image in the CMKY color space, then flattens 756*3ff48bf5SDavid du Colombierit to RGB for display. It's intended for testing only. 757*3ff48bf5SDavid du Colombier 758*3ff48bf5SDavid du Colombier<dt><b>x11mono</b> 759*3ff48bf5SDavid du Colombier<dd>This is a strict black-and-white device for 1-bit monochrome displays. 760*3ff48bf5SDavid du Colombier 761*3ff48bf5SDavid du Colombier<dt><b>x11gray2</b> 762*3ff48bf5SDavid du Colombier<dd>This is a device for 2 bpp (4-level) monochrome displays. 763*3ff48bf5SDavid du Colombier 764*3ff48bf5SDavid du Colombier<dt><b>x11gray4</b> 765*3ff48bf5SDavid du Colombier<dd>This is a device for 4 bpp (16-level) monochrome displays. 766*3ff48bf5SDavid du Colombier</dl> 767*3ff48bf5SDavid du Colombier 768*3ff48bf5SDavid du Colombier 769*3ff48bf5SDavid du Colombier<hr> 770*3ff48bf5SDavid du Colombier 771*3ff48bf5SDavid du Colombier<h2><a name="HP_ijs"></a>HP Deskjet official drivers</h2> 772*3ff48bf5SDavid du Colombier 773*3ff48bf5SDavid du Colombier<p> 774*3ff48bf5SDavid du ColombierHP provides official drivers for many of their Deskjet printer models. 775*3ff48bf5SDavid du ColombierIn order to use these drivers, you will need the HP Inkjet Server as 776*3ff48bf5SDavid du Colombierwell as Ghostscript, available from <a 777*3ff48bf5SDavid du Colombierhref="http://hpinkjet.sourceforge.net">http://hpinkjet.sourceforge.net</a>. 778*3ff48bf5SDavid du ColombierThis version of Ghostscript includes the patch from version 0.97 of 779*3ff48bf5SDavid du Colombierthe hpijs software. If you are installing hpijs from an RPM, you will 780*3ff48bf5SDavid du Colombieronly need the hpijs RPM, not the ghostscript-hpijs one, as the code 781*3ff48bf5SDavid du Colombierneeded to work with hpijs is already included. 782*3ff48bf5SDavid du Colombier 783*3ff48bf5SDavid du Colombier<p> 784*3ff48bf5SDavid du ColombierNote that newer version of the hpijs drivers support the IJS protocol. 785*3ff48bf5SDavid du ColombierIf you can, you should consider using the ijs driver instead. Among 786*3ff48bf5SDavid du Colombierother things, the hpijs Ghostscript driver is Unix-only, and is untested 787*3ff48bf5SDavid du Colombieron older Unix platforms. 788*3ff48bf5SDavid du Colombier 789*3ff48bf5SDavid du Colombier<p> 790*3ff48bf5SDavid du ColombierAs of the 0.97 version, hpijs supports the following printer models: 791*3ff48bf5SDavid du Colombier 792*3ff48bf5SDavid du Colombier<dl><dt><b>e-Series:</b> 793*3ff48bf5SDavid du Colombier <dd>e-20 794*3ff48bf5SDavid du Colombier<dt><b>DeskJet 350C Series:</b> 795*3ff48bf5SDavid du Colombier <dd>350C 796*3ff48bf5SDavid du Colombier<dt><b>DeskJet 600C Series:</b> 797*3ff48bf5SDavid du Colombier <dd>600C, 660C, 670/672C, 670TV, 680/682C 798*3ff48bf5SDavid du Colombier<dt><b>DeskJet 600C Series Photo:</b> 799*3ff48bf5SDavid du Colombier <dd>610/612C, 640/648C, 690/692/693/694/695/697C 800*3ff48bf5SDavid du Colombier<dt><b>DeskJet 630C Series:</b> 801*3ff48bf5SDavid du Colombier <dd>630/632C 802*3ff48bf5SDavid du Colombier<dt><b>DeskJet 800C Series:</b> 803*3ff48bf5SDavid du Colombier <dd>810/812C, 830/832C, 840/842/843C, 880/882C, 895C 804*3ff48bf5SDavid du Colombier<dt><b>DeskJet 900C Series, PhotoSmart::</b> 805*3ff48bf5SDavid du Colombier <dd>930/932C, 950/952C, 970C, PhotoSmart 1000/1100 806*3ff48bf5SDavid du Colombier<dt><b>DeskJet 990C, PhotoSmart:</b> 807*3ff48bf5SDavid du Colombier <dd>960C, 980C, 990C, PhotoSmart 1215/1218 808*3ff48bf5SDavid du Colombier</ul> 809*3ff48bf5SDavid du Colombier 810*3ff48bf5SDavid du Colombier<p>You will need to add the following line to your makefile: 811*3ff48bf5SDavid du Colombier 812*3ff48bf5SDavid du Colombier<blockquote> 813*3ff48bf5SDavid du ColombierDEVICE_DEVS2=$(DD)DJ630.dev $(DD)DJ6xx.dev $(DD)DJ6xxP.dev $(DD)DJ8xx.dev $(DD)DJ9xx.dev $(DD)DJ9xxVIP.dev $(DD)AP21xx.dev 814*3ff48bf5SDavid du Colombier</blockquote> 815*3ff48bf5SDavid du Colombier 816*3ff48bf5SDavid du Colombier<p> 817*3ff48bf5SDavid du ColombierPlease see <a 818*3ff48bf5SDavid du Colombierhref="http://hpinkjet.sourceforge.net">http://hpinkjet.sourceforge.net</a> 819*3ff48bf5SDavid du Colombierfor more information about this driver. Thanks to the folks at HP, 820*3ff48bf5SDavid du Colombierespecially David Suffield for making this driver available and working to 821*3ff48bf5SDavid du Colombierintegrate it with Ghostscript. 822*3ff48bf5SDavid du Colombier 823*3ff48bf5SDavid du Colombier<hr> 824*3ff48bf5SDavid du Colombier 825*3ff48bf5SDavid du Colombier<h2><a name="HP8_color_inkjet"></a>H-P 8xx, 1100, and 1600 color inkjet printers</h2> 8267dd7cddfSDavid du Colombier 8277dd7cddfSDavid du Colombier<p> 8287dd7cddfSDavid du ColombierThis section, written by Uli Wortmann <<a 8297dd7cddfSDavid du Colombierhref="mailto:uliw@erdw.ethz.ch">uliw@erdw.ethz.ch</a>>, deals with the 8307dd7cddfSDavid du ColombierDeskJet 670, 690, 850, 855, 870, 890, 1100, and 1600. 8317dd7cddfSDavid du Colombier 832*3ff48bf5SDavid du Colombier<h3><a name="HP8_gdevcd8"></a>Drivers contained in <b><tt>gdevcd8.c</tt></b></h3> 8337dd7cddfSDavid du Colombier 8347dd7cddfSDavid du Colombier<p> 8357dd7cddfSDavid du ColombierThe source module <b><tt>gdevcd8.c</tt></b> contains four generic drivers: 8367dd7cddfSDavid du Colombier 8377dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 8387dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj670</tt></b> 8397dd7cddfSDavid du Colombier <td> 8407dd7cddfSDavid du Colombier <td>HP DeskJet 670 and 690 8417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj850</tt></b> 8427dd7cddfSDavid du Colombier <td> 8437dd7cddfSDavid du Colombier <td>HP DeskJet 850, 855, 870, and 1100 8447dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj890</tt></b> 8457dd7cddfSDavid du Colombier <td> 8467dd7cddfSDavid du Colombier <td>HP DeskJet 890 8477dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj1600</tt></b> 8487dd7cddfSDavid du Colombier <td> 8497dd7cddfSDavid du Colombier <td>HP DeskJet 1600 8507dd7cddfSDavid du Colombier</table></blockquote> 8517dd7cddfSDavid du Colombier 852*3ff48bf5SDavid du Colombier<h3><a name="HP8_further_documentation"></a>Further documentation</h3> 8537dd7cddfSDavid du Colombier 8547dd7cddfSDavid du Colombier<p> 8557dd7cddfSDavid du Colombier<b>Credits:</b> Much of the driver is based on ideas derived from the 8567dd7cddfSDavid du Colombiercdj550 driver of George Cameron. The support for the hp670, hp690, hp890 8577dd7cddfSDavid du Colombierand hp1600 was added by Martin Gerbershagen. 8587dd7cddfSDavid du Colombier 8597dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 8607dd7cddfSDavid du Colombier<tr valign=top> <td>11.11.96 8617dd7cddfSDavid du Colombier <td> 8627dd7cddfSDavid du Colombier <td>Version 1.0 8637dd7cddfSDavid du Colombier <td> 8647dd7cddfSDavid du Colombier <td> 8657dd7cddfSDavid du Colombier<tr valign=top> <td>25.08.97 8667dd7cddfSDavid du Colombier <td> 8677dd7cddfSDavid du Colombier <td>Version 1.2 8687dd7cddfSDavid du Colombier <td> 8697dd7cddfSDavid du Colombier <td>Resolved all but one of the known bugs, introduced a couple of 8707dd7cddfSDavid du Colombier perfomance improvements. Complete new color-transfer-function 8717dd7cddfSDavid du Colombier handling (see gamma). 8727dd7cddfSDavid du Colombier<tr valign=top> <td>01.06.98 8737dd7cddfSDavid du Colombier <td> 8747dd7cddfSDavid du Colombier <td>Version 1.3 8757dd7cddfSDavid du Colombier <td> 8767dd7cddfSDavid du Colombier <td>Due to the most welcome contribution of Martin Gerbershagen 8777dd7cddfSDavid du Colombier (ger@ulm.temic.de), support for the hp670, hp690 and hp890 and 8787dd7cddfSDavid du Colombier hp1600 has been added. Martin has also resolved all known bugs. 8797dd7cddfSDavid du Colombier<tr valign=top> <td> 8807dd7cddfSDavid du Colombier <td> 8817dd7cddfSDavid du Colombier <td> 8827dd7cddfSDavid du Colombier <td> 8837dd7cddfSDavid du Colombier <td>Problems:Dark colors are still pale. 8847dd7cddfSDavid du Colombier</table></blockquote> 8857dd7cddfSDavid du Colombier 8867dd7cddfSDavid du Colombier<p> 8877dd7cddfSDavid du ColombierThe hp690 is supported through the hp670 device, the hp855, hp870 and the 8887dd7cddfSDavid du Colombierhp1100 through the hp850 device. The driver needs no longer special 8897dd7cddfSDavid du Colombierswitches to be invoked except <b><tt>-sDEVICE=cdj850</tt></b>, 8907dd7cddfSDavid du Colombier<b><tt>-sDEVICE=CDJ890</tt></b>, <b><tt>-sDEVICE=CDJ670</tt></b>, or 8917dd7cddfSDavid du Colombier<b><tt>-sDevice=CDJ1600</tt></b>. The following switches are supported. 8927dd7cddfSDavid du Colombier 8937dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 8947dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dPapertype=</tt></b> 8957dd7cddfSDavid du Colombier <td> 8967dd7cddfSDavid du Colombier <td>0 8977dd7cddfSDavid du Colombier <td> 8987dd7cddfSDavid du Colombier <td>plain paper [default] 8997dd7cddfSDavid du Colombier<tr valign=top> <td> 9007dd7cddfSDavid du Colombier <td> 9017dd7cddfSDavid du Colombier <td>1 9027dd7cddfSDavid du Colombier <td> 9037dd7cddfSDavid du Colombier <td>bond paper 9047dd7cddfSDavid du Colombier<tr valign=top> <td> 9057dd7cddfSDavid du Colombier <td> 9067dd7cddfSDavid du Colombier <td>2 9077dd7cddfSDavid du Colombier <td> 9087dd7cddfSDavid du Colombier <td>special paper 9097dd7cddfSDavid du Colombier<tr valign=top> <td> 9107dd7cddfSDavid du Colombier <td> 9117dd7cddfSDavid du Colombier <td>3 9127dd7cddfSDavid du Colombier <td> 9137dd7cddfSDavid du Colombier <td>glossy film 9147dd7cddfSDavid du Colombier<tr valign=top> <td> 9157dd7cddfSDavid du Colombier <td> 9167dd7cddfSDavid du Colombier <td>4 9177dd7cddfSDavid du Colombier <td> 9187dd7cddfSDavid du Colombier <td>transparency film 9197dd7cddfSDavid du Colombier<tr valign=top> <td> 9207dd7cddfSDavid du Colombier <td> 9217dd7cddfSDavid du Colombier <td> 9227dd7cddfSDavid du Colombier <td> 9237dd7cddfSDavid du Colombier <td>Currently the lookup tables are unsuited for printing on 9247dd7cddfSDavid du Colombier special paper or transparencies. For these please revert to the 9257dd7cddfSDavid du Colombier gamma functions. 9267dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dQuality=</tt></b> 9277dd7cddfSDavid du Colombier <td> 9287dd7cddfSDavid du Colombier <td>-1 9297dd7cddfSDavid du Colombier <td> 9307dd7cddfSDavid du Colombier <td>draft 9317dd7cddfSDavid du Colombier<tr valign=top> <td> 9327dd7cddfSDavid du Colombier <td> 9337dd7cddfSDavid du Colombier <td>0 9347dd7cddfSDavid du Colombier <td> 9357dd7cddfSDavid du Colombier <td>normal [default] 9367dd7cddfSDavid du Colombier<tr valign=top> <td> 9377dd7cddfSDavid du Colombier <td> 9387dd7cddfSDavid du Colombier <td>1 9397dd7cddfSDavid du Colombier <td> 9407dd7cddfSDavid du Colombier <td>presentation 9417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dRetStatus=</tt></b> 9427dd7cddfSDavid du Colombier <td> 9437dd7cddfSDavid du Colombier <td>0 9447dd7cddfSDavid du Colombier <td> 9457dd7cddfSDavid du Colombier <td>C-RET off 9467dd7cddfSDavid du Colombier<tr valign=top> <td> 9477dd7cddfSDavid du Colombier <td> 9487dd7cddfSDavid du Colombier <td>1 9497dd7cddfSDavid du Colombier <td> 9507dd7cddfSDavid du Colombier <td>C-RET on [default] 9517dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dMasterGamma=</tt></b> 9527dd7cddfSDavid du Colombier <td> 9537dd7cddfSDavid du Colombier <td>3.0 9547dd7cddfSDavid du Colombier <td> 9557dd7cddfSDavid du Colombier <td>[default = 1.0] 9567dd7cddfSDavid du Colombier</table></blockquote> 9577dd7cddfSDavid du Colombier 9587dd7cddfSDavid du Colombier<blockquote> 9597dd7cddfSDavid du Colombier<b>Note:</b> To take advantage of the calibrated color-transfer functions, 9607dd7cddfSDavid du Colombierbe sure not to have any gamma statements left! If you need to (i.e., for 9617dd7cddfSDavid du Colombieroverhead transparencies), you still can use the gamma functions, but they 9627dd7cddfSDavid du Colombierwill override the built-in calibration. To use gamma in the traditional 9637dd7cddfSDavid du Colombierway, set MasterGamma to any value greater than 1.0 and less than 10.0. To 9647dd7cddfSDavid du Colombieradjust individual gamma values, you have to additionally set MasterGamma to 9657dd7cddfSDavid du Colombiera value greater than 1.0 and less than 10.0. With the next release, gamma 9667dd7cddfSDavid du Colombierfunctions will be dropped. 9677dd7cddfSDavid du Colombier</blockquote> 9687dd7cddfSDavid du Colombier 9697dd7cddfSDavid du Colombier<p> 9707dd7cddfSDavid du ColombierWhen using the driver, be aware that printing at 600dpi involves 9717dd7cddfSDavid du Colombierprocessing large amounts of data (> 188MB !). Therefore the 9727dd7cddfSDavid du Colombierdriver is not what you would expect to be a fast driver ;-) 9737dd7cddfSDavid du ColombierThis is no problem when printing a full-sized color page (because 9747dd7cddfSDavid du Colombierprinting itself is slow), but it's really annoying if you print only 9757dd7cddfSDavid du Colombiertext pages. Maybe I can optimize the code for text-only pages in a 9767dd7cddfSDavid du Colombierlater release. Right now, it is recommended to use the highest 9777dd7cddfSDavid du Colombierpossible optimisation level your compiler offers. 9787dd7cddfSDavid du ColombierFor the time being, use the cdj550 device with <b><tt>-sBitsPerPixel=3</tt></b> 9797dd7cddfSDavid du Colombierfor fast proof prints. If you simply want to print 600dpi BW data, 9807dd7cddfSDavid du Colombieruse the cdj550 device with <b><tt>-sBitsPerPixel=8</tt></b> (or 1). 9817dd7cddfSDavid du Colombier 9827dd7cddfSDavid du Colombier<p> 9837dd7cddfSDavid du ColombierSince the printer itself is slow, it may help to set the process priority 9847dd7cddfSDavid du Colombierof the gs process to "regular" or even less. On a 486/100MHz this is still 9857dd7cddfSDavid du Colombiersufficient to maintain a continuous data flow. Note to OS/2 users: simply 9867dd7cddfSDavid du Colombierput the gs window into the background or minimize it. Also make sure that 9877dd7cddfSDavid du Colombier<b><tt>print01.sys</tt></b> is invoked without the <b><tt>/irq</tt></b> 9887dd7cddfSDavid du Colombierswitch (great speed improvement under Warp4). 9897dd7cddfSDavid du Colombier 9907dd7cddfSDavid du Colombier<p> 9917dd7cddfSDavid du ColombierThe printer default settings compensate for dot-gain by a calibrated 9927dd7cddfSDavid du Colombiercolor-transfer function. If this appears to be too light for your business 9937dd7cddfSDavid du Colombiergraphs, or for overhead transparencies, feel free to set 9947dd7cddfSDavid du Colombier<b><tt>-dMasterGamma=1.7</tt></b>. Furthermore, you may tweak the gamma 9957dd7cddfSDavid du Colombiervalues independently by setting <b><tt>-dGammaValC</tt></b>, 9967dd7cddfSDavid du Colombier<b><tt>-dGammaValM</tt></b>, <b><tt>-dGammaValY</tt></b> or 9977dd7cddfSDavid du Colombier<b><tt>-dGammaValK</tt></b> (if not set, the values default to 9987dd7cddfSDavid du Colombier<b><tt>MasterGamma</tt></b>). This will only work when 9997dd7cddfSDavid du Colombier<b><tt>-dMasterGamma</tt></b> is set to a value greater than 1.0. 10007dd7cddfSDavid du Colombier 10017dd7cddfSDavid du Colombier<p> 10027dd7cddfSDavid du ColombierFurther information, bugs, tips etc, can be found at my website. To learn 10037dd7cddfSDavid du Colombiermore about gamma, see 10047dd7cddfSDavid du Colombier<a href="ftp://ftp.igd.fhg.de/pub/doc/colour/GammaFAQ.pdf">ftp://ftp.igd.fhg.de/pub/doc/colour/GammaFAQ.pdf</a>. 10057dd7cddfSDavid du Colombier 10067dd7cddfSDavid du Colombier<p> 10077dd7cddfSDavid du ColombierDepending on how you transfer the files, under UNIX you may need to remove 10087dd7cddfSDavid du Colombierthe CRs of the CR-LF sequence used for end-of-line on DOS-based (MS 10097dd7cddfSDavid du ColombierWindows-based) systems. You can do this in unpacking the files with <b><tt>unzip -a hp850.zip</tt></b>. 10107dd7cddfSDavid du Colombier 10117dd7cddfSDavid du Colombier<p> 10127dd7cddfSDavid du ColombierTo compile with gs5.x or later, simply add to your makefile 10137dd7cddfSDavid du Colombier<blockquote> 10147dd7cddfSDavid du ColombierDEVICE_DEVS4=cdj850.dev cdj670.dev cdj890.dev cdj1600.dev 10157dd7cddfSDavid du Colombier</blockquote> 10167dd7cddfSDavid du Colombier 10177dd7cddfSDavid du Colombier<p> 10187dd7cddfSDavid du ColombierHave fun! 10197dd7cddfSDavid du Colombier 10207dd7cddfSDavid du Colombier<p> 10217dd7cddfSDavid du ColombierUli <<a href="mailto:uliw@erdw.ethz.ch">uliw@erdw.ethz.ch</a>> 10227dd7cddfSDavid du Colombier<br><a href="http://www.erdw.ethz.ch/~bonk/">http://www.erdw.ethz.ch/~bonk/</a> 10237dd7cddfSDavid du Colombier 10247dd7cddfSDavid du Colombier<hr> 10257dd7cddfSDavid du Colombier 1026*3ff48bf5SDavid du Colombier<h2><a name="HP880_color_inkjet"></a>H-P 812, 815, 832, 880, 882, 895, and 970 color inkjet printers</h2> 10277dd7cddfSDavid du Colombier 10287dd7cddfSDavid du Colombier<p> 10297dd7cddfSDavid du ColombierThis section, written by Matthew Gelhaus <<a 1030*3ff48bf5SDavid du Colombierhref="mailto:hp880@gelhaus.net">hp880@gelhaus.net</a>>, deals with the 10317dd7cddfSDavid du ColombierDeskJet 812, 815, 832, 880, 882, 895, and 970. 10327dd7cddfSDavid du Colombier 10337dd7cddfSDavid du Colombier<p> 10347dd7cddfSDavid du ColombierThis is a modified version of the <a href="#HP8_color_inkjet">HP8xx driver</a> 10357dd7cddfSDavid du Colombierwritten by Uli Wortmann. More information and download are available at 1036*3ff48bf5SDavid du Colombier<a href="http://www.gelhaus.net/hp880c/">http://www.gelhaus.net/hp880c/</a>. 10377dd7cddfSDavid du Colombier 1038*3ff48bf5SDavid du Colombier<h3><a name="HP880_gdevcd8"></a>Drivers contained in <b><tt>gdevcd8.c</tt></b></h3> 10397dd7cddfSDavid du Colombier 10407dd7cddfSDavid du Colombier<p> 10417dd7cddfSDavid du ColombierThe source module <b><tt>gdevcd8.c</tt></b> contains one generic driver: 10427dd7cddfSDavid du Colombier 10437dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 10447dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj880</tt></b> 10457dd7cddfSDavid du Colombier <td> 10467dd7cddfSDavid du Colombier <td>HP DeskJet 812, 815, 832, 880, 882, 895, and 970 10477dd7cddfSDavid du Colombier</table></blockquote> 10487dd7cddfSDavid du Colombier 1049*3ff48bf5SDavid du Colombier<h3><a name="HP880_further_documentation"></a>Further documentation</h3> 10507dd7cddfSDavid du Colombier 10517dd7cddfSDavid du Colombier<p> 10527dd7cddfSDavid du Colombier<b>Credits:</b> This driver is based on the cdj850 driver by Uli Wortmann, and shares the same 10537dd7cddfSDavid du Colombierinternal structure, although the PCL3+ interpretation has changed. 10547dd7cddfSDavid du Colombier 10557dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 10567dd7cddfSDavid du Colombier<tr valign=top> <td>15.03.99 10577dd7cddfSDavid du Colombier <td> 10587dd7cddfSDavid du Colombier <td>Version 1.3 10597dd7cddfSDavid du Colombier <td> 10607dd7cddfSDavid du Colombier <td>Initial version, based on Version 1.3 of Uli Wortmann's driver. 10617dd7cddfSDavid du Colombier<tr valign=top> <td>26.02.00 10627dd7cddfSDavid du Colombier <td> 10637dd7cddfSDavid du Colombier <td>Version 1.4beta 10647dd7cddfSDavid du Colombier <td> 10657dd7cddfSDavid du Colombier <td>Greatly improved color handling & dithering, but not yet complete enough 10667dd7cddfSDavid du Colombier to use for text. 10677dd7cddfSDavid du Colombier</table></blockquote> 10687dd7cddfSDavid du Colombier 10697dd7cddfSDavid du Colombier<p> 10707dd7cddfSDavid du ColombierAll printers are supported through the cdj880 device. Invoke with 10717dd7cddfSDavid du Colombier<b><tt>-sDEVICE=cdj880</tt></b>. The following switches are supported. 10727dd7cddfSDavid du Colombier 10737dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 10747dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dPapertype=</tt></b> 10757dd7cddfSDavid du Colombier <td> 10767dd7cddfSDavid du Colombier <td>0 10777dd7cddfSDavid du Colombier <td> 10787dd7cddfSDavid du Colombier <td>plain paper [default] 10797dd7cddfSDavid du Colombier<tr valign=top> <td> 10807dd7cddfSDavid du Colombier <td> 10817dd7cddfSDavid du Colombier <td>1 10827dd7cddfSDavid du Colombier <td> 10837dd7cddfSDavid du Colombier <td>bond paper 10847dd7cddfSDavid du Colombier<tr valign=top> <td> 10857dd7cddfSDavid du Colombier <td> 10867dd7cddfSDavid du Colombier <td>2 10877dd7cddfSDavid du Colombier <td> 10887dd7cddfSDavid du Colombier <td>special paper 10897dd7cddfSDavid du Colombier<tr valign=top> <td> 10907dd7cddfSDavid du Colombier <td> 10917dd7cddfSDavid du Colombier <td>3 10927dd7cddfSDavid du Colombier <td> 10937dd7cddfSDavid du Colombier <td>glossy film 10947dd7cddfSDavid du Colombier<tr valign=top> <td> 10957dd7cddfSDavid du Colombier <td> 10967dd7cddfSDavid du Colombier <td>4 10977dd7cddfSDavid du Colombier <td> 10987dd7cddfSDavid du Colombier <td>transparency film 10997dd7cddfSDavid du Colombier<tr valign=top> <td> 11007dd7cddfSDavid du Colombier <td> 11017dd7cddfSDavid du Colombier <td> 11027dd7cddfSDavid du Colombier <td> 11037dd7cddfSDavid du Colombier <td>Currently the lookup tables are unsuited for printing on 11047dd7cddfSDavid du Colombier special paper or transparencies. For these please revert to the 11057dd7cddfSDavid du Colombier gamma functions. 11067dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dQuality=</tt></b> 11077dd7cddfSDavid du Colombier <td> 11087dd7cddfSDavid du Colombier <td>-1 11097dd7cddfSDavid du Colombier <td> 11107dd7cddfSDavid du Colombier <td>draft 11117dd7cddfSDavid du Colombier<tr valign=top> <td> 11127dd7cddfSDavid du Colombier <td> 11137dd7cddfSDavid du Colombier <td>0 11147dd7cddfSDavid du Colombier <td> 11157dd7cddfSDavid du Colombier <td>normal [default] 11167dd7cddfSDavid du Colombier<tr valign=top> <td> 11177dd7cddfSDavid du Colombier <td> 11187dd7cddfSDavid du Colombier <td>1 11197dd7cddfSDavid du Colombier <td> 11207dd7cddfSDavid du Colombier <td>presentation 11217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>-dMasterGamma=</tt></b> 11227dd7cddfSDavid du Colombier <td> 11237dd7cddfSDavid du Colombier <td>3.0 11247dd7cddfSDavid du Colombier <td> 11257dd7cddfSDavid du Colombier <td>[default = 1.0] 11267dd7cddfSDavid du Colombier</table></blockquote> 11277dd7cddfSDavid du Colombier 11287dd7cddfSDavid du Colombier<p> 11297dd7cddfSDavid du ColombierThe printer default settings compensate for dot-gain by a pre-defined 11307dd7cddfSDavid du Colombiercolor-transfer function. If this appears to be too light for your business 11317dd7cddfSDavid du Colombiergraphs, or for overhead transparencies, feel free to set 11327dd7cddfSDavid du Colombier<b><tt>-dMasterGamma=1.7</tt></b>. Furthermore, you may tweak the gamma 11337dd7cddfSDavid du Colombiervalues independently by setting <b><tt>-dGammaValC</tt></b>, 11347dd7cddfSDavid du Colombier<b><tt>-dGammaValM</tt></b>, <b><tt>-dGammaValY</tt></b> or 11357dd7cddfSDavid du Colombier<b><tt>-dGammaValK</tt></b> (if not set, the values default to 11367dd7cddfSDavid du Colombier<b><tt>MasterGamma</tt></b>). This will only work when 11377dd7cddfSDavid du Colombier<b><tt>-dMasterGamma</tt></b> is set to a value greater than 1.0. 11387dd7cddfSDavid du Colombier 11397dd7cddfSDavid du Colombier<p> 11407dd7cddfSDavid du ColombierFurther information, bugs, tips etc, can be found at my website. 11417dd7cddfSDavid du Colombier 11427dd7cddfSDavid du Colombier<p> 11437dd7cddfSDavid du ColombierTo compile with gs6.x or later, simply add to your makefile 11447dd7cddfSDavid du Colombier<blockquote> 11457dd7cddfSDavid du ColombierDEVICE_DEVS4=$(DD)cdj880.dev 11467dd7cddfSDavid du Colombier</blockquote> 11477dd7cddfSDavid du Colombier 11487dd7cddfSDavid du Colombier<p> 1149*3ff48bf5SDavid du ColombierMatthew Gelhaus <<a href="mailto:hp880@gelhaus.net">mailto:hp880@gelhaus.net</a>> 1150*3ff48bf5SDavid du Colombier<br><a href="http://www.gelhaus.net/hp880c/">http://www.gelhaus.net/hp880c/</a> 11517dd7cddfSDavid du Colombier 11527dd7cddfSDavid du Colombier<hr> 11537dd7cddfSDavid du Colombier 1154*3ff48bf5SDavid du Colombier<h2><a name="HP_color_inkjet"></a>H-P color inkjet printers</h2> 11557dd7cddfSDavid du Colombier 11567dd7cddfSDavid du Colombier<p> 11577dd7cddfSDavid du ColombierThis section, written by George Cameron, deals with the DeskJet 500C, 11587dd7cddfSDavid du ColombierDeskJet 550C, PaintJet, PaintJet XL, PaintJet XL300, the DEC LJ250 11597dd7cddfSDavid du Colombieroperating in PaintJet-compatible mode. 11607dd7cddfSDavid du Colombier 1161*3ff48bf5SDavid du Colombier<h3><a name="HP_gdevcdj"></a>Drivers contained in <b><tt>gdevcdj.c</tt></b></h3> 11627dd7cddfSDavid du Colombier 11637dd7cddfSDavid du Colombier<p> 11647dd7cddfSDavid du ColombierThe source module <b><tt>gdevcdj.c</tt></b> contains six generic drivers: 11657dd7cddfSDavid du Colombier 11667dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 11677dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj500</tt></b> 11687dd7cddfSDavid du Colombier <td> 11697dd7cddfSDavid du Colombier <td>HP DeskJet 500C and 540C 11707dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>cdj550</tt></b> 11717dd7cddfSDavid du Colombier <td> 11727dd7cddfSDavid du Colombier <td>HP DeskJet 550C, 560C, 660C, 660Cse 11737dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>pjxl300</tt></b> 11747dd7cddfSDavid du Colombier <td> 11757dd7cddfSDavid du Colombier <td>HP PaintJet XL300, DeskJet 1200C, and CopyJet 11767dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>pjtest</tt></b> 11777dd7cddfSDavid du Colombier <td> 11787dd7cddfSDavid du Colombier <td>HP PaintJet 11797dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>pjxltest</tt></b> 11807dd7cddfSDavid du Colombier <td> 11817dd7cddfSDavid du Colombier <td>HP PaintJet XL 11827dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>declj250</tt></b> 11837dd7cddfSDavid du Colombier <td> 11847dd7cddfSDavid du Colombier <td>DEC LJ250 11857dd7cddfSDavid du Colombier</table></blockquote> 11867dd7cddfSDavid du Colombier 11877dd7cddfSDavid du Colombier<p> 11887dd7cddfSDavid du ColombierAll these drivers have 8-bit (monochrome), 16-bit and 24-bit (colour) and 11897dd7cddfSDavid du Colombierfor the DJ 550C, 32-bit (colour, CMYK mode) options in addition to standard 11907dd7cddfSDavid du Colombiercolour and mono drivers. It is also possible to set various 11917dd7cddfSDavid du Colombierprinter-specific parameters from the command line, for example 11927dd7cddfSDavid du Colombier 11937dd7cddfSDavid du Colombier<blockquote><b><tt> 11947dd7cddfSDavid du Colombiergs -sDEVICE=cDeskJet -dBitsPerPixel=16 -dDepletion=1 -dShingling=2 tiger.ps 11957dd7cddfSDavid du Colombier</tt></b></blockquote> 11967dd7cddfSDavid du Colombier 11977dd7cddfSDavid du Colombier<p> 11987dd7cddfSDavid du Colombier<b>Note:</b> the old names <b><tt>cDeskJet</tt></b>, 11997dd7cddfSDavid du Colombier<b><tt>cdjcolor</tt></b> and <b><tt>cdjmono</tt></b> drivers have been 12007dd7cddfSDavid du Colombierretained; however, their functionality duplicates that available using the 12017dd7cddfSDavid du Colombierdrivers above (and <b><tt>cDeskJet</tt></b> is identical to 12027dd7cddfSDavid du Colombier<b><tt>cdj500</tt></b>). That is, we can use 12037dd7cddfSDavid du Colombier 12047dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 12057dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>gs -sDEVICE=cdj500 -dBitsPerPixel=24</tt></b> 12067dd7cddfSDavid du Colombier <td> 12077dd7cddfSDavid du Colombier <td>for <b><tt>cdjcolor</tt></b>, and 12087dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>gs -sDEVICE=cdj500 -dBitsPerPixel=1</tt></b> 12097dd7cddfSDavid du Colombier <td> 12107dd7cddfSDavid du Colombier <td>for <b><tt>cdjmono</tt></b> 12117dd7cddfSDavid du Colombier</table></blockquote> 12127dd7cddfSDavid du Colombier 1213*3ff48bf5SDavid du Colombier<h3><a name="HP_paper_size"></a>Default paper size</h3> 12147dd7cddfSDavid du Colombier 12157dd7cddfSDavid du Colombier<p> 12167dd7cddfSDavid du ColombierIf the preprocessor symbol <b><tt>A4</tt></b> is defined, the default paper 12177dd7cddfSDavid du Colombiersize is ISO A4; otherwise it is U.S. letter size (see about 12187dd7cddfSDavid du Colombier<a href="Use.htm#Known_paper_sizes">paper sizes</a> in the usage 1219*3ff48bf5SDavid du Colombierdocumentation). You can <a href="Use.htm#Paper_size">specify other paper 12207dd7cddfSDavid du Colombiersizes</a> on the command line, including A3 for the PaintJet XL and 12217dd7cddfSDavid du ColombierPaintJet XL300, as also explained in the usage documentation. 12227dd7cddfSDavid du Colombier 1223*3ff48bf5SDavid du Colombier<h3><a name="HP_limits"></a>DeskJet physical limits</h3> 12247dd7cddfSDavid du Colombier 12257dd7cddfSDavid du Colombier<p> 12267dd7cddfSDavid du ColombierThe DeskJet's maximum printing width is 2400 dots, or 8 inches 12277dd7cddfSDavid du Colombier(20.32cm). The printer manuals say that the maximum recommended printing 12287dd7cddfSDavid du Colombierheight on the page is 10.3 inches (26.16cm), but since this is obviously 12297dd7cddfSDavid du Colombiernot true for A4 paper, and I have been unable to detect any problems in 12307dd7cddfSDavid du Colombierprinting longer page lengths, this would seem to be a rather artificial 12317dd7cddfSDavid du Colombierrestriction. 12327dd7cddfSDavid du Colombier 12337dd7cddfSDavid du Colombier<p> 12347dd7cddfSDavid du ColombierAll DeskJets have 0.5 inches (1.27cm) of unprintable bottom margin, due to the mechanical 12357dd7cddfSDavid du Colombierarrangement used to grab the paper. Side margins are approximately 0.25 inches (0.64cm) 12367dd7cddfSDavid du Colombierfor U.S. letter paper, and 0.15 inches (0.38cm) for A4. 12377dd7cddfSDavid du Colombier 1238*3ff48bf5SDavid du Colombier<h4><a name="HP_command_line"></a>Printer properties (command-line parameters)</h4> 12397dd7cddfSDavid du Colombier 12407dd7cddfSDavid du Colombier<p> 12417dd7cddfSDavid du ColombierSeveral printer "properties" have been implemented for these printers. 12427dd7cddfSDavid du ColombierThose available so far are all integer quantities, and thus may be 12437dd7cddfSDavid du Colombierspecified, for instance, like 12447dd7cddfSDavid du Colombier 12457dd7cddfSDavid du Colombier<blockquote> 12467dd7cddfSDavid du Colombier<b><tt>gs -dBitsPerPixel=32 -dShingling=1</tt></b> ... 12477dd7cddfSDavid du Colombier</blockquote> 12487dd7cddfSDavid du Colombier 12497dd7cddfSDavid du Colombier<p> 12507dd7cddfSDavid du Colombierwhich sets the <b><tt>BitsPerPixel</tt></b> parameter to 32 and the 12517dd7cddfSDavid du Colombier<b><tt>Shingling</tt></b> parameter to 1. 12527dd7cddfSDavid du Colombier 1253*3ff48bf5SDavid du Colombier<h4><a name="HP_bpp"></a>Bits per pixel</h4> 12547dd7cddfSDavid du Colombier 12557dd7cddfSDavid du Colombier<p> 12567dd7cddfSDavid du ColombierIf the preprocessor symbol <b><tt>BITSPERPIXEL</tt></b> is defined as an 12577dd7cddfSDavid du Colombierinteger (see below for the range of allowable values), that number defines 12587dd7cddfSDavid du Colombierthe default bits per pixel (bit depth) for the generic drivers. If the 12597dd7cddfSDavid du Colombiersymbol is undefined, the default is 24 bits per pixel. It is, of course, 12607dd7cddfSDavid du Colombierstill possible to specify the value from the command line as described 12617dd7cddfSDavid du Colombierbelow. Note also that the <b><tt>cDeskJet</tt></b>, 12627dd7cddfSDavid du Colombier<b><tt>cdjcolor</tt></b> and <b><tt>cdjmono</tt></b> drivers are unaffected 12637dd7cddfSDavid du Colombierby setting this symbol, as their default settings are predefined to be 1, 3 12647dd7cddfSDavid du Colombierand 24 respectively. 12657dd7cddfSDavid du Colombier 12667dd7cddfSDavid du Colombier<p> 12677dd7cddfSDavid du ColombierAll of the drivers in <b><tt>gdevcdj.c</tt></b> accept a command line 12687dd7cddfSDavid du Colombieroption to set the <b><tt>BitsPerPixel</tt></b> property. This gives 12697dd7cddfSDavid du Colombierconsiderable flexibility in choosing various tradeoffs among speed, 12707dd7cddfSDavid du Colombierquality, colour, etc. The valid numbers are: 12717dd7cddfSDavid du Colombier 12727dd7cddfSDavid du Colombier<blockquote><dl compact> 12737dd7cddfSDavid du Colombier<dt><b>1</b> 12747dd7cddfSDavid du Colombier<dd>A standard Ghostscript monochrome driver, using black ink (by 12757dd7cddfSDavid du Colombierinstalling the separate mono cartridge in the case of the DeskJet 500C, or 12767dd7cddfSDavid du Colombierautomatically for the other printers). 12777dd7cddfSDavid du Colombier 12787dd7cddfSDavid du Colombier<dt><b>3</b> 12797dd7cddfSDavid du Colombier<dd>A standard Ghostscript colour driver, using internal dithering. This 12807dd7cddfSDavid du Colombieris fast to compute and to print, but the clustered dithering can lose some 12817dd7cddfSDavid du Colombierdetail and colour fidelity. 12827dd7cddfSDavid du Colombier 12837dd7cddfSDavid du Colombier<dt><b>8</b> 12847dd7cddfSDavid du Colombier<dd>An "error-diffusion" monochrome driver which uses Floyd-Steinberg 12857dd7cddfSDavid du Colombierdithering to print greyscale images. The patterns are much more randomised 12867dd7cddfSDavid du Colombierthan with the normal clustered dithering, but the data files can be much 12877dd7cddfSDavid du Colombierlarger and somewhat slower to print. 12887dd7cddfSDavid du Colombier 12897dd7cddfSDavid du Colombier<dt><b>16</b> 12907dd7cddfSDavid du Colombier<dd>A "cheaper" version of the 24-bit driver, which generates 12917dd7cddfSDavid du ColombierFloyd-Steinberg colour dithered output using the minimum memory (this may 12927dd7cddfSDavid du Colombierbe helpful when using Ghostscript has not been compiled using a 16-bit 12937dd7cddfSDavid du Colombierbuild environment). The quality can be almost as good as the 24-bit 12947dd7cddfSDavid du Colombierversion. 12957dd7cddfSDavid du Colombier 12967dd7cddfSDavid du Colombier<dt><b>24</b> 12977dd7cddfSDavid du Colombier<dd>A high-quality colour driver using Floyd-Steinberg dithering for 12987dd7cddfSDavid du Colombiermaximum detail and colour range. However, it is very memory-intensive, and 12997dd7cddfSDavid du Colombierthus can be slow to compute. It tends to produce rather larger raw data 13007dd7cddfSDavid du Colombierfiles, so they can also take longer to print. 13017dd7cddfSDavid du Colombier 13027dd7cddfSDavid du Colombier<dt><b>32</b> 13037dd7cddfSDavid du Colombier<dd>Only for the DeskJet 550C, which uses the black cartridge and the 13047dd7cddfSDavid du Colombiercolour cartridge simultaneously (that is, CMYK printing). This printer can 13057dd7cddfSDavid du Colombierboth be faster and give higher quality than the DeskJet 500C, because of 13067dd7cddfSDavid du Colombierthe true black ink. (Note that the 24-bit mode also permits CMYK printing 13077dd7cddfSDavid du Colombieron this printer, and uses less memory. Any differences between 24-bit and 13087dd7cddfSDavid du Colombier32-bit should be small.) 13097dd7cddfSDavid du Colombier</dl></blockquote> 13107dd7cddfSDavid du Colombier 1311*3ff48bf5SDavid du Colombier<h4><a name="HP_DeskJet_properties"></a>DeskJet properties</h4> 13127dd7cddfSDavid du Colombier 13137dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 13147dd7cddfSDavid du Colombier<tr valign=bottom> 13157dd7cddfSDavid du Colombier <th align=left>Name 13167dd7cddfSDavid du Colombier <td> 13177dd7cddfSDavid du Colombier <th align=left>Type 13187dd7cddfSDavid du Colombier <td> 13197dd7cddfSDavid du Colombier <th align=left> 13207dd7cddfSDavid du Colombier<tr> <td colspan=5><hr> 13217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>BlackCorrect</tt></b> 13227dd7cddfSDavid du Colombier <td> 13237dd7cddfSDavid du Colombier <td><b><tt>int</tt></b> 13247dd7cddfSDavid du Colombier <td> 13257dd7cddfSDavid du Colombier <td>Colour correction to give better blacks when using the DJ500C in colour mode. For example, the default of 4 reduces the cyan component to 4/5. Range accepted: 0 - 9 (0 = none). 13267dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Shingling</tt></b> 13277dd7cddfSDavid du Colombier <td> 13287dd7cddfSDavid du Colombier <td><b><tt>int</tt></b> 13297dd7cddfSDavid du Colombier <td> 13307dd7cddfSDavid du Colombier <td>Interlaced, multi-pass printing: 0 = none, 1 = 50%, 2 = 25%, 2 is best and slowest. 13317dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Depletion</tt></b> 13327dd7cddfSDavid du Colombier <td> 13337dd7cddfSDavid du Colombier <td><b><tt>int</tt></b> 13347dd7cddfSDavid du Colombier <td> 13357dd7cddfSDavid du Colombier <td>"Intelligent" dot-removal: 0 = none, 1 = 25%, 2 = 50%, 1 best for graphics? Use 0 for transparencies. 13367dd7cddfSDavid du Colombier</table></blockquote> 13377dd7cddfSDavid du Colombier 1338*3ff48bf5SDavid du Colombier<h4><a name="HP_PaintJet_properties"></a>PaintJet XL300 / PaintJet XL properties</h4> 13397dd7cddfSDavid du Colombier 13407dd7cddfSDavid du Colombier<blockquote> 13417dd7cddfSDavid du Colombier<table cellpadding=0 cellspacing=0> 13427dd7cddfSDavid du Colombier<tr valign=bottom> 13437dd7cddfSDavid du Colombier <th align=left>Name 13447dd7cddfSDavid du Colombier <td> 13457dd7cddfSDavid du Colombier <th align=left>Type 13467dd7cddfSDavid du Colombier <td> 13477dd7cddfSDavid du Colombier <th align=left> 13487dd7cddfSDavid du Colombier<tr> <td colspan=5><hr> 13497dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>PrintQuality</tt></b> 13507dd7cddfSDavid du Colombier <td> 13517dd7cddfSDavid du Colombier <td><b><tt>int</tt></b> 13527dd7cddfSDavid du Colombier <td> 13537dd7cddfSDavid du Colombier <td>Mechanical print quality: -1 = fast, 0 = normal, 1 = presentation. Fast mode reduces ink usage and uses single-pass operation for some media types. Presentation uses more ink and the maximum number of passes, giving slowest printing for highest quality 13547dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>RenderType</tt></b> 13557dd7cddfSDavid du Colombier <td> 13567dd7cddfSDavid du Colombier <td><b><tt>int</tt></b> 13577dd7cddfSDavid du Colombier <td> 13587dd7cddfSDavid du Colombier <td><dl compact> 13597dd7cddfSDavid du Colombier <dt><b>0</b><dd>driver does dithering 13607dd7cddfSDavid du Colombier <dt><b>1</b><dd>snap to primaries 13617dd7cddfSDavid du Colombier <dt><b>2</b><dd>snap black to white, others to black 13627dd7cddfSDavid du Colombier <dt><b>3</b><dd>ordered dither 13637dd7cddfSDavid du Colombier <dt><b>4</b><dd>error diffusion 13647dd7cddfSDavid du Colombier <dt><b>5</b><dd>monochrome ordered dither 13657dd7cddfSDavid du Colombier <dt><b>6</b><dd>monochrome error diffusion 13667dd7cddfSDavid du Colombier <dt><b>7</b><dd>cluster ordered dither 13677dd7cddfSDavid du Colombier <dt><b>8</b><dd>monochrome cluster ordered dither 13687dd7cddfSDavid du Colombier <dt><b>9</b><dd>user-defined dither (not supported) 13697dd7cddfSDavid du Colombier <dt><b>10</b><dd>monochrome user-defined dither ns. 13707dd7cddfSDavid du Colombier </dl> 13717dd7cddfSDavid du Colombier</table> 13727dd7cddfSDavid du Colombier 13737dd7cddfSDavid du Colombier<p> 13747dd7cddfSDavid du ColombierThe PaintJet (non-XL) has no additional properties. 13757dd7cddfSDavid du Colombier 13767dd7cddfSDavid du Colombier</blockquote> 13777dd7cddfSDavid du Colombier 1378*3ff48bf5SDavid du Colombier<h3><a name="HP_gamma"></a>Gamma correction</h3> 13797dd7cddfSDavid du Colombier 13807dd7cddfSDavid du Colombier<p> 13817dd7cddfSDavid du ColombierOne consequence of using Floyd-Steinberg dithering rather than Ghostscript's 13827dd7cddfSDavid du Colombierdefault clustered ordered dither is that it is much more obvious that the 13837dd7cddfSDavid du Colombierink dots are rather larger on the page than their nominal 1/180-inch or 1/300-inch 13847dd7cddfSDavid du Colombiersize (clustering the dots tends to minimise this effect). Thus it is often 13857dd7cddfSDavid du Colombierthe case that the printed result is rather too dark. A simple empirical 13867dd7cddfSDavid du Colombiercorrection for this may be achieved by preceding the actual PostScript 13877dd7cddfSDavid du Colombierfile to be printed by a short file which effectively sets the gamma for 13887dd7cddfSDavid du Colombierthe device, such as 13897dd7cddfSDavid du Colombier 13907dd7cddfSDavid du Colombier<blockquote><b><tt> 13917dd7cddfSDavid du Colombiergs ... gamma.ps colorpic.ps -c quit 13927dd7cddfSDavid du Colombier</tt></b></blockquote> 13937dd7cddfSDavid du Colombier 13947dd7cddfSDavid du Colombier<p> 13957dd7cddfSDavid du Colombierwhere <b><tt>gamma.ps</tt></b> is 13967dd7cddfSDavid du Colombier 13977dd7cddfSDavid du Colombier<blockquote> 13987dd7cddfSDavid du Colombier<pre>%! 13997dd7cddfSDavid du Colombier/.fixtransfer { 14007dd7cddfSDavid du Colombier currentcolortransfer 4 { 14017dd7cddfSDavid du Colombier mark exch 14027dd7cddfSDavid du Colombier dup type dup /arraytype eq exch /packedarraytype eq or 14037dd7cddfSDavid du Colombier 1 index xcheck and { /exec load } if 14047dd7cddfSDavid du Colombier 0.333 /exp load 14057dd7cddfSDavid du Colombier ] cvx 4 1 roll 14067dd7cddfSDavid du Colombier } repeat setcolortransfer 14077dd7cddfSDavid du Colombier} bind odef 14087dd7cddfSDavid du Colombier.fixtransfer 14097dd7cddfSDavid du Colombier/setpagedevice { setpagedevice .fixtransfer } bind odef</pre> 14107dd7cddfSDavid du Colombier</blockquote> 14117dd7cddfSDavid du Colombier 14127dd7cddfSDavid du Colombier<p> 14137dd7cddfSDavid du ColombierThis does the gamma correction <b><em>after</em></b> whatever correction 14147dd7cddfSDavid du Colombierthe device might be doing already. To do the correction 14157dd7cddfSDavid du Colombier<b><em>before</em></b> the current correction, 14167dd7cddfSDavid du Colombier 14177dd7cddfSDavid du Colombier<blockquote> 14187dd7cddfSDavid du Colombier<pre>%! 14197dd7cddfSDavid du Colombier/.fixtransfer { 14207dd7cddfSDavid du Colombier currentcolortransfer 4 { 14217dd7cddfSDavid du Colombier mark 0.333 /exp load 4 -1 roll 14227dd7cddfSDavid du Colombier dup type dup /arraytype eq exch /packedarraytype eq or 14237dd7cddfSDavid du Colombier 1 index xcheck and { /exec load } if 14247dd7cddfSDavid du Colombier ] cvx 4 1 roll 14257dd7cddfSDavid du Colombier } repeat setcolortransfer 14267dd7cddfSDavid du Colombier} bind odef 14277dd7cddfSDavid du Colombier.fixtransfer 14287dd7cddfSDavid du Colombier/setpagedevice { setpagedevice .fixtransfer } bind odef</pre> 14297dd7cddfSDavid du Colombier</blockquote> 14307dd7cddfSDavid du Colombier 14317dd7cddfSDavid du Colombier<p> 14327dd7cddfSDavid du ColombierThis example sets the gamma for R, G, and B to 3, which seems to work 14337dd7cddfSDavid du Colombierreasonably well in practice. 14347dd7cddfSDavid du Colombier 1435*3ff48bf5SDavid du Colombier<h3><a name="HP_resolution_enhance"></a>HP's resolution-enhanced mode for Inkjet printers</h3> 14367dd7cddfSDavid du Colombier 14377dd7cddfSDavid du Colombier<p> 14387dd7cddfSDavid du ColombierThis feature is available on HP's more recent inkjet printers, including 14397dd7cddfSDavid du Colombierthe DeskJet 520 (mono), 540 (mono or colour) and 560C (mono and colour). 14407dd7cddfSDavid du ColombierThe colour and monochrome drivers for the HP DeskJet 550c are (probably) 14417dd7cddfSDavid du Colombierthe best you will get for use with Ghostscript, for the following reasons. 14427dd7cddfSDavid du Colombier 14437dd7cddfSDavid du Colombier<p> 14447dd7cddfSDavid du ColombierThese printers do not offer true 600×300dpi resolution. Those that 14457dd7cddfSDavid du Colombierprint in colour are strictly 300×300dpi in colour mode, while in mono 14467dd7cddfSDavid du Colombiermode there is a pseudo 600×300dpi mode with the restriction that you 14477dd7cddfSDavid du Colombiercan't print two adjacent dots. In effect what you have is 600dpi dot 14487dd7cddfSDavid du Colombierpositioning, but on average you don't get more dots per line. This 14497dd7cddfSDavid du Colombierprovides the possibility, for instance, to have sharper character outlines, 14507dd7cddfSDavid du Colombierbecause you can place dots on the edges nearer to their ideal positions. 14517dd7cddfSDavid du ColombierThis is why it is worth doing. 14527dd7cddfSDavid du Colombier 14537dd7cddfSDavid du Colombier<p> 14547dd7cddfSDavid du ColombierHowever, HP will not support user-level programming of this 14557dd7cddfSDavid du Colombierresolution-enhanced mode, one reason being that (I understand) all the dot 14567dd7cddfSDavid du Colombierspacing has to be done by the driver, and if you get it wrong, you can 14577dd7cddfSDavid du Colombieractually damage the print head. 14587dd7cddfSDavid du Colombier 14597dd7cddfSDavid du Colombier<p> 14607dd7cddfSDavid du ColombierTo summarise, you may lose a smidgin of (potential) text clarity using the 14617dd7cddfSDavid du Colombier550c drivers (<b><tt>cdj550</tt></b>, <b><tt>cdjcolor</tt></b>, 14627dd7cddfSDavid du Colombier<b><tt>cdjmono</tt></b> etc.), but other than that, they are the ones for 14637dd7cddfSDavid du Colombierthe job. 14647dd7cddfSDavid du Colombier 1465*3ff48bf5SDavid du Colombier<h3><a name="HP_tips"></a>General tips</h3> 14667dd7cddfSDavid du Colombier 14677dd7cddfSDavid du Colombier<p> 14687dd7cddfSDavid du ColombierFor all the printers above, the choice of paper is critically important to 14697dd7cddfSDavid du Colombierthe final results. The printer manuals suggest type of paper, but in 14707dd7cddfSDavid du Colombiergeneral, smoother, less fibrous types give better results. In particular, 14717dd7cddfSDavid du Colombierthe special ink-jet paper can make a big difference: colours are brighter, 14727dd7cddfSDavid du Colombierbut most importantly, there is almost no colour bleed, even with adjacent 14737dd7cddfSDavid du Colombierareas of very heavy inking. Similarly the special coated transparencies 14747dd7cddfSDavid du Colombieralso work well (and ordinary transparencies do not work at all!). 14757dd7cddfSDavid du Colombier 14767dd7cddfSDavid du Colombier<p> 14777dd7cddfSDavid du ColombierThe Unix procedure <a href="Unix-lpr.htm"><b><tt>unix-lpr.sh</tt></b></a> 14787dd7cddfSDavid du Colombierprovides one example of setting up a multi-option colour PostScript 14797dd7cddfSDavid du Colombier<b><tt>lpr</tt></b> queue on Unix systems, and includes the ability to 14807dd7cddfSDavid du Colombierchoose a range of different colour options and printer accounting and error 14817dd7cddfSDavid du Colombierlogging. 14827dd7cddfSDavid du Colombier 14837dd7cddfSDavid du Colombier<p> 14847dd7cddfSDavid du Colombier<b>Caveat emptor!</b> It is not always easy for me to test all of these 14857dd7cddfSDavid du Colombierdrivers, as the only colour printer I have here is the DeskJet 500C. I rely 14867dd7cddfSDavid du Colombieron others to test drivers for the additional machines and report their 14877dd7cddfSDavid du Colombierfindings back to me. 14887dd7cddfSDavid du Colombier 14897dd7cddfSDavid du Colombier<hr> 14907dd7cddfSDavid du Colombier 1491*3ff48bf5SDavid du Colombier<h2><a name="BJC_8200"></a>Canon BJC-8200 printer</h2> 1492*3ff48bf5SDavid du Colombier 1493*3ff48bf5SDavid du Colombier<p> 1494*3ff48bf5SDavid du ColombierThis section was contributed by the author of the <b><tt>uniprint</tt></b> 1495*3ff48bf5SDavid du Colombierconfiguration files for the Canon BJC-8200, Stephan C. Buchert <<a 1496*3ff48bf5SDavid du Colombierhref="mailto:scb@stelab.nagoya-u.ac.jp">scb@stelab.nagoya-u.ac.jp</a>>. 1497*3ff48bf5SDavid du ColombierThese files also handle the Japanese Canon F850 printer. 1498*3ff48bf5SDavid du Colombier 1499*3ff48bf5SDavid du Colombier<p> 1500*3ff48bf5SDavid du ColombierWarning: Usage of this program is neither supported nor endorsed by 1501*3ff48bf5SDavid du Colombierthe Canon corporation. Please see the Ghostscript <a 1502*3ff48bf5SDavid du Colombierhref="Public.htm">license</a> regarding warranty. 1503*3ff48bf5SDavid du Colombier 1504*3ff48bf5SDavid du Colombier<h3>Introduction</h3> 1505*3ff48bf5SDavid du Colombier 1506*3ff48bf5SDavid du Colombier<p> 1507*3ff48bf5SDavid du ColombierThe Canon Bubble Jet printer BJC-8200 is designed for printing digital 1508*3ff48bf5SDavid du Colombierphotos and halftone images. Software drivers for Windows 95-2000 and Mac are 1509*3ff48bf5SDavid du Colombierusually included and can be downloaded from the Canon web sites like 1510*3ff48bf5SDavid du Colombier<a href="http://consumer.usa.canon.com/bjc/bjc8200/">http://consumer.usa.canon.com/bjc/bjc8200/</a> 1511*3ff48bf5SDavid du Colombierfor the US market. If these drivers cannot be used for some reason, then at 1512*3ff48bf5SDavid du Colombierpresent Ghostscript is probably the alternative giving the best results. 1513*3ff48bf5SDavid du Colombier 1514*3ff48bf5SDavid du Colombier<p> 1515*3ff48bf5SDavid du ColombierThe BJC-8200 has features not found among the specs of earlier bubble jet 1516*3ff48bf5SDavid du Colombiermodels (except the even more advanced BJC-8500) and is advertised to offer: 1517*3ff48bf5SDavid du Colombier 1518*3ff48bf5SDavid du Colombier<ol> 1519*3ff48bf5SDavid du Colombier 1520*3ff48bf5SDavid du Colombier<li>microfine droplet technology; 1521*3ff48bf5SDavid du Colombier 1522*3ff48bf5SDavid du Colombier<li>support for printing on a new type of paper, Photo Paper Pro; 1523*3ff48bf5SDavid du Colombier 1524*3ff48bf5SDavid du Colombier<li>a printhead capable of printing up to 1200 DpI; 1525*3ff48bf5SDavid du Colombier 1526*3ff48bf5SDavid du Colombier<li>individual ink tanks for 6 colors; 1527*3ff48bf5SDavid du Colombier 1528*3ff48bf5SDavid du Colombier<li>an internal status monitor reporting low ink back to a driver; 1529*3ff48bf5SDavid du Colombier 1530*3ff48bf5SDavid du Colombier<li>an optional color scanner cartridge for up to 600 DpI resolution. 1531*3ff48bf5SDavid du Colombier 1532*3ff48bf5SDavid du Colombier</ol> 1533*3ff48bf5SDavid du Colombier 1534*3ff48bf5SDavid du Colombier<p> 1535*3ff48bf5SDavid du ColombierAccess to features 5 and 6 requires use of the original Canon drivers for 1536*3ff48bf5SDavid du Colombierthe foreseeable future. This README is about getting the printer features 1537*3ff48bf5SDavid du Colombier1-3 working with Ghostscript. No (re)compilation of Ghostscript is normally 1538*3ff48bf5SDavid du Colombierrequired. 1539*3ff48bf5SDavid du Colombier 1540*3ff48bf5SDavid du Colombier<p> 1541*3ff48bf5SDavid du ColombierGhostscript comes with a relatively highly configurable driver, called 1542*3ff48bf5SDavid du Colombier<a href="#Uniprint">uniprint</a>, for printers which understand raster 1543*3ff48bf5SDavid du Colombierimages in various propriety formats. Most options for this driver are 1544*3ff48bf5SDavid du Colombierusually organized into files having the suffix ".upp." Ghostscript 1545*3ff48bf5SDavid du Colombierversions >= 5.10 (or even earlier) include such uniprint control files 1546*3ff48bf5SDavid du Colombierfor the Canon BJC-610. They work also well for some other Canon Bubble 1547*3ff48bf5SDavid du ColombierJet models, for example for my BJC-35vII. But when using them for a 1548*3ff48bf5SDavid du ColombierBJC-8200 the result is unsatisfactory. 1549*3ff48bf5SDavid du Colombier 1550*3ff48bf5SDavid du Colombier<h3>The uniprint control files for the BJC-8200</h3> 1551*3ff48bf5SDavid du Colombier 1552*3ff48bf5SDavid du Colombier<p> 1553*3ff48bf5SDavid du ColombierAfter some experimenting with the options for uniprint I have obtained quite 1554*3ff48bf5SDavid du Colombiersatisfactory prints with my printer(*). This distribution includes six new 1555*3ff48bf5SDavid du Colombieruniprint control files: 1556*3ff48bf5SDavid du Colombier 1557*3ff48bf5SDavid du Colombier<ul> 1558*3ff48bf5SDavid du Colombier<li>bj8pp12f.upp 1559*3ff48bf5SDavid du Colombier<li>bj8hg12f.upp 1560*3ff48bf5SDavid du Colombier<li>bj8gc12f.upp 1561*3ff48bf5SDavid du Colombier<li>bj8oh06n.upp 1562*3ff48bf5SDavid du Colombier<li>bj8ts06n.upp 1563*3ff48bf5SDavid du Colombier<li>bj8pa06n.upp 1564*3ff48bf5SDavid du Colombier</ul> 1565*3ff48bf5SDavid du Colombier 1566*3ff48bf5SDavid du Colombier<p> 1567*3ff48bf5SDavid du ColombierThey are included in Ghostscript >=6.21. For older versions you can put 1568*3ff48bf5SDavid du Colombierthem anywhere in the Ghostscript search path (type "gs -h" to see the 1569*3ff48bf5SDavid du Colombierpath), but should perhaps add the files to the directory with the 1570*3ff48bf5SDavid du Colombierother *.upp files. This is "/usr/share/ghostscript/gs6.01/lib" in my 1571*3ff48bf5SDavid du ColombierRedHat 6.1 Linux box with Aladdin Ghostscript 6.01. 1572*3ff48bf5SDavid du Colombier 1573*3ff48bf5SDavid du Colombier<p> 1574*3ff48bf5SDavid du ColombierHere is an explanation of my file name convention: the prefix "bj8" should 1575*3ff48bf5SDavid du Colombierperhaps be used for the Canon BJC-8200 and compatible (like the Japanese 1576*3ff48bf5SDavid du ColombierF850 and perhaps the non-Japanese BJC-8500) models. The next two letters 1577*3ff48bf5SDavid du Colombierindicate the print media: 1578*3ff48bf5SDavid du Colombier 1579*3ff48bf5SDavid du Colombier<ul> 1580*3ff48bf5SDavid du Colombier<li>pp "Photo Paper Pro" 1581*3ff48bf5SDavid du Colombier<li>hg "High Gloss Photo Film" 1582*3ff48bf5SDavid du Colombier<li>gc "Glossy Photo Cards" 1583*3ff48bf5SDavid du Colombier<li>oh "OHP transparencies" 1584*3ff48bf5SDavid du Colombier<li>ts "T-shirt transfer" 1585*3ff48bf5SDavid du Colombier<li>pa "Plain Paper" 1586*3ff48bf5SDavid du Colombier</ul> 1587*3ff48bf5SDavid du Colombier 1588*3ff48bf5SDavid du Colombier<p> 1589*3ff48bf5SDavid du ColombierThe numbers at positions 6 and 7 indicate the resolution 1590*3ff48bf5SDavid du Colombier 1591*3ff48bf5SDavid du Colombier<ul> 1592*3ff48bf5SDavid du Colombier<li>12 1200x1200 DpIxDpI 1593*3ff48bf5SDavid du Colombier<li>06 600x600 DpIxDpI 1594*3ff48bf5SDavid du Colombier</ul> 1595*3ff48bf5SDavid du Colombier 1596*3ff48bf5SDavid du Colombier<p> 1597*3ff48bf5SDavid du ColombierThe last letter stands for a quality factor that effects also the print 1598*3ff48bf5SDavid du Colombierspeed (presumably related to the number of passes that the printhead makes). 1599*3ff48bf5SDavid du Colombier 1600*3ff48bf5SDavid du Colombier<ul> 1601*3ff48bf5SDavid du Colombier<li>f highest quality 1602*3ff48bf5SDavid du Colombier<li>n normal quality 1603*3ff48bf5SDavid du Colombier</ul> 1604*3ff48bf5SDavid du Colombier 1605*3ff48bf5SDavid du Colombier<p> 1606*3ff48bf5SDavid du ColombierPrinting a postcard size (~10x15 cm^2) image at 1200x1200 DpI^2 takes about 1607*3ff48bf5SDavid du Colombier3 minutes. The output of Ghostscript is then typically 4-5 MByte. The 1608*3ff48bf5SDavid du Colombierbootleneck seems to be the transfer of the raster image in run-length 1609*3ff48bf5SDavid du Colombierencoded Canon format to the printer (via the parallel port on my system) or 1610*3ff48bf5SDavid du Colombierthe printer's speed, not Ghostscript or the uniprint renderer. 1611*3ff48bf5SDavid du Colombier 1612*3ff48bf5SDavid du Colombier<h3>Further Optimization for the Canon BJC-8200</h3> 1613*3ff48bf5SDavid du Colombier 1614*3ff48bf5SDavid du ColombierSo far I have only experimented with the printer initialization code at the 1615*3ff48bf5SDavid du Colombierbeginning of each page (-dupBeginPageCommand) and the resolution (-r). Other 1616*3ff48bf5SDavid du Colombieroptions, particularly the transfer arrays (-dupBlackTransfer, 1617*3ff48bf5SDavid du Colombier-dupCyanTransfer, -dupMagentaTransfer, -dupYellowTransfer) and the margins 1618*3ff48bf5SDavid du Colombier(-dupMargins) were simply copied from the files for the BJC-610, but they 1619*3ff48bf5SDavid du Colombiermay need to be changed for optimized performance. 1620*3ff48bf5SDavid du Colombier 1621*3ff48bf5SDavid du Colombier<p> 1622*3ff48bf5SDavid du ColombierHere is information useful for changing or adding uniprint control files for 1623*3ff48bf5SDavid du Colombierthe BJC-8200: 1624*3ff48bf5SDavid du Colombier 1625*3ff48bf5SDavid du Colombier<p> 1626*3ff48bf5SDavid du ColombierIn "-dupBeginPageCommand=..." use the line 1627*3ff48bf5SDavid du Colombier 1628*3ff48bf5SDavid du Colombier<blockquote> 1629*3ff48bf5SDavid du Colombier 1b28 64 0400 04b0 04b0 1630*3ff48bf5SDavid du Colombier</blockquote> 1631*3ff48bf5SDavid du Colombier 1632*3ff48bf5SDavid du Colombier<p> 1633*3ff48bf5SDavid du Colombierfor 1200x1200 resolution, and 1634*3ff48bf5SDavid du Colombier 1635*3ff48bf5SDavid du Colombier<blockquote> 1636*3ff48bf5SDavid du Colombier 1b28 64 0400 0258 0258 1637*3ff48bf5SDavid du Colombier</blockquote> 1638*3ff48bf5SDavid du Colombier 1639*3ff48bf5SDavid du Colombier<p> 1640*3ff48bf5SDavid du Colombierfor 600x600. The "-r" option in the control file must of course match this 1641*3ff48bf5SDavid du Colombierline. Other resolutions might work as well, but I didn't try. 1642*3ff48bf5SDavid du Colombier 1643*3ff48bf5SDavid du Colombier<p> 1644*3ff48bf5SDavid du ColombierCrucial are the numbers in the lines like 1645*3ff48bf5SDavid du Colombier 1646*3ff48bf5SDavid du Colombier<blockquote><pre> 1647*3ff48bf5SDavid du Colombier 1b28 63 0300 3005 04 1648*3ff48bf5SDavid du Colombier ^ ^ 1649*3ff48bf5SDavid du Colombier Plain Paper 0 4 Highest quality 1650*3ff48bf5SDavid du Colombier OHP transparency 2 . 1651*3ff48bf5SDavid du Colombier T-shirt transfer 3 . 1652*3ff48bf5SDavid du Colombier Glossy Photo Film 5 . 1653*3ff48bf5SDavid du Colombier High Gloss Paper 6 0 Lowest quality 1654*3ff48bf5SDavid du Colombier Photo Paper Pro 9 1655*3ff48bf5SDavid du Colombier</pre></blockquote> 1656*3ff48bf5SDavid du Colombier 1657*3ff48bf5SDavid du Colombier<h3>Outlook</h3> 1658*3ff48bf5SDavid du Colombier 1659*3ff48bf5SDavid du Colombier<p> 1660*3ff48bf5SDavid du ColombierPresently uniprint can use the black (K), cyan (C), magenta (M), and 1661*3ff48bf5SDavid du Colombieryellow (Y) colors in the BJC-8200. The unused colors are photo (or 1662*3ff48bf5SDavid du Colombierlight) cyan (c) and magenta (m). Also the Canon driver seems to use 1663*3ff48bf5SDavid du Colombieronly CMYK, for example when printing on Photo Paper Pro in "Camera" or 1664*3ff48bf5SDavid du Colombier"SuperPhoto" mode. These modes supposedly produce prints of the best 1665*3ff48bf5SDavid du Colombierquality that the Canon driver can offer. Other modes of Canon driver 1666*3ff48bf5SDavid du Colombierdo use up to all six color cartridges (CMYKcm). Therefore expanding 1667*3ff48bf5SDavid du Colombieruniprint's capabilities for six colors would be interesting, but it may 1668*3ff48bf5SDavid du Colombiernot increase the output quality of 6-color printers such as the 1669*3ff48bf5SDavid du ColombierBJC-8200 drastically. 1670*3ff48bf5SDavid du Colombier 1671*3ff48bf5SDavid du Colombier<p> 1672*3ff48bf5SDavid du ColombierMore control files for uniprint could be added in order to offer more 1673*3ff48bf5SDavid du Colombierversatility for controlling the BJC-8200 within a Ghostscript 1674*3ff48bf5SDavid du Colombierinstallation. The number of possible combinations for media type, resolution 1675*3ff48bf5SDavid du Colombierand print quality factor is very large, many combinations would not make 1676*3ff48bf5SDavid du Colombiermuch sense, many might be used here and there, but relatively rarely. The 1677*3ff48bf5SDavid du Colombieruser would have to remember a name for each combination that is used. 1678*3ff48bf5SDavid du Colombier 1679*3ff48bf5SDavid du Colombier<p> 1680*3ff48bf5SDavid du ColombierA better way would be to let the user patch optionally a user owned or 1681*3ff48bf5SDavid du Colombiersystem wide uniprint control file before each print via some print 1682*3ff48bf5SDavid du Colombiertool. This is similar to the approach taken by Canon with their driver for 1683*3ff48bf5SDavid du ColombierWindows. Similarly a uniprint tool could also incorporate other functions 1684*3ff48bf5SDavid du Colombiersuch as printing test and demo pages and the low ink warning once the 1685*3ff48bf5SDavid du Colombierprotocol for this is known. Clearly it would be difficult to code such a 1686*3ff48bf5SDavid du Colombieruniprint tool for all the platforms where Ghostscript is running. 1687*3ff48bf5SDavid du Colombier 1688*3ff48bf5SDavid du Colombier<h3>Usage on RedHat Linux</h3> 1689*3ff48bf5SDavid du Colombier 1690*3ff48bf5SDavid du Colombier<p> 1691*3ff48bf5SDavid du ColombierIn order to install a BJC-8200 printer on a RedHat Linux system with 1692*3ff48bf5SDavid du ColombierRedHat's printtool, you need also to insert with a text editor the contents 1693*3ff48bf5SDavid du Colombierof the file <b><tt>bj8.rpd</tt></b> into the RedHat printer database 1694*3ff48bf5SDavid du Colombier<b><tt>/usr/lib/rhs/rhs-printfilters/printerdb</tt></b>. Insert it most 1695*3ff48bf5SDavid du Colombierappropriately after the section 1696*3ff48bf5SDavid du Colombier 1697*3ff48bf5SDavid du Colombier<blockquote><pre> 1698*3ff48bf5SDavid du ColombierStartEntry: U_CanonBJC610 1699*3ff48bf5SDavid du Colombier. 1700*3ff48bf5SDavid du Colombier. 1701*3ff48bf5SDavid du Colombier. 1702*3ff48bf5SDavid du ColombierEndEntry 1703*3ff48bf5SDavid du Colombier 1704*3ff48bf5SDavid du Colombier< --- insert here "bj8.rpd" from this distribution: 1705*3ff48bf5SDavid du Colombier< --- StartEntry: U_CanonBJC8200 1706*3ff48bf5SDavid du Colombier . 1707*3ff48bf5SDavid du Colombier . 1708*3ff48bf5SDavid du Colombier . 1709*3ff48bf5SDavid du Colombier</pre></blockquote> 1710*3ff48bf5SDavid du Colombier 1711*3ff48bf5SDavid du Colombier<h3>Contacting the Author</h3> 1712*3ff48bf5SDavid du Colombier 1713*3ff48bf5SDavid du Colombier<p> 1714*3ff48bf5SDavid du ColombierE-mail address: <<a 1715*3ff48bf5SDavid du Colombierhref="mailto:scb@stelab.nagoya-u.ac.jp">scb@stelab.nagoya-u.ac.jp</a>> 1716*3ff48bf5SDavid du Colombier 1717*3ff48bf5SDavid du Colombier<p> 1718*3ff48bf5SDavid du ColombierFootnotes: 1719*3ff48bf5SDavid du Colombier 1720*3ff48bf5SDavid du Colombier<p> 1721*3ff48bf5SDavid du Colombier(*) Actually I have a F850, not a BJC-8200. That model is sold for the 1722*3ff48bf5SDavid du ColombierJapanese market only. The specs and also the external look are the 1723*3ff48bf5SDavid du Colombiersame as those of the BJC-8200 models for the American and European 1724*3ff48bf5SDavid du Colombiermarkets. I expect that the raster image mode which is used exclusively 1725*3ff48bf5SDavid du Colombierby Ghostscript is entirely compatible for both models. 1726*3ff48bf5SDavid du Colombier 1727*3ff48bf5SDavid du Colombier<p> 1728*3ff48bf5SDavid du ColombierStephan C. Buchert 1729*3ff48bf5SDavid du Colombier 1730*3ff48bf5SDavid du Colombier<hr> 1731*3ff48bf5SDavid du Colombier 1732*3ff48bf5SDavid du Colombier<h2><a name="BJC"></a>Other Canon BubbleJet (BJC) printers</h2> 17337dd7cddfSDavid du Colombier 17347dd7cddfSDavid du Colombier<p> 17357dd7cddfSDavid du ColombierThis section was contributed by the author of the drivers, Yves Arrouye 1736*3ff48bf5SDavid du Colombier(<<a href="mailto:yves.arrouye@usa.net">yves.arrouye@usa.net</a>>, but 1737*3ff48bf5SDavid du Colombierplease do not send questions to him: he no longer maintains these drivers.) 17387dd7cddfSDavid du ColombierThe drivers handle Canon BJC-600, BJC-4xxx, BJC-70, Stylewriter 2x00, and 17397dd7cddfSDavid du ColombierBJC-800 printers. 17407dd7cddfSDavid du Colombier 1741*3ff48bf5SDavid du Colombier<h3><a name="BJC_history"></a>History</h3> 17427dd7cddfSDavid du Colombier 17437dd7cddfSDavid du Colombier<p> 17447dd7cddfSDavid du ColombierThe BJC-600 driver was written in the first place by Yoshio Kuniyoshi and 1745*3ff48bf5SDavid du Colombierlater modified by Yves Arrouye. We tried to make it evolve synchronously, 1746*3ff48bf5SDavid du Colombierthough Yoshio cannot be reached since a long time ago. The drivers are 1747*3ff48bf5SDavid du Colombierbased on code for the HP printers by George Cameron (in fact, they are in 1748*3ff48bf5SDavid du Colombierthe same file!), so he's the first person to thank. 17497dd7cddfSDavid du Colombier 17507dd7cddfSDavid du Colombier<p> 17517dd7cddfSDavid du ColombierThe 2.00 version of the drivers was a complete rewrite of the driver 17527dd7cddfSDavid du Colombier(arguments, optimization, colour handling, in short: everything!) by Yves 17537dd7cddfSDavid du ColombierArrouye. That release was also the first one to be able to use the full 17547dd7cddfSDavid du Colombierwidth of an A3 paper size. PostScript Printer Description (PPD) files for 17557dd7cddfSDavid du Colombierthe drivers were released with version 2.15. They are incomplete, 17567dd7cddfSDavid du Colombierbut they can be used to drive the printers' main features. 17577dd7cddfSDavid du Colombier 1758*3ff48bf5SDavid du Colombier<h3><a name="BJC_build"></a>Configuring and building the BJC drivers</h3> 17597dd7cddfSDavid du Colombier 1760*3ff48bf5SDavid du Colombier<h4><a name="BJC_defaults"></a>Modify values in 1761*3ff48bf5SDavid du Colombier<b><tt>gdevbjc.h</tt></b></h4> 17627dd7cddfSDavid du Colombier 17637dd7cddfSDavid du Colombier<p> 17647dd7cddfSDavid du ColombierConfigure the drivers by modifying the default values in the file 17657dd7cddfSDavid du Colombier<b><tt>gdevbjc.h</tt></b> or on the compilation line. If you don't do 17667dd7cddfSDavid du Colombierthat, the drivers use reasonable defaults that make them work "as 17677dd7cddfSDavid du Colombierexpected". All default values shown here are defined in that file. 17687dd7cddfSDavid du Colombier 1769*3ff48bf5SDavid du Colombier<h4><a name="BJC_CMYK_RGB"></a>CMYK-to-RGB color conversion</h4> 17707dd7cddfSDavid du Colombier 17717dd7cddfSDavid du Colombier<p> 17727dd7cddfSDavid du ColombierBy default, the drivers use the same algorithm as Ghostscript to convert 17737dd7cddfSDavid du ColombierCMYK colors to RGB. If you prefer to use Adobe formulas, define 17747dd7cddfSDavid du Colombier<b><tt>USE_ADOBE_CMYK_RGB</tt></b> when compiling. (See the top of the 17757dd7cddfSDavid du Colombierfile <b><tt>gdevcdj.c</tt></b> to see the difference between the two.) 17767dd7cddfSDavid du Colombier 1777*3ff48bf5SDavid du Colombier<h4><a name="BJC_vertical_centering"></a>Vertical centering of the 1778*3ff48bf5SDavid du Colombierprintable area</h4> 17797dd7cddfSDavid du Colombier 17807dd7cddfSDavid du Colombier<p> 17817dd7cddfSDavid du ColombierThe drivers center the imageable area horizontally but not vertically, so 17827dd7cddfSDavid du Colombierthat what can be printed does use the most of the output media. If you 17837dd7cddfSDavid du Colombierdefine <b><tt>BJC_DEFAULT_CENTEREDAREA</tt></b> when compiling, then the 17847dd7cddfSDavid du Colombiertop and bottom margins will be the same, resulting in a (smaller) 17857dd7cddfSDavid du Colombiervertically centered imageable area also. 17867dd7cddfSDavid du Colombier 1787*3ff48bf5SDavid du Colombier<h4><a name="BJC_margins"></a>Page margins</h4> 17887dd7cddfSDavid du Colombier 17897dd7cddfSDavid du Colombier<p> 17907dd7cddfSDavid du ColombierIf you define <b><tt>USE_RECOMMENDED_MARGINS</tt></b>, then the top and 17917dd7cddfSDavid du Colombierbottom margins will be the same (that is, 17927dd7cddfSDavid du Colombier<b><tt>BJC_DEFAULT_CENTEREDAREA</tt></b> will be defined for you) and the 17937dd7cddfSDavid du Colombiermargins will be the 12.4mm recommended by Canon. Since margins are 17947dd7cddfSDavid du Colombiercomplicated (because one must rely on the mechanical precision of the 17957dd7cddfSDavid du Colombierprinter), the drivers do something about the bottom margin: by default the 17967dd7cddfSDavid du Colombierbottom margin is 9.54mm for the BJC-600 driver and 7mm for the BJC-800. If 17977dd7cddfSDavid du Colombieryou define <b><tt>USE_TIGHT_MARGINS</tt></b>, then the bottom margin is 7mm 17987dd7cddfSDavid du Colombierfor both drivers (but I never managed to get my own BJC-600 to print a line 17997dd7cddfSDavid du Colombieron this low bound, hence the larger default). Regardless of the presence 18007dd7cddfSDavid du Colombierof this definition, <b><tt>USE_FIXED_MARGINS</tt></b> will not allow the 18017dd7cddfSDavid du ColombierBJC-800 to use the lower 7mm bottom margin, so if you have a problem with 18027dd7cddfSDavid du Colombierthe bottom margin on a BJC-800, just define that (without defining 18037dd7cddfSDavid du Colombier<b><tt>USE_TIGHT_MARGINS</tt></b>, of course). 18047dd7cddfSDavid du Colombier 18057dd7cddfSDavid du Colombier<p> 18067dd7cddfSDavid du ColombierA quick way to be sure the margins you selected is to print a file whose 18077dd7cddfSDavid du Colombiercontents are: 18087dd7cddfSDavid du Colombier 18097dd7cddfSDavid du Colombier<blockquote><b><tt> 18107dd7cddfSDavid du Colombier%!<br> 18117dd7cddfSDavid du Colombierclippath stroke showpage 18127dd7cddfSDavid du Colombier</tt></b></blockquote> 18137dd7cddfSDavid du Colombier 18147dd7cddfSDavid du Colombier<p> 18157dd7cddfSDavid du ColombierIf the margins are okay, you will get a rectangle visibly surrounding 18167dd7cddfSDavid du Colombierthe printable area. If they're not correct, one or more of the sides will 18177dd7cddfSDavid du Colombierbe either incomplete or completely unprinted. 18187dd7cddfSDavid du Colombier 1819*3ff48bf5SDavid du Colombier<h4><a name="BJC_compile"></a>Makefile and compilation</h4> 18207dd7cddfSDavid du Colombier 18217dd7cddfSDavid du Colombier<p> 18227dd7cddfSDavid du ColombierMake sure the <b><tt>bjc600</tt></b> or <b><tt>bjc800</tt></b> devices are 18237dd7cddfSDavid du Colombierin <a href="Make.htm#Features_and_devices"><b><tt>DEVICE_DEVS</tt></b> in 18247dd7cddfSDavid du Colombierthe makefile</a>; that is, look in the makefile for your platform and add 18257dd7cddfSDavid du Colombierthem if necessary -- they may already be there. As of Ghostscript 5.10, 18267dd7cddfSDavid du Colombierfor instance, one makefile has 18277dd7cddfSDavid du Colombier 18287dd7cddfSDavid du Colombier<blockquote><b><tt> 18297dd7cddfSDavid du ColombierDEVICE_DEVS6=bj10e.dev bj200.dev bjc600.dev bjc800.dev 18307dd7cddfSDavid du Colombier</tt></b></blockquote> 18317dd7cddfSDavid du Colombier 1832*3ff48bf5SDavid du Colombier<h3><a name="BJC_usage"></a>Use of the drivers</h3> 18337dd7cddfSDavid du Colombier 18347dd7cddfSDavid du Colombier<p> 18357dd7cddfSDavid du ColombierThere are two drivers here. The "<b><tt>bjc600</tt></b>" one supports the BJC-600 and 18367dd7cddfSDavid du ColombierBJC-4xxx (maybe the BJC-70 as well) and the "<b><tt>bjc800</tt></b>" one supports the 18377dd7cddfSDavid du ColombierBJC-800 series. Remarks here that apply to both drivers use the name 18387dd7cddfSDavid du Colombier"bjc". 18397dd7cddfSDavid du Colombier 1840*3ff48bf5SDavid du Colombier<h4><a name="BJC_options"></a>Supported Options and Defaults</h4> 18417dd7cddfSDavid du Colombier 18427dd7cddfSDavid du Colombier<p> 18437dd7cddfSDavid du ColombierNote: "options", "properties", and "parameters" designate the same thing: 18447dd7cddfSDavid du Colombierdevice parameters that you can change. 18457dd7cddfSDavid du Colombier 18467dd7cddfSDavid du Colombier<p> 18477dd7cddfSDavid du ColombierGiving an option an incorrect value causes an error. Unless stated 18487dd7cddfSDavid du Colombierotherwise, this error will be a rangecheckerror. Options may be set from 18497dd7cddfSDavid du Colombierthe Ghostscript command line (using the <b><tt>-d</tt></b> and 18507dd7cddfSDavid du Colombier<b><tt>-s</tt></b> switches or other predetermined switches if they have an 18517dd7cddfSDavid du Colombiereffect on the driver) or using the PostScript Level 2 18527dd7cddfSDavid du Colombier<b><tt>setpagedevice</tt></b> operator if Ghostscript has been compiled 18537dd7cddfSDavid du Colombierwith the <b><tt>level2</tt></b> or <b><tt>level3</tt></b> device (which it should 18547dd7cddfSDavid du Colombier<b><tt>;-)</tt></b>). There are <b>no</b> special-purpose operators such as 18557dd7cddfSDavid du Colombierone was able to find in Level 1 printers. 18567dd7cddfSDavid du Colombier 18577dd7cddfSDavid du Colombier<p> 18587dd7cddfSDavid du ColombierThe bjc uses 24 bits per pixel by default (unless you change the value of 18597dd7cddfSDavid du Colombier<b><tt>BJC_BITSPERPIXEL</tt></b>), corresponding to CMYK printing. 18607dd7cddfSDavid du ColombierSupported modes are 1 bpp and 4 bpp (gray levels), 8 bpp, 16 bpp, 24 bpp 18617dd7cddfSDavid du Colombierand 32 bpp (colours). Colours are preferably stored in the CMYK model 18627dd7cddfSDavid du Colombier(which means, for example, that with 16 bpp there are only 16 different 18637dd7cddfSDavid du Colombiershades of each color) but it is possible to store them as RGB color for 18647dd7cddfSDavid du Colombiersome depths. Some modes do Floyd-Steinberg dithering and some don't, but 18657dd7cddfSDavid du Colombieruse the default Ghostscript halftoning (in fact, when halftoning is used, 18667dd7cddfSDavid du Colombierdithering takes also place but because of the low point density it is 18677dd7cddfSDavid du Colombierusually not efficient, and thus invisible). 18687dd7cddfSDavid du Colombier 18697dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 18707dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1">Descriptions of printing modes by bpp and <b><tt>Colors</tt></b></font><hr> 18717dd7cddfSDavid du Colombier<tr valign=bottom> 18727dd7cddfSDavid du Colombier <th align=left>bpp 18737dd7cddfSDavid du Colombier <td> 18747dd7cddfSDavid du Colombier <th align=left><b><tt>Colors</tt></b> 18757dd7cddfSDavid du Colombier <td> 18767dd7cddfSDavid du Colombier <th align=left>Mode 18777dd7cddfSDavid du Colombier<tr> <td colspan=5><hr> 18787dd7cddfSDavid du Colombier<tr valign=top> <td>32 18797dd7cddfSDavid du Colombier <td> 18807dd7cddfSDavid du Colombier <td align=center>4 18817dd7cddfSDavid du Colombier <td> 18827dd7cddfSDavid du Colombier <td>CMYK colour printing, Floyd-Steinberg dithering 18837dd7cddfSDavid du Colombier<tr valign=top> <td>24 18847dd7cddfSDavid du Colombier <td> 18857dd7cddfSDavid du Colombier <td align=center>4 18867dd7cddfSDavid du Colombier <td> 18877dd7cddfSDavid du Colombier <td>The same. (But each primary colour is stored on 6 bits instead of 8.) 18887dd7cddfSDavid du Colombier<tr valign=top> <td>24 18897dd7cddfSDavid du Colombier <td> 18907dd7cddfSDavid du Colombier <td align=center>3 18917dd7cddfSDavid du Colombier <td> 18927dd7cddfSDavid du Colombier <td>RGB colour printing, Floyd-Steinberg dithering. This mode does 18937dd7cddfSDavid du Colombier <b><tt>not</tt></b> use the black cartridge (that's why it 18947dd7cddfSDavid du Colombier exists, for when you don't want to use it <b><tt>;-)</tt></b>). 18957dd7cddfSDavid du Colombier Each primary colour is stored in 8 bits as in the 32/4 mode, 18967dd7cddfSDavid du Colombier but black generation and under-color removal are done on the 18977dd7cddfSDavid du Colombier driver side and not by Ghostscript, so you have no control over 18987dd7cddfSDavid du Colombier it. (This mode is no longer supported in this driver.) 18997dd7cddfSDavid du Colombier<tr valign=top> <td>16 19007dd7cddfSDavid du Colombier <td> 19017dd7cddfSDavid du Colombier <td align=center>4 19027dd7cddfSDavid du Colombier <td> 19037dd7cddfSDavid du Colombier <td>CMYK colour printing, halftoned by Ghostscript. F-S dithering 19047dd7cddfSDavid du Colombier is still visible here (but the halftone patterns are visible 19057dd7cddfSDavid du Colombier too!). 19067dd7cddfSDavid du Colombier<tr valign=top> <td>8 19077dd7cddfSDavid du Colombier <td> 19087dd7cddfSDavid du Colombier <td align=center>4 19097dd7cddfSDavid du Colombier <td> 19107dd7cddfSDavid du Colombier <td>The same. (But each primary colour is stored in 2 bits instead of 4.) 19117dd7cddfSDavid du Colombier<tr valign=top> <td>8 19127dd7cddfSDavid du Colombier <td> 19137dd7cddfSDavid du Colombier <td align=center>3 19147dd7cddfSDavid du Colombier <td> 19157dd7cddfSDavid du Colombier <td>RGB colour printing. This mode is not intended for use. What I 19167dd7cddfSDavid du Colombier mean is that it should be used only if you want to use custom 19177dd7cddfSDavid du Colombier halftone screens <b>and</b> the halftoning is broken using the 19187dd7cddfSDavid du Colombier 8/4 mode (some versions of Ghostscript have this problem). 19197dd7cddfSDavid du Colombier<tr valign=top> <td>8 19207dd7cddfSDavid du Colombier <td> 19217dd7cddfSDavid du Colombier <td align=center>1 19227dd7cddfSDavid du Colombier <td> 19237dd7cddfSDavid du Colombier <td>Gray-level printing, Floyd-Steinberg dithering 19247dd7cddfSDavid du Colombier<tr valign=top> <td>1 19257dd7cddfSDavid du Colombier <td> 19267dd7cddfSDavid du Colombier <td align=center>1 19277dd7cddfSDavid du Colombier <td> 19287dd7cddfSDavid du Colombier <td>Gray-level printing halftoned by Ghostscript 19297dd7cddfSDavid du Colombier</table></blockquote> 19307dd7cddfSDavid du Colombier 19317dd7cddfSDavid du Colombier<p> 19327dd7cddfSDavid du ColombierThese modes are selected using the <b><tt>BitsPerPixel</tt></b> <b>and</b> 19337dd7cddfSDavid du Colombier<b><tt>Colors</tt></b> integer options (either from the command line or in 19347dd7cddfSDavid du Colombiera PostScript program using <b><tt>setpagedevice</tt></b>). See below. 19357dd7cddfSDavid du Colombier 19367dd7cddfSDavid du Colombier<p> 19377dd7cddfSDavid du ColombierA note about darkness of what is printed: Canon printers do print dark, 19387dd7cddfSDavid du Colombierreally. And the Floyd-Steinberg dithering may eventually darken your image 19397dd7cddfSDavid du Colombiertoo. So you may need to apply gamma correction by calling Ghostscript as in 19407dd7cddfSDavid du Colombier 19417dd7cddfSDavid du Colombier<blockquote><b><tt> 19427dd7cddfSDavid du Colombiergs -sDEVICE=bjc600 gamma.ps myfile.ps 19437dd7cddfSDavid du Colombier</tt></b></blockquote> 19447dd7cddfSDavid du Colombier 19457dd7cddfSDavid du Colombier<p> 19467dd7cddfSDavid du Colombierwhere <b><tt>gamma.ps</tt></b> changes the gamma correction (here to 3 for 19477dd7cddfSDavid du Colombierall colors); 0.45 gives me good results, but your mileage may vary. The 19487dd7cddfSDavid du Colombierbigger the value the lighter the output: 19497dd7cddfSDavid du Colombier 19507dd7cddfSDavid du Colombier<blockquote><b><tt> 19517dd7cddfSDavid du Colombier{ 0.45 exp } dup dup currenttransfer setcolortransfer 19527dd7cddfSDavid du Colombier</tt></b></blockquote> 19537dd7cddfSDavid du Colombier 19547dd7cddfSDavid du Colombier<p> 19557dd7cddfSDavid du ColombierThe drivers support printing at 90dpi, 180dpi and 360dpi. Horizontal and 19567dd7cddfSDavid du Colombiervertical resolutions must be the same or a limitcheck error will happen. A 19577dd7cddfSDavid du Colombierrangecheck will happen too if the resolution is not 19587dd7cddfSDavid du Colombier90 ×2^<small><sup><b>N</b></sup></small>. If the driver 19597dd7cddfSDavid du Colombieris compiled with <b><tt>-DBJC_STRICT</tt></b> a rangecheck also happens if 19607dd7cddfSDavid du Colombierthe resolution is not one of those supported. This is not the case, as we 19617dd7cddfSDavid du Colombierexpect that there may be a 720dpi bjc some day. 19627dd7cddfSDavid du Colombier 19637dd7cddfSDavid du Colombier<p> 19647dd7cddfSDavid du ColombierHere are the various options supported by the bjc drivers, along with 19657dd7cddfSDavid du Colombiertheir types, supported values, effects, and usage: 19667dd7cddfSDavid du Colombier 19677dd7cddfSDavid du Colombier<dl> 19687dd7cddfSDavid du Colombier<dt><b><tt>BitsPerPixel</tt></b> (int) 19697dd7cddfSDavid du Colombier<dd>Choose the depth of the page. Valid values are 1, 8, 16, 24 (the 19707dd7cddfSDavid du Colombierdefault) and 32. 19717dd7cddfSDavid du Colombier 19727dd7cddfSDavid du Colombier<p> 19737dd7cddfSDavid du ColombierNote that when this is set for the first time, the <b><tt>Colors</tt></b> 19747dd7cddfSDavid du Colombierproperty is automatically adjusted unless it is also specified. The table 19757dd7cddfSDavid du Colombierhere shows the corresponding color models and the rendering method visible: 19767dd7cddfSDavid du Colombier"GS" for Ghostscript halftoning and "F-S" for Floyd-Steinberg dithering. 19777dd7cddfSDavid du ColombierWhen both are present it means that the dithering of halftones is visible. 19787dd7cddfSDavid du ColombierDefault choices are indicated by asterisk "*". 19797dd7cddfSDavid du Colombier 19807dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 19817dd7cddfSDavid du Colombier<tr><th colspan=9 bgcolor="#CCCC00"><hr><font size="+1">Valid <b><tt>Colors</tt></b> values for<br>allowed <b><tt>BitsPerPixel</tt></b> values 19827dd7cddfSDavid du Colombier</font><hr> 19837dd7cddfSDavid du Colombier<tr valign=bottom> 19847dd7cddfSDavid du Colombier <th align=left>bpp 19857dd7cddfSDavid du Colombier <td> 19867dd7cddfSDavid du Colombier <th align=left><b><tt>Colors</tt></b> 19877dd7cddfSDavid du Colombier <td> 19887dd7cddfSDavid du Colombier <th align=left> 19897dd7cddfSDavid du Colombier <td> 19907dd7cddfSDavid du Colombier <th align=left>Color model 19917dd7cddfSDavid du Colombier <td> 19927dd7cddfSDavid du Colombier <th align=left>Dithering 19937dd7cddfSDavid du Colombier<tr> <td colspan=9><hr> 19947dd7cddfSDavid du Colombier<tr valign=top> <td>32 19957dd7cddfSDavid du Colombier <td> 19967dd7cddfSDavid du Colombier <td align=center>4 19977dd7cddfSDavid du Colombier <td> 19987dd7cddfSDavid du Colombier <td> 19997dd7cddfSDavid du Colombier <td align=center> 20007dd7cddfSDavid du Colombier <td>CMYK 20017dd7cddfSDavid du Colombier <td> 20027dd7cddfSDavid du Colombier <td>F-S 20037dd7cddfSDavid du Colombier<tr valign=top> <td>24 20047dd7cddfSDavid du Colombier <td> 20057dd7cddfSDavid du Colombier <td align=center>4 20067dd7cddfSDavid du Colombier <td> 20077dd7cddfSDavid du Colombier <td><b>*</b> 20087dd7cddfSDavid du Colombier <td align=center> 20097dd7cddfSDavid du Colombier <td>CMYK 20107dd7cddfSDavid du Colombier <td> 20117dd7cddfSDavid du Colombier <td>F-S 20127dd7cddfSDavid du Colombier<tr valign=top> <td> 20137dd7cddfSDavid du Colombier <td> 20147dd7cddfSDavid du Colombier <td align=center>3 20157dd7cddfSDavid du Colombier <td> 20167dd7cddfSDavid du Colombier <td> 20177dd7cddfSDavid du Colombier <td align=center> 20187dd7cddfSDavid du Colombier <td>RGB 20197dd7cddfSDavid du Colombier <td> 20207dd7cddfSDavid du Colombier <td>F-S 20217dd7cddfSDavid du Colombier<tr valign=top> <td>16 20227dd7cddfSDavid du Colombier <td> 20237dd7cddfSDavid du Colombier <td align=center>4 20247dd7cddfSDavid du Colombier <td> 20257dd7cddfSDavid du Colombier <td> 20267dd7cddfSDavid du Colombier <td align=center> 20277dd7cddfSDavid du Colombier <td>CMYK 20287dd7cddfSDavid du Colombier <td> 20297dd7cddfSDavid du Colombier <td>GS, F-S 20307dd7cddfSDavid du Colombier<tr valign=top> <td>8 20317dd7cddfSDavid du Colombier <td> 20327dd7cddfSDavid du Colombier <td align=center>4 20337dd7cddfSDavid du Colombier <td> 20347dd7cddfSDavid du Colombier <td><b>*</b> 20357dd7cddfSDavid du Colombier <td align=center> 20367dd7cddfSDavid du Colombier <td>CMYK 20377dd7cddfSDavid du Colombier <td> 20387dd7cddfSDavid du Colombier <td>GS 20397dd7cddfSDavid du Colombier<tr valign=top> <td> 20407dd7cddfSDavid du Colombier <td> 20417dd7cddfSDavid du Colombier <td align=center>3 20427dd7cddfSDavid du Colombier <td> 20437dd7cddfSDavid du Colombier <td> 20447dd7cddfSDavid du Colombier <td align=center> 20457dd7cddfSDavid du Colombier <td>RGB 20467dd7cddfSDavid du Colombier <td> 20477dd7cddfSDavid du Colombier <td>GS 20487dd7cddfSDavid du Colombier<tr valign=top> <td> 20497dd7cddfSDavid du Colombier <td> 20507dd7cddfSDavid du Colombier <td align=center>1 20517dd7cddfSDavid du Colombier <td> 20527dd7cddfSDavid du Colombier <td> 20537dd7cddfSDavid du Colombier <td align=center> 20547dd7cddfSDavid du Colombier <td>K (CMYK) 20557dd7cddfSDavid du Colombier <td> 20567dd7cddfSDavid du Colombier <td>F-S 20577dd7cddfSDavid du Colombier<tr valign=top> <td>1 20587dd7cddfSDavid du Colombier <td> 20597dd7cddfSDavid du Colombier <td align=center>1 20607dd7cddfSDavid du Colombier <td> 20617dd7cddfSDavid du Colombier <td><b>*</b> 20627dd7cddfSDavid du Colombier <td align=center> 20637dd7cddfSDavid du Colombier <td>K (CMYK) 20647dd7cddfSDavid du Colombier <td> 20657dd7cddfSDavid du Colombier <td>GS 20667dd7cddfSDavid du Colombier</table></blockquote> 20677dd7cddfSDavid du Colombier 20687dd7cddfSDavid du Colombier<p>Also note that automagical change of one parameter depending on the 20697dd7cddfSDavid du Colombierother one does not work in a <b><tt>setpagedevice</tt></b> call. This 20707dd7cddfSDavid du Colombiermeans that if you want to change <b><tt>BitsPerPixel</tt></b> to a value 20717dd7cddfSDavid du Colombierwhose valid <b><tt>Colors</tt></b> values do not include the actual 20727dd7cddfSDavid du Colombier<b><tt>Colors</tt></b> value, you must change <b><tt>Colors</tt></b> too. 20737dd7cddfSDavid du Colombier</dl> 20747dd7cddfSDavid du Colombier 20757dd7cddfSDavid du Colombier<dl> 20767dd7cddfSDavid du Colombier<dt><b><tt>Colors</tt></b> (int) 20777dd7cddfSDavid du Colombier<dd>Choose the number of color components from among 1, 3 and 4 (the 20787dd7cddfSDavid du Colombierdefault). This setting cannot be used in a PostScript program, only on 20797dd7cddfSDavid du ColombierGhostscript's command line. See <b><tt>ProcessColorModel</tt></b> below 20807dd7cddfSDavid du Colombierfor what to use to change the number of colors with PostScript code. 20817dd7cddfSDavid du Colombier 20827dd7cddfSDavid du Colombier<p> 20837dd7cddfSDavid du ColombierNote that setting this property does limit the choices of 20847dd7cddfSDavid du Colombier<b><tt>BitsPerPixel</tt></b>. As for the previous property, its first 20857dd7cddfSDavid du Colombiersetting may induce a setting of the "other value" 20867dd7cddfSDavid du Colombier(<b><tt>BitsPerPixel</tt></b> here). The table here indicates valid 20877dd7cddfSDavid du Colombiercombinations with "V", default values with asterisk "*". 20887dd7cddfSDavid du Colombier 20897dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 20907dd7cddfSDavid du Colombier<tr><th colspan=13 bgcolor="#CCCC00"><hr><font size="+1">Valid <b><tt>BitsPerPixel</tt></b> values<br>for allowed <b><tt>Colors</tt></b> values</font><hr> 20917dd7cddfSDavid du Colombier<tr valign=top> <td> 20927dd7cddfSDavid du Colombier <td> 20937dd7cddfSDavid du Colombier <td> 20947dd7cddfSDavid du Colombier <td> 20957dd7cddfSDavid du Colombier <th align=left colspan=9><b><tt>BitsPerPixel</tt></b> OK values<hr> 20967dd7cddfSDavid du Colombier<tr valign=top> <th>Colors 20977dd7cddfSDavid du Colombier <td> 20987dd7cddfSDavid du Colombier <th>Type 20997dd7cddfSDavid du Colombier <td> 21007dd7cddfSDavid du Colombier <td>32 21017dd7cddfSDavid du Colombier <td> 21027dd7cddfSDavid du Colombier <td>24 21037dd7cddfSDavid du Colombier <td> 21047dd7cddfSDavid du Colombier <td>16 21057dd7cddfSDavid du Colombier <td> 21067dd7cddfSDavid du Colombier <td>8 21077dd7cddfSDavid du Colombier <td> 21087dd7cddfSDavid du Colombier <td>1 21097dd7cddfSDavid du Colombier<tr> <td colspan=13><hr> 21107dd7cddfSDavid du Colombier<tr valign=top> <td>4 21117dd7cddfSDavid du Colombier <td> 21127dd7cddfSDavid du Colombier <td>CMYK 21137dd7cddfSDavid du Colombier <td> 21147dd7cddfSDavid du Colombier <td><b>V</b> 21157dd7cddfSDavid du Colombier <td> 21167dd7cddfSDavid du Colombier <td><b>*</b> 21177dd7cddfSDavid du Colombier <td> 21187dd7cddfSDavid du Colombier <td><b>V</b> 21197dd7cddfSDavid du Colombier <td> 21207dd7cddfSDavid du Colombier <td><b>V</b> 21217dd7cddfSDavid du Colombier <td> 21227dd7cddfSDavid du Colombier <td> 21237dd7cddfSDavid du Colombier<tr valign=top> <td>3 21247dd7cddfSDavid du Colombier <td> 21257dd7cddfSDavid du Colombier <td>RGB 21267dd7cddfSDavid du Colombier <td> 21277dd7cddfSDavid du Colombier <td> 21287dd7cddfSDavid du Colombier <td> 21297dd7cddfSDavid du Colombier <td><b>*</b> 21307dd7cddfSDavid du Colombier <td> 21317dd7cddfSDavid du Colombier <td> 21327dd7cddfSDavid du Colombier <td> 21337dd7cddfSDavid du Colombier <td><b>V</b> 21347dd7cddfSDavid du Colombier <td> 21357dd7cddfSDavid du Colombier <td> 21367dd7cddfSDavid du Colombier<tr valign=top> <td>1 21377dd7cddfSDavid du Colombier <td> 21387dd7cddfSDavid du Colombier <td>K 21397dd7cddfSDavid du Colombier <td> 21407dd7cddfSDavid du Colombier <td> 21417dd7cddfSDavid du Colombier <td> 21427dd7cddfSDavid du Colombier <td> 21437dd7cddfSDavid du Colombier <td> 21447dd7cddfSDavid du Colombier <td> 21457dd7cddfSDavid du Colombier <td> 21467dd7cddfSDavid du Colombier <td><b>V</b> 21477dd7cddfSDavid du Colombier <td> 21487dd7cddfSDavid du Colombier <td><b>*</b> 21497dd7cddfSDavid du Colombier</table></blockquote> 21507dd7cddfSDavid du Colombier 21517dd7cddfSDavid du Colombier<p>Also note that automagical change of one parameter depending on the 21527dd7cddfSDavid du Colombierother one does not work in a <b><tt>setpagedevice</tt></b> call. This 21537dd7cddfSDavid du Colombiermeans that if you want to change <b><tt>Colors</tt></b> to a value whose 21547dd7cddfSDavid du Colombiervalid <b><tt>BitsPerPixel</tt></b> values don't include the actual 21557dd7cddfSDavid du Colombier<b><tt>BitsPerPixel</tt></b> value, you must change 21567dd7cddfSDavid du Colombier<b><tt>BitsPerPixel</tt></b> too. 21577dd7cddfSDavid du Colombier</dl> 21587dd7cddfSDavid du Colombier 21597dd7cddfSDavid du Colombier<dl> 21607dd7cddfSDavid du Colombier<dt><b><tt>ProcessColorModel</tt></b> (symbol) 21617dd7cddfSDavid du Colombier<dd>A symbol taken from <b><tt>/DeviceGray</tt></b>, 21627dd7cddfSDavid du Colombier<b><tt>/DeviceRGB</tt></b> or <b><tt>/DeviceCMYK</tt></b> which can be used 21637dd7cddfSDavid du Colombierto select 1, 3 or 4 colors respectively. Note that this parameter takes 21647dd7cddfSDavid du Colombierprecedence over <b><tt>Colors</tt></b>, and that both affect the same 21657dd7cddfSDavid du Colombiervariable of the driver. (See <b><tt>Colors</tt></b> above for values 21667dd7cddfSDavid du Colombiercombined with <b><tt>BitsPerPixel</tt></b>.) 21677dd7cddfSDavid du Colombier</dl> 21687dd7cddfSDavid du Colombier 21697dd7cddfSDavid du Colombier<dl> 21707dd7cddfSDavid du Colombier<dt><b><tt>HWResolution</tt></b> (floats array) 21717dd7cddfSDavid du Colombier<dd>An array of two floats giving the horizontal and vertical resolution in 21727dd7cddfSDavid du Colombierdots per inch from among 90, 180 and 360 (the default). Both values must 21737dd7cddfSDavid du Colombierbe the same. On the Ghostscript command line, the resolution may be 21747dd7cddfSDavid du Colombierchanged with the <a href="Use.htm#Resolution_switch"><b><tt>-r</tt></b> 21757dd7cddfSDavid du Colombierswitch</a>. 21767dd7cddfSDavid du Colombier</dl> 21777dd7cddfSDavid du Colombier 21787dd7cddfSDavid du Colombier<dl> 21797dd7cddfSDavid du Colombier<dt><b><tt>ManualFeed</tt></b> (bool) 21807dd7cddfSDavid du Colombier<dd>Indicate that the sheets won't be fed automatically by the printer, 21817dd7cddfSDavid du Colombier<b><tt>false</tt></b> by default. (Not meaningful on the BJC-600, I fear.) 21827dd7cddfSDavid du Colombier</dl> 21837dd7cddfSDavid du Colombier 21847dd7cddfSDavid du Colombier<dl> 21857dd7cddfSDavid du Colombier<dt><b><tt>MediaType</tt></b> (string) 21867dd7cddfSDavid du Colombier<dd>The media to print on, chosen from among "<b><tt>PlainPaper</tt></b>", 21877dd7cddfSDavid du Colombier"<b><tt>CoatedPaper</tt></b>", "<b><tt>TransparencyFilm</tt></b>", 21887dd7cddfSDavid du Colombier"<b><tt>Envelope</tt></b>", "<b><tt>Card</tt></b>" and 21897dd7cddfSDavid du Colombier"<b><tt>Other</tt></b>". Default is "<b><tt>PlainPaper</tt></b>". For 21907dd7cddfSDavid du Colombier"<b><tt>Envelope</tt></b>", "<b><tt>Card</tt></b>" or 21917dd7cddfSDavid du Colombier"<b><tt>Other</tt></b>" the driver puts the printer into thick mode 21927dd7cddfSDavid du Colombierautomatically regardless of the actual media weight. 21937dd7cddfSDavid du Colombier</dl> 21947dd7cddfSDavid du Colombier 21957dd7cddfSDavid du Colombier<dl> 21967dd7cddfSDavid du Colombier<dt><b><tt>MediaWeight</tt></b> (int or null) 21977dd7cddfSDavid du Colombier<dd>The weight of the media in grams per square meter. Null (the default) 21987dd7cddfSDavid du Colombierindicates that the weight is of no importance. If the specified media 21997dd7cddfSDavid du Colombierweight is greater than 105 (that is, the value of the compilation default 22007dd7cddfSDavid du Colombier<b><tt>BJC</tt></b>???<b><tt>_MEDIAWEIGHT_THICKLIMIT</tt></b>) then the 22017dd7cddfSDavid du Colombierprinter will be set to use thick paper. 22027dd7cddfSDavid du Colombier</dl> 22037dd7cddfSDavid du Colombier 22047dd7cddfSDavid du Colombier<dl> 22057dd7cddfSDavid du Colombier<dt><b><tt>PrintQuality</tt></b> (string) 22067dd7cddfSDavid du Colombier<dd>The quality of printing. 22077dd7cddfSDavid du Colombier<table cellpadding=0 cellspacing=0> 22087dd7cddfSDavid du Colombier<tr valign=bottom> 22097dd7cddfSDavid du Colombier <th align=left>Value 22107dd7cddfSDavid du Colombier <td> 22117dd7cddfSDavid du Colombier <th align=left><b><tt>bjc600</tt></b> 22127dd7cddfSDavid du Colombier <td> 22137dd7cddfSDavid du Colombier <th align=left><b><tt>bjc800</tt></b> 22147dd7cddfSDavid du Colombier <td> 22157dd7cddfSDavid du Colombier <th align=left> 22167dd7cddfSDavid du Colombier<tr> <td colspan=7><hr> 22177dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Low</tt></b> 22187dd7cddfSDavid du Colombier <td> 22197dd7cddfSDavid du Colombier <td> 22207dd7cddfSDavid du Colombier <td> 22217dd7cddfSDavid du Colombier <td align=center><b>X</b> 22227dd7cddfSDavid du Colombier <td> 22237dd7cddfSDavid du Colombier <td>Has the effect of making only two printing passes instead of four, so should be twice the speed; known as "CN" (Color Normal) mode 22247dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Draft</tt></b> 22257dd7cddfSDavid du Colombier <td> 22267dd7cddfSDavid du Colombier <td align=center><b>X</b> 22277dd7cddfSDavid du Colombier <td> 22287dd7cddfSDavid du Colombier <td align=center><b>X</b> 22297dd7cddfSDavid du Colombier <td> 22307dd7cddfSDavid du Colombier <td>Unlights the "HQ" light on a BJC-600 22317dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Normal</tt></b> 22327dd7cddfSDavid du Colombier <td> 22337dd7cddfSDavid du Colombier <td align=center><b>X</b> 22347dd7cddfSDavid du Colombier <td> 22357dd7cddfSDavid du Colombier <td align=center><b>X</b> 22367dd7cddfSDavid du Colombier <td> 22377dd7cddfSDavid du Colombier <td>Default for both drivers; lights the "HQ" light on a BJC-600 22387dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>High</tt></b> 22397dd7cddfSDavid du Colombier <td> 22407dd7cddfSDavid du Colombier <td align=center><b>X</b> 22417dd7cddfSDavid du Colombier <td> 22427dd7cddfSDavid du Colombier <td align=center><b>X</b> 22437dd7cddfSDavid du Colombier <td> 22447dd7cddfSDavid du Colombier <td>Means 200% black and 100% CMY; lights the "Bk+" light on a BJC-600 22457dd7cddfSDavid du Colombier</table> 22467dd7cddfSDavid du Colombier</dl> 22477dd7cddfSDavid du Colombier 22487dd7cddfSDavid du Colombier<dl> 22497dd7cddfSDavid du Colombier<dt><b><tt>DitheringType</tt></b> (string) 22507dd7cddfSDavid du Colombier<dd>Dithering algorithm from between "<b><tt>Floyd-Steinberg</tt></b>" and 22517dd7cddfSDavid du Colombier"<b><tt>None</tt></b>". "<b><tt>None</tt></b>" is the default for 1/1 print 22527dd7cddfSDavid du Colombiermode, "<b><tt>Floyd-Steinberg</tt></b>" for other modes. At the moment 22537dd7cddfSDavid du Colombierthis parameter is read-only, though no error is generated if one tries to 22547dd7cddfSDavid du Colombierchange it. This parameter is not of much value at the moment and is here 22557dd7cddfSDavid du Colombiermainly to reserve the name for future addition of dithering algorithms. 22567dd7cddfSDavid du Colombier</dl> 22577dd7cddfSDavid du Colombier 22587dd7cddfSDavid du Colombier<dl> 22597dd7cddfSDavid du Colombier<dt><b><tt>PrintColors</tt></b> (int) 22607dd7cddfSDavid du Colombier<dd>Mask for printing color. If 0, use black for any color; otherwise the 22617dd7cddfSDavid du Colombiervalue must be the sum of any of 1 (cyan), 2 (magenta), 4 (yellow) and 8 22627dd7cddfSDavid du Colombier(black), indicating which colors will be used for printing. When printing 22637dd7cddfSDavid du Colombiercolour, only colours specified will be printed (this means that some planes 22647dd7cddfSDavid du Colombierwill be missing if a color's value above is omitted). When printing grays, 22657dd7cddfSDavid du Colombierblack is used if it is present in the <b><tt>PrintColors</tt></b>; 22667dd7cddfSDavid du Colombierotherwise, the image is printed by superimposing each requested color. 22677dd7cddfSDavid du Colombier</dl> 22687dd7cddfSDavid du Colombier 22697dd7cddfSDavid du Colombier<dl> 22707dd7cddfSDavid du Colombier<dt><b><tt>MonochromePrint</tt></b> (bool) 22717dd7cddfSDavid du Colombier<dd><b>For <tt>bjc600</tt> only</b>, <b><tt>false</tt></b> by default. 22727dd7cddfSDavid du ColombierSubstitute black for Cyan, Magenta and Yellow when printing -- useful, for 22737dd7cddfSDavid du Colombierexample, to get some monochrome output of a dithered printing This is a 22747dd7cddfSDavid du Colombierhardware mechanism as opposed to the previous software one. I think that 22757dd7cddfSDavid du Colombierusing this or setting <b><tt>PrintColors</tt></b> to 0 will give the same 22767dd7cddfSDavid du Colombierresults. 22777dd7cddfSDavid du Colombier</dl> 22787dd7cddfSDavid du Colombier 22797dd7cddfSDavid du Colombier<p> 22807dd7cddfSDavid du ColombierNote that the <b><tt>MediaType</tt></b> and <b><tt>ThickMedia</tt></b> 22817dd7cddfSDavid du Colombieroptions will be replaced by the use of the device 22827dd7cddfSDavid du Colombier<b><tt>InputAttributes</tt></b> and <b><tt>OutputAttributes</tt></b> as 22837dd7cddfSDavid du Colombiersoon as possible. Please note too that the print mode may be reset at the 22847dd7cddfSDavid du Colombierstart of printing, not at the end. This is the expected behaviour. If you 22857dd7cddfSDavid du Colombierneed to reset the printer to its default state, simply print a file that 22867dd7cddfSDavid du Colombierdoes just a <b><tt>showpage</tt></b>. 22877dd7cddfSDavid du Colombier 2288*3ff48bf5SDavid du Colombier<h4><a name="BJC_device_info"></a>Device information</h4> 22897dd7cddfSDavid du Colombier 22907dd7cddfSDavid du Colombier<p> 22917dd7cddfSDavid du ColombierHere is other information published by the driver that you will find 22927dd7cddfSDavid du Colombierin the <b><tt>deviceinfo</tt></b> dictionary. 22937dd7cddfSDavid du Colombier 22947dd7cddfSDavid du Colombier<dl> 22957dd7cddfSDavid du Colombier<dt><b><tt>OutputFaceUp</tt></b> (bool) 22967dd7cddfSDavid du Colombier<dd>This has the boolean value <b><tt>true</tt></b>, indicating that the 22977dd7cddfSDavid du Colombiersheets are stacked face up. 22987dd7cddfSDavid du Colombier</dl> 22997dd7cddfSDavid du Colombier 23007dd7cddfSDavid du Colombier<dl> 23017dd7cddfSDavid du Colombier<dt><b><tt>Version</tt></b> (float) 23027dd7cddfSDavid du Colombier<dd>In the form <b>M.</b><em>mm</em>pp, where <b>M</b> is the major 23037dd7cddfSDavid du Colombierversion, <em>mm</em> the bjc driver's minor version, and pp the specific 23047dd7cddfSDavid du Colombierdriver minor version (that is, <b><tt>M.</tt></b><em>mm</em> will always be 23057dd7cddfSDavid du Colombierthe same for the <b><tt>bjc600</tt></b> and <b><tt>bjc800</tt></b> 23067dd7cddfSDavid du Colombierdrivers). 23077dd7cddfSDavid du Colombier</dl> 23087dd7cddfSDavid du Colombier 23097dd7cddfSDavid du Colombier<dl> 23107dd7cddfSDavid du Colombier<dt><b><tt>VersionString</tt></b> (string) 23117dd7cddfSDavid du Colombier<dd> A string showing the driver version and other indications. At the 23127dd7cddfSDavid du Colombiermoment, things like "a" or "b" may follow the version to indicate alpha or 23137dd7cddfSDavid du Colombierbeta versions. The date of the last change to this version is given in the 23147dd7cddfSDavid du Colombierform MM/DD/YY (no, it won't adapt to your locale). 23157dd7cddfSDavid du Colombier</dl> 23167dd7cddfSDavid du Colombier 2317*3ff48bf5SDavid du Colombier<h4><a name="BJC_HW_margins"></a>Hardware margins</h4> 23187dd7cddfSDavid du Colombier 23197dd7cddfSDavid du Colombier<p> 23207dd7cddfSDavid du ColombierThe BJC printers have top and bottom hardware margins of 3mm and 7.1mm 23217dd7cddfSDavid du Colombierrespectively (Canon says 7mm, but this is unusable because of the rounding 23227dd7cddfSDavid du Colombierof paper sizes to PostScript points). The left margin is 3.4mm for A4 and 23237dd7cddfSDavid du Colombiersmaller paper sizes, 6.4mm for U.S. paper sizes, envelopes and cards. It 23247dd7cddfSDavid du Colombieris 4.0mm for A3 paper on the BJC-800. 23257dd7cddfSDavid du Colombier 23267dd7cddfSDavid du Colombier<p> 23277dd7cddfSDavid du ColombierThe maximum printing width of a BJC-600 printer is 203mm. The maximum 23287dd7cddfSDavid du Colombierprinting width of a BJC-800 printer is 289mm on A3 paper, 203mm on 23297dd7cddfSDavid du ColombierU.S. letter and ISO A4 paper. 23307dd7cddfSDavid du Colombier 2331*3ff48bf5SDavid du Colombier<h4><a name="BJC_PPD"></a>PostScript printer description (PPD) files</h4> 23327dd7cddfSDavid du Colombier 23337dd7cddfSDavid du Colombier<p> 23347dd7cddfSDavid du ColombierThe files <b><tt>CBJC600.PPD</tt></b> and <b><tt>CBJC800.PPD</tt></b> (whose 23357dd7cddfSDavid du Colombierlong names are, respectively, <b><tt>Canon_BubbleJetColor_600.ppd</tt></b> 23367dd7cddfSDavid du Colombierand <b><tt>Canon_BubbleJetColor_800.ppd</tt></b>) are PPD files to drive the 23377dd7cddfSDavid du Colombierfeatures of the <b><tt>bjc600</tt></b> and <b><tt>bjc800</tt></b> drivers. 23387dd7cddfSDavid du ColombierThey can be used, for example, on NextStep systems (presumably on OpenStep 23397dd7cddfSDavid du Colombiersystems too) and on Unix systems with Adobe's TranScript and 23407dd7cddfSDavid du Colombier<b><tt>pslpr</tt></b> (not tested). The files are not complete at the 23417dd7cddfSDavid du Colombiermoment. Please note that NextStep's printing interface does not 23427dd7cddfSDavid du Colombiercorrectly enforce constraints specified in these files (in UIConstraints 23437dd7cddfSDavid du Colombierdescriptions): you must force yourself to use valid combinations of 23447dd7cddfSDavid du Colombieroptions. 23457dd7cddfSDavid du Colombier 2346*3ff48bf5SDavid du Colombier<h4><a name="BJC_PPD_custom"></a>Customizing the PPD files</h4> 23477dd7cddfSDavid du Colombier 23487dd7cddfSDavid du Colombier<p> 23497dd7cddfSDavid du ColombierBy default the PPD files are set for U.S. letter size paper, and they use a 23507dd7cddfSDavid du Colombiernormalized transfer function. If you choose to use A4 printing by default, 23517dd7cddfSDavid du Colombieryou must replace "<b><tt>Letter</tt></b>" with "<b><tt>A4</tt></b>" in 23527dd7cddfSDavid du Colombierthese (noncontiguous) lines: 23537dd7cddfSDavid du Colombier 23547dd7cddfSDavid du Colombier<blockquote> 23557dd7cddfSDavid du Colombier [...]<br> 23567dd7cddfSDavid du Colombier<b><tt>*DefaultPageSize: Letter<br></tt></b> 23577dd7cddfSDavid du Colombier [...]<br> 23587dd7cddfSDavid du Colombier<b><tt>*DefaultRegion: Letter<br></tt></b> 23597dd7cddfSDavid du Colombier [...]<br> 23607dd7cddfSDavid du Colombier<b><tt>*DefaultImageableArea: Letter</tt></b><br> 23617dd7cddfSDavid du Colombier [...]<br> 23627dd7cddfSDavid du Colombier</blockquote> 23637dd7cddfSDavid du Colombier 23647dd7cddfSDavid du Colombier<p> 23657dd7cddfSDavid du ColombierSome versions of Ghostscript have problems with normalized colors, which 23667dd7cddfSDavid du Colombiermakes them add magenta in gray levels. If you experience this problem, 23677dd7cddfSDavid du Colombierin the PPD file replace the line 23687dd7cddfSDavid du Colombier 23697dd7cddfSDavid du Colombier<blockquote><b><tt> 23707dd7cddfSDavid du Colombier*DefaultTransfer: Normalized 23717dd7cddfSDavid du Colombier</tt></b></blockquote> 23727dd7cddfSDavid du Colombier 23737dd7cddfSDavid du Colombier<p> 23747dd7cddfSDavid du Colombierwith the alternate line 23757dd7cddfSDavid du Colombier 23767dd7cddfSDavid du Colombier<blockquote><b><tt> 23777dd7cddfSDavid du Colombier*DefaultTransfer: Null 23787dd7cddfSDavid du Colombier</tt></b></blockquote> 23797dd7cddfSDavid du Colombier 23807dd7cddfSDavid du Colombier<p> 23817dd7cddfSDavid du ColombierThe "thick media" option is implemented by choosing a value of 120 or 80 23827dd7cddfSDavid du Colombier(for thick and thin media respectively) for the <b><tt>MediaWeight</tt></b> 23837dd7cddfSDavid du Colombierfeature of the drivers. If you ever change the threshold for thick media 23847dd7cddfSDavid du Colombierin the driver code, you may need to change the values in the PPD files too. 23857dd7cddfSDavid du Colombier 23867dd7cddfSDavid du Colombier<p> 23877dd7cddfSDavid du ColombierAll customization should be done using the "<b><tt>*Include:</tt></b>" 23887dd7cddfSDavid du Colombierfeature of PPD files so that your local changes will be retained if you 23897dd7cddfSDavid du Colombierupdate the PPD files. 23907dd7cddfSDavid du Colombier 2391*3ff48bf5SDavid du Colombier<h3><a name="BJC_bugs"></a>How to report problems</h3> 23927dd7cddfSDavid du Colombier 23937dd7cddfSDavid du Colombier<p> 2394*3ff48bf5SDavid du ColombierYves Arrouye no longer maintains this driver, and will not answer questions 2395*3ff48bf5SDavid du Colombierabout it. If you are posting a question about it in a public form, please 2396*3ff48bf5SDavid du Colombierbe as descriptive as possible, and please send information that can be used 2397*3ff48bf5SDavid du Colombierto reproduce the problem. Don't forget to say which driver you use, and in 2398*3ff48bf5SDavid du Colombierwhat version. Version information can be found in the source code of the 2399*3ff48bf5SDavid du Colombierdriver or by issuing the following command in a shell: 24007dd7cddfSDavid du Colombier 24017dd7cddfSDavid du Colombier<blockquote><b><tt> 24027dd7cddfSDavid du Colombierecho "currentpagedevice /VersionString get ==" | gs -q -sDEVICE=bjc600 - 24037dd7cddfSDavid du Colombier</tt></b></blockquote> 24047dd7cddfSDavid du Colombier 2405*3ff48bf5SDavid du Colombier<h3><a name="BJC_acks"></a>Acknowledgements</h3> 24067dd7cddfSDavid du Colombier 24077dd7cddfSDavid du Colombier<p> 24087dd7cddfSDavid du ColombierI am particularly grateful to Yoshio Kuniyoshi <<a 24097dd7cddfSDavid du Colombierhref="mailto:yoshio@nak.math.keio.ac.jp">yoshio@nak.math.keio.ac.jp</a>> 24107dd7cddfSDavid du Colombierwithout whom I'd never make these drivers, and also to L. Peter Deutsch, 24117dd7cddfSDavid du Colombierwho answered all my (often silly) questions about Ghostscript's driver 24127dd7cddfSDavid du Colombierinterface. 24137dd7cddfSDavid du Colombier 24147dd7cddfSDavid du Colombier<p> 24157dd7cddfSDavid du ColombierThanks also to the people who volunteered to beta-test the v2.x BJC 24167dd7cddfSDavid du Colombierdrivers: David Gaudine 24177dd7cddfSDavid du Colombier<<a href="mailto:david@donald.concordia.ca">david@donald.concordia.ca</a>>, 24187dd7cddfSDavid du ColombierRobert M. Kenney <<a href="mailto:rmk@unh.edu">rmk@unh.edu</a>>, 24197dd7cddfSDavid du ColombierJames McPherson 24207dd7cddfSDavid du Colombier<<a href="mailto:someone@erols.com">someone@erols.com</a>> 24217dd7cddfSDavid du Colombierand Ian Thurlbeck 24227dd7cddfSDavid du Colombier<<a href="mailto:ian@stams.strath.ac.uk">ian@stams.strath.ac.uk</a>> 24237dd7cddfSDavid du Colombier(listed alphabetically) were particularly helpful by discovering bugs and 24247dd7cddfSDavid du Colombierhelping find out exact paper margins on printers I don't have access to. 24257dd7cddfSDavid du Colombier 24267dd7cddfSDavid du Colombier<p> 24277dd7cddfSDavid du ColombierAnd many thanks to Klaus-Gunther Hess 24287dd7cddfSDavid du Colombier<<a href="mailto:ghess@elmos.de">ghess@elmos.de</a>> for looking 24297dd7cddfSDavid du Colombierat the dithering code and devising a good CMYK dithering algorithm for the 24307dd7cddfSDavid du ColombierEpson Stylus Color, which I then adapted to the code of these drivers. 24317dd7cddfSDavid du Colombier 24327dd7cddfSDavid du Colombier<hr> 24337dd7cddfSDavid du Colombier 2434*3ff48bf5SDavid du Colombier<h2><a name="STC_epson_stylus"></a>Epson Stylus color printer (see also <b><tt>uniprint</tt></b>)</h2> 24357dd7cddfSDavid du Colombier 24367dd7cddfSDavid du Colombier<p> 24377dd7cddfSDavid du ColombierThis section was contributed by Gunther Hess 24387dd7cddfSDavid du Colombier<<a href="mailto:ghess@elmos.de">ghess@elmos.de</a>>, who also wrote 24397dd7cddfSDavid du Colombier<b><tt>uniprint</tt></b>, a later set of drivers. You should probably see 24407dd7cddfSDavid du Colombierthe section on <a href="#Uniprint"><b><tt>uniprint</tt></b></a> for whether 24417dd7cddfSDavid du Colombierit might be better for your uses than this driver. 24427dd7cddfSDavid du Colombier 2443*3ff48bf5SDavid du Colombier<h3><a name="STC_usage"></a>Usage</h3> 24447dd7cddfSDavid du Colombier 24457dd7cddfSDavid du Colombier<p> 24467dd7cddfSDavid du Colombier 24477dd7cddfSDavid du ColombierThis driver is selected with "<b><tt>-sDEVICE=stcolor</tt></b>", producing 24487dd7cddfSDavid du Colombieroutput for an Epson Stylus Color at 360dpi resolution by default. But it 24497dd7cddfSDavid du Colombiercan do much more with this printer, and with significantly better quality, 24507dd7cddfSDavid du Colombierthan with the default mode; and it can also produce code for monochrome 24517dd7cddfSDavid du Colombierversions of the printer. This can be achieved via either command-line 24527dd7cddfSDavid du Colombieroptions or Ghostscript input. For convenience a PostScript file is 24537dd7cddfSDavid du Colombiersupplied for use as an initial input file. Try the following command: 24547dd7cddfSDavid du Colombier 24557dd7cddfSDavid du Colombier<blockquote> 24567dd7cddfSDavid du Colombier<b><tt>gs -sDEVICE=stcolor -r</tt></b><b>{Xdpi}</b><b><tt>x</tt></b><b>{Ydpi}</b><b><tt> stcolor.ps</tt></b> <b>{YourFile.ps}</b> 24577dd7cddfSDavid du Colombier</blockquote> 24587dd7cddfSDavid du Colombier 24597dd7cddfSDavid du Colombier<p> 24607dd7cddfSDavid du Colombierwhere <b>{Xdpi}</b> is one of 180, 360, or 720 and <b>{Ydpi}</b> is one of 24617dd7cddfSDavid du Colombier90, 180, 360, or 720. The result should be significantly better. You may 24627dd7cddfSDavid du Colombieruse <b><tt>stcolor.ps</tt></b> with other devices too, but I do not 24637dd7cddfSDavid du Colombierrecommend this, since it does nothing then. <b><tt>stcolor.ps</tt></b> 24647dd7cddfSDavid du Colombiershould be available with binary distributions and should reside in the same 24657dd7cddfSDavid du Colombierdirectory as other Ghostscript initialization files or in the same 24667dd7cddfSDavid du Colombierdirectory as the files to be printed. Thus if Ghostscript is part of your 24677dd7cddfSDavid du Colombierprinter-spooler, you can insert 24687dd7cddfSDavid du Colombier 24697dd7cddfSDavid du Colombier<blockquote><b><tt> 24707dd7cddfSDavid du Colombier(stcolor.ps) findlibfile { pop run } if pop 24717dd7cddfSDavid du Colombier</tt></b></blockquote> 24727dd7cddfSDavid du Colombier 24737dd7cddfSDavid du Colombier<p> 24747dd7cddfSDavid du Colombierin files you want to use the improved algorithms. You may want to adapt 24757dd7cddfSDavid du Colombier<b><tt>stcolor.ps</tt></b> file to your specific needs. The methods and 24767dd7cddfSDavid du Colombieroptions for this are described here, but this description is restricted to 24777dd7cddfSDavid du ColombierGhostscript options, while their manipulation at the PostScript level is 24787dd7cddfSDavid du Colombierdocumented in the material on <a href="Language.htm">the relationship of 24797dd7cddfSDavid du ColombierGhostscript and PostScript</a> and in <b><tt>stcolor.ps</tt></b>. 24807dd7cddfSDavid du Colombier 2481*3ff48bf5SDavid du Colombier<h3><a name="STC_options"></a>Options</h3> 24827dd7cddfSDavid du Colombier 24837dd7cddfSDavid du Colombier<p> 24847dd7cddfSDavid du ColombierNow to explain the options (as written on my UNIX system). The order is 24857dd7cddfSDavid du Colombiersomehow related to their use during the printing process: 24867dd7cddfSDavid du Colombier 24877dd7cddfSDavid du Colombier<dl> 24887dd7cddfSDavid du Colombier<dt><b><tt>-dUnidirectional</tt></b> 24897dd7cddfSDavid du Colombier<dd>Force unidirectional printing, recommended for transparencies 24907dd7cddfSDavid du Colombier</dl> 24917dd7cddfSDavid du Colombier 24927dd7cddfSDavid du Colombier<dl> 24937dd7cddfSDavid du Colombier<dt><b><tt>-dMicroweave</tt></b> 24947dd7cddfSDavid du Colombier<dd>Enable the printer's "microweave" feature; see 24957dd7cddfSDavid du Colombier"<a href="#What_is_weaving">What is weaving?</a>" below. 24967dd7cddfSDavid du Colombier</dl> 24977dd7cddfSDavid du Colombier 24987dd7cddfSDavid du Colombier<dl> 24997dd7cddfSDavid du Colombier<dt><b><tt>-dnoWeave</tt></b> 25007dd7cddfSDavid du Colombier<dd>Disable any Weaving (overrides <b><tt>-dMicroweave</tt></b>) 25017dd7cddfSDavid du Colombier</dl> 25027dd7cddfSDavid du Colombier 25037dd7cddfSDavid du Colombier<dl> 25047dd7cddfSDavid du Colombier<dt><b><tt>-dSoftweave</tt></b> 25057dd7cddfSDavid du Colombier<dd>Enable the driver's internal weaving. Note that <b><tt>Softweave</tt></b> works <b>only</b> with the original Stylus Color and the PRO-Series. 25067dd7cddfSDavid du Colombier</dl> 25077dd7cddfSDavid du Colombier 25087dd7cddfSDavid du Colombier<dl> 25097dd7cddfSDavid du Colombier<dt><b><tt>-sDithering=</tt></b><em>{name}</em> 25107dd7cddfSDavid du Colombier<dd>Select another dithering algorithm (name) from among 25117dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 25127dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>gscmyk</tt></b> 25137dd7cddfSDavid du Colombier <td> 25147dd7cddfSDavid du Colombier <td>fast color output, CMYK process color model (default) 25157dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>gsmono</tt></b> 25167dd7cddfSDavid du Colombier <td> 25177dd7cddfSDavid du Colombier <td>fast monochrome output 25187dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>gsrgb</tt></b> 25197dd7cddfSDavid du Colombier <td> 25207dd7cddfSDavid du Colombier <td>fast color output, RGB process color model 25217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>fsmono</tt></b> 25227dd7cddfSDavid du Colombier <td> 25237dd7cddfSDavid du Colombier <td>Floyd-Steinberg, monochrome 25247dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>fsrgb</tt></b> 25257dd7cddfSDavid du Colombier <td> 25267dd7cddfSDavid du Colombier <td>Floyd-Steinberg, RGB process color model (almost identical to the <b><tt>cdj550</tt></b>/<b><tt>bjc</tt></b> algorithm) 25277dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>fsx4</tt></b> 25287dd7cddfSDavid du Colombier <td> 25297dd7cddfSDavid du Colombier <td>Floyd-Steinberg, CMYK process color model (shares code with <b><tt>fsmono</tt></b> and <b><tt>fsrgb</tt></b>, but is algorithmically really bad) 25307dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>fscmyk</tt></b> 25317dd7cddfSDavid du Colombier <td> 25327dd7cddfSDavid du Colombier <td>Floyd-Steinberg, CMYK process color model and proper modifications for CMYK 25337dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>hscmyk</tt></b> 25347dd7cddfSDavid du Colombier <td> 25357dd7cddfSDavid du Colombier <td>modified Floyd-Steinberg with CMYK model ("hs" stands for "hess" not for "high speed", but the major difference from <b><tt>fscmyk</tt></b> is speed) 25367dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>fs2</tt></b> 25377dd7cddfSDavid du Colombier <td> 25387dd7cddfSDavid du Colombier <td>algorithm by Steven Singer (RGB) should be identical to <b><tt>escp2cfs2</tt></b>. 25397dd7cddfSDavid du Colombier</table></blockquote> 25407dd7cddfSDavid du Colombier</dl> 25417dd7cddfSDavid du Colombier 25427dd7cddfSDavid du Colombier<dl> 25437dd7cddfSDavid du Colombier<dt><b><tt>-dBitsPerPixel=</tt></b><em>{1...32}</em> 25447dd7cddfSDavid du Colombier<dd>number of bits used for pixel storage; the larger the value, the better 25457dd7cddfSDavid du Colombierthe quality -- at least in theory. In <b><tt>fsrgb</tt></b> one can gain 25467dd7cddfSDavid du Colombiersome speed by restricting to 24 bits rather than the default 30. 25477dd7cddfSDavid du Colombier</dl> 25487dd7cddfSDavid du Colombier 25497dd7cddfSDavid du Colombier<dl> 25507dd7cddfSDavid du Colombier<dt><b><tt>-dFlag0</tt></b> 25517dd7cddfSDavid du Colombier<dd>causes some algorithms to select a uniform initialisation rather than a 25527dd7cddfSDavid du Colombierset of random values. May yield a sharper image impression at the cost of 25537dd7cddfSDavid du Colombierdithering artifacts. (Applies to <b><tt>hscmyk</tt></b> and all fs modes, 25547dd7cddfSDavid du Colombierexcept for fs2, which always uses a constant initialization.) 25557dd7cddfSDavid du Colombier</dl> 25567dd7cddfSDavid du Colombier 25577dd7cddfSDavid du Colombier<dl> 25587dd7cddfSDavid du Colombier<dt><b><tt>-dFlag1</tt></b> ... <b><tt>-dFlag4</tt></b> 25597dd7cddfSDavid du Colombier<dd>Available for future algorithms. 25607dd7cddfSDavid du Colombier</dl> 25617dd7cddfSDavid du Colombier 25627dd7cddfSDavid du Colombier<dl> 25637dd7cddfSDavid du Colombier<dt><b><tt>-dColorAdjustMatrix='{</tt></b><em>three, nine, or sixteen 25647dd7cddfSDavid du Colombierfloating-point values</em><b><tt>}'</tt></b> 25657dd7cddfSDavid du Colombier<dd>This is a matrix to adjust the colors. Values should be between -1.0 25667dd7cddfSDavid du Colombierand 1.0, and the number of values depends on the color model the selected 25677dd7cddfSDavid du Colombieralgorithm uses. In RGB and CMYK modes a matrix with 1.0 on the diagonal 25687dd7cddfSDavid du Colombierproduces no transformation. This feature is really required, but I could 25697dd7cddfSDavid du Colombiernot identify a similar feature at the language level, so I implemented it, 25707dd7cddfSDavid du Colombierbut I don't know reasonable values yet. 25717dd7cddfSDavid du Colombier</dl> 25727dd7cddfSDavid du Colombier 25737dd7cddfSDavid du Colombier<dl> 25747dd7cddfSDavid du Colombier<dt><b><tt>-dCtransfer='{</tt></b><em>float float ...</em><b><tt>}'</tt></b> or 25757dd7cddfSDavid du Colombier<dt><b><tt>-dMtransfer=</tt></b>..., <b><tt>-dY</tt></b>..., <b><tt>-dK</tt></b>... or 25767dd7cddfSDavid du Colombier<dt><b><tt>-dRtransfer='{</tt></b><em>float float ...</em><b><tt>}'</tt></b> or 25777dd7cddfSDavid du Colombier<dt><b><tt>-dG</tt></b>..., <b><tt>-dB</tt></b>... or 25787dd7cddfSDavid du Colombier<dt><b><tt>-dKtransfer='{</tt></b><em>float float ...</em><b><tt>}'</tt></b> 25797dd7cddfSDavid du Colombier<dd>Which you use depends on the algorithm, which may be either either 25807dd7cddfSDavid du ColombierCMYK, RGB or monochrome. The values are arrays of floats in the range from 25817dd7cddfSDavid du Colombier0 to 1.0, representing the visible color intensity for the device. One may 25827dd7cddfSDavid du Colombierachieve similar effects with <b><tt>setcolortransfer</tt></b> at the 25837dd7cddfSDavid du Colombierlanguage level, but this takes more time and the underlying code for the 25847dd7cddfSDavid du Colombierdriver-specific parameters is still required. The size of the arrays is 25857dd7cddfSDavid du Colombierarbitrary and the defaults are "<b><tt>{0.0 1.0}</tt></b>", which is a 25867dd7cddfSDavid du Colombierlinear characteristic. Most of the code in <b><tt>stcolor.ps</tt></b> are 25877dd7cddfSDavid du Colombierbetter transfer arrays. 25887dd7cddfSDavid du Colombier</dl> 25897dd7cddfSDavid du Colombier 25907dd7cddfSDavid du Colombier<dl> 25917dd7cddfSDavid du Colombier<dt><b><tt>-dKcoding='{</tt></b><em>float...</em><b><tt>}'</tt></b> 25927dd7cddfSDavid du Colombier<dt><b><tt>-dC</tt></b>..., <b><tt>-dM</tt></b>... etc. 25937dd7cddfSDavid du Colombier<dd>Arrays between 0.0 and 1.0, controlling the internal coding of the 25947dd7cddfSDavid du Colombiercolor values. Clever use of these arrays may yield further enhancements, 25957dd7cddfSDavid du Colombierbut I have no experience yet. (To be discontinued with version 2.x.) 25967dd7cddfSDavid du Colombier</dl> 25977dd7cddfSDavid du Colombier 25987dd7cddfSDavid du Colombier<dl> 25997dd7cddfSDavid du Colombier<dt><b><tt>-sModel=st800</tt></b> 26007dd7cddfSDavid du Colombier<dd>Causes output to be suitable for the monochrome Stylus 800 (no weaving, 26017dd7cddfSDavid du Colombierno color). 26027dd7cddfSDavid du Colombier</dl> 26037dd7cddfSDavid du Colombier 26047dd7cddfSDavid du Colombier<dl> 26057dd7cddfSDavid du Colombier<dt><b><tt>-sOutputCode=</tt></b><em>{name}</em> 26067dd7cddfSDavid du Colombier<dd>Can be either "<b><tt>plain</tt></b>", "<b><tt>runlength</tt></b>" or 26077dd7cddfSDavid du Colombier"<b><tt>deltarow</tt></b>" and changes the ESC/P2 coding technique 26087dd7cddfSDavid du Colombierused by the driver. The default is to use runlength encoding. 26097dd7cddfSDavid du Colombier"<b><tt>plain</tt></b>" selects uncompressed encoding and generates 26107dd7cddfSDavid du Colombierenormous amounts of data. 26117dd7cddfSDavid du Colombier</dl> 26127dd7cddfSDavid du Colombier 26137dd7cddfSDavid du Colombier<dl> 26147dd7cddfSDavid du Colombier<dt><b><tt>-descp_Band=</tt></b><em>1/8/15/24</em> 26157dd7cddfSDavid du Colombier<dd>Number of nozzles of scanlines used in printing, Useful only with 26167dd7cddfSDavid du Colombier<b><tt>-dnoWeave</tt></b>. Larger Values yield smaller code, but this 26177dd7cddfSDavid du Colombierdoesn't increase the printing speed. 26187dd7cddfSDavid du Colombier</dl> 26197dd7cddfSDavid du Colombier 26207dd7cddfSDavid du Colombier<dl> 26217dd7cddfSDavid du Colombier<dt><b><tt>-descp_Width=</tt></b><em>N</em> 26227dd7cddfSDavid du Colombier<dd>Number of pixels Printed in each scan Line. (Useful only when tuning 26237dd7cddfSDavid du Colombiermargins; see below) 26247dd7cddfSDavid du Colombier</dl> 26257dd7cddfSDavid du Colombier 26267dd7cddfSDavid du Colombier<dl> 26277dd7cddfSDavid du Colombier<dt><b><tt>-descp_Height=</tt></b><em>pixels</em> 26287dd7cddfSDavid du Colombier<dd>Length of the entire page in pixels. (Parameter of 26297dd7cddfSDavid du Colombier"<b><tt>ESC(C</tt></b>" in default initialization.) 26307dd7cddfSDavid du Colombier</dl> 26317dd7cddfSDavid du Colombier 26327dd7cddfSDavid du Colombier<dl> 26337dd7cddfSDavid du Colombier<dt><b><tt>-descp_Top=</tt></b><em>scan lines</em> 26347dd7cddfSDavid du Colombier<dd>Top margin in scan lines. (First parameter of "<b><tt>ESC(c</tt></b>" 26357dd7cddfSDavid du Colombierin default initialization.) 26367dd7cddfSDavid du Colombier</dl> 26377dd7cddfSDavid du Colombier 26387dd7cddfSDavid du Colombier<dl> 26397dd7cddfSDavid du Colombier<dt><b><tt>-descp_Bottom=</tt></b><em>scan lines</em> 26407dd7cddfSDavid du Colombier<dd>Bottom margin in scan lines. (Second parameter of 26417dd7cddfSDavid du Colombier"<b><tt>ESC(c</tt></b>" in default initialization.) 26427dd7cddfSDavid du Colombier</dl> 26437dd7cddfSDavid du Colombier 26447dd7cddfSDavid du Colombier<dl> 26457dd7cddfSDavid du Colombier<dt><b><tt>-sescp_Init=</tt></b>"<em>string</em>" 26467dd7cddfSDavid du Colombier<dd>Override for the initialization sequence. (Must set graphics mode 1 26477dd7cddfSDavid du Colombierand units.) 26487dd7cddfSDavid du Colombier</dl> 26497dd7cddfSDavid du Colombier 26507dd7cddfSDavid du Colombier<dl> 26517dd7cddfSDavid du Colombier<dt><b><tt>-sescp_Release=</tt></b>"<em>string</em>" 26527dd7cddfSDavid du Colombier<dd>Overrides the release sequence, "<b><tt>ESC @ FF</tt></b>" by 26537dd7cddfSDavid du Colombierdefault. 26547dd7cddfSDavid du Colombier</dl> 26557dd7cddfSDavid du Colombier 26567dd7cddfSDavid du Colombier<p> 26577dd7cddfSDavid du ColombierESC/P2 allows any resolutions to be valid in theory, but only 26587dd7cddfSDavid du Colombier<b><tt>-r360x360</tt></b> (the default) and <b><tt>-r720x720</tt></b> (not 26597dd7cddfSDavid du Colombieron STC-IIs ? and st800) are known to work with most printers. 26607dd7cddfSDavid du Colombier 26617dd7cddfSDavid du Colombier<p> 26627dd7cddfSDavid du Colombier 26637dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 26647dd7cddfSDavid du Colombier<tr><th colspan=7 bgcolor="#CCCC00"><hr><font size="+1">Valid option combinations<br>Stylus I & Pro-Series only</font><hr> 26657dd7cddfSDavid du Colombier<tr valign=bottom> 26667dd7cddfSDavid du Colombier <th valign=bottom align=left>Resolution 26677dd7cddfSDavid du Colombier <td> 26687dd7cddfSDavid du Colombier <th valign=bottom align=left><b><tt>escp_Band</tt></b> 26697dd7cddfSDavid du Colombier <td> 26707dd7cddfSDavid du Colombier <th valign=bottom align=left>Weave usable 26717dd7cddfSDavid du Colombier <td> 26727dd7cddfSDavid du Colombier <th valign=bottom align=left><b><tt>escp_Band</tt></b> &<br>number of passes 26737dd7cddfSDavid du Colombier<tr> <td colspan=7><hr> 26747dd7cddfSDavid du Colombier<tr valign=top> <td>180x90 26757dd7cddfSDavid du Colombier <td> 26767dd7cddfSDavid du Colombier <td>15 26777dd7cddfSDavid du Colombier <td> 26787dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b> 26797dd7cddfSDavid du Colombier <td> 26807dd7cddfSDavid du Colombier <td> 26817dd7cddfSDavid du Colombier<tr valign=top> <td>180x180 26827dd7cddfSDavid du Colombier <td> 26837dd7cddfSDavid du Colombier <td>1 , 8, 24 26847dd7cddfSDavid du Colombier <td> 26857dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b>, <b><tt>Microweave</tt></b> 26867dd7cddfSDavid du Colombier <td> 26877dd7cddfSDavid du Colombier <td>15/2 <b><tt>SoftWeave</tt></b> 26887dd7cddfSDavid du Colombier<tr valign=top> <td>180x360 26897dd7cddfSDavid du Colombier <td> 26907dd7cddfSDavid du Colombier <td> 26917dd7cddfSDavid du Colombier <td> 26927dd7cddfSDavid du Colombier <td> 26937dd7cddfSDavid du Colombier <td> 26947dd7cddfSDavid du Colombier <td>15/4 <b><tt>SoftWeave</tt></b> 26957dd7cddfSDavid du Colombier<tr valign=top> <td>180x720 26967dd7cddfSDavid du Colombier <td> 26977dd7cddfSDavid du Colombier <td> 26987dd7cddfSDavid du Colombier <td> 26997dd7cddfSDavid du Colombier <td> 27007dd7cddfSDavid du Colombier <td> 27017dd7cddfSDavid du Colombier <td>15/8 <b><tt>SoftWeave</tt></b> 27027dd7cddfSDavid du Colombier<tr valign=top> <td>360x90 27037dd7cddfSDavid du Colombier <td> 27047dd7cddfSDavid du Colombier <td>15 27057dd7cddfSDavid du Colombier <td> 27067dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b> 27077dd7cddfSDavid du Colombier <td> 27087dd7cddfSDavid du Colombier <td> 27097dd7cddfSDavid du Colombier<tr valign=top> <td>360x180 27107dd7cddfSDavid du Colombier <td> 27117dd7cddfSDavid du Colombier <td>1, 8, 24 27127dd7cddfSDavid du Colombier <td> 27137dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b>, <b><tt>Microweave</tt></b> 27147dd7cddfSDavid du Colombier <td> 27157dd7cddfSDavid du Colombier <td>15/2 <b><tt>SoftWeave</tt></b> 27167dd7cddfSDavid du Colombier<tr valign=top> <td>360x360 27177dd7cddfSDavid du Colombier <td> 27187dd7cddfSDavid du Colombier <td>1, 8, 24 27197dd7cddfSDavid du Colombier <td> 27207dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b>, <b><tt>Microweave</tt></b> 27217dd7cddfSDavid du Colombier <td> 27227dd7cddfSDavid du Colombier <td>15/4 <b><tt>SoftWeave</tt></b> 27237dd7cddfSDavid du Colombier<tr valign=top> <td>360x720 27247dd7cddfSDavid du Colombier <td> 27257dd7cddfSDavid du Colombier <td> 27267dd7cddfSDavid du Colombier <td> 27277dd7cddfSDavid du Colombier <td> 27287dd7cddfSDavid du Colombier <td> 27297dd7cddfSDavid du Colombier <td>15/8 <b><tt>SoftWeave</tt></b> 27307dd7cddfSDavid du Colombier<tr valign=top> <td>720x90 27317dd7cddfSDavid du Colombier <td> 27327dd7cddfSDavid du Colombier <td>15 27337dd7cddfSDavid du Colombier <td> 27347dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b> 27357dd7cddfSDavid du Colombier <td> 27367dd7cddfSDavid du Colombier <td> 27377dd7cddfSDavid du Colombier<tr valign=top> <td>720x180 27387dd7cddfSDavid du Colombier <td> 27397dd7cddfSDavid du Colombier <td> 27407dd7cddfSDavid du Colombier <td> 27417dd7cddfSDavid du Colombier <td> 27427dd7cddfSDavid du Colombier <td> 27437dd7cddfSDavid du Colombier <td>15/2 <b><tt>SoftWeave</tt></b> 27447dd7cddfSDavid du Colombier<tr valign=top> <td>720x360 27457dd7cddfSDavid du Colombier <td> 27467dd7cddfSDavid du Colombier <td> 27477dd7cddfSDavid du Colombier <td> 27487dd7cddfSDavid du Colombier <td> 27497dd7cddfSDavid du Colombier <td> 27507dd7cddfSDavid du Colombier <td>15/4 <b><tt>SoftWeave</tt></b> 27517dd7cddfSDavid du Colombier<tr valign=top> <td>720x720 27527dd7cddfSDavid du Colombier <td> 27537dd7cddfSDavid du Colombier <td>1 27547dd7cddfSDavid du Colombier <td> 27557dd7cddfSDavid du Colombier <td><b><tt>noWeave</tt></b>, <b><tt>Microweave</tt></b> 27567dd7cddfSDavid du Colombier <td> 27577dd7cddfSDavid du Colombier <td>15/8 <b><tt>SoftWeave</tt></b> 27587dd7cddfSDavid du Colombier</table></blockquote> 27597dd7cddfSDavid du Colombier 27607dd7cddfSDavid du Colombier<blockquote> 27617dd7cddfSDavid du Colombier<b>Beware:</b> there are only few validity checks for parameters. A good 27627dd7cddfSDavid du Colombierexample is <b><tt>escp_Band</tt></b>: if you set this, the driver uses your 27637dd7cddfSDavid du Colombiervalue even if the value is not supported by the printer. <b>You asked for 27647dd7cddfSDavid du Colombierit and you got it!</b> 27657dd7cddfSDavid du Colombier</blockquote> 27667dd7cddfSDavid du Colombier 2767*3ff48bf5SDavid du Colombier<h3><a name="STC_FAQ"></a>Application note and FAQ</h3> 27687dd7cddfSDavid du Colombier 27697dd7cddfSDavid du Colombier<p> 27707dd7cddfSDavid du ColombierQuite a bunch of parameters. Hopefully you never need any of them, besides 27717dd7cddfSDavid du Colombierfeeding <b><tt>stcolor.ps</tt></b> to Ghostscript in front of your input. 27727dd7cddfSDavid du Colombier 27737dd7cddfSDavid du Colombier<p> 27747dd7cddfSDavid du ColombierAfter answering some questions over fifty times I prepared a FAQ. Here is 27757dd7cddfSDavid du Colombierversion 1.3 of the FAQ, as of <b><tt>stcolor</tt></b> version 1.20 (for 27767dd7cddfSDavid du ColombierGhostscript 3.50). 27777dd7cddfSDavid du Colombier 2778*3ff48bf5SDavid du Colombier<h4><a name="STC_FAQ_A3"></a>Support for A3 paper</h4> 27797dd7cddfSDavid du Colombier 27807dd7cddfSDavid du Colombier<p> 27817dd7cddfSDavid du ColombierYes, this driver supports the A3-size printer: merely set the required 27827dd7cddfSDavid du Colombierpagesize and margins. A simple way to do this is to specify the 27837dd7cddfSDavid du Colombiercommand-line switch "<b><tt>-sPAPERSIZE=a3</tt></b>" or include the 27847dd7cddfSDavid du Colombierprocedure call "<b><tt>a3</tt></b>" in the PostScript prolog section. To 27857dd7cddfSDavid du Colombieroptimize the printable area or set the proper margins, see the next 27867dd7cddfSDavid du Colombierparagraph. 27877dd7cddfSDavid du Colombier 2788*3ff48bf5SDavid du Colombier<h4><a name="STC_FAQ_margins"></a>Margins, PageSize</h4> 27897dd7cddfSDavid du Colombier 27907dd7cddfSDavid du Colombier<p> 27917dd7cddfSDavid du ColombierI refuse to add code to <b><tt>stcolor</tt></b> that tries to guess the 27927dd7cddfSDavid du Colombierproper margins or page size, because I found that such guessing is usually 27937dd7cddfSDavid du Colombierwrong and needs correction in either the source or the parameters. You can 27947dd7cddfSDavid du Colombiermodify <b><tt>stcolor.ps</tt></b> to do that, however. After the line 27957dd7cddfSDavid du Colombier 27967dd7cddfSDavid du Colombier<blockquote><b><tt> 27977dd7cddfSDavid du Colombiermark % prepare stack for "putdeviceprops" 27987dd7cddfSDavid du Colombier</tt></b></blockquote> 27997dd7cddfSDavid du Colombier 28007dd7cddfSDavid du Colombier<p> 28017dd7cddfSDavid du Colombierinsert these lines, which define page size and margins in points: 28027dd7cddfSDavid du Colombier 2803*3ff48bf5SDavid du Colombier<blockquote> 28047dd7cddfSDavid du Colombier<pre>/.HWMargins [9.0 39.96 12.6 9.0] % Left, bottom, right, top (1/72") 28057dd7cddfSDavid du Colombier/PageSize [597.6 842.4] % Paper, including margins (1/72") 28067dd7cddfSDavid du Colombier/Margins [ % neg. Offset to Left/Top in Pixels 28077dd7cddfSDavid du Colombier 4 index 0 get STCold /HWResolution get 0 get mul 72 div neg 28087dd7cddfSDavid du Colombier 5 index 3 get STCold /HWResolution get 1 get mul 72 div neg 2809*3ff48bf5SDavid du Colombier]</pre></blockquote> 28107dd7cddfSDavid du Colombier 28117dd7cddfSDavid du Colombier<p> 28127dd7cddfSDavid du ColombierFeel free to change the values of <b><tt>.HWMargins</tt></b> and 28137dd7cddfSDavid du Colombier<b><tt>PageSize</tt></b> to match your needs; the values given are the 28147dd7cddfSDavid du Colombierdefaults when the driver is compiled with "<b><tt>-DA4</tt></b>". This 28157dd7cddfSDavid du Colombieroption or its omission may cause trouble: the Stylus Color can print up to 28167dd7cddfSDavid du Colombierexactly 8 inches (2880 pixels) at 360dpi. The remaining paper is the 28177dd7cddfSDavid du Colombiermargin, where the left margin varies only slightly with the paper size, 28187dd7cddfSDavid du Colombierwhile the right margin is significantly increased for wider paper, such as 28197dd7cddfSDavid du ColombierU.S. letter size. 28207dd7cddfSDavid du Colombier 28217dd7cddfSDavid du Colombier<p> 28227dd7cddfSDavid du Colombier<b>Note</b> that if you are using an ISO paper size with a version of 28237dd7cddfSDavid du Colombier<b><tt>stcolor</tt></b> after 1.20 and compiled without 28247dd7cddfSDavid du Colombier"<b><tt>-DA4</tt></b>", then the default margin is too large, and you need 28257dd7cddfSDavid du Colombierto add the proper "<b><tt>.HWMargins</tt></b>" to the command line or to 28267dd7cddfSDavid du Colombier<b><tt>stcolor.ps</tt></b>. 28277dd7cddfSDavid du Colombier 2828*3ff48bf5SDavid du Colombier<h4><a name="STC_FAQ_II_IIS_1500"></a>Stylus Color II / IIs and 1500</h4> 28297dd7cddfSDavid du Colombier 28307dd7cddfSDavid du Colombier<p> 28317dd7cddfSDavid du ColombierFirst the good news: the driver can print on the Stylus Color II. 28327dd7cddfSDavid du ColombierNow the bad news: 28337dd7cddfSDavid du Colombier<ul> 28347dd7cddfSDavid du Colombier<li>According to Epson support the driver "abuses" the color 28357dd7cddfSDavid du Colombiercapabilities. (See "Future Plans" for details.) 28367dd7cddfSDavid du Colombier<li>You need some parameters on the command line (or in 28377dd7cddfSDavid du Colombier<b><tt>stcolor.ps</tt></b>). 28387dd7cddfSDavid du Colombier<li>I doubted that it would be usable with the Stylus Color IIs, but 28397dd7cddfSDavid du Colombierit <b>is</b> usable and suffers from mixing problems! 28407dd7cddfSDavid du Colombier</ul> 28417dd7cddfSDavid du Colombier 28427dd7cddfSDavid du Colombier<p> 28437dd7cddfSDavid du Colombier 28447dd7cddfSDavid du ColombierTo make things work, you <b>MUST</b> disable the driver's internal 28457dd7cddfSDavid du Colombierweaving (<b><tt>Softweave</tt></b>), in one of these two ways: 28467dd7cddfSDavid du Colombier 28477dd7cddfSDavid du Colombier<blockquote> 28487dd7cddfSDavid du Colombier<b><tt>gs -dMicroweave</tt></b> ...<br> 28497dd7cddfSDavid du Colombier<b><tt>gs -dnoWeave -descp_Band=1</tt></b> ... 28507dd7cddfSDavid du Colombier</blockquote> 28517dd7cddfSDavid du Colombier 28527dd7cddfSDavid du Colombier<p> 28537dd7cddfSDavid du ColombierVersion 1.90, current as of Ghostscript 5.10, fixes this bug by new default 28547dd7cddfSDavid du Colombierbehaviour. I experienced significantly increased printing speed with the 28557dd7cddfSDavid du Colombiersecond variant on the old Stylus Color, when printing mostly monochrome 28567dd7cddfSDavid du Colombierdata. 28577dd7cddfSDavid du Colombier 2858*3ff48bf5SDavid du Colombier<h3><a name="STC_recommendations"></a>Recommendations</h3> 28597dd7cddfSDavid du Colombier 28607dd7cddfSDavid du Colombier<p> 28617dd7cddfSDavid du ColombierThe next section is a contribution from Jason Patterson <jason@reflections.com.au> 28627dd7cddfSDavid du Colombierwho evaluated a previous version (1.17). Ghostscript was invoked as follows: 28637dd7cddfSDavid du Colombier 28647dd7cddfSDavid du Colombier<blockquote><dl compact> 28657dd7cddfSDavid du Colombier<dt><b><tt>gs</tt></b> 28667dd7cddfSDavid du Colombier<dd><b><tt>-sDEVICE=stcolor -r720x720 28677dd7cddfSDavid du Colombier-sDithering=</tt></b>... <b><tt>-sOutputFile=escp.out stcolor.ps 28687dd7cddfSDavid du Colombierwhatsoever.ps</tt></b> 28697dd7cddfSDavid du Colombier 28707dd7cddfSDavid du Colombier</dl></blockquote> 28717dd7cddfSDavid du Colombier 28727dd7cddfSDavid du Colombier<p> 28737dd7cddfSDavid du Colombierwhere "..." is the name of the desired algorithm. 28747dd7cddfSDavid du Colombier<b><tt>stcolor.ps</tt></b> was omitted for the gs-algorithms 28757dd7cddfSDavid du Colombier(<b><tt>gsmono</tt></b>, <b><tt>gsrgb</tt></b> and <b><tt>gscmyk</tt></b>), 28767dd7cddfSDavid du Colombierfor which it is useless and would not allow the selection of 28777dd7cddfSDavid du Colombier"<b><tt>gscmyk</tt></b>". 28787dd7cddfSDavid du Colombier 2879*3ff48bf5SDavid du Colombier<h4><a name="STC_dither_experiment"></a>Color dithering experiments with 2880*3ff48bf5SDavid du Colombier<b><tt>gdevstc</tt></b> 1.21</h4> 28817dd7cddfSDavid du Colombier 28827dd7cddfSDavid du Colombier<p> 28837dd7cddfSDavid du ColombierHere are data about the EPSON Stylus Color driver's different dithering 28847dd7cddfSDavid du Colombiermethods, based on a little experiment using four good quality scanned 28857dd7cddfSDavid du Colombierimages of quite varied nature, to begin with, a summary of the results of 28867dd7cddfSDavid du Colombierthe four experiments. <b>Sanity note:</b> the results here are from only 28877dd7cddfSDavid du Colombierfour images and a total of 24 printouts (eight on 720dpi paper, sixteen on 28887dd7cddfSDavid du Colombierplain paper). Your results will almost certainly vary, and your standards 28897dd7cddfSDavid du Colombiermight not be the same as mine, so use these results only as a guide, not as 28907dd7cddfSDavid du Colombiera formal evaluation. 28917dd7cddfSDavid du Colombier 28927dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 28937dd7cddfSDavid du Colombier<tr><th colspan=3 bgcolor="#CCCC00"><hr><font size="+1">Quality of output by method</font><hr> 28947dd7cddfSDavid du Colombier<tr valign=bottom> 28957dd7cddfSDavid du Colombier <th align=left> 28967dd7cddfSDavid du Colombier <td> 28977dd7cddfSDavid du Colombier <th align=left> 28987dd7cddfSDavid du Colombier<tr> <td colspan=3><hr> 28997dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>gsmono</tt></b> 29007dd7cddfSDavid du Colombier<td> 29017dd7cddfSDavid du Colombier<td>Pretty much what you'd expect from a mono ordered pattern. 29027dd7cddfSDavid du ColombierLooks like what a lot of mono laser printers produce. 29037dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>fsmono</tt></b> 29047dd7cddfSDavid du Colombier<td> 29057dd7cddfSDavid du Colombier<td>Excellent for monochrome. 29067dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>gscmyk</tt></b> 29077dd7cddfSDavid du Colombier<td> 29087dd7cddfSDavid du Colombier<td>Not very good, but expected from an ordered pattern. 29097dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>gsrgb</tt></b> 29107dd7cddfSDavid du Colombier<td> 29117dd7cddfSDavid du Colombier<td>A little better than <b><tt>gscmyk</tt></b>. More consistent 29127dd7cddfSDavid du Colombierlooking. 29137dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>fs2</tt></b> 29147dd7cddfSDavid du Colombier<td> 29157dd7cddfSDavid du Colombier<td>Good, but not quite as good as <b><tt>fsrgb</tt></b>. Gets the 29167dd7cddfSDavid du Colombierbrightness wrong: too light at 720dpi, too dark at 360dpi. 29177dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>fsrgb</tt></b> 29187dd7cddfSDavid du Colombier<td> 29197dd7cddfSDavid du Colombier<td>Very good, but a little too dark and has a slight blue tint. 29207dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>hscmyk</tt></b> 29217dd7cddfSDavid du Colombier<td> 29227dd7cddfSDavid du Colombier<td>Excellent. Slightly better than <b><tt>fsrgb</tt></b> and 29237dd7cddfSDavid du Colombier<b><tt>fs2</tt></b>. Better than <b><tt>fscmyk</tt></b> on 29247dd7cddfSDavid du Colombiersome images, almost the same on most. 29257dd7cddfSDavid du Colombier<tr> <td valign=top><b><tt>fscmyk</tt></b> 29267dd7cddfSDavid du Colombier<td> 29277dd7cddfSDavid du Colombier<td>Best. Very, very slightly better than <b><tt>hscmyk</tt></b>. 29287dd7cddfSDavid du ColombierOn some images nearly as good as the EPSON demos done with 29297dd7cddfSDavid du Colombierthe MS Windows driver. 29307dd7cddfSDavid du Colombier</table></blockquote> 29317dd7cddfSDavid du Colombier 29327dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 29337dd7cddfSDavid du Colombier<tr><th colspan=4 bgcolor="#CCCC00"><hr><font size="+1">Overall visual quality (1-10), best to worst</font><hr> 29347dd7cddfSDavid du Colombier<tr valign=top> <th colspan=4 align=left>Monochrome 29357dd7cddfSDavid du Colombier<tr> <td> 29367dd7cddfSDavid du Colombier <td><b><tt>fsmono</tt></b> 29377dd7cddfSDavid du Colombier <td> 29387dd7cddfSDavid du Colombier <td><b><tt>******************</tt></b> 29397dd7cddfSDavid du Colombier<tr> <td> 29407dd7cddfSDavid du Colombier <td><b><tt>gsmono</tt></b> 29417dd7cddfSDavid du Colombier <td> 29427dd7cddfSDavid du Colombier <td><b><tt>**********</tt></b> 29437dd7cddfSDavid du Colombier<tr> <td> 29447dd7cddfSDavid du Colombier <td> 29457dd7cddfSDavid du Colombier <td> 29467dd7cddfSDavid du Colombier <td><b><tt>0 1 2 3 4 5 6 7 8 9 10</tt></b> 29477dd7cddfSDavid du Colombier<tr> <td colspan=4><hr> 29487dd7cddfSDavid du Colombier<tr valign=top> <th colspan=4 align=left>Colour 29497dd7cddfSDavid du Colombier<tr> <td> 29507dd7cddfSDavid du Colombier <td><b><tt>fscmyk</tt></b> 29517dd7cddfSDavid du Colombier <td> 29527dd7cddfSDavid du Colombier <td><b><tt>*******************</tt></b> 29537dd7cddfSDavid du Colombier<tr> <td> 29547dd7cddfSDavid du Colombier <td><b><tt>hscmyk</tt></b> 29557dd7cddfSDavid du Colombier <td> 29567dd7cddfSDavid du Colombier <td><b><tt>*******************</tt></b> 29577dd7cddfSDavid du Colombier<tr> <td> 29587dd7cddfSDavid du Colombier <td><b><tt>fsrgb</tt></b> 29597dd7cddfSDavid du Colombier <td> 29607dd7cddfSDavid du Colombier <td><b><tt>******************</tt></b> 29617dd7cddfSDavid du Colombier<tr> <td> 29627dd7cddfSDavid du Colombier <td><b><tt>fs2</tt></b> 29637dd7cddfSDavid du Colombier <td> 29647dd7cddfSDavid du Colombier <td><b><tt>*****************</tt></b> 29657dd7cddfSDavid du Colombier<tr> <td> 29667dd7cddfSDavid du Colombier <td><b><tt>gsrgb</tt></b> 29677dd7cddfSDavid du Colombier <td> 29687dd7cddfSDavid du Colombier <td><b><tt>**********</tt></b> 29697dd7cddfSDavid du Colombier<tr> <td> 29707dd7cddfSDavid du Colombier <td><b><tt>gscmyk</tt></b> 29717dd7cddfSDavid du Colombier <td> 29727dd7cddfSDavid du Colombier <td><b><tt>*********</tt></b> 29737dd7cddfSDavid du Colombier<tr> <td> 29747dd7cddfSDavid du Colombier <td> 29757dd7cddfSDavid du Colombier <td> 29767dd7cddfSDavid du Colombier <td><b><tt>0 1 2 3 4 5 6 7 8 9 10</tt></b> 29777dd7cddfSDavid du Colombier</table></blockquote> 29787dd7cddfSDavid du Colombier 2979*3ff48bf5SDavid du Colombier<h3><a name="STC_color_transform"></a>Color transformation</h3> 29807dd7cddfSDavid du Colombier 29817dd7cddfSDavid du Colombier<p> 29827dd7cddfSDavid du ColombierIn the initial version of the driver distributed with Ghostscript 3.33, the 29837dd7cddfSDavid du Colombierparameter "<b><tt>SpotSize</tt></b>" was the only way to manipulate the 29847dd7cddfSDavid du Colombiercolors at the driver level. According to the parameters enumerated above, 29857dd7cddfSDavid du Colombierthis has changed significantly with version 1.16 and above as a result an 29867dd7cddfSDavid du Colombierongoing discussion about dithering algorithms and "false color" on the 29877dd7cddfSDavid du ColombierEpson Stylus Color. This initiated the transformation of the 29887dd7cddfSDavid du Colombier<b><tt>stcolor</tt></b> driver into a framework for different dithering 29897dd7cddfSDavid du Colombieralgorithms, providing a generalized interface to the internal Ghostscript 29907dd7cddfSDavid du Colombiercolor models and the other data structures related to Ghostscript drivers. 29917dd7cddfSDavid du Colombier 29927dd7cddfSDavid du Colombier<p> 29937dd7cddfSDavid du ColombierThe main thing such a framework should be able to do is to deliver the 29947dd7cddfSDavid du Colombiervalues the dithering algorithm needs; and since this directly influences 29957dd7cddfSDavid du Colombierthe optical image impression, this transformation should be adjustable 29967dd7cddfSDavid du Colombierwithout the need for recompilation and relinking. In general the process 29977dd7cddfSDavid du Colombiercan be described as follows: 29987dd7cddfSDavid du Colombier 29997dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 30007dd7cddfSDavid du Colombier<tr valign=top> <td colspan=3><b><tt>ColorAdjustMatrix</tt></b> 30017dd7cddfSDavid du Colombier <td align=center>Coding 30027dd7cddfSDavid du Colombier <td colspan=3> 30037dd7cddfSDavid du Colombier <td align=center>Transfer 30047dd7cddfSDavid du Colombier <td colspan=3> 30057dd7cddfSDavid du Colombier<tr valign=top> <td>| 30067dd7cddfSDavid du Colombier <td align=center>Ghostscript color 30077dd7cddfSDavid du Colombier <td>| 30087dd7cddfSDavid du Colombier <td align=center>=> 30097dd7cddfSDavid du Colombier <td>| 30107dd7cddfSDavid du Colombier <td align=center>Ghostscript raster 30117dd7cddfSDavid du Colombier <td>| 30127dd7cddfSDavid du Colombier <td align=center>=> 30137dd7cddfSDavid du Colombier <td>| 30147dd7cddfSDavid du Colombier <td align=center>Dithering data 30157dd7cddfSDavid du Colombier <td>| 30167dd7cddfSDavid du Colombier<tr valign=top> <td>| 30177dd7cddfSDavid du Colombier <td> 30187dd7cddfSDavid du Colombier <td>| 30197dd7cddfSDavid du Colombier <td> 30207dd7cddfSDavid du Colombier <td>| 30217dd7cddfSDavid du Colombier <td align=center>1/2/4/8/16/32-bit 30227dd7cddfSDavid du Colombier <td>| 30237dd7cddfSDavid du Colombier <td> 30247dd7cddfSDavid du Colombier <td>| 30257dd7cddfSDavid du Colombier <td> 30267dd7cddfSDavid du Colombier <td>| 30277dd7cddfSDavid du Colombier<tr valign=top> <td>| 30287dd7cddfSDavid du Colombier <td align=center>1/3/4 16-bit values 30297dd7cddfSDavid du Colombier <td>| 30307dd7cddfSDavid du Colombier <td> 30317dd7cddfSDavid du Colombier <td>| 30327dd7cddfSDavid du Colombier <td align=center>1/3/4 values 30337dd7cddfSDavid du Colombier <td>| 30347dd7cddfSDavid du Colombier <td> 30357dd7cddfSDavid du Colombier <td>| 30367dd7cddfSDavid du Colombier <td align=center>(arbitrary type) 30377dd7cddfSDavid du Colombier <td>| 30387dd7cddfSDavid du Colombier</table></blockquote> 30397dd7cddfSDavid du Colombier 30407dd7cddfSDavid du Colombier<p> 30417dd7cddfSDavid du ColombierDue to the limitations on raster storage, information is lost in the first 30427dd7cddfSDavid du Colombiertransformation step, except for the 16-bit monochrome mode. So any color 30437dd7cddfSDavid du Colombieradjustment should take place before this step and this is where the optional 30447dd7cddfSDavid du Colombier<b><tt>ColorAdjustMatrix</tt></b> works. 30457dd7cddfSDavid du Colombier 30467dd7cddfSDavid du Colombier<p> 30477dd7cddfSDavid du ColombierThe first transformation step, called "coding", is controlled by the 30487dd7cddfSDavid du Colombier<b><tt>?coding</tt></b> arrays. The decoding process expands the range of 30497dd7cddfSDavid du Colombiervalues expontentially to a larger range than that provided by the initial 30507dd7cddfSDavid du ColombierGhostscript color model, and is therefore a reasonable place to make 30517dd7cddfSDavid du Colombierdevice- or algorithm-specific adjustments. This is where the 30527dd7cddfSDavid du Colombier<b><tt>?transfer</tt></b> arrays are used. Array access might be not the 30537dd7cddfSDavid du Colombierfastest method, but its generality is superior, so this step is always 30547dd7cddfSDavid du Colombierbased upon internally algorithm-specific array access. If 8 bits are stored 30557dd7cddfSDavid du Colombierper color component and if the algorithm uses bytes too, the second 30567dd7cddfSDavid du Colombiertransformation is included within the first, which saves significant 30577dd7cddfSDavid du Colombiercomputation time when printing the data. 30587dd7cddfSDavid du Colombier 3059*3ff48bf5SDavid du Colombier<h3><a name="STC_CAM"></a><b><tt>ColorAdjustMatrix</tt></b></h3> 30607dd7cddfSDavid du Colombier 30617dd7cddfSDavid du Colombier<p> 30627dd7cddfSDavid du ColombierThe driver supports different values for <b><tt>ProcessColorModel</tt></b>, 30637dd7cddfSDavid du Colombierwhich raises the need for different color adjustments. Here 30647dd7cddfSDavid du Colombier"<b><tt>CAM</tt></b>" stands for "<b><tt>ColorAdjustMatrix</tt></b>". 30657dd7cddfSDavid du Colombier 30667dd7cddfSDavid du Colombier<dl> 30677dd7cddfSDavid du Colombier<dt><b><tt>DeviceGray</tt></b> (three floats) 30687dd7cddfSDavid du Colombier<dd><pre>if ((r == g) && (g == b)) 30697dd7cddfSDavid du Colombier K' = 1.0 - R; 30707dd7cddfSDavid du Colombierelse 30717dd7cddfSDavid du Colombier K' = 1.0 - CAM[0] * R + CAM[1] * G + CAM[2] * B;</pre> 30727dd7cddfSDavid du Colombier 30737dd7cddfSDavid du Colombier<p> 30747dd7cddfSDavid du ColombierAccording to the <a href="Drivers.htm">documentation on drivers</a>, the 30757dd7cddfSDavid du Colombierlatter (the "else" clause) should never happen. 30767dd7cddfSDavid du Colombier</dl> 30777dd7cddfSDavid du Colombier 30787dd7cddfSDavid du Colombier<dl> 30797dd7cddfSDavid du Colombier<dt><b><tt>DeviceRGB</tt></b> (nine floats) 30807dd7cddfSDavid du Colombier<dd><pre>if((r == g) && (g == b)) 30817dd7cddfSDavid du Colombier R' = B' = G' = R; 30827dd7cddfSDavid du Colombierelse 30837dd7cddfSDavid du Colombier R' = CAM[0]*R + CAM[1]*G + CAM[2]*B; 30847dd7cddfSDavid du Colombier G' = CAM[3]*R + CAM[4]*G + CAM[5]*B; 30857dd7cddfSDavid du Colombier B' = CAM[6]*R + CAM[7]*G + CAM[8]*B;</pre> 30867dd7cddfSDavid du Colombier 30877dd7cddfSDavid du Colombier<p> 30887dd7cddfSDavid du ColombierThe printer always uses four inks, so a special treatment of black is 30897dd7cddfSDavid du Colombierprovided. Algorithms may take special action if R, G, and B are all 30907dd7cddfSDavid du Colombierequal. 30917dd7cddfSDavid du Colombier</dl> 30927dd7cddfSDavid du Colombier 30937dd7cddfSDavid du Colombier<dl> 30947dd7cddfSDavid du Colombier<dt><b><tt>DeviceCMYK</tt></b> (sixteen floats) 30957dd7cddfSDavid du Colombier<dd> 30967dd7cddfSDavid du Colombier<pre>if((c == m) && (m == y)) 30977dd7cddfSDavid du Colombier K' = max(C,K); 30987dd7cddfSDavid du Colombier C' = M' = Y' = 0; 30997dd7cddfSDavid du Colombierelse 31007dd7cddfSDavid du Colombier K = min(C,M,Y); 31017dd7cddfSDavid du Colombier if((K > 0) && ColorAdjustMatrix_present) { => UCR 31027dd7cddfSDavid du Colombier C -= K; 31037dd7cddfSDavid du Colombier M -= K; 31047dd7cddfSDavid du Colombier Y -= K; 31057dd7cddfSDavid du Colombier } 31067dd7cddfSDavid du Colombier 31077dd7cddfSDavid du Colombier C' = CAM[ 0]*C + CAM[ 1]*M + CAM[ 2]*Y + CAM[ 3]*K; 31087dd7cddfSDavid du Colombier M' = CAM[ 4]*C + CAM[ 5]*M + CAM[ 6]*Y + CAM[ 7]*K; 31097dd7cddfSDavid du Colombier Y' = CAM[ 8]*C + CAM[ 9]*M + CAM[10]*Y + CAM[11]*K; 31107dd7cddfSDavid du Colombier K' = CAM[12]*C + CAM[13]*M + CAM[14]*Y + CAM[15]*K;</pre> 31117dd7cddfSDavid du Colombier 31127dd7cddfSDavid du Colombier<p> 31137dd7cddfSDavid du ColombierAgain we have a special black treatment. "<b><tt>max(C,K)</tt></b>" was introduced 31147dd7cddfSDavid du Colombierbecause of a slight misbehaviour of Ghostscript, which delivers 31157dd7cddfSDavid du Colombierblack under certain circumstances as (1,1,1,0). Normally, when 31167dd7cddfSDavid du Colombierno special black separation and undercolor removal procedures 31177dd7cddfSDavid du Colombierare defined at the PostScript level, either (C,M,Y,0) or (0,0,0,K) 31187dd7cddfSDavid du Colombiervalues are mapped. This would make the extended <b><tt>ColorAdjustMatrix</tt></b> 31197dd7cddfSDavid du Colombierquite tedious, and so during mapping, black separation is done for 31207dd7cddfSDavid du Colombier(C,M,Y,0) requests; and if there is a <b><tt>ColorAdjustMatrix</tt></b>, undercolor 31217dd7cddfSDavid du Colombierremoval is used too. In other words the default matrix is: 31227dd7cddfSDavid du Colombier 31237dd7cddfSDavid du Colombier<blockquote><table> 31247dd7cddfSDavid du Colombier<tr> <td>1 <td>0 <td>0 <td>1 31257dd7cddfSDavid du Colombier<tr> <td>0 <td>1 <td>0 <td>1 31267dd7cddfSDavid du Colombier<tr> <td>0 <td>0 <td>1 <td>1 31277dd7cddfSDavid du Colombier<tr> <td>0 <td>0 <td>0 <td>1 31287dd7cddfSDavid du Colombier</table></blockquote> 31297dd7cddfSDavid du Colombier 31307dd7cddfSDavid du Colombier<p> 31317dd7cddfSDavid du Colombierand it is applied to CMYK values with separated and removed black. Raising 31327dd7cddfSDavid du Colombierthe CMY coefficients while lowering the K coefficients reduces black and 31337dd7cddfSDavid du Colombierintensifies color. But be careful, because even small deviations from the 31347dd7cddfSDavid du Colombierdefault cause drastic changes. 31357dd7cddfSDavid du Colombier</dl> 31367dd7cddfSDavid du Colombier 31377dd7cddfSDavid du Colombier<p> 31387dd7cddfSDavid du ColombierIf no <b><tt>ColorAdjustMatrix</tt></b> is set, the matrix computations are 31397dd7cddfSDavid du Colombierskipped. Thus the transformation reduces to range inversion in monochrome 31407dd7cddfSDavid du Colombiermode and black separation in CMYK mode. 31417dd7cddfSDavid du Colombier 3142*3ff48bf5SDavid du Colombier<h3><a name="STC_RGBCMYK_coding"></a>RGB / CMYK coding and transfer, and <b><tt>BitsPerPixel</tt></b></h3> 31437dd7cddfSDavid du Colombier 31447dd7cddfSDavid du Colombier<p> 31457dd7cddfSDavid du ColombierThese two (groups of) parameters are arrays of floating-point numbers in 31467dd7cddfSDavid du Colombierthe range 0.0 to 1.0. They control the truncation to the desired number of 31477dd7cddfSDavid du Colombierbits stored in raster memory (<b><tt>BitsPerPixel</tt></b>) and the ink 31487dd7cddfSDavid du Colombierdensity. The "truncation" may become a nonlinear function if any of the 31497dd7cddfSDavid du Colombier<b><tt>?coding</tt></b> arrays is set. Assume the following Ghostscript 31507dd7cddfSDavid du Colombierinvocation: 31517dd7cddfSDavid du Colombier 31527dd7cddfSDavid du Colombier<blockquote><pre>gs -sDEVICE=stcolor -sDithering=fscmyk -dBitsPerPixel=16 \ 31537dd7cddfSDavid du Colombier -dKcoding='{ 0.0 0.09 0.9 1.0 }' \ 31547dd7cddfSDavid du Colombier -dMcoding='{ 0.0 0.09 0.9 1.0 }' \ 31557dd7cddfSDavid du Colombier -dKtransfer='{ 0.0 0.09 0.9 1.0 }' \ 31567dd7cddfSDavid du Colombier -dYtransfer='{ 0.0 0.09 0.9 1.0 }'</pre> 31577dd7cddfSDavid du Colombier</blockquote> 31587dd7cddfSDavid du Colombier 31597dd7cddfSDavid du Colombier<p> 31607dd7cddfSDavid du ColombierWe may have either or both of <b><tt>?coding</tt></b> and 31617dd7cddfSDavid du Colombier<b><tt>?transfer</tt></b>, giving four possible combinations. (These four 31627dd7cddfSDavid du Colombiercombinations appear in the given example.) The resulting mapping appears 31637dd7cddfSDavid du Colombierin the following tables, where except for the internal Indices (4 31647dd7cddfSDavid du Colombiercomponents × 4 bits = 16 <b><tt>BitsPerPixel</tt></b>), all values 31657dd7cddfSDavid du Colombierare normalized to the range 0 to 1. The actual range is 0 to 65535 for the 31667dd7cddfSDavid du ColombierGhostscript color and 0 to 16777215 for the ink values delivered to the 31677dd7cddfSDavid du Colombier<b><tt>fscmyk</tt></b> algorithm. Sorry for the bunch of numbers 31687dd7cddfSDavid du Colombierfollowing, but you may try this example in conjunction with 31697dd7cddfSDavid du Colombier<b><tt>stcinfo.ps</tt></b>, which should give you a graphical printout of 31707dd7cddfSDavid du Colombierthe following numbers when you issue a <b><tt>showpage</tt></b> command. 31717dd7cddfSDavid du Colombier 31727dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 31737dd7cddfSDavid du Colombier<tr> <td> 31747dd7cddfSDavid du Colombier <td> 31757dd7cddfSDavid du Colombier <th colspan=5>Cyan<hr> 31767dd7cddfSDavid du Colombier <td> 31777dd7cddfSDavid du Colombier <th colspan=5>Magenta<hr> 31787dd7cddfSDavid du Colombier<tr valign=top> <th>CI/15 31797dd7cddfSDavid du Colombier <td> 31807dd7cddfSDavid du Colombier <th>gs_color_values 31817dd7cddfSDavid du Colombier <td> 31827dd7cddfSDavid du Colombier <th>CI 31837dd7cddfSDavid du Colombier <td> 31847dd7cddfSDavid du Colombier <th>Ink 31857dd7cddfSDavid du Colombier <td> 31867dd7cddfSDavid du Colombier <th>gs_color_values 31877dd7cddfSDavid du Colombier <td> 31887dd7cddfSDavid du Colombier <th>CI 31897dd7cddfSDavid du Colombier <td> 31907dd7cddfSDavid du Colombier <th>Ink 31917dd7cddfSDavid du Colombier<tr> <td colspan=13><hr> 31927dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.000 31937dd7cddfSDavid du Colombier <td> 31947dd7cddfSDavid du Colombier <td align=center>0.000 - 0.062 31957dd7cddfSDavid du Colombier <td> 31967dd7cddfSDavid du Colombier <td align=right>0 31977dd7cddfSDavid du Colombier <td> 31987dd7cddfSDavid du Colombier <td align=center>0.000 31997dd7cddfSDavid du Colombier <td> 32007dd7cddfSDavid du Colombier <td align=center>-0.123 - 0.123 32017dd7cddfSDavid du Colombier <td> 32027dd7cddfSDavid du Colombier <td align=right>0 32037dd7cddfSDavid du Colombier <td> 32047dd7cddfSDavid du Colombier <td align=center>0.000 32057dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.067 32067dd7cddfSDavid du Colombier <td> 32077dd7cddfSDavid du Colombier <td align=center>0.063 - 0.125 32087dd7cddfSDavid du Colombier <td> 32097dd7cddfSDavid du Colombier <td align=right>1 32107dd7cddfSDavid du Colombier <td> 32117dd7cddfSDavid du Colombier <td align=center>0.067 32127dd7cddfSDavid du Colombier <td> 32137dd7cddfSDavid du Colombier <td align=center>0.123 - 0.299 32147dd7cddfSDavid du Colombier <td> 32157dd7cddfSDavid du Colombier <td align=right>1 32167dd7cddfSDavid du Colombier <td> 32177dd7cddfSDavid du Colombier <td align=center>0.247 32187dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.133 32197dd7cddfSDavid du Colombier <td> 32207dd7cddfSDavid du Colombier <td align=center>0.125 - 0.187 32217dd7cddfSDavid du Colombier <td> 32227dd7cddfSDavid du Colombier <td align=right>2 32237dd7cddfSDavid du Colombier <td> 32247dd7cddfSDavid du Colombier <td align=center>0.133 32257dd7cddfSDavid du Colombier <td> 32267dd7cddfSDavid du Colombier <td align=center>0.299 - 0.365 32277dd7cddfSDavid du Colombier <td> 32287dd7cddfSDavid du Colombier <td align=right>2 32297dd7cddfSDavid du Colombier <td> 32307dd7cddfSDavid du Colombier <td align=center>0.351 32317dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.200 32327dd7cddfSDavid du Colombier <td> 32337dd7cddfSDavid du Colombier <td align=center>0.188 - 0.250 32347dd7cddfSDavid du Colombier <td> 32357dd7cddfSDavid du Colombier <td align=right>3 32367dd7cddfSDavid du Colombier <td> 32377dd7cddfSDavid du Colombier <td align=center>0.200 32387dd7cddfSDavid du Colombier <td> 32397dd7cddfSDavid du Colombier <td align=center>0.365 - 0.392 32407dd7cddfSDavid du Colombier <td> 32417dd7cddfSDavid du Colombier <td align=right>3 32427dd7cddfSDavid du Colombier <td> 32437dd7cddfSDavid du Colombier <td align=center>0.379 32447dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.267 32457dd7cddfSDavid du Colombier <td> 32467dd7cddfSDavid du Colombier <td align=center>0.250 - 0.312 32477dd7cddfSDavid du Colombier <td> 32487dd7cddfSDavid du Colombier <td align=right>4 32497dd7cddfSDavid du Colombier <td> 32507dd7cddfSDavid du Colombier <td align=center>0.267 32517dd7cddfSDavid du Colombier <td> 32527dd7cddfSDavid du Colombier <td align=center>0.392 - 0.420 32537dd7cddfSDavid du Colombier <td> 32547dd7cddfSDavid du Colombier <td align=right>4 32557dd7cddfSDavid du Colombier <td> 32567dd7cddfSDavid du Colombier <td align=center>0.406 32577dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.333 32587dd7cddfSDavid du Colombier <td> 32597dd7cddfSDavid du Colombier <td align=center>0.313 - 0.375 32607dd7cddfSDavid du Colombier <td> 32617dd7cddfSDavid du Colombier <td align=right>5 32627dd7cddfSDavid du Colombier <td> 32637dd7cddfSDavid du Colombier <td align=center>0.333 32647dd7cddfSDavid du Colombier <td> 32657dd7cddfSDavid du Colombier <td align=center>0.420 - 0.447 32667dd7cddfSDavid du Colombier <td> 32677dd7cddfSDavid du Colombier <td align=right>5 32687dd7cddfSDavid du Colombier <td> 32697dd7cddfSDavid du Colombier <td align=center>0.433 32707dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.400 32717dd7cddfSDavid du Colombier <td> 32727dd7cddfSDavid du Colombier <td align=center>0.375 - 0.437 32737dd7cddfSDavid du Colombier <td> 32747dd7cddfSDavid du Colombier <td align=right>6 32757dd7cddfSDavid du Colombier <td> 32767dd7cddfSDavid du Colombier <td align=center>0.400 32777dd7cddfSDavid du Colombier <td> 32787dd7cddfSDavid du Colombier <td align=center>0.447 - 0.475 32797dd7cddfSDavid du Colombier <td> 32807dd7cddfSDavid du Colombier <td align=right>6 32817dd7cddfSDavid du Colombier <td> 32827dd7cddfSDavid du Colombier <td align=center>0.461 32837dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.467 32847dd7cddfSDavid du Colombier <td> 32857dd7cddfSDavid du Colombier <td align=center>0.438 - 0.500 32867dd7cddfSDavid du Colombier <td> 32877dd7cddfSDavid du Colombier <td align=right>7 32887dd7cddfSDavid du Colombier <td> 32897dd7cddfSDavid du Colombier <td align=center>0.467 32907dd7cddfSDavid du Colombier <td> 32917dd7cddfSDavid du Colombier <td align=center>0.475 - 0.502 32927dd7cddfSDavid du Colombier <td> 32937dd7cddfSDavid du Colombier <td align=right>7 32947dd7cddfSDavid du Colombier <td> 32957dd7cddfSDavid du Colombier <td align=center>0.488 32967dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.533 32977dd7cddfSDavid du Colombier <td> 32987dd7cddfSDavid du Colombier <td align=center>0.500 - 0.562 32997dd7cddfSDavid du Colombier <td> 33007dd7cddfSDavid du Colombier <td align=right>8 33017dd7cddfSDavid du Colombier <td> 33027dd7cddfSDavid du Colombier <td align=center>0.533 33037dd7cddfSDavid du Colombier <td> 33047dd7cddfSDavid du Colombier <td align=center>0.502 - 0.529 33057dd7cddfSDavid du Colombier <td> 33067dd7cddfSDavid du Colombier <td align=right>8 33077dd7cddfSDavid du Colombier <td> 33087dd7cddfSDavid du Colombier <td align=center>0.516 33097dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.600 33107dd7cddfSDavid du Colombier <td> 33117dd7cddfSDavid du Colombier <td align=center>0.563 - 0.625 33127dd7cddfSDavid du Colombier <td> 33137dd7cddfSDavid du Colombier <td align=right>9 33147dd7cddfSDavid du Colombier <td> 33157dd7cddfSDavid du Colombier <td align=center>0.600 33167dd7cddfSDavid du Colombier <td> 33177dd7cddfSDavid du Colombier <td align=center>0.529 - 0.557 33187dd7cddfSDavid du Colombier <td> 33197dd7cddfSDavid du Colombier <td align=right>9 33207dd7cddfSDavid du Colombier <td> 33217dd7cddfSDavid du Colombier <td align=center>0.543 33227dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.667 33237dd7cddfSDavid du Colombier <td> 33247dd7cddfSDavid du Colombier <td align=center>0.625 - 0.687 33257dd7cddfSDavid du Colombier <td> 33267dd7cddfSDavid du Colombier <td align=right>10 33277dd7cddfSDavid du Colombier <td> 33287dd7cddfSDavid du Colombier <td align=center>0.667 33297dd7cddfSDavid du Colombier <td> 33307dd7cddfSDavid du Colombier <td align=center>0.557 - 0.584 33317dd7cddfSDavid du Colombier <td> 33327dd7cddfSDavid du Colombier <td align=right>10 33337dd7cddfSDavid du Colombier <td> 33347dd7cddfSDavid du Colombier <td align=center>0.571 33357dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.733 33367dd7cddfSDavid du Colombier <td> 33377dd7cddfSDavid du Colombier <td align=center>0.688 - 0.750 33387dd7cddfSDavid du Colombier <td> 33397dd7cddfSDavid du Colombier <td align=right>11 33407dd7cddfSDavid du Colombier <td> 33417dd7cddfSDavid du Colombier <td align=center>0.733 33427dd7cddfSDavid du Colombier <td> 33437dd7cddfSDavid du Colombier <td align=center>0.584 - 0.612 33447dd7cddfSDavid du Colombier <td> 33457dd7cddfSDavid du Colombier <td align=right>11 33467dd7cddfSDavid du Colombier <td> 33477dd7cddfSDavid du Colombier <td align=center>0.598 33487dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.800 33497dd7cddfSDavid du Colombier <td> 33507dd7cddfSDavid du Colombier <td align=center>0.750 - 0.812 33517dd7cddfSDavid du Colombier <td> 33527dd7cddfSDavid du Colombier <td align=right>12 33537dd7cddfSDavid du Colombier <td> 33547dd7cddfSDavid du Colombier <td align=center>0.800 33557dd7cddfSDavid du Colombier <td> 33567dd7cddfSDavid du Colombier <td align=center>0.612 - 0.639 33577dd7cddfSDavid du Colombier <td> 33587dd7cddfSDavid du Colombier <td align=right>12 33597dd7cddfSDavid du Colombier <td> 33607dd7cddfSDavid du Colombier <td align=center>0.626 33617dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.867 33627dd7cddfSDavid du Colombier <td> 33637dd7cddfSDavid du Colombier <td align=center>0.813 - 0.875 33647dd7cddfSDavid du Colombier <td> 33657dd7cddfSDavid du Colombier <td align=right>13 33667dd7cddfSDavid du Colombier <td> 33677dd7cddfSDavid du Colombier <td align=center>0.867 33687dd7cddfSDavid du Colombier <td> 33697dd7cddfSDavid du Colombier <td align=center>0.639 - 0.715 33707dd7cddfSDavid du Colombier <td> 33717dd7cddfSDavid du Colombier <td align=right>13 33727dd7cddfSDavid du Colombier <td> 33737dd7cddfSDavid du Colombier <td align=center>0.653 33747dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.933 33757dd7cddfSDavid du Colombier <td> 33767dd7cddfSDavid du Colombier <td align=center>0.875 - 0.937 33777dd7cddfSDavid du Colombier <td> 33787dd7cddfSDavid du Colombier <td align=right>14 33797dd7cddfSDavid du Colombier <td> 33807dd7cddfSDavid du Colombier <td align=center>0.933 33817dd7cddfSDavid du Colombier <td> 33827dd7cddfSDavid du Colombier <td align=center>0.715 - 0.889 33837dd7cddfSDavid du Colombier <td> 33847dd7cddfSDavid du Colombier <td align=right>14 33857dd7cddfSDavid du Colombier <td> 33867dd7cddfSDavid du Colombier <td align=center>0.778 33877dd7cddfSDavid du Colombier<tr valign=top> <td align=center>1.000 33887dd7cddfSDavid du Colombier <td> 33897dd7cddfSDavid du Colombier <td align=center>0.938 - 1.000 33907dd7cddfSDavid du Colombier <td> 33917dd7cddfSDavid du Colombier <td align=right>15 33927dd7cddfSDavid du Colombier <td> 33937dd7cddfSDavid du Colombier <td align=center>1.000 33947dd7cddfSDavid du Colombier <td> 33957dd7cddfSDavid du Colombier <td align=center>0.889 - 1.111 33967dd7cddfSDavid du Colombier <td> 33977dd7cddfSDavid du Colombier <td align=right>15 33987dd7cddfSDavid du Colombier <td> 33997dd7cddfSDavid du Colombier <td align=center>1.000 34007dd7cddfSDavid du Colombier</table></blockquote> 34017dd7cddfSDavid du Colombier 34027dd7cddfSDavid du Colombier<p> 34037dd7cddfSDavid du ColombierThe difference between cyan and magenta is the presence of a coding array. 34047dd7cddfSDavid du ColombierThe coding process must map a range of color values to each of the sixteen 34057dd7cddfSDavid du Colombiercomponent indices. If no coding array is given, this is accomplished 34067dd7cddfSDavid du Colombierby dividing by 4096, equivalent to a right shift by 12 bits. The 34077dd7cddfSDavid du Colombierfinal ink density resides in the given interval and moves from the left to 34087dd7cddfSDavid du Colombierthe right side from 0 to 15. For magenta there is a coding array 34097dd7cddfSDavid du Colombierand the ink value matches the center of the intervals. But the distribution 34107dd7cddfSDavid du Colombierof the mapped intervals follows the given coding array and is nonlinear in 34117dd7cddfSDavid du Colombierthe linear color space of Ghostscript. 34127dd7cddfSDavid du Colombier 34137dd7cddfSDavid du Colombier<p> 34147dd7cddfSDavid du ColombierNow let us take a look at the case with transfer arrays: 34157dd7cddfSDavid du Colombier 34167dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 34177dd7cddfSDavid du Colombier<tr> <td> 34187dd7cddfSDavid du Colombier <td> 34197dd7cddfSDavid du Colombier <th colspan=5>Yellow<hr> 34207dd7cddfSDavid du Colombier <td> 34217dd7cddfSDavid du Colombier <th colspan=5>Black<hr> 34227dd7cddfSDavid du Colombier<tr valign=top> <th>CI/15 34237dd7cddfSDavid du Colombier <td> 34247dd7cddfSDavid du Colombier <th>gs_color_values 34257dd7cddfSDavid du Colombier <td> 34267dd7cddfSDavid du Colombier <th>CI 34277dd7cddfSDavid du Colombier <td> 34287dd7cddfSDavid du Colombier <th>Ink 34297dd7cddfSDavid du Colombier <td> 34307dd7cddfSDavid du Colombier <th>gs_color_values 34317dd7cddfSDavid du Colombier <td> 34327dd7cddfSDavid du Colombier <th>CI 34337dd7cddfSDavid du Colombier <td> 34347dd7cddfSDavid du Colombier <th>Ink 34357dd7cddfSDavid du Colombier<tr> <td colspan=13><hr> 34367dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.000 34377dd7cddfSDavid du Colombier <td> 34387dd7cddfSDavid du Colombier <td align=center>0.000 - 0.062 34397dd7cddfSDavid du Colombier <td> 34407dd7cddfSDavid du Colombier <td align=right>0 34417dd7cddfSDavid du Colombier <td> 34427dd7cddfSDavid du Colombier <td align=center>0.000 34437dd7cddfSDavid du Colombier <td> 34447dd7cddfSDavid du Colombier <td align=center>-0.123 - 0.123 34457dd7cddfSDavid du Colombier <td> 34467dd7cddfSDavid du Colombier <td align=right>0 34477dd7cddfSDavid du Colombier <td> 34487dd7cddfSDavid du Colombier <td align=center>0.000 34497dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.067 34507dd7cddfSDavid du Colombier <td> 34517dd7cddfSDavid du Colombier <td align=center>0.063 - 0.125 34527dd7cddfSDavid du Colombier <td> 34537dd7cddfSDavid du Colombier <td align=right>1 34547dd7cddfSDavid du Colombier <td> 34557dd7cddfSDavid du Colombier <td align=center>0.018 34567dd7cddfSDavid du Colombier <td> 34577dd7cddfSDavid du Colombier <td align=center>0.123 - 0.299 34587dd7cddfSDavid du Colombier <td> 34597dd7cddfSDavid du Colombier <td align=right>1 34607dd7cddfSDavid du Colombier <td> 34617dd7cddfSDavid du Colombier <td align=center>0.067 34627dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.133 34637dd7cddfSDavid du Colombier <td> 34647dd7cddfSDavid du Colombier <td align=center>0.125 - 0.187 34657dd7cddfSDavid du Colombier <td> 34667dd7cddfSDavid du Colombier <td align=right>2 34677dd7cddfSDavid du Colombier <td> 34687dd7cddfSDavid du Colombier <td align=center>0.036 34697dd7cddfSDavid du Colombier <td> 34707dd7cddfSDavid du Colombier <td align=center>0.299 - 0.365 34717dd7cddfSDavid du Colombier <td> 34727dd7cddfSDavid du Colombier <td align=right>2 34737dd7cddfSDavid du Colombier <td> 34747dd7cddfSDavid du Colombier <td align=center>0.133 34757dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.200 34767dd7cddfSDavid du Colombier <td> 34777dd7cddfSDavid du Colombier <td align=center>0.188 - 0.250 34787dd7cddfSDavid du Colombier <td> 34797dd7cddfSDavid du Colombier <td align=right>3 34807dd7cddfSDavid du Colombier <td> 34817dd7cddfSDavid du Colombier <td align=center>0.054 34827dd7cddfSDavid du Colombier <td> 34837dd7cddfSDavid du Colombier <td align=center>0.365 - 0.392 34847dd7cddfSDavid du Colombier <td> 34857dd7cddfSDavid du Colombier <td align=right>3 34867dd7cddfSDavid du Colombier <td> 34877dd7cddfSDavid du Colombier <td align=center>0.200 34887dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.267 34897dd7cddfSDavid du Colombier <td> 34907dd7cddfSDavid du Colombier <td align=center>0.250 - 0.312 34917dd7cddfSDavid du Colombier <td> 34927dd7cddfSDavid du Colombier <td align=right>4 34937dd7cddfSDavid du Colombier <td> 34947dd7cddfSDavid du Colombier <td align=center>0.072 34957dd7cddfSDavid du Colombier <td> 34967dd7cddfSDavid du Colombier <td align=center>0.392 - 0.420 34977dd7cddfSDavid du Colombier <td> 34987dd7cddfSDavid du Colombier <td align=right>4 34997dd7cddfSDavid du Colombier <td> 35007dd7cddfSDavid du Colombier <td align=center>0.267 35017dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.333 35027dd7cddfSDavid du Colombier <td> 35037dd7cddfSDavid du Colombier <td align=center>0.313 - 0.375 35047dd7cddfSDavid du Colombier <td> 35057dd7cddfSDavid du Colombier <td align=right>5 35067dd7cddfSDavid du Colombier <td> 35077dd7cddfSDavid du Colombier <td align=center>0.090 35087dd7cddfSDavid du Colombier <td> 35097dd7cddfSDavid du Colombier <td align=center>0.420 - 0.447 35107dd7cddfSDavid du Colombier <td> 35117dd7cddfSDavid du Colombier <td align=right>5 35127dd7cddfSDavid du Colombier <td> 35137dd7cddfSDavid du Colombier <td align=center>0.333 35147dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.400 35157dd7cddfSDavid du Colombier <td> 35167dd7cddfSDavid du Colombier <td align=center>0.375 - 0.437 35177dd7cddfSDavid du Colombier <td> 35187dd7cddfSDavid du Colombier <td align=right>6 35197dd7cddfSDavid du Colombier <td> 35207dd7cddfSDavid du Colombier <td align=center>0.252 35217dd7cddfSDavid du Colombier <td> 35227dd7cddfSDavid du Colombier <td align=center>0.447 - 0.475 35237dd7cddfSDavid du Colombier <td> 35247dd7cddfSDavid du Colombier <td align=right>6 35257dd7cddfSDavid du Colombier <td> 35267dd7cddfSDavid du Colombier <td align=center>0.400 35277dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.467 35287dd7cddfSDavid du Colombier <td> 35297dd7cddfSDavid du Colombier <td align=center>0.438 - 0.500 35307dd7cddfSDavid du Colombier <td> 35317dd7cddfSDavid du Colombier <td align=right>7 35327dd7cddfSDavid du Colombier <td> 35337dd7cddfSDavid du Colombier <td align=center>0.414 35347dd7cddfSDavid du Colombier <td> 35357dd7cddfSDavid du Colombier <td align=center>0.475 - 0.502 35367dd7cddfSDavid du Colombier <td> 35377dd7cddfSDavid du Colombier <td align=right>7 35387dd7cddfSDavid du Colombier <td> 35397dd7cddfSDavid du Colombier <td align=center>0.467 35407dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.533 35417dd7cddfSDavid du Colombier <td> 35427dd7cddfSDavid du Colombier <td align=center>0.500 - 0.562 35437dd7cddfSDavid du Colombier <td> 35447dd7cddfSDavid du Colombier <td align=right>8 35457dd7cddfSDavid du Colombier <td> 35467dd7cddfSDavid du Colombier <td align=center>0.576 35477dd7cddfSDavid du Colombier <td> 35487dd7cddfSDavid du Colombier <td align=center>0.502 - 0.529 35497dd7cddfSDavid du Colombier <td> 35507dd7cddfSDavid du Colombier <td align=right>8 35517dd7cddfSDavid du Colombier <td> 35527dd7cddfSDavid du Colombier <td align=center>0.533 35537dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.600 35547dd7cddfSDavid du Colombier <td> 35557dd7cddfSDavid du Colombier <td align=center>0.563 - 0.625 35567dd7cddfSDavid du Colombier <td> 35577dd7cddfSDavid du Colombier <td align=right>9 35587dd7cddfSDavid du Colombier <td> 35597dd7cddfSDavid du Colombier <td align=center>0.738 35607dd7cddfSDavid du Colombier <td> 35617dd7cddfSDavid du Colombier <td align=center>0.529 - 0.557 35627dd7cddfSDavid du Colombier <td> 35637dd7cddfSDavid du Colombier <td align=right>9 35647dd7cddfSDavid du Colombier <td> 35657dd7cddfSDavid du Colombier <td align=center>0.600 35667dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.667 35677dd7cddfSDavid du Colombier <td> 35687dd7cddfSDavid du Colombier <td align=center>0.625 - 0.687 35697dd7cddfSDavid du Colombier <td> 35707dd7cddfSDavid du Colombier <td align=right>10 35717dd7cddfSDavid du Colombier <td> 35727dd7cddfSDavid du Colombier <td align=center>0.900 35737dd7cddfSDavid du Colombier <td> 35747dd7cddfSDavid du Colombier <td align=center>0.557 - 0.584 35757dd7cddfSDavid du Colombier <td> 35767dd7cddfSDavid du Colombier <td align=right>10 35777dd7cddfSDavid du Colombier <td> 35787dd7cddfSDavid du Colombier <td align=center>0.667 35797dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.733 35807dd7cddfSDavid du Colombier <td> 35817dd7cddfSDavid du Colombier <td align=center>0.688 - 0.750 35827dd7cddfSDavid du Colombier <td> 35837dd7cddfSDavid du Colombier <td align=right>11 35847dd7cddfSDavid du Colombier <td> 35857dd7cddfSDavid du Colombier <td align=center>0.920 35867dd7cddfSDavid du Colombier <td> 35877dd7cddfSDavid du Colombier <td align=center>0.584 - 0.612 35887dd7cddfSDavid du Colombier <td> 35897dd7cddfSDavid du Colombier <td align=right>11 35907dd7cddfSDavid du Colombier <td> 35917dd7cddfSDavid du Colombier <td align=center>0.733 35927dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.800 35937dd7cddfSDavid du Colombier <td> 35947dd7cddfSDavid du Colombier <td align=center>0.750 - 0.812 35957dd7cddfSDavid du Colombier <td> 35967dd7cddfSDavid du Colombier <td align=right>12 35977dd7cddfSDavid du Colombier <td> 35987dd7cddfSDavid du Colombier <td align=center>0.940 35997dd7cddfSDavid du Colombier <td> 36007dd7cddfSDavid du Colombier <td align=center>0.612 - 0.639 36017dd7cddfSDavid du Colombier <td> 36027dd7cddfSDavid du Colombier <td align=right>12 36037dd7cddfSDavid du Colombier <td> 36047dd7cddfSDavid du Colombier <td align=center>0.800 36057dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.867 36067dd7cddfSDavid du Colombier <td> 36077dd7cddfSDavid du Colombier <td align=center>0.813 - 0.875 36087dd7cddfSDavid du Colombier <td> 36097dd7cddfSDavid du Colombier <td align=right>13 36107dd7cddfSDavid du Colombier <td> 36117dd7cddfSDavid du Colombier <td align=center>0.960 36127dd7cddfSDavid du Colombier <td> 36137dd7cddfSDavid du Colombier <td align=center>0.639 - 0.715 36147dd7cddfSDavid du Colombier <td> 36157dd7cddfSDavid du Colombier <td align=right>13 36167dd7cddfSDavid du Colombier <td> 36177dd7cddfSDavid du Colombier <td align=center>0.867 36187dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0.933 36197dd7cddfSDavid du Colombier <td> 36207dd7cddfSDavid du Colombier <td align=center>0.875 - 0.937 36217dd7cddfSDavid du Colombier <td> 36227dd7cddfSDavid du Colombier <td align=right>14 36237dd7cddfSDavid du Colombier <td> 36247dd7cddfSDavid du Colombier <td align=center>0.980 36257dd7cddfSDavid du Colombier <td> 36267dd7cddfSDavid du Colombier <td align=center>0.715 - 0.889 36277dd7cddfSDavid du Colombier <td> 36287dd7cddfSDavid du Colombier <td align=right>14 36297dd7cddfSDavid du Colombier <td> 36307dd7cddfSDavid du Colombier <td align=center>0.933 36317dd7cddfSDavid du Colombier<tr valign=top> <td align=center>1.000 36327dd7cddfSDavid du Colombier <td> 36337dd7cddfSDavid du Colombier <td align=center>0.938 - 1.000 36347dd7cddfSDavid du Colombier <td> 36357dd7cddfSDavid du Colombier <td align=right>15 36367dd7cddfSDavid du Colombier <td> 36377dd7cddfSDavid du Colombier <td align=center>1.000 36387dd7cddfSDavid du Colombier <td> 36397dd7cddfSDavid du Colombier <td align=center>0.889 - 1.111 36407dd7cddfSDavid du Colombier <td> 36417dd7cddfSDavid du Colombier <td align=right>15 36427dd7cddfSDavid du Colombier <td> 36437dd7cddfSDavid du Colombier <td align=center>1.000 36447dd7cddfSDavid du Colombier</table></blockquote> 36457dd7cddfSDavid du Colombier 36467dd7cddfSDavid du Colombier<p> 36477dd7cddfSDavid du ColombierYellow uses a transfer array. There is no linear correspondence between 36487dd7cddfSDavid du Colombierthe color and the ink values: this correspondence is defined through the 36497dd7cddfSDavid du Colombiergiven array. In other words, the transfer arrays define a nonlinear ink 36507dd7cddfSDavid du Colombiercharacteristic, which is exactly the same functionality that PostScript's 36517dd7cddfSDavid du Colombier"(color)transfer" function provides. 36527dd7cddfSDavid du Colombier 36537dd7cddfSDavid du Colombier<p> 36547dd7cddfSDavid du ColombierWhile for yellow the intervals match the intervals used with cyan, for 36557dd7cddfSDavid du Colombierblack the intervals match the magenta intervals. But watch the 36567dd7cddfSDavid du Colombiercorrespondence between the CI/15 values and the ink density for black: this 36577dd7cddfSDavid du Colombieris a linear distribution in the ink domain. 36587dd7cddfSDavid du Colombier 36597dd7cddfSDavid du Colombier<p> 36607dd7cddfSDavid du ColombierNot a bad idea, I think. Consider the <b><tt>fs2</tt></b> algorithm: it 36617dd7cddfSDavid du Colombieruses values in the range 0 to 255. If any transfer array were alone, some 36627dd7cddfSDavid du Colombierof the 256 possible values would never be used and others would be used for 36637dd7cddfSDavid du Colombieradjacent intervals several times. Establishing an identical coding array 36647dd7cddfSDavid du Colombiersolves this problem, so the full potential of the algorithm is used. 36657dd7cddfSDavid du Colombier 36667dd7cddfSDavid du Colombier<p> 36677dd7cddfSDavid du ColombierAnother useful feature of the coding arrays is that they are internally 36687dd7cddfSDavid du Colombiernormalized to the range 0-1. In 720x720dpi mode the transfer arrays in 36697dd7cddfSDavid du Colombier<b><tt>stcolor.ps</tt></b> limit the dot density to about 50%, so these 36707dd7cddfSDavid du Colombierarrays end at 0.5 (and begin at 0.5 for RGB). Because of automatic 36717dd7cddfSDavid du Colombiernormalization, these arrays can also be used as coding arrays. But of 36727dd7cddfSDavid du Colombiercourse in the <b><tt>fs2</tt></b> case mentioned above, values from 0 to 36737dd7cddfSDavid du Colombier127 will never be delivered to the algorithm, while values 128-255 are 36747dd7cddfSDavid du Colombierdelivered for adjacent intervals. 36757dd7cddfSDavid du Colombier 36767dd7cddfSDavid du Colombier<p> 36777dd7cddfSDavid du ColombierTo clarify the intended use of the three parameters (parameter groups), keep this in mind: 36787dd7cddfSDavid du Colombier 36797dd7cddfSDavid du Colombier<blockquote><ul> 36807dd7cddfSDavid du Colombier<li><b><tt>ColorAdjustMatrix</tt></b> is never used when transferring gray 36817dd7cddfSDavid du Colombiervalues. This restricts it to what the name says: adjustment of colors, 36827dd7cddfSDavid du Colombierthat is, correction for miscolored ink. Do not use it for saturation or 36837dd7cddfSDavid du Colombierbrightness control. 36847dd7cddfSDavid du Colombier 36857dd7cddfSDavid du Colombier<li><b><tt>?transfer</tt></b> arrays control the values delivered to the 36867dd7cddfSDavid du Colombierdriver, which in turn controls the ink quantity. Use these arrays to 36877dd7cddfSDavid du Colombiercontrol saturation and brightness. In general these arrays are identical 36887dd7cddfSDavid du Colombierfor all inks. If they differ they provide a simpler scheme for color 36897dd7cddfSDavid du Colombiercorrection, which is not necessarily faster than the 36907dd7cddfSDavid du Colombier<b><tt>ColorAdjustMatrix</tt></b>. 36917dd7cddfSDavid du Colombier 36927dd7cddfSDavid du Colombier<li><b><tt>?coding</tt></b> arrays control the color value intervals mapped 36937dd7cddfSDavid du Colombierto the internal color indices. 36947dd7cddfSDavid du Colombier</ul></blockquote> 36957dd7cddfSDavid du Colombier 3696*3ff48bf5SDavid du Colombier<h3><a name="What_is_weaving"></a>What is weaving?</h3> 36977dd7cddfSDavid du Colombier 36987dd7cddfSDavid du Colombier<p> 36997dd7cddfSDavid du ColombierThe Epson Stylus Color has a head assembly that contains two physically 37007dd7cddfSDavid du Colombieridentifiable heads, one for black and one for cyan, magenta, and yellow 37017dd7cddfSDavid du Colombier(CMY). This makes four "logical" heads, one for each color component. 37027dd7cddfSDavid du ColombierEach of these four heads has several jets at some vertical (Y) distance 37037dd7cddfSDavid du Colombierfrom one another, so several horizontal lines can be printed of a given 37047dd7cddfSDavid du Colombiercolor during one pass of the heads. From experience I think there are 37057dd7cddfSDavid du Colombierfifteen jets per color, spaced at 1/90in. 37067dd7cddfSDavid du Colombier 37077dd7cddfSDavid du Colombier<p> 37087dd7cddfSDavid du ColombierSo the question arises of how to print at a Y resolution of 360dpi with 37097dd7cddfSDavid du Colombier90dpi jets. Simply by division one gets 360dpi/90dpi = 4, which tells us 37107dd7cddfSDavid du Colombierthat 4 passes of the head assembly are needed to achieve a Y resolution of 37117dd7cddfSDavid du Colombier360dpi. 37127dd7cddfSDavid du Colombier 37137dd7cddfSDavid du Colombier<p> 37147dd7cddfSDavid du ColombierWeaving is the method of how the fifteen jets are used to print adjacent 37157dd7cddfSDavid du Colombierhorizontal rows separated here by 1/360 inch: 37167dd7cddfSDavid du Colombier 37177dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 37187dd7cddfSDavid du Colombier<tr><th colspan=17 bgcolor="#CCCC00"><hr><font size="+1">Print-head jets used with and without weaving</font><hr> 37197dd7cddfSDavid du Colombier<tr> <td> 37207dd7cddfSDavid du Colombier <td> 37217dd7cddfSDavid du Colombier <th valign=bottom colspan=7>Weaving<hr> 37227dd7cddfSDavid du Colombier <td> 37237dd7cddfSDavid du Colombier <th valign=bottom colspan=7>noWeave<hr> 37247dd7cddfSDavid du Colombier<tr valign=top> <td> 37257dd7cddfSDavid du Colombier <th>Pass 37267dd7cddfSDavid du Colombier <th>1 37277dd7cddfSDavid du Colombier <td> 37287dd7cddfSDavid du Colombier <th>2 37297dd7cddfSDavid du Colombier <td> 37307dd7cddfSDavid du Colombier <th>3 37317dd7cddfSDavid du Colombier <td> 37327dd7cddfSDavid du Colombier <th>4 37337dd7cddfSDavid du Colombier <td> 37347dd7cddfSDavid du Colombier <th>1 37357dd7cddfSDavid du Colombier <td> 37367dd7cddfSDavid du Colombier <th>2 37377dd7cddfSDavid du Colombier <td> 37387dd7cddfSDavid du Colombier <th>3 37397dd7cddfSDavid du Colombier <td> 37407dd7cddfSDavid du Colombier <th>4 37417dd7cddfSDavid du Colombier<tr> <th>Row 37427dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0 37437dd7cddfSDavid du Colombier <td> 37447dd7cddfSDavid du Colombier <td align=center>jet 0 37457dd7cddfSDavid du Colombier <td> 37467dd7cddfSDavid du Colombier <td align=center>-- 37477dd7cddfSDavid du Colombier <td> 37487dd7cddfSDavid du Colombier <td align=center>-- 37497dd7cddfSDavid du Colombier <td> 37507dd7cddfSDavid du Colombier <td align=center>-- 37517dd7cddfSDavid du Colombier <td> 37527dd7cddfSDavid du Colombier <td align=center>jet 0 37537dd7cddfSDavid du Colombier <td> 37547dd7cddfSDavid du Colombier <td align=center>-- 37557dd7cddfSDavid du Colombier <td> 37567dd7cddfSDavid du Colombier <td align=center>-- 37577dd7cddfSDavid du Colombier <td> 37587dd7cddfSDavid du Colombier <td align=center>-- 37597dd7cddfSDavid du Colombier<tr valign=top> <td align=center>1 37607dd7cddfSDavid du Colombier <td> 37617dd7cddfSDavid du Colombier <td align=center>-- 37627dd7cddfSDavid du Colombier <td> 37637dd7cddfSDavid du Colombier <td align=center>jet 1 37647dd7cddfSDavid du Colombier <td> 37657dd7cddfSDavid du Colombier <td align=center>-- 37667dd7cddfSDavid du Colombier <td> 37677dd7cddfSDavid du Colombier <td align=center>-- 37687dd7cddfSDavid du Colombier <td> 37697dd7cddfSDavid du Colombier <td align=center>-- 37707dd7cddfSDavid du Colombier <td> 37717dd7cddfSDavid du Colombier <td align=center>jet 0 37727dd7cddfSDavid du Colombier <td> 37737dd7cddfSDavid du Colombier <td align=center>-- 37747dd7cddfSDavid du Colombier <td> 37757dd7cddfSDavid du Colombier <td align=center>-- 37767dd7cddfSDavid du Colombier<tr valign=top> <td align=center>2 37777dd7cddfSDavid du Colombier <td> 37787dd7cddfSDavid du Colombier <td align=center>-- 37797dd7cddfSDavid du Colombier <td> 37807dd7cddfSDavid du Colombier <td align=center>-- 37817dd7cddfSDavid du Colombier <td> 37827dd7cddfSDavid du Colombier <td align=center>jet 2 37837dd7cddfSDavid du Colombier <td> 37847dd7cddfSDavid du Colombier <td align=center>-- 37857dd7cddfSDavid du Colombier <td> 37867dd7cddfSDavid du Colombier <td align=center>-- 37877dd7cddfSDavid du Colombier <td> 37887dd7cddfSDavid du Colombier <td align=center>-- 37897dd7cddfSDavid du Colombier <td> 37907dd7cddfSDavid du Colombier <td align=center>jet 0 37917dd7cddfSDavid du Colombier <td> 37927dd7cddfSDavid du Colombier <td align=center>-- 37937dd7cddfSDavid du Colombier<tr valign=top> <td align=center>3 37947dd7cddfSDavid du Colombier <td> 37957dd7cddfSDavid du Colombier <td align=center>-- 37967dd7cddfSDavid du Colombier <td> 37977dd7cddfSDavid du Colombier <td align=center>-- 37987dd7cddfSDavid du Colombier <td> 37997dd7cddfSDavid du Colombier <td align=center>-- 38007dd7cddfSDavid du Colombier <td> 38017dd7cddfSDavid du Colombier <td align=center>jet 3 38027dd7cddfSDavid du Colombier <td> 38037dd7cddfSDavid du Colombier <td align=center>-- 38047dd7cddfSDavid du Colombier <td> 38057dd7cddfSDavid du Colombier <td align=center>-- 38067dd7cddfSDavid du Colombier <td> 38077dd7cddfSDavid du Colombier <td align=center>-- 38087dd7cddfSDavid du Colombier <td> 38097dd7cddfSDavid du Colombier <td align=center>jet 0 38107dd7cddfSDavid du Colombier<tr valign=top> <td align=center>4 38117dd7cddfSDavid du Colombier <td> 38127dd7cddfSDavid du Colombier <td align=center>jet 1 38137dd7cddfSDavid du Colombier <td> 38147dd7cddfSDavid du Colombier <td align=center>-- 38157dd7cddfSDavid du Colombier <td> 38167dd7cddfSDavid du Colombier <td align=center>-- 38177dd7cddfSDavid du Colombier <td> 38187dd7cddfSDavid du Colombier <td align=center>-- 38197dd7cddfSDavid du Colombier <td> 38207dd7cddfSDavid du Colombier <td align=center>jet 1 38217dd7cddfSDavid du Colombier <td> 38227dd7cddfSDavid du Colombier <td align=center>-- 38237dd7cddfSDavid du Colombier <td> 38247dd7cddfSDavid du Colombier <td align=center>-- 38257dd7cddfSDavid du Colombier <td> 38267dd7cddfSDavid du Colombier <td align=center>-- 38277dd7cddfSDavid du Colombier<tr valign=top> <td align=center>5 38287dd7cddfSDavid du Colombier <td> 38297dd7cddfSDavid du Colombier <td align=center>-- 38307dd7cddfSDavid du Colombier <td> 38317dd7cddfSDavid du Colombier <td align=center>jet 2 38327dd7cddfSDavid du Colombier <td> 38337dd7cddfSDavid du Colombier <td align=center>-- 38347dd7cddfSDavid du Colombier <td> 38357dd7cddfSDavid du Colombier <td align=center>-- 38367dd7cddfSDavid du Colombier <td> 38377dd7cddfSDavid du Colombier <td align=center>-- 38387dd7cddfSDavid du Colombier <td> 38397dd7cddfSDavid du Colombier <td align=center>jet 1 38407dd7cddfSDavid du Colombier <td> 38417dd7cddfSDavid du Colombier <td align=center>-- 38427dd7cddfSDavid du Colombier <td> 38437dd7cddfSDavid du Colombier <td align=center>-- 38447dd7cddfSDavid du Colombier<tr valign=top> <td align=center>6 38457dd7cddfSDavid du Colombier <td> 38467dd7cddfSDavid du Colombier <td align=center>-- 38477dd7cddfSDavid du Colombier <td> 38487dd7cddfSDavid du Colombier <td align=center>-- 38497dd7cddfSDavid du Colombier <td> 38507dd7cddfSDavid du Colombier <td align=center>jet 3 38517dd7cddfSDavid du Colombier <td> 38527dd7cddfSDavid du Colombier <td align=center>-- 38537dd7cddfSDavid du Colombier <td> 38547dd7cddfSDavid du Colombier <td align=center>-- 38557dd7cddfSDavid du Colombier <td> 38567dd7cddfSDavid du Colombier <td align=center>-- 38577dd7cddfSDavid du Colombier <td> 38587dd7cddfSDavid du Colombier <td align=center>jet 1 38597dd7cddfSDavid du Colombier <td> 38607dd7cddfSDavid du Colombier <td align=center>-- 38617dd7cddfSDavid du Colombier<tr valign=top> <th>... 38627dd7cddfSDavid du Colombier</table></blockquote> 38637dd7cddfSDavid du Colombier 38647dd7cddfSDavid du Colombier<p> 38657dd7cddfSDavid du ColombierNow let's assume that the dot diameter is different for each individual 38667dd7cddfSDavid du Colombierjet, but the average among the jets matches the desired resolution. With 38677dd7cddfSDavid du Colombierweaving, adjacent rows are printed by different jets, thus some averaging 38687dd7cddfSDavid du Colombiertakes place. Without weaving, adjacent rows are printed by the same jet 38697dd7cddfSDavid du Colombierand this makes the dot diameter deviations visible as 1/90in stripes on 38707dd7cddfSDavid du Colombierthe paper. 38717dd7cddfSDavid du Colombier 3872*3ff48bf5SDavid du Colombier<h3><a name="STC_print_modes"></a>Print mode parameters</h3> 38737dd7cddfSDavid du Colombier 38747dd7cddfSDavid du Colombier<p> 38757dd7cddfSDavid du ColombierThe parameters "<b><tt>Unidirectional</tt></b>", 38767dd7cddfSDavid du Colombier"<b><tt>Microweave</tt></b>", "<b><tt>noWeave</tt></b>", 38777dd7cddfSDavid du Colombier"<b><tt>OutputCode</tt></b>", "<b><tt>Model</tt></b>" and the given 38787dd7cddfSDavid du Colombierresolution control the data generated for the printer. 38797dd7cddfSDavid du Colombier 3880*3ff48bf5SDavid du Colombier<h4><a name="STC_unidirectional"></a><b><tt>Unidirectional</tt></b></h4> 38817dd7cddfSDavid du Colombier 38827dd7cddfSDavid du Colombier<p> 38837dd7cddfSDavid du ColombierSimply toggles the unidirectional mode of the printer. Setting 38847dd7cddfSDavid du Colombier"<b><tt>Unidirectional</tt></b>" definitely slows printing speed, but may 38857dd7cddfSDavid du Colombierimprove the quality. I use this for printing transparencies, where fast 38867dd7cddfSDavid du Colombierhead movement could smear the ink. 38877dd7cddfSDavid du Colombier 3888*3ff48bf5SDavid du Colombier<h4><a name="STC_noweave"></a><b><tt>Microweave</tt></b>, 3889*3ff48bf5SDavid du Colombier<b><tt>noWeave</tt></b> and <b><tt>OutputCode=deltarow</tt></b></h4> 38907dd7cddfSDavid du Colombier 38917dd7cddfSDavid du Colombier<p> 38927dd7cddfSDavid du ColombierThe first are two booleans, which implies that four combinations are 38937dd7cddfSDavid du Colombierpossible. Actually only three exist (if you don't count for 38947dd7cddfSDavid du Colombier<b><tt>deltarow</tt></b>): <b><tt>Softweave</tt></b>, 38957dd7cddfSDavid du Colombier<b><tt>Microweave</tt></b>, and <b><tt>noWeave</tt></b>. The first and 38967dd7cddfSDavid du Colombiersecond are functionally identical, the difference being whether the driver 38977dd7cddfSDavid du Colombieror the printer does the job. 38987dd7cddfSDavid du Colombier 38997dd7cddfSDavid du Colombier<p> 39007dd7cddfSDavid du ColombierIn the default <b><tt>Softweave</tt></b> mode the driver sends the data 39017dd7cddfSDavid du Colombierproperly arranged to the printer, while in <b><tt>Microweave</tt></b> mode, 39027dd7cddfSDavid du Colombierit is the printer that arranges the data. But in general the host processor 39037dd7cddfSDavid du Colombieris much faster than the printer's processor, and thus it is faster for the 39047dd7cddfSDavid du Colombierhost do the job. In addition to that, for 720dpi eight passes are 39057dd7cddfSDavid du Colombierrequired, and the amount of buffer space needed to buffer the data for the 39067dd7cddfSDavid du Colombierpasses is far beyond the printer's memory. <b><tt>Softweave</tt></b> 39077dd7cddfSDavid du Colombierrequires an odd value of "<b><tt>escp_Band</tt></b>"; the Stylus Color 39087dd7cddfSDavid du Colombierprovides fifteen for that. 39097dd7cddfSDavid du Colombier 39107dd7cddfSDavid du Colombier<p> 39117dd7cddfSDavid du Colombier"<b><tt>OutputCode</tt></b>" controls the encoding used. In the basic 39127dd7cddfSDavid du Colombiermodes, the choice consists of "plain" and "runlength". The computation of 39137dd7cddfSDavid du Colombierrunlength-encoded data does not take much time, less than the data tranfer 39147dd7cddfSDavid du Colombierto the printer; thus this is the recommended mode, and of course the 39157dd7cddfSDavid du Colombierdefault. With the Stylus Color, Epson introduced some new encoding 39167dd7cddfSDavid du Colombierprinciples, namely "tiff" and "deltarow". While the first was omitted from 39177dd7cddfSDavid du Colombierthis driver for lack of apparent advantages, "<b><tt>deltarow</tt></b>" is 39187dd7cddfSDavid du Colombieravailable as an option. "<b><tt>Softweave</tt></b>" cannot be used with 39197dd7cddfSDavid du Colombierthis encoding, so if <b><tt>OutputCode=deltarow</tt></b> is set, 39207dd7cddfSDavid du Colombier<b><tt>Microweave</tt></b> becomes the default. Maybe that the size of the 39217dd7cddfSDavid du ColombierESC/P2 code becomes smaller, but I have never observed faster printing 39227dd7cddfSDavid du Colombierspeed. Things tend to become slower with <b><tt>deltarow</tt></b> compared 39237dd7cddfSDavid du Colombierto <b><tt>Softweave</tt></b>. 39247dd7cddfSDavid du Colombier 3925*3ff48bf5SDavid du Colombier<h4><a name="STC_model"></a><b><tt>Model</tt></b></h4> 39267dd7cddfSDavid du Colombier 39277dd7cddfSDavid du Colombier<p> 39287dd7cddfSDavid du ColombierSome ESC/P2 printers such as the Stylus 800 do not offer 39297dd7cddfSDavid du Colombier<b><tt>Microweave</tt></b> or the commands required to do 39307dd7cddfSDavid du Colombier<b><tt>Softweave</tt></b>. Setting <b><tt>Model</tt></b> just changes the 39317dd7cddfSDavid du Colombierdefaults and omits some parts of the initialization sequence which are not 39327dd7cddfSDavid du Colombiercompatible with the given printer model. Currently only 39337dd7cddfSDavid du Colombier"<b><tt>st800</tt></b>" is supported besides the default 39347dd7cddfSDavid du Colombier<b><tt>stcolor</tt></b>. 39357dd7cddfSDavid du Colombier 3936*3ff48bf5SDavid du Colombier<h3><a name="STC_Pitfalls"></a>Bugs and pitfalls</h3> 39377dd7cddfSDavid du Colombier 39387dd7cddfSDavid du Colombier<ul> 39397dd7cddfSDavid du Colombier<li>The given <b><tt>?coding</tt></b> and <b><tt>?transfer</tt></b> arrays 39407dd7cddfSDavid du Colombiershould be strictly monotonic. 39417dd7cddfSDavid du Colombier 39427dd7cddfSDavid du Colombier<li>It is impossible to change <b><tt>WHITE</tt></b>: that's your paper. 39437dd7cddfSDavid du ColombierThus RGB transfer should end at 1.0 and CMYK transfer should start at 0.0. 39447dd7cddfSDavid du Colombier 39457dd7cddfSDavid du Colombier<li>Usually 8 bits per component yields fastest operation. 39467dd7cddfSDavid du Colombier 39477dd7cddfSDavid du Colombier<li>The <b><tt>ColorAdjustMatrix</tt></b> is not used in the reverse 39487dd7cddfSDavid du Colombiertransformation used when Ghostscript does the dithering 39497dd7cddfSDavid du Colombier(<b><tt>gs</tt></b>* modes). Expect funny results. 39507dd7cddfSDavid du Colombier 39517dd7cddfSDavid du Colombier<li>If <b><tt>BitsPerPixel</tt></b> is less than 6, the entire coding and 39527dd7cddfSDavid du Colombiertransfer process does not work. This is always true for the 39537dd7cddfSDavid du Colombier<b><tt>gs</tt></b>* modes and becomes true for the other modes if 39547dd7cddfSDavid du Colombier<b><tt>BitsPerPixel</tt></b> is forced to low values. 39557dd7cddfSDavid du Colombier 39567dd7cddfSDavid du Colombier<li>720×720dpi printing should never select the <b><tt>gs</tt></b>* 39577dd7cddfSDavid du Colombiermodes and should always use <b><tt>stcolor.ps</tt></b>. (I prefer 39587dd7cddfSDavid du Colombier360×720.) 39597dd7cddfSDavid du Colombier</ul> 39607dd7cddfSDavid du Colombier 3961*3ff48bf5SDavid du Colombier<h3><a name="STC_Tests"></a>Tests</h3> 39627dd7cddfSDavid du Colombier 39637dd7cddfSDavid du Colombier<p> 39647dd7cddfSDavid du ColombierThis section gives an overview of performance in terms of processing and 39657dd7cddfSDavid du Colombierprinting times, from tests run after version 1.13. Printing was done 39667dd7cddfSDavid du Colombieroffline (simply copying a processed file to the printer) to measure real 39677dd7cddfSDavid du Colombierprinting speed without regard to speed of processing on the host, since at 39687dd7cddfSDavid du Colombierhigh resolutions, processing time is the same order of magnitude and thus 39697dd7cddfSDavid du Colombiermay become the limiting factor. 39707dd7cddfSDavid du Colombier 3971*3ff48bf5SDavid du Colombier<h4><a name="STC_OutputCodes"></a>The various OutputCodes</h4> 39727dd7cddfSDavid du Colombier 39737dd7cddfSDavid du Colombier<p> 39747dd7cddfSDavid du ColombierI ran several files though Ghostscript and recorded the size of the 39757dd7cddfSDavid du Colombierresulting print code, the processing time, and the printing time, at least 39767dd7cddfSDavid du Colombierfor some of the files, always using these options: 39777dd7cddfSDavid du Colombier 39787dd7cddfSDavid du Colombier<blockquote><b><tt> 39797dd7cddfSDavid du Colombiergs -sDEVICE=stcolor -sPAPERSIZE=a4 stcolor.ps - < file.ps 39807dd7cddfSDavid du Colombier</tt></b></blockquote> 39817dd7cddfSDavid du Colombier 39827dd7cddfSDavid du Colombier<p> 39837dd7cddfSDavid du Colombier(Actually "<b><tt>-sPAPERSIZE=a4</tt></b>" is in my 39847dd7cddfSDavid du Colombier<b><tt>gs_init.ps</tt></b> since I'm a germ.) 39857dd7cddfSDavid du Colombier 39867dd7cddfSDavid du Colombier<p>"<b><tt>deltarow</tt></b>" is the new encoding principle 39877dd7cddfSDavid du Colombier("<b><tt>ESC . 3 10 10 1</tt></b>") with 39887dd7cddfSDavid du Colombier<b><tt>Microweave</tt></b> on. It is activated with 39897dd7cddfSDavid du Colombier"<b><tt>-sOutputCode=deltarow</tt></b>". 39907dd7cddfSDavid du Colombier 39917dd7cddfSDavid du Colombier<p>"<b><tt>Softweave</tt></b>" actually means that nothing else was used: 39927dd7cddfSDavid du Colombierit is the default, and implies that odd v=40/h=10/m=15 mode 39937dd7cddfSDavid du Colombier("<b><tt>ESC . 1 40 10 15</tt></b>"). 39947dd7cddfSDavid du Colombier 39957dd7cddfSDavid du Colombier<p>"<b><tt>Microweave</tt></b>" means "<b><tt>-dMicroweave</tt></b>", 39967dd7cddfSDavid du Colombierequivalent to "<b><tt>ESC . 1 10 10 1</tt></b>", 39977dd7cddfSDavid du Colombierwith full skip optimization and microweave activated. 39987dd7cddfSDavid du Colombier 39997dd7cddfSDavid du Colombier<p> 40007dd7cddfSDavid du ColombierFinally I wanted to see the plain Kathy Ireland, and used 40017dd7cddfSDavid du Colombier"<b><tt>-sOutputCode=plain</tt></b>", which just replaces runlength 40027dd7cddfSDavid du Colombierencoding (RLE) by no encoding, thus using 40037dd7cddfSDavid du Colombier"<b><tt>ESC . 0 40 10 15</tt></b>". [So sorry 40047dd7cddfSDavid du Colombier<b><tt>;-)</tt></b> Kathy was still dressed in blue in front of the blue 40057dd7cddfSDavid du Colombiersea on a blue air cushion -- nice to see but hard to dither.] 40067dd7cddfSDavid du Colombier 40077dd7cddfSDavid du Colombier<p> 40087dd7cddfSDavid du ColombierSo here are the results. 40097dd7cddfSDavid du Colombier 40107dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 40117dd7cddfSDavid du Colombier<tr><th colspan=9 bgcolor="#CCCC00"><hr><font size="+1">File sizes and printing speeds with various weaving methods</font><hr> 40127dd7cddfSDavid du Colombier<tr valign=bottom> 40137dd7cddfSDavid du Colombier <td> 40147dd7cddfSDavid du Colombier <td> 40157dd7cddfSDavid du Colombier <th><b><tt>golfer.ps</tt></b> 40167dd7cddfSDavid du Colombier <td> 40177dd7cddfSDavid du Colombier <th><b><tt>colorcir.ps</tt></b> 40187dd7cddfSDavid du Colombier <td> 40197dd7cddfSDavid du Colombier <th><b><tt>drawing.ps</tt></b> 40207dd7cddfSDavid du Colombier <td> 40217dd7cddfSDavid du Colombier <th><b><tt>brief.ps</tt></b> 40227dd7cddfSDavid du Colombier<tr> <td colspan=9><hr> 40237dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>deltarow</tt></b> 40247dd7cddfSDavid du Colombier <td> 40257dd7cddfSDavid du Colombier <td>572751/48.180u 40267dd7cddfSDavid du Colombier <td> 40277dd7cddfSDavid du Colombier <td>643374/41.690u 40287dd7cddfSDavid du Colombier <td> 40297dd7cddfSDavid du Colombier <td>90142/46.180u/1:50 40307dd7cddfSDavid du Colombier <td> 40317dd7cddfSDavid du Colombier <td>178563/49.350u/2:22 40327dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Softweave</tt></b> 40337dd7cddfSDavid du Colombier <td> 40347dd7cddfSDavid du Colombier <td>559593/46.810u 40357dd7cddfSDavid du Colombier <td> 40367dd7cddfSDavid du Colombier <td>669966/44.960u 40377dd7cddfSDavid du Colombier <td> 40387dd7cddfSDavid du Colombier <td>296168/48.160u/1:30 40397dd7cddfSDavid du Colombier <td> 40407dd7cddfSDavid du Colombier <td>269808/43.320u/1:55 40417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Microweave</tt></b> 40427dd7cddfSDavid du Colombier <td> 40437dd7cddfSDavid du Colombier <td>590999/56.060u 40447dd7cddfSDavid du Colombier <td> 40457dd7cddfSDavid du Colombier <td>754276/42.890u 40467dd7cddfSDavid du Colombier <td> 40477dd7cddfSDavid du Colombier <td>338885/47.060u/1:50 40487dd7cddfSDavid du Colombier <td> 40497dd7cddfSDavid du Colombier <td>282314/44.690u/2:22 40507dd7cddfSDavid du Colombier</table></blockquote> 40517dd7cddfSDavid du Colombier 40527dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 40537dd7cddfSDavid du Colombier<tr><th colspan=3 bgcolor="#CCCC00"><hr><font size="+1">Kathy Ireland</font><hr> 40547dd7cddfSDavid du Colombier<tr valign=bottom> 40557dd7cddfSDavid du Colombier <td> 40567dd7cddfSDavid du Colombier <td> 40577dd7cddfSDavid du Colombier <th><b><tt>kathy.ps</tt></b> 40587dd7cddfSDavid du Colombier<tr> <td colspan=3><hr> 40597dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>deltarow</tt></b> 40607dd7cddfSDavid du Colombier <td> 40617dd7cddfSDavid du Colombier <td>3975334/111.940u/5:35 40627dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Softweave</tt></b> 40637dd7cddfSDavid du Colombier <td> 40647dd7cddfSDavid du Colombier <td>3897112/101.940u/3:10 40657dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>Microweave</tt></b> 40667dd7cddfSDavid du Colombier <td> 40677dd7cddfSDavid du Colombier <td>4062829/100.990u/3:15 40687dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>plain/soft</tt></b> 40697dd7cddfSDavid du Colombier <td> 40707dd7cddfSDavid du Colombier <td>5072255/104.390u/3:05 40717dd7cddfSDavid du Colombier</table></blockquote> 40727dd7cddfSDavid du Colombier 40737dd7cddfSDavid du Colombier<p> 40747dd7cddfSDavid du ColombierIt may be that I've not chosen the optimal <b><tt>deltarow</tt></b> code, 40757dd7cddfSDavid du Colombierbut even if it saves at lot of bytes, printing-speed is not increased. 40767dd7cddfSDavid du Colombier 40777dd7cddfSDavid du Colombier<p> 40787dd7cddfSDavid du ColombierAt least the printer prefers plain Kathy. In other words, sending 1 40797dd7cddfSDavid du ColombierMegabyte or 20% more data has no impact on printing speed. 40807dd7cddfSDavid du Colombier<b><tt>drawing.ps</tt></b> is an exception to this rule: plain prints 40817dd7cddfSDavid du Colombierslower than RLE. 40827dd7cddfSDavid du Colombier 40837dd7cddfSDavid du Colombier<p> 40847dd7cddfSDavid du Colombier"Unclever" coding -- especially with <b><tt>deltarow</tt></b> -- can 40857dd7cddfSDavid du Colombiersignificantly slow down printing. But even if very significant advantages 40867dd7cddfSDavid du Colombierin the size of the code are achieved, "<b><tt>deltarow</tt></b>" is not 40877dd7cddfSDavid du Colombiercompetitive. <b><tt>colorcir.ps</tt></b> shows savings with 40887dd7cddfSDavid du Colombier<b><tt>deltarow</tt></b>, but printing is a mess. 40897dd7cddfSDavid du Colombier 4090*3ff48bf5SDavid du Colombier<h4><a name="STC_printing_time"></a>Printing time related to other options</h4> 40917dd7cddfSDavid du Colombier 40927dd7cddfSDavid du Colombier<p> 40937dd7cddfSDavid du ColombierFull page halftone images printed, unless otherwise noted. 40947dd7cddfSDavid du Colombier 40957dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 40967dd7cddfSDavid du Colombier<tr><th colspan=11 bgcolor="#CCCC00"><hr><font size="+1">Printing time related to other options</font><hr> 40977dd7cddfSDavid du Colombier<tr valign=top> <th>dpi 40987dd7cddfSDavid du Colombier <td> 40997dd7cddfSDavid du Colombier <th colspan=3>Print mode 41007dd7cddfSDavid du Colombier <td> 41017dd7cddfSDavid du Colombier <th>Size KB 41027dd7cddfSDavid du Colombier <td> 41037dd7cddfSDavid du Colombier <th>Time 41047dd7cddfSDavid du Colombier <td> 41057dd7cddfSDavid du Colombier <th align=left>Comments 41067dd7cddfSDavid du Colombier<tr> <td colspan=11><hr> 41077dd7cddfSDavid du Colombier<tr valign=top> <td>180x180 41087dd7cddfSDavid du Colombier <td> 41097dd7cddfSDavid du Colombier <td>mono 41107dd7cddfSDavid du Colombier <td> 41117dd7cddfSDavid du Colombier <td align=right>-/uni 41127dd7cddfSDavid du Colombier <td> 41137dd7cddfSDavid du Colombier <td align=right>358 41147dd7cddfSDavid du Colombier <td> 41157dd7cddfSDavid du Colombier <td align=right>1:15 41167dd7cddfSDavid du Colombier <td> 41177dd7cddfSDavid du Colombier <td> 41187dd7cddfSDavid du Colombier<tr valign=top> <td> 41197dd7cddfSDavid du Colombier <td> 41207dd7cddfSDavid du Colombier <td align=right> 41217dd7cddfSDavid du Colombier <td> 41227dd7cddfSDavid du Colombier <td align=right>-/bi 41237dd7cddfSDavid du Colombier <td> 41247dd7cddfSDavid du Colombier <td align=right>358 41257dd7cddfSDavid du Colombier <td> 41267dd7cddfSDavid du Colombier <td align=right>0:45 41277dd7cddfSDavid du Colombier <td> 41287dd7cddfSDavid du Colombier <td> 41297dd7cddfSDavid du Colombier<tr valign=top> <td> 41307dd7cddfSDavid du Colombier <td> 41317dd7cddfSDavid du Colombier <td align=right> 41327dd7cddfSDavid du Colombier <td> 41337dd7cddfSDavid du Colombier <td align=right>micro/bi 41347dd7cddfSDavid du Colombier <td> 41357dd7cddfSDavid du Colombier <td align=right>205 41367dd7cddfSDavid du Colombier <td> 41377dd7cddfSDavid du Colombier <td align=right>0:45 41387dd7cddfSDavid du Colombier <td> 41397dd7cddfSDavid du Colombier <td>Not weaving 41407dd7cddfSDavid du Colombier<tr valign=top> <td> 41417dd7cddfSDavid du Colombier <td> 41427dd7cddfSDavid du Colombier <td align=right> 41437dd7cddfSDavid du Colombier <td> 41447dd7cddfSDavid du Colombier <td align=right>soft/bi 41457dd7cddfSDavid du Colombier <td> 41467dd7cddfSDavid du Colombier <td align=right>179 41477dd7cddfSDavid du Colombier <td> 41487dd7cddfSDavid du Colombier <td align=right>1:25 41497dd7cddfSDavid du Colombier <td> 41507dd7cddfSDavid du Colombier <td> 41517dd7cddfSDavid du Colombier<tr valign=top> <td> 41527dd7cddfSDavid du Colombier <td> 41537dd7cddfSDavid du Colombier <td>color 41547dd7cddfSDavid du Colombier <td> 41557dd7cddfSDavid du Colombier <td align=right>-/bi 41567dd7cddfSDavid du Colombier <td> 41577dd7cddfSDavid du Colombier <td align=right>641 41587dd7cddfSDavid du Colombier <td> 41597dd7cddfSDavid du Colombier <td align=right>2:45 41607dd7cddfSDavid du Colombier <td> 41617dd7cddfSDavid du Colombier <td> 41627dd7cddfSDavid du Colombier<tr valign=top> <td> 41637dd7cddfSDavid du Colombier <td> 41647dd7cddfSDavid du Colombier <td align=right> 41657dd7cddfSDavid du Colombier <td> 41667dd7cddfSDavid du Colombier <td align=right>soft/bi 41677dd7cddfSDavid du Colombier <td> 41687dd7cddfSDavid du Colombier <td align=right>556 41697dd7cddfSDavid du Colombier <td> 41707dd7cddfSDavid du Colombier <td align=right>1:32 41717dd7cddfSDavid du Colombier <td> 41727dd7cddfSDavid du Colombier <td> 41737dd7cddfSDavid du Colombier<tr valign=top> <td>360x360 41747dd7cddfSDavid du Colombier <td> 41757dd7cddfSDavid du Colombier <td>mono 41767dd7cddfSDavid du Colombier <td> 41777dd7cddfSDavid du Colombier <td align=right>-/uni 41787dd7cddfSDavid du Colombier <td> 41797dd7cddfSDavid du Colombier <td align=right>269 41807dd7cddfSDavid du Colombier <td> 41817dd7cddfSDavid du Colombier <td align=right>0:50 41827dd7cddfSDavid du Colombier <td> 41837dd7cddfSDavid du Colombier <td>Monochrome text 41847dd7cddfSDavid du Colombier<tr valign=top> <td> 41857dd7cddfSDavid du Colombier <td> 41867dd7cddfSDavid du Colombier <td align=right> 41877dd7cddfSDavid du Colombier <td> 41887dd7cddfSDavid du Colombier <td align=right>-/bi 41897dd7cddfSDavid du Colombier <td> 41907dd7cddfSDavid du Colombier <td align=right>269 41917dd7cddfSDavid du Colombier <td> 41927dd7cddfSDavid du Colombier <td align=right>0:35 41937dd7cddfSDavid du Colombier <td> 41947dd7cddfSDavid du Colombier <td>Monochrome text 41957dd7cddfSDavid du Colombier<tr valign=top> <td> 41967dd7cddfSDavid du Colombier <td> 41977dd7cddfSDavid du Colombier <td align=right> 41987dd7cddfSDavid du Colombier <td> 41997dd7cddfSDavid du Colombier <td align=right>micro/bi 42007dd7cddfSDavid du Colombier <td> 42017dd7cddfSDavid du Colombier <td align=right>269 42027dd7cddfSDavid du Colombier <td> 42037dd7cddfSDavid du Colombier <td align=right>2:25 42047dd7cddfSDavid du Colombier <td> 42057dd7cddfSDavid du Colombier <td>Monochrome text 42067dd7cddfSDavid du Colombier<tr valign=top> <td> 42077dd7cddfSDavid du Colombier <td> 42087dd7cddfSDavid du Colombier <td align=right> 42097dd7cddfSDavid du Colombier <td> 42107dd7cddfSDavid du Colombier <td align=right>soft/uni 42117dd7cddfSDavid du Colombier <td> 42127dd7cddfSDavid du Colombier <td align=right>250 42137dd7cddfSDavid du Colombier <td> 42147dd7cddfSDavid du Colombier <td align=right>3:15 42157dd7cddfSDavid du Colombier <td> 42167dd7cddfSDavid du Colombier <td>Monochrome text 42177dd7cddfSDavid du Colombier<tr valign=top> <td> 42187dd7cddfSDavid du Colombier <td> 42197dd7cddfSDavid du Colombier <td align=right> 42207dd7cddfSDavid du Colombier <td> 42217dd7cddfSDavid du Colombier <td align=right>soft/bi 42227dd7cddfSDavid du Colombier <td> 42237dd7cddfSDavid du Colombier <td align=right>250 42247dd7cddfSDavid du Colombier <td> 42257dd7cddfSDavid du Colombier <td align=right>1:55 42267dd7cddfSDavid du Colombier <td> 42277dd7cddfSDavid du Colombier <td>Monochrome text 42287dd7cddfSDavid du Colombier<tr valign=top> <td> 42297dd7cddfSDavid du Colombier <td> 42307dd7cddfSDavid du Colombier <td>color 42317dd7cddfSDavid du Colombier <td> 42327dd7cddfSDavid du Colombier <td align=right>-/bi 42337dd7cddfSDavid du Colombier <td> 42347dd7cddfSDavid du Colombier <td align=right>346 42357dd7cddfSDavid du Colombier <td> 42367dd7cddfSDavid du Colombier <td align=right>1:00 42377dd7cddfSDavid du Colombier <td> 42387dd7cddfSDavid du Colombier <td>Sparse-color page, visible displacements 42397dd7cddfSDavid du Colombier<tr valign=top> <td> 42407dd7cddfSDavid du Colombier <td> 42417dd7cddfSDavid du Colombier <td align=right> 42427dd7cddfSDavid du Colombier <td> 42437dd7cddfSDavid du Colombier <td align=right>micro/bi 42447dd7cddfSDavid du Colombier <td> 42457dd7cddfSDavid du Colombier <td align=right>346 42467dd7cddfSDavid du Colombier <td> 42477dd7cddfSDavid du Colombier <td align=right>1:50 42487dd7cddfSDavid du Colombier <td> 42497dd7cddfSDavid du Colombier <td>Sparse-color page, looks buggy -- printer? 42507dd7cddfSDavid du Colombier<tr valign=top> <td> 42517dd7cddfSDavid du Colombier <td> 42527dd7cddfSDavid du Colombier <td align=right> 42537dd7cddfSDavid du Colombier <td> 42547dd7cddfSDavid du Colombier <td align=right>soft/bi 42557dd7cddfSDavid du Colombier <td> 42567dd7cddfSDavid du Colombier <td align=right>294 42577dd7cddfSDavid du Colombier <td> 42587dd7cddfSDavid du Colombier <td align=right>1:30 42597dd7cddfSDavid du Colombier <td> 42607dd7cddfSDavid du Colombier <td>Sparse-color page, O.K. 42617dd7cddfSDavid du Colombier<tr valign=top> <td> 42627dd7cddfSDavid du Colombier <td> 42637dd7cddfSDavid du Colombier <td align=right> 42647dd7cddfSDavid du Colombier <td> 42657dd7cddfSDavid du Colombier <td align=right>-/bi 42667dd7cddfSDavid du Colombier <td> 42677dd7cddfSDavid du Colombier <td align=right>2218 42687dd7cddfSDavid du Colombier <td> 42697dd7cddfSDavid du Colombier <td align=right>2:45 42707dd7cddfSDavid du Colombier <td> 42717dd7cddfSDavid du Colombier <td>Visible stripes 42727dd7cddfSDavid du Colombier<tr valign=top> <td> 42737dd7cddfSDavid du Colombier <td> 42747dd7cddfSDavid du Colombier <td align=right> 42757dd7cddfSDavid du Colombier <td> 42767dd7cddfSDavid du Colombier <td align=right>micro/bi 42777dd7cddfSDavid du Colombier <td> 42787dd7cddfSDavid du Colombier <td align=right>5171 42797dd7cddfSDavid du Colombier <td> 42807dd7cddfSDavid du Colombier <td align=right>3:17 42817dd7cddfSDavid du Colombier <td> 42827dd7cddfSDavid du Colombier <td> 42837dd7cddfSDavid du Colombier<tr valign=top> <td> 42847dd7cddfSDavid du Colombier <td> 42857dd7cddfSDavid du Colombier <td align=right> 42867dd7cddfSDavid du Colombier <td> 42877dd7cddfSDavid du Colombier <td align=right>soft/bi 42887dd7cddfSDavid du Colombier <td> 42897dd7cddfSDavid du Colombier <td align=right>3675 42907dd7cddfSDavid du Colombier <td> 42917dd7cddfSDavid du Colombier <td align=right>3:05 42927dd7cddfSDavid du Colombier <td> 42937dd7cddfSDavid du Colombier <td> 42947dd7cddfSDavid du Colombier<tr valign=top> <td>360x720 42957dd7cddfSDavid du Colombier <td> 42967dd7cddfSDavid du Colombier <td>mono 42977dd7cddfSDavid du Colombier <td> 42987dd7cddfSDavid du Colombier <td align=right>soft/bi 42997dd7cddfSDavid du Colombier <td> 43007dd7cddfSDavid du Colombier <td align=right>2761 43017dd7cddfSDavid du Colombier <td> 43027dd7cddfSDavid du Colombier <td align=right>5:40 43037dd7cddfSDavid du Colombier <td> 43047dd7cddfSDavid du Colombier <td> 43057dd7cddfSDavid du Colombier<tr valign=top> <td> 43067dd7cddfSDavid du Colombier <td> 43077dd7cddfSDavid du Colombier <td>color 43087dd7cddfSDavid du Colombier <td> 43097dd7cddfSDavid du Colombier <td align=right>soft/bi 43107dd7cddfSDavid du Colombier <td> 43117dd7cddfSDavid du Colombier <td align=right>7789 43127dd7cddfSDavid du Colombier <td> 43137dd7cddfSDavid du Colombier <td align=right>6:15 43147dd7cddfSDavid du Colombier <td> 43157dd7cddfSDavid du Colombier <td>Just a small difference! 43167dd7cddfSDavid du Colombier<tr valign=top> <td>720x360 43177dd7cddfSDavid du Colombier <td> 43187dd7cddfSDavid du Colombier <td>color 43197dd7cddfSDavid du Colombier <td> 43207dd7cddfSDavid du Colombier <td align=right>soft/bi 43217dd7cddfSDavid du Colombier <td> 43227dd7cddfSDavid du Colombier <td align=right>7182 43237dd7cddfSDavid du Colombier <td> 43247dd7cddfSDavid du Colombier <td align=right>5:40 43257dd7cddfSDavid du Colombier <td> 43267dd7cddfSDavid du Colombier <td> 43277dd7cddfSDavid du Colombier<tr valign=top> <td>720x720 43287dd7cddfSDavid du Colombier <td> 43297dd7cddfSDavid du Colombier <td>color 43307dd7cddfSDavid du Colombier <td> 43317dd7cddfSDavid du Colombier <td align=right>micro/bi 43327dd7cddfSDavid du Colombier <td> 43337dd7cddfSDavid du Colombier <td align=right>14748 43347dd7cddfSDavid du Colombier <td> 43357dd7cddfSDavid du Colombier <td align=right>30:26 43367dd7cddfSDavid du Colombier <td> 43377dd7cddfSDavid du Colombier <td>Actually beyond printer's capabilities 43387dd7cddfSDavid du Colombier<tr valign=top> <td> 43397dd7cddfSDavid du Colombier <td> 43407dd7cddfSDavid du Colombier <td align=right> 43417dd7cddfSDavid du Colombier <td> 43427dd7cddfSDavid du Colombier <td align=right>soft/bi 43437dd7cddfSDavid du Colombier <td> 43447dd7cddfSDavid du Colombier <td align=right>14407 43457dd7cddfSDavid du Colombier <td> 43467dd7cddfSDavid du Colombier <td align=right>11:08 43477dd7cddfSDavid du Colombier <td> 43487dd7cddfSDavid du Colombier <td> 43497dd7cddfSDavid du Colombier</table></blockquote> 43507dd7cddfSDavid du Colombier 4351*3ff48bf5SDavid du Colombier<h3><a name="STC_acks"></a>Acknowledgments</h3> 43527dd7cddfSDavid du Colombier 43537dd7cddfSDavid du Colombier<p> 43547dd7cddfSDavid du ColombierThis driver was copied from <b><tt>gdevcdj.c</tt></b> (Ghostscript 3.12), 43557dd7cddfSDavid du Colombierwhich was contributed by George Cameron, Koert Zeilstra, and Eckhard 43567dd7cddfSDavid du ColombierRueggeberg. Some of the ESC/P2 code was drawn from Richard Brown's 43577dd7cddfSDavid du Colombier<b><tt>gdevescp.c</tt></b>. The POSIX interrupt code (compilation option 43587dd7cddfSDavid du Colombier<b><tt>-DSTC_SIGNAL</tt></b>) is from Frederic Loyer. Several improvements 43597dd7cddfSDavid du Colombierare based on discussions with Brian Converse, Bill Davidson, Gero Guenther, 43607dd7cddfSDavid du ColombierJason Patterson, ? Rueschstroer, and Steven Singer. 43617dd7cddfSDavid du Colombier 43627dd7cddfSDavid du Colombier<p> 43637dd7cddfSDavid du ColombierWhile I wish to thank everyone mentioned above, they are by no means 43647dd7cddfSDavid du Colombierresponsible for bugs in the stcolor driver -- just for the features. 43657dd7cddfSDavid du Colombier 43667dd7cddfSDavid du Colombier<address> 43677dd7cddfSDavid du ColombierGunther Hess<br> 43687dd7cddfSDavid du ColombierRichard Wagner Strasse 112<br> 43697dd7cddfSDavid du ColombierD-47057 Duisburg<br> 43707dd7cddfSDavid du ColombierGermany<br> 43717dd7cddfSDavid du Colombier+49 203 376273 telephone (MET evening hours)<br> 43727dd7cddfSDavid du Colombier<<a href="mailto:ghess@elmos.de">ghess@elmos.de</a>> 43737dd7cddfSDavid du Colombier</address> 43747dd7cddfSDavid du Colombier 43757dd7cddfSDavid du Colombier<hr> 43767dd7cddfSDavid du Colombier 4377*3ff48bf5SDavid du Colombier<h2><a name="Uniprint"></a>uniprint, a flexible unified printer driver</h2> 43787dd7cddfSDavid du Colombier 43797dd7cddfSDavid du Colombier<p> 43807dd7cddfSDavid du Colombier<b><tt>uniprint</tt></b> is a unified parametric driver by Gunther Hess 43817dd7cddfSDavid du Colombier<<a href="mailto:ghess@elmos.de">ghess@elmos.de</a>> for several 43827dd7cddfSDavid du Colombierkinds of printers and devices, including 43837dd7cddfSDavid du Colombier 43847dd7cddfSDavid du Colombier<blockquote> 43857dd7cddfSDavid du Colombier<ul> 43867dd7cddfSDavid du Colombier<li>any Epson Stylus Color, Stylus, or Stylus Pro 43877dd7cddfSDavid du Colombier<li>HP PCL/RTL 43887dd7cddfSDavid du Colombier<li>Canon BubbleJet Color 610 43897dd7cddfSDavid du Colombier<li>NEC P2X 43907dd7cddfSDavid du Colombier<li>Sun raster file format 43917dd7cddfSDavid du Colombier</ul></blockquote> 43927dd7cddfSDavid du Colombier 43937dd7cddfSDavid du Colombier<p> 43947dd7cddfSDavid du ColombierThis driver is intended to <em>become</em> a unified printer driver. If you 43957dd7cddfSDavid du Colombierconsider it ugly, please send me your suggestions for improvements. The 43967dd7cddfSDavid du Colombierdriver will be updated with them. Thus the full explanation of the driver's 43977dd7cddfSDavid du Colombiername is: 43987dd7cddfSDavid du Colombier 43997dd7cddfSDavid du Colombier<blockquote> 44007dd7cddfSDavid du ColombierUgly- -> Updated- -> Unified Printer Driver 44017dd7cddfSDavid du Colombier</blockquote> 44027dd7cddfSDavid du Colombier 44037dd7cddfSDavid du Colombier<p> 44047dd7cddfSDavid du ColombierBut you probably want to know something about the functionality. 44057dd7cddfSDavid du ColombierAt the time of this writing uniprint drives: 44067dd7cddfSDavid du Colombier 44077dd7cddfSDavid du Colombier<ul> 44087dd7cddfSDavid du Colombier<li>NEC Pinwriter P2X (24-pin monochrome impact printer, ESC/P style) 44097dd7cddfSDavid du Colombier<li>Several Epson Stylus Color models (ESC/P2 style) 44107dd7cddfSDavid du Colombier<li>HP-DeskJet 550c (basic HP-RTL) 44117dd7cddfSDavid du Colombier<li>Canon BJC 610 44127dd7cddfSDavid du Colombier</ul> 44137dd7cddfSDavid du Colombier 44147dd7cddfSDavid du Colombier<p> 44157dd7cddfSDavid du ColombierIt can be configured for various other printers without recompilation 44167dd7cddfSDavid du Colombierand offers uncompressed (ugly) Sun rasterfiles as another format, but 44177dd7cddfSDavid du Colombierthis format is intended for testing purposes rather than real use. 44187dd7cddfSDavid du ColombierThe usage of this driver is quite simple. The typical command line looks 44197dd7cddfSDavid du Colombierlike this: 44207dd7cddfSDavid du Colombier 44217dd7cddfSDavid du Colombier<blockquote> 44227dd7cddfSDavid du Colombier<b><tt>gs @</tt></b>{MODEL}<b><tt>.upp -sOutputFile=</tt></b>{printable file}<b><tt> MyFile.ps -c quit</tt></b> 44237dd7cddfSDavid du Colombier</blockquote> 44247dd7cddfSDavid du Colombier 44257dd7cddfSDavid du Colombier<p> 44267dd7cddfSDavid du ColombierFor example, from my Linux box: 44277dd7cddfSDavid du Colombier 44287dd7cddfSDavid du Colombier<blockquote><b><tt> 44297dd7cddfSDavid du Colombiergs @stc.upp -sOutputFile=/dev/lp1 tiger.ps -c quit 44307dd7cddfSDavid du Colombier</tt></b></blockquote> 44317dd7cddfSDavid du Colombier 44327dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 44337dd7cddfSDavid du Colombier<tr><th colspan=6 bgcolor="#CCCC00"><hr><font size="+1">Unified Printer Parameter files distributed with Ghostscript</font><hr> 44347dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Canon BJC 610 (color, rendered) 44357dd7cddfSDavid du Colombier<tr valign=top> <td> 44367dd7cddfSDavid du Colombier <td><b><tt>bjc610a0.upp</tt></b> 44377dd7cddfSDavid du Colombier <td> 44387dd7cddfSDavid du Colombier <td>360×360dpi 44397dd7cddfSDavid du Colombier <td> 44407dd7cddfSDavid du Colombier <td>plain paper, high speed 44417dd7cddfSDavid du Colombier<tr valign=top> <td> 44427dd7cddfSDavid du Colombier <td><b><tt>bjc610a1.upp</tt></b> 44437dd7cddfSDavid du Colombier <td> 44447dd7cddfSDavid du Colombier <td>360×360dpi 44457dd7cddfSDavid du Colombier <td> 44467dd7cddfSDavid du Colombier <td>plain paper 44477dd7cddfSDavid du Colombier<tr valign=top> <td> 44487dd7cddfSDavid du Colombier <td><b><tt>bjc610a2.upp</tt></b> 44497dd7cddfSDavid du Colombier <td> 44507dd7cddfSDavid du Colombier <td>360×360dpi 44517dd7cddfSDavid du Colombier <td> 44527dd7cddfSDavid du Colombier <td>coated paper 44537dd7cddfSDavid du Colombier<tr valign=top> <td> 44547dd7cddfSDavid du Colombier <td><b><tt>bjc610a3.upp</tt></b> 44557dd7cddfSDavid du Colombier <td> 44567dd7cddfSDavid du Colombier <td>360×360dpi 44577dd7cddfSDavid du Colombier <td> 44587dd7cddfSDavid du Colombier <td>transparency film 44597dd7cddfSDavid du Colombier<tr valign=top> <td> 44607dd7cddfSDavid du Colombier <td><b><tt>bjc610a4.upp</tt></b> 44617dd7cddfSDavid du Colombier <td> 44627dd7cddfSDavid du Colombier <td>360×360dpi 44637dd7cddfSDavid du Colombier <td> 44647dd7cddfSDavid du Colombier <td>back print film 44657dd7cddfSDavid du Colombier<tr valign=top> <td> 44667dd7cddfSDavid du Colombier <td><b><tt>bjc610a5.upp</tt></b> 44677dd7cddfSDavid du Colombier <td> 44687dd7cddfSDavid du Colombier <td>360×360dpi 44697dd7cddfSDavid du Colombier <td> 44707dd7cddfSDavid du Colombier <td>fabric sheet 44717dd7cddfSDavid du Colombier<tr valign=top> <td> 44727dd7cddfSDavid du Colombier <td><b><tt>bjc610a6.upp</tt></b> 44737dd7cddfSDavid du Colombier <td> 44747dd7cddfSDavid du Colombier <td>360×360dpi 44757dd7cddfSDavid du Colombier <td> 44767dd7cddfSDavid du Colombier <td>glossy paper 44777dd7cddfSDavid du Colombier<tr valign=top> <td> 44787dd7cddfSDavid du Colombier <td><b><tt>bjc610a7.upp</tt></b> 44797dd7cddfSDavid du Colombier <td> 44807dd7cddfSDavid du Colombier <td>360×360dpi 44817dd7cddfSDavid du Colombier <td> 44827dd7cddfSDavid du Colombier <td>high gloss film 44837dd7cddfSDavid du Colombier<tr valign=top> <td> 44847dd7cddfSDavid du Colombier <td><b><tt>bjc610a8.upp</tt></b> 44857dd7cddfSDavid du Colombier <td> 44867dd7cddfSDavid du Colombier <td>360×360dpi 44877dd7cddfSDavid du Colombier <td> 44887dd7cddfSDavid du Colombier <td>high resolution paper 44897dd7cddfSDavid du Colombier<tr> <td> 44907dd7cddfSDavid du Colombier<tr valign=top> <td> 44917dd7cddfSDavid du Colombier <td><b><tt>bjc610b1.upp</tt></b> 44927dd7cddfSDavid du Colombier <td> 44937dd7cddfSDavid du Colombier <td>720×720dpi 44947dd7cddfSDavid du Colombier <td> 44957dd7cddfSDavid du Colombier <td>plain paper 44967dd7cddfSDavid du Colombier<tr valign=top> <td> 44977dd7cddfSDavid du Colombier <td><b><tt>bjc610b2.upp</tt></b> 44987dd7cddfSDavid du Colombier <td> 44997dd7cddfSDavid du Colombier <td>720×720dpi 45007dd7cddfSDavid du Colombier <td> 45017dd7cddfSDavid du Colombier <td>coated paper 45027dd7cddfSDavid du Colombier<tr valign=top> <td> 45037dd7cddfSDavid du Colombier <td><b><tt>bjc610b3.upp</tt></b> 45047dd7cddfSDavid du Colombier <td> 45057dd7cddfSDavid du Colombier <td>720×720dpi 45067dd7cddfSDavid du Colombier <td> 45077dd7cddfSDavid du Colombier <td>transparency film 45087dd7cddfSDavid du Colombier<tr valign=top> <td> 45097dd7cddfSDavid du Colombier <td><b><tt>bjc610b4.upp</tt></b> 45107dd7cddfSDavid du Colombier <td> 45117dd7cddfSDavid du Colombier <td>720×720dpi 45127dd7cddfSDavid du Colombier <td> 45137dd7cddfSDavid du Colombier <td>back print film 45147dd7cddfSDavid du Colombier<tr valign=top> <td> 45157dd7cddfSDavid du Colombier <td><b><tt>bjc610b6.upp</tt></b> 45167dd7cddfSDavid du Colombier <td> 45177dd7cddfSDavid du Colombier <td>720×720dpi 45187dd7cddfSDavid du Colombier <td> 45197dd7cddfSDavid du Colombier <td>glossy paper 45207dd7cddfSDavid du Colombier<tr valign=top> <td> 45217dd7cddfSDavid du Colombier <td><b><tt>bjc610b7.upp</tt></b> 45227dd7cddfSDavid du Colombier <td> 45237dd7cddfSDavid du Colombier <td>720×720dpi 45247dd7cddfSDavid du Colombier <td> 45257dd7cddfSDavid du Colombier <td>high-gloss paper 45267dd7cddfSDavid du Colombier<tr valign=top> <td> 45277dd7cddfSDavid du Colombier <td><b><tt>bjc610b8.upp</tt></b> 45287dd7cddfSDavid du Colombier <td> 45297dd7cddfSDavid du Colombier <td>720×720dpi 45307dd7cddfSDavid du Colombier <td> 45317dd7cddfSDavid du Colombier <td>high resolution paper 45327dd7cddfSDavid du Colombier<tr> <td> 45337dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>HP Ink-Printers 45347dd7cddfSDavid du Colombier<tr valign=top> <td> 45357dd7cddfSDavid du Colombier <td><b><tt>cdj550.upp</tt></b> 45367dd7cddfSDavid du Colombier <td> 45377dd7cddfSDavid du Colombier <td>300×300dpi 45387dd7cddfSDavid du Colombier <td> 45397dd7cddfSDavid du Colombier <td>32-bit CMYK 45407dd7cddfSDavid du Colombier<tr valign=top> <td> 45417dd7cddfSDavid du Colombier <td><b><tt>cdj690.upp</tt></b> 45427dd7cddfSDavid du Colombier <td> 45437dd7cddfSDavid du Colombier <td>300×300dpi 45447dd7cddfSDavid du Colombier <td> 45457dd7cddfSDavid du Colombier <td>Normal mode 45467dd7cddfSDavid du Colombier<tr valign=top> <td> 45477dd7cddfSDavid du Colombier <td><b><tt>cdj690ec.upp</tt></b> 45487dd7cddfSDavid du Colombier <td> 45497dd7cddfSDavid du Colombier <td>300×300dpi 45507dd7cddfSDavid du Colombier <td> 45517dd7cddfSDavid du Colombier <td>Economy mode 45527dd7cddfSDavid du Colombier<tr valign=top> <td> 45537dd7cddfSDavid du Colombier <td><b><tt>dnj750c.upp</tt></b> 45547dd7cddfSDavid du Colombier <td> 45557dd7cddfSDavid du Colombier <td>300×300dpi 45567dd7cddfSDavid du Colombier <td> 4557*3ff48bf5SDavid du Colombier <td>Color -- also good for 450C 45587dd7cddfSDavid du Colombier<tr valign=top> <td> 45597dd7cddfSDavid du Colombier <td><b><tt>dnj750m.upp</tt></b> 45607dd7cddfSDavid du Colombier <td> 45617dd7cddfSDavid du Colombier <td>600×600dpi 45627dd7cddfSDavid du Colombier <td> 45637dd7cddfSDavid du Colombier <td>Monochrome 45647dd7cddfSDavid du Colombier<tr> <td> 45657dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>NEC P2X 45667dd7cddfSDavid du Colombier<tr valign=top> <td> 45677dd7cddfSDavid du Colombier <td><b><tt>necp2x.upp</tt></b> 45687dd7cddfSDavid du Colombier <td> 45697dd7cddfSDavid du Colombier <td>360×360dpi 45707dd7cddfSDavid du Colombier <td> 45717dd7cddfSDavid du Colombier <td>8-bit (Floyd-Steinberg) 45727dd7cddfSDavid du Colombier<tr> <td> 45737dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Any Epson Stylus Color 45747dd7cddfSDavid du Colombier<tr valign=top> <td> 45757dd7cddfSDavid du Colombier <td><b><tt>stcany.upp</tt></b> 45767dd7cddfSDavid du Colombier <td> 45777dd7cddfSDavid du Colombier <td>360×360dpi 45787dd7cddfSDavid du Colombier <td> 45797dd7cddfSDavid du Colombier <td>4-bit, PostScript halftoning 45807dd7cddfSDavid du Colombier<tr valign=top> <td> 45817dd7cddfSDavid du Colombier <td><b><tt>stcany_h.upp</tt></b> 45827dd7cddfSDavid du Colombier <td> 45837dd7cddfSDavid du Colombier <td>720×720dpi 45847dd7cddfSDavid du Colombier <td> 45857dd7cddfSDavid du Colombier <td>4-bit, PostScript halftoning 45867dd7cddfSDavid du Colombier<tr> <td> 45877dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Original Epson Stylus and Stylus Pro Color 45887dd7cddfSDavid du Colombier<tr valign=top> <td> 45897dd7cddfSDavid du Colombier <td><b><tt>stc.upp</tt></b> 45907dd7cddfSDavid du Colombier <td> 45917dd7cddfSDavid du Colombier <td>360×360dpi 45927dd7cddfSDavid du Colombier <td> 45937dd7cddfSDavid du Colombier <td>32-bit CMYK, 15-pin 45947dd7cddfSDavid du Colombier<tr valign=top> <td> 45957dd7cddfSDavid du Colombier <td><b><tt>stc_l.upp</tt></b> 45967dd7cddfSDavid du Colombier <td> 45977dd7cddfSDavid du Colombier <td>360×360dpi 45987dd7cddfSDavid du Colombier <td> 45997dd7cddfSDavid du Colombier <td>4-bit, PostScript halftoning, weaved noWeave 46007dd7cddfSDavid du Colombier<tr valign=top> <td> 46017dd7cddfSDavid du Colombier <td><b><tt>stc_h.upp</tt></b> 46027dd7cddfSDavid du Colombier <td> 46037dd7cddfSDavid du Colombier <td>720×720dpi 46047dd7cddfSDavid du Colombier <td> 46057dd7cddfSDavid du Colombier <td>32-bit CMYK, 15-pin Weave 46067dd7cddfSDavid du Colombier<tr> <td> 46077dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color II 46087dd7cddfSDavid du Colombier<tr valign=top> <td> 46097dd7cddfSDavid du Colombier <td><b><tt>stc2.upp</tt></b> 46107dd7cddfSDavid du Colombier <td> 46117dd7cddfSDavid du Colombier <td>360×360dpi 46127dd7cddfSDavid du Colombier <td> 46137dd7cddfSDavid du Colombier <td>32-bit CMYK, 20-pin, Epson Stylus Color II(s) 46147dd7cddfSDavid du Colombier<tr valign=top> <td> 46157dd7cddfSDavid du Colombier <td><b><tt>stc2_h.upp</tt></b> 46167dd7cddfSDavid du Colombier <td> 46177dd7cddfSDavid du Colombier <td>720×720dpi 46187dd7cddfSDavid du Colombier <td> 46197dd7cddfSDavid du Colombier <td>32-bit CMYK, 20-pin, Epson Stylus Color II 46207dd7cddfSDavid du Colombier<tr valign=top> <td> 46217dd7cddfSDavid du Colombier <td><b><tt>stc2s_h.upp</tt></b> 46227dd7cddfSDavid du Colombier <td> 46237dd7cddfSDavid du Colombier <td>720×720dpi 46247dd7cddfSDavid du Colombier <td> 46257dd7cddfSDavid du Colombier <td>32-bit CMYK, 20-pin, Epson Stylus Color IIs 46267dd7cddfSDavid du Colombier<tr> <td> 46277dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color 200 46287dd7cddfSDavid du Colombier<tr valign=top> <td> 46297dd7cddfSDavid du Colombier <td><b><tt>stc200.upp</tt></b> 46307dd7cddfSDavid du Colombier <td> 46317dd7cddfSDavid du Colombier <td>360×720dpi 46327dd7cddfSDavid du Colombier <td> 46337dd7cddfSDavid du Colombier <td>Plain Paper 46347dd7cddfSDavid du Colombier<tr> <td> 4635*3ff48bf5SDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color 300 4636*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4637*3ff48bf5SDavid du Colombier <td><b><tt>stc300.upp</tt></b> 4638*3ff48bf5SDavid du Colombier <td> 4639*3ff48bf5SDavid du Colombier <td>360×360dpi 4640*3ff48bf5SDavid du Colombier <td> 4641*3ff48bf5SDavid du Colombier <td>32-bit CMYK, plain paper 4642*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4643*3ff48bf5SDavid du Colombier <td><b><tt>stc300bl.upp</tt></b> 4644*3ff48bf5SDavid du Colombier <td> 4645*3ff48bf5SDavid du Colombier <td>180×180dpi 4646*3ff48bf5SDavid du Colombier <td> 4647*3ff48bf5SDavid du Colombier <td>black only, plain paper 4648*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4649*3ff48bf5SDavid du Colombier <td><b><tt>stc300bm.upp</tt></b> 4650*3ff48bf5SDavid du Colombier <td> 4651*3ff48bf5SDavid du Colombier <td>360×360dpi 4652*3ff48bf5SDavid du Colombier <td> 4653*3ff48bf5SDavid du Colombier <td>black only, plain paper 4654*3ff48bf5SDavid du Colombier<tr> <td> 46557dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color 500 (good transfer curves for plain paper) 46567dd7cddfSDavid du Colombier<tr valign=top> <td> 46577dd7cddfSDavid du Colombier <td><b><tt>stc500p.upp</tt></b> 46587dd7cddfSDavid du Colombier <td> 46597dd7cddfSDavid du Colombier <td>360×360dpi 46607dd7cddfSDavid du Colombier <td> 46617dd7cddfSDavid du Colombier <td>32-bit CMYK, noWeave, plain paper 46627dd7cddfSDavid du Colombier<tr valign=top> <td> 46637dd7cddfSDavid du Colombier <td><b><tt>stc500ph.upp</tt></b> 46647dd7cddfSDavid du Colombier <td> 46657dd7cddfSDavid du Colombier <td>720×720dpi 46667dd7cddfSDavid du Colombier <td> 46677dd7cddfSDavid du Colombier <td>32-bit CMYK, noWeave, plain paper 46687dd7cddfSDavid du Colombier<tr> <td> 46697dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color 600, 32/90-inch weaving 46707dd7cddfSDavid du Colombier<tr valign=top> <td> 46717dd7cddfSDavid du Colombier <td><b><tt>stc600pl.upp</tt></b> 46727dd7cddfSDavid du Colombier <td> 46737dd7cddfSDavid du Colombier <td>360×360dpi 46747dd7cddfSDavid du Colombier <td> 46757dd7cddfSDavid du Colombier <td>32-bit CMYK, 32-pin, plain paper 46767dd7cddfSDavid du Colombier<tr valign=top> <td> 46777dd7cddfSDavid du Colombier <td><b><tt>stc600p.upp</tt></b> 46787dd7cddfSDavid du Colombier <td> 46797dd7cddfSDavid du Colombier <td>720×720dpi 46807dd7cddfSDavid du Colombier <td> 46817dd7cddfSDavid du Colombier <td>32-bit CMYK, 32-pin, plain paper 46827dd7cddfSDavid du Colombier<tr valign=top> <td> 46837dd7cddfSDavid du Colombier <td><b><tt>stc600ih.upp</tt></b> 46847dd7cddfSDavid du Colombier <td> 46857dd7cddfSDavid du Colombier <td>1440×720dpi 46867dd7cddfSDavid du Colombier <td> 46877dd7cddfSDavid du Colombier <td>32-bit CMYK, 30-pin, inkjet paper 46887dd7cddfSDavid du Colombier<tr> <td> 46897dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color 640 46907dd7cddfSDavid du Colombier<tr valign=top> <td> 46917dd7cddfSDavid du Colombier <td><b><tt>stc640p.upp</tt></b> 46927dd7cddfSDavid du Colombier <td> 46937dd7cddfSDavid du Colombier <td>720×720dpi 46947dd7cddfSDavid du Colombier <td> 46957dd7cddfSDavid du Colombier <td>plain paper? 4696*3ff48bf5SDavid du Colombier 4697*3ff48bf5SDavid du Colombier 4698*3ff48bf5SDavid du Colombier 4699*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4700*3ff48bf5SDavid du Colombier <td><b><tt>st640p.upp</tt></b> 4701*3ff48bf5SDavid du Colombier <td> 4702*3ff48bf5SDavid du Colombier <td>720×720dpi 4703*3ff48bf5SDavid du Colombier <td> 4704*3ff48bf5SDavid du Colombier <td>CMYK, plain paper 4705*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4706*3ff48bf5SDavid du Colombier <td><b><tt>st640pg.upp</tt></b> 4707*3ff48bf5SDavid du Colombier <td> 4708*3ff48bf5SDavid du Colombier <td>720×720dpi 4709*3ff48bf5SDavid du Colombier <td> 4710*3ff48bf5SDavid du Colombier <td>grayscale, plain paper 4711*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4712*3ff48bf5SDavid du Colombier <td><b><tt>st640pl.upp</tt></b> 4713*3ff48bf5SDavid du Colombier <td> 4714*3ff48bf5SDavid du Colombier <td>360×360dpi 4715*3ff48bf5SDavid du Colombier <td> 4716*3ff48bf5SDavid du Colombier <td>CMYK, plain paper 4717*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4718*3ff48bf5SDavid du Colombier <td><b><tt>st640plg.upp</tt></b> 4719*3ff48bf5SDavid du Colombier <td> 4720*3ff48bf5SDavid du Colombier <td>360×360dpi 4721*3ff48bf5SDavid du Colombier <td> 4722*3ff48bf5SDavid du Colombier <td>grayscale, plain paper 4723*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4724*3ff48bf5SDavid du Colombier <td><b><tt>st640ih.upp</tt></b> 4725*3ff48bf5SDavid du Colombier <td> 4726*3ff48bf5SDavid du Colombier <td>1440×720dpi 4727*3ff48bf5SDavid du Colombier <td> 4728*3ff48bf5SDavid du Colombier <td>CMYK, inkjet paper 4729*3ff48bf5SDavid du Colombier<tr valign=top> <td> 4730*3ff48bf5SDavid du Colombier <td><b><tt>st640ihg.upp</tt></b> 4731*3ff48bf5SDavid du Colombier <td> 4732*3ff48bf5SDavid du Colombier <td>1440×720dpi 4733*3ff48bf5SDavid du Colombier <td> 4734*3ff48bf5SDavid du Colombier <td>grayscale, inkjet paper 4735*3ff48bf5SDavid du Colombier 4736*3ff48bf5SDavid du Colombier 4737*3ff48bf5SDavid du Colombier 4738*3ff48bf5SDavid du Colombier 4739*3ff48bf5SDavid du Colombier 4740*3ff48bf5SDavid du Colombier 47417dd7cddfSDavid du Colombier<tr> <td> 47427dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Epson Stylus Color 800, 64/180-inch weaving 47437dd7cddfSDavid du Colombier<tr valign=top> <td> 47447dd7cddfSDavid du Colombier <td><b><tt>stc800pl.upp</tt></b> 47457dd7cddfSDavid du Colombier <td> 47467dd7cddfSDavid du Colombier <td>360×360dpi 47477dd7cddfSDavid du Colombier <td> 47487dd7cddfSDavid du Colombier <td>32-bit CMYK, 64-pin, plain paper 47497dd7cddfSDavid du Colombier<tr valign=top> <td> 47507dd7cddfSDavid du Colombier <td><b><tt>stc800p.upp</tt></b> 47517dd7cddfSDavid du Colombier <td> 47527dd7cddfSDavid du Colombier <td>720×720dpi 47537dd7cddfSDavid du Colombier <td> 47547dd7cddfSDavid du Colombier <td>32-bit CMYK, 64-pin, plain paper 47557dd7cddfSDavid du Colombier<tr valign=top> <td> 47567dd7cddfSDavid du Colombier <td><b><tt>stc800ih.upp</tt></b> 47577dd7cddfSDavid du Colombier <td> 47587dd7cddfSDavid du Colombier <td>1440×720dpi 47597dd7cddfSDavid du Colombier <td> 47607dd7cddfSDavid du Colombier <td>32-bit CMYK, 62-pin, inkjet paper 47617dd7cddfSDavid du Colombier<tr valign=top> <td> 47627dd7cddfSDavid du Colombier <td><b><tt>stc1520.upp</tt></b> 47637dd7cddfSDavid du Colombier <td> 47647dd7cddfSDavid du Colombier <td>1440×720dpi 47657dd7cddfSDavid du Colombier <td> 47667dd7cddfSDavid du Colombier <td>32-bit CMYK, 62-pin, inkjet paper 47677dd7cddfSDavid du Colombier<tr> <td> 47687dd7cddfSDavid du Colombier<tr> <th align=left colspan=6>Sun raster file 47697dd7cddfSDavid du Colombier<tr valign=top> <td> 47707dd7cddfSDavid du Colombier <td><b><tt>ras1.upp</tt></b> 47717dd7cddfSDavid du Colombier <td> 47727dd7cddfSDavid du Colombier <td>1-bit 47737dd7cddfSDavid du Colombier <td> 47747dd7cddfSDavid du Colombier <td>monochrome (Ghostscript) 47757dd7cddfSDavid du Colombier<tr valign=top> <td> 47767dd7cddfSDavid du Colombier <td><b><tt>ras3.upp</tt></b> 47777dd7cddfSDavid du Colombier <td> 47787dd7cddfSDavid du Colombier <td>3-bit 47797dd7cddfSDavid du Colombier <td> 47807dd7cddfSDavid du Colombier <td>RGB (Ghostscript) 47817dd7cddfSDavid du Colombier<tr valign=top> <td> 47827dd7cddfSDavid du Colombier <td><b><tt>ras4.upp</tt></b> 47837dd7cddfSDavid du Colombier <td> 47847dd7cddfSDavid du Colombier <td>4-bit 47857dd7cddfSDavid du Colombier <td> 47867dd7cddfSDavid du Colombier <td>CMYK (Ghostscript) 47877dd7cddfSDavid du Colombier<tr valign=top> <td> 47887dd7cddfSDavid du Colombier <td><b><tt>ras8m.upp</tt></b> 47897dd7cddfSDavid du Colombier <td> 47907dd7cddfSDavid du Colombier <td>8-bit 47917dd7cddfSDavid du Colombier <td> 47927dd7cddfSDavid du Colombier <td>grayscale (Floyd-Steinberg) 47937dd7cddfSDavid du Colombier<tr valign=top> <td> 47947dd7cddfSDavid du Colombier <td><b><tt>ras24.upp</tt></b> 47957dd7cddfSDavid du Colombier <td> 47967dd7cddfSDavid du Colombier <td>24-bit 47977dd7cddfSDavid du Colombier <td> 47987dd7cddfSDavid du Colombier <td>RGB (Floyd-Steinberg) 47997dd7cddfSDavid du Colombier<tr valign=top> <td> 48007dd7cddfSDavid du Colombier <td><b><tt>ras32.upp</tt></b> 48017dd7cddfSDavid du Colombier <td> 48027dd7cddfSDavid du Colombier <td>32-bit 48037dd7cddfSDavid du Colombier <td> 48047dd7cddfSDavid du Colombier <td>CMYK (CMYK-Floyd-Steinberg) 48057dd7cddfSDavid du Colombier</table></blockquote> 48067dd7cddfSDavid du Colombier 48077dd7cddfSDavid du Colombier<p> 4808*3ff48bf5SDavid du ColombierThanks to Danilo Beuche, Guido Classen, Mark Goldberg and Hans-Heinrich 4809*3ff48bf5SDavid du ColombierViehmann for providing the files for the stc200, hp690, stc500 and the 4810*3ff48bf5SDavid du Colombierstc640. Thanks to Michael Lossin <losse@germanymail.com> for the 4811*3ff48bf5SDavid du Colombiernewer st640 parameter sets. 48127dd7cddfSDavid du Colombier 48137dd7cddfSDavid du Colombier<p> 48147dd7cddfSDavid du ColombierPlease note the following: 48157dd7cddfSDavid du Colombier 48167dd7cddfSDavid du Colombier<blockquote><ul> 48177dd7cddfSDavid du Colombier<li>Changing the resolution with Ghostscript's 48187dd7cddfSDavid du Colombier<a href="Use.htm#Resolution_switch"><b><tt>-r</tt></b> switch</a> is 48197dd7cddfSDavid du Colombierusually not possible. 48207dd7cddfSDavid du Colombier<li>For Epson Stylus Color models not listed above, the two 48217dd7cddfSDavid du Colombier<b><tt>stc500</tt></b> variants are likely to work in addition to 48227dd7cddfSDavid du Colombier<b><tt>stcany</tt></b>, but their gamma correction might be wrong. 48237dd7cddfSDavid du Colombier</ul></blockquote> 48247dd7cddfSDavid du Colombier 4825*3ff48bf5SDavid du Colombier<h3><a name="Uni_state"></a>The state of this driver</h3> 48267dd7cddfSDavid du Colombier 48277dd7cddfSDavid du Colombier<p> 48287dd7cddfSDavid du ColombierThe coding of <b><tt>uniprint</tt></b> was triggered by the requirements of 48297dd7cddfSDavid du Colombierthe various Stylus Color models and some personal needs for HP and NEC 48307dd7cddfSDavid du Colombierdrivers. Thus the Epson models are well represented among the distributed 48317dd7cddfSDavid du Colombierparameter files. When this driver entered the beta test phase, three other 48327dd7cddfSDavid du Colombierdrivers appreared on the scene that could be at least partially integrated 48337dd7cddfSDavid du Colombierinto <b><tt>uniprint</tt></b>: <b><tt>cdj850</tt></b> by Uli Wortmann 48347dd7cddfSDavid du Colombier(available at <a href="http://www.erdw.ethz.ch/~bonk/hp850/hp850.html">http://www.erdw.ethz.ch/~bonk/hp850/hp850.html</a>), 48357dd7cddfSDavid du Colombier<b><tt>hpdj</tt></b> by Martin Lottermoser, and <b><tt>bjc610</tt></b> by 48367dd7cddfSDavid du ColombierHelmut Riegler. 48377dd7cddfSDavid du Colombier 48387dd7cddfSDavid du Colombier<p> 48397dd7cddfSDavid du ColombierUli addresses features of the more recent DeskJet models that will not be 48407dd7cddfSDavid du Colombieravailable in <b><tt>uniprint</tt></b> soon. Martin taught me a lesson on 48417dd7cddfSDavid du ColombierHP-PCL3 headers that will be available in <b><tt>uniprint</tt></b> 48427dd7cddfSDavid du Colombiersoon. Helmut in turn followed an almost similar idea, but targetted 48437dd7cddfSDavid du Colombierprimarily for printing on Canon printers from the pbmplus library. Starting 48447dd7cddfSDavid du Colombierwith version 1.68 of uniprint, BJC support is available. Work on the 48457dd7cddfSDavid du Colombier<b><tt>hpdj</tt></b> integration will start after the update of my website. 48467dd7cddfSDavid du Colombier 4847*3ff48bf5SDavid du Colombier<h3><a name="Uni_background"></a>Notes on <b><tt>uniprint</tt></b>'s background</h3> 48487dd7cddfSDavid du Colombier 48497dd7cddfSDavid du Colombier<p> 48507dd7cddfSDavid du Colombier<b><tt>uniprint</tt></b> is actually an update of <b><tt>stcolor</tt></b>, 48517dd7cddfSDavid du Colombierbut much more versatile than its predecessor; <b><tt>stcolor</tt></b>, in 48527dd7cddfSDavid du Colombierits turn, started as a clone of the color DeskJet family of drivers 48537dd7cddfSDavid du Colombier(<b><tt>cdj</tt></b>*). Finally, <b><tt>cdj</tt></b>* can be considered an 48547dd7cddfSDavid du Colombieraddition of features to the simpler monochrome drivers of Ghostscript. This 48557dd7cddfSDavid du Colombieraddition of features is useful to get an idea of the functionality of 48567dd7cddfSDavid du Colombier<b><tt>uniprint</tt></b>: 48577dd7cddfSDavid du Colombier 48587dd7cddfSDavid du Colombier<blockquote> 48597dd7cddfSDavid du Colombier<dl> 48607dd7cddfSDavid du Colombier<dt>Monochrome to advanced color (<b><tt>cdj</tt></b>*): 48617dd7cddfSDavid du Colombier<dd>This adds color mapping and rendering functions to the driver. 48627dd7cddfSDavid du ColombierError diffusion is especially important for the quality of printing. 48637dd7cddfSDavid du Colombier</dl> 48647dd7cddfSDavid du Colombier 48657dd7cddfSDavid du Colombier<dl> 48667dd7cddfSDavid du Colombier<dt>HP color to Epson Color (<b><tt>stcolor</tt></b>) 48677dd7cddfSDavid du Colombier<dd>The Epson Stylus Color offered two features simultaneously: it could 48687dd7cddfSDavid du Colombierproduce 720×720dpi output and it could soak the paper. In other 48697dd7cddfSDavid du Colombierwords, it required more color management features inside the driver. This 48707dd7cddfSDavid du Colombieris still the major conceptual difference in the data generation for HP and 48717dd7cddfSDavid du ColombierEpson printers. 48727dd7cddfSDavid du Colombier</dl> 48737dd7cddfSDavid du Colombier 48747dd7cddfSDavid du Colombier<dl> 48757dd7cddfSDavid du Colombier<dt>Weaving techniques (<b><tt>stcolor</tt></b>) 48767dd7cddfSDavid du Colombier<dd>Besides the internal color management, the Stylus Color did not provide 48777dd7cddfSDavid du Colombierenough buffer space to operate the printer fast at 720×720dpi. The 48787dd7cddfSDavid du Colombieruse of weaving could yield triple the print speed. Weaving, also called 48797dd7cddfSDavid du Colombierinterleaving, is present in some monochrome drivers too. The new thing in 48807dd7cddfSDavid du Colombier<b><tt>stcolor</tt></b> was the combination with error diffusion. 48817dd7cddfSDavid du ColombierUnfortunately the weaving was somehow hard-coded, as the problems with the 48827dd7cddfSDavid du Colombiernewer members of the Stylus Color family of printers demonstrated. 48837dd7cddfSDavid du Colombier</dl> 48847dd7cddfSDavid du Colombier 48857dd7cddfSDavid du Colombier<dl> 48867dd7cddfSDavid du Colombier<dt>Generalized output format and weaving (<b><tt>uniprint</tt></b>) 48877dd7cddfSDavid du Colombier<dd>The features mentioned above yield about 90% of 48887dd7cddfSDavid du Colombier<b><tt>stcolor</tt></b>'s source code; only 10% is related to the 48897dd7cddfSDavid du Colombierformatting of the output. The idea to make the output format switchable 48907dd7cddfSDavid du Colombiercame up soon after completing <b><tt>stcolor</tt></b>, but its final design 48917dd7cddfSDavid du Colombierwas triggered by the (personal) necessity to drive a NEC P2X and a 48927dd7cddfSDavid du ColombierDesignjet 750c. 48937dd7cddfSDavid du Colombier</dl></blockquote> 48947dd7cddfSDavid du Colombier 48957dd7cddfSDavid du Colombier<p> 48967dd7cddfSDavid du ColombierThus <b><tt>uniprint</tt></b> accumulates almost any features that can be 48977dd7cddfSDavid du Colombierfound among the other printer drivers, which clearly has some disadvantage 48987dd7cddfSDavid du Colombierin processing speed -- true in particular of version 1.75, since it was 48997dd7cddfSDavid du Colombiertargetted for functionality, and several speed-gaining features were 49007dd7cddfSDavid du Colombier(knowingly) omitted. 49017dd7cddfSDavid du Colombier 49027dd7cddfSDavid du Colombier<p> 49037dd7cddfSDavid du ColombierTo summarize and to introduce the terms used in the description of the 49047dd7cddfSDavid du Colombierparameters, the features of <b><tt>uniprint</tt></b> that can be 49057dd7cddfSDavid du Colombierparameterized are: 49067dd7cddfSDavid du Colombier 49077dd7cddfSDavid du Colombier<blockquote><ul> 49087dd7cddfSDavid du Colombier<li>color mapping, 49097dd7cddfSDavid du Colombier<li>color rendering (error diffusion or Floyd-Steinberg), 49107dd7cddfSDavid du Colombier<li>output format, including 49117dd7cddfSDavid du Colombier<li>weaving. 49127dd7cddfSDavid du Colombier</ul></blockquote> 49137dd7cddfSDavid du Colombier 4914*3ff48bf5SDavid du Colombier<h3><a name="Uni_make_pfile"></a>Godzilla's guide to the creation of Unified Printer Parameter (<b><tt>.upp</tt></b>) files</h3> 49157dd7cddfSDavid du Colombier 49167dd7cddfSDavid du Colombier<p> 49177dd7cddfSDavid du ColombierHere is one of the distributed parameter files (<b><tt>stc_l.upp</tt></b>) 49187dd7cddfSDavid du Colombierwith some added comments. Also see the section that describes 49197dd7cddfSDavid du Colombier<a href="#Uni_all_parameters">all <b><tt>uniprint</tt></b>'s parameters in 49207dd7cddfSDavid du Colombierbrief</a>. 49217dd7cddfSDavid du Colombier 49227dd7cddfSDavid du Colombier<pre> 49237dd7cddfSDavid du Colombier-supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave" 49247dd7cddfSDavid du Colombier-sDEVICE=uniprint -- Select the driver 49257dd7cddfSDavid du Colombier-dNOPAUSE -- Useful with printers 49267dd7cddfSDavid du Colombier-dSAFER -- Provides some security 49277dd7cddfSDavid du Colombier-dupColorModel=/DeviceCMYK -- Selects the color mapping 49287dd7cddfSDavid du Colombier-dupRendering=/ErrorDiffusion -- Selects the color rendering 49297dd7cddfSDavid du Colombier-dupOutputFormat=/EscP2 -- Selects the output format 49307dd7cddfSDavid du Colombier-r360x360 -- Adjusts the resolution 49317dd7cddfSDavid du Colombier-dupMargins="{ 9.0 39.96 9.0 9.0}" -- Establishes (L/B/R/T margins in points) 49327dd7cddfSDavid du Colombier-dupComponentBits="{1 1 1 1}" -- Map: bits per component (default: 8) 49337dd7cddfSDavid du Colombier-dupWeaveYPasses=4 -- Weave: Y-passes (default: 1) 49347dd7cddfSDavid du Colombier-dupOutputPins=15 -- Format/weave: scans per Command 49357dd7cddfSDavid du Colombier-dupBeginPageCommand="< -- Goes to the printer 49367dd7cddfSDavid du Colombier 1b40 1b40 -- ESC '@' ESC '@' -> dual reset 49377dd7cddfSDavid du Colombier 1b2847 0100 01 -- ESC '(' 'G' 1 0 1 -> graphics 49387dd7cddfSDavid du Colombier 1b2869 0100 00 -- ESC '(' 'i' 1 0 1 -> no HW weave 49397dd7cddfSDavid du Colombier 1b2855 0100 0A -- ESC '(' 'U' 1 0 10 -> 360dpi 49407dd7cddfSDavid du Colombier 1b5500 -- ESC 'U' 0 -> bidir print 49417dd7cddfSDavid du Colombier 1b2843 0200 0000 -- ESC '(' 'C' 2 0 xx -> page length 49427dd7cddfSDavid du Colombier 1b2863 0400 0000 0000 -- ESC '(' 'c' 4 0 xxxx -> margins 49437dd7cddfSDavid du Colombier>" -- as it is, unless: 49447dd7cddfSDavid du Colombier-dupAdjustPageLengthCommand -- Adjust page length in BOP requested 49457dd7cddfSDavid du Colombier-dupAdjustTopMarginCommand -- Adjust top margin in BOP 49467dd7cddfSDavid du Colombier-dupAdjustBottomMarginCommand -- Adjust bottom margin in BOP 49477dd7cddfSDavid du Colombier-dupEndPageCommand="(\033@\014)" -- Last (but one) data to the printer 49487dd7cddfSDavid du Colombier-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" 49497dd7cddfSDavid du Colombier</pre> 49507dd7cddfSDavid du Colombier 49517dd7cddfSDavid du Colombier<p> 49527dd7cddfSDavid du ColombierThat's short, and if one removes <b><tt>upWeaveYPasses</tt></b> and 49537dd7cddfSDavid du Colombier<b><tt>upOutputPins</tt></b> it becomes shorter, almost 49547dd7cddfSDavid du Colombier<b><tt>stcany.upp</tt></b>. This miniature size is because I am most 49557dd7cddfSDavid du Colombierfamiliar with ESC/P2, and was able to add defaults for the omitted 49567dd7cddfSDavid du Colombierparameters. Now a few notes about the parameters used in this example: 49577dd7cddfSDavid du Colombier 49587dd7cddfSDavid du Colombier<ul> 49597dd7cddfSDavid du Colombier<li><b><tt>upModel</tt></b> is a string serving as a comment (and nothing else). 49607dd7cddfSDavid du Colombier 49617dd7cddfSDavid du Colombier<li><a href="Use.htm#Output_device"><b><tt>DEVICE</tt></b></a>, 49627dd7cddfSDavid du Colombier<a href="Use.htm#NoPause"><b><tt>NOPAUSE</tt></b></a>, <a 49637dd7cddfSDavid du Colombierhref="Use.htm#Safer"><b><tt>SAFER</tt></b></a> are well-known Ghostscript 49647dd7cddfSDavid du Colombierparameters described in the <a href="Use.htm">usage documentation</a>. 49657dd7cddfSDavid du Colombier 49667dd7cddfSDavid du Colombier<li><b><tt>upColorModel</tt></b> is one of major <b><tt>uniprint</tt></b> 49677dd7cddfSDavid du Colombierparameters: it selects the color mapping and in turn the PostScript color 49687dd7cddfSDavid du Colombiermodel. It supports the devices <b><tt>/DeviceGray</tt></b>, <b><tt>/DeviceRGBW</tt></b>, <b><tt>/DeviceRGB</tt></b>, <b><tt>/DeviceCMYK</tt></b>, and <b><tt>/DeviceCMYKgenerate</tt></b>. 49697dd7cddfSDavid du Colombier 49707dd7cddfSDavid du Colombier<li><b><tt>upRendering</tt></b> selects the (color) rendering, supporting 49717dd7cddfSDavid du Colombierthe values <b><tt>/ErrorDiffusion</tt></b> and <b><tt>/FSCMYK32</tt></b>. 49727dd7cddfSDavid du Colombier<b><tt>/ErrorDiffusion</tt></b> is similar to <b><tt>fsmono</tt></b>, 49737dd7cddfSDavid du Colombier<b><tt>fsrgb</tt></b> and <b><tt>fsx4</tt></b> of <b><tt>stcolor</tt></b>, 49747dd7cddfSDavid du Colombierwhile <b><tt>/FSCMYK32</tt></b> is (almost) identical to 49757dd7cddfSDavid du Colombier<b><tt>fscmyk</tt></b> and <b><tt>hscmyk</tt></b>, but is restricted to 49767dd7cddfSDavid du Colombier32-bit data and should be used in conjunction with 49777dd7cddfSDavid du Colombier<b><tt>/DeviceCMYKgenerate</tt></b>. 49787dd7cddfSDavid du Colombier 49797dd7cddfSDavid du Colombier<li><b><tt>upOutputFormat</tt></b> selects the output method, supporting the values 49807dd7cddfSDavid du Colombier<b><tt>/SunRaster</tt></b>, <b><tt>/Epson</tt></b>, <b><tt>/EscP2</tt></b>, <b><tt>/EscP2XY</tt></b>, and<b><tt>/Pcl</tt></b>. 49817dd7cddfSDavid du Colombier 49827dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 49837dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>/SunRaster</tt></b> 49847dd7cddfSDavid du Colombier <td> 49857dd7cddfSDavid du Colombier <td>creates Sun raster files and requires no other parameters 49867dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>/Epson</tt></b> 49877dd7cddfSDavid du Colombier <td> 49887dd7cddfSDavid du Colombier <td>is used for the elderly ESC/P format (used by many printers) 49897dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>/EscP2</tt></b> 49907dd7cddfSDavid du Colombier <td> 49917dd7cddfSDavid du Colombier <td>is used by more recent Epson printers (no X weaving supported) 49927dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>/EscP2XY</tt></b> 49937dd7cddfSDavid du Colombier <td> 49947dd7cddfSDavid du Colombier <td>supports X-Weaving, used with 1440dpi printers and in <b><tt>stc2s_h</tt></b> 49957dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>/Pcl</tt></b> 49967dd7cddfSDavid du Colombier <td> 49977dd7cddfSDavid du Colombier <td>HP PCL/RTL-style output formatter without weaving 49987dd7cddfSDavid du Colombier</table></blockquote> 49997dd7cddfSDavid du Colombier 50007dd7cddfSDavid du Colombier<li><b><tt>-r360x360</tt></b> is Ghostscript's standard 50017dd7cddfSDavid du Colombier<a href="Use.htm#Resolution_switch">resolution switch</a>. 50027dd7cddfSDavid du Colombier 50037dd7cddfSDavid du Colombier<li><b><tt>upMargins="{ 9.0 39.96 9.0 9.0}"</tt></b> 50047dd7cddfSDavid du Colombierhas function similar to the Ghostscript parameter 50057dd7cddfSDavid du Colombier<b><tt>.HWMargins</tt></b>: it sets the left, bottom, right, and top 50067dd7cddfSDavid du Colombiermargins in points. <b><tt>uniprint</tt></b> provides this parameter to 50077dd7cddfSDavid du Colombierenable automatic left-right exchange if <b><tt>upYFlip</tt></b> is active. 50087dd7cddfSDavid du Colombier 50097dd7cddfSDavid du Colombier<li><b><tt>upComponentBits</tt></b> is an array of integers that selects 50107dd7cddfSDavid du Colombierthe bits stored in raster memory, by default 8 bits per component. In this 50117dd7cddfSDavid du Colombierexample, 1 bit is selected for each component, thus turning down the 50127dd7cddfSDavid du ColombierFloyd-Steinberg algorithm (but still carrying out the time-consuming 50137dd7cddfSDavid du Colombiercomputation). The related parameter "<b><tt>upComponentShift</tt></b>" 50147dd7cddfSDavid du Colombiercontrols positioning the components within raster memory. Each of the 50157dd7cddfSDavid du Colombiernumbers given corresponds to a component which depends on the selected 50167dd7cddfSDavid du Colombier"<b><tt>upColorModel</tt></b>": 50177dd7cddfSDavid du Colombier 50187dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 50197dd7cddfSDavid du Colombier<tr valign=top> <td align=center> 50207dd7cddfSDavid du Colombier <td> 50217dd7cddfSDavid du Colombier <td align=center><b><tt>/DeviceGray</tt></b> 50227dd7cddfSDavid du Colombier <td> 50237dd7cddfSDavid du Colombier <td align=center><b><tt>/DeviceRGBW</tt></b> 50247dd7cddfSDavid du Colombier <td> 50257dd7cddfSDavid du Colombier <td align=center><b><tt>/DeviceRGB</tt></b> 50267dd7cddfSDavid du Colombier <td> 50277dd7cddfSDavid du Colombier <td align=center><b><tt>/DeviceCMYK</tt></b> 50287dd7cddfSDavid du Colombier <td> 50297dd7cddfSDavid du Colombier <td align=center><b><tt>/DeviceCMYKgenerate</tt></b> 50307dd7cddfSDavid du Colombier<tr> <td colspan=11><hr> 50317dd7cddfSDavid du Colombier<tr valign=top> <td align=center>0 50327dd7cddfSDavid du Colombier <td> 50337dd7cddfSDavid du Colombier <td align=center>White 50347dd7cddfSDavid du Colombier <td> 50357dd7cddfSDavid du Colombier <td align=center>White 50367dd7cddfSDavid du Colombier <td> 50377dd7cddfSDavid du Colombier <td align=center>Red 50387dd7cddfSDavid du Colombier <td> 50397dd7cddfSDavid du Colombier <td align=center>Black 50407dd7cddfSDavid du Colombier <td> 50417dd7cddfSDavid du Colombier <td align=center>Black 50427dd7cddfSDavid du Colombier<tr valign=top> <td align=center>1 50437dd7cddfSDavid du Colombier <td> 50447dd7cddfSDavid du Colombier <td align=center>-- 50457dd7cddfSDavid du Colombier <td> 50467dd7cddfSDavid du Colombier <td align=center>Red 50477dd7cddfSDavid du Colombier <td> 50487dd7cddfSDavid du Colombier <td align=center>Green 50497dd7cddfSDavid du Colombier <td> 50507dd7cddfSDavid du Colombier <td align=center>Cyan 50517dd7cddfSDavid du Colombier <td> 50527dd7cddfSDavid du Colombier <td align=center>Cyan 50537dd7cddfSDavid du Colombier<tr valign=top> <td align=center>2 50547dd7cddfSDavid du Colombier <td> 50557dd7cddfSDavid du Colombier <td align=center>-- 50567dd7cddfSDavid du Colombier <td> 50577dd7cddfSDavid du Colombier <td align=center>Green 50587dd7cddfSDavid du Colombier <td> 50597dd7cddfSDavid du Colombier <td align=center>Blue 50607dd7cddfSDavid du Colombier <td> 50617dd7cddfSDavid du Colombier <td align=center>Magenta 50627dd7cddfSDavid du Colombier <td> 50637dd7cddfSDavid du Colombier <td align=center>Magenta 50647dd7cddfSDavid du Colombier<tr valign=top> <td align=center>3 50657dd7cddfSDavid du Colombier <td> 50667dd7cddfSDavid du Colombier <td align=center>-- 50677dd7cddfSDavid du Colombier <td> 50687dd7cddfSDavid du Colombier <td align=center>Blue 50697dd7cddfSDavid du Colombier <td> 50707dd7cddfSDavid du Colombier <td align=center>-- 50717dd7cddfSDavid du Colombier <td> 50727dd7cddfSDavid du Colombier <td align=center>Yellow 50737dd7cddfSDavid du Colombier <td> 50747dd7cddfSDavid du Colombier <td align=center>Yellow 50757dd7cddfSDavid du Colombier</table> 50767dd7cddfSDavid du Colombier 50777dd7cddfSDavid du Colombier<p> 50787dd7cddfSDavid du ColombierThis order may not be suitable for some printers, so another parameter 50797dd7cddfSDavid du Colombier"<b><tt>upOutputComponentOrder</tt></b>", also an array of integers, 50807dd7cddfSDavid du Colombierselects the output order using the numbers on the left. 50817dd7cddfSDavid du Colombier</blockquote> 50827dd7cddfSDavid du Colombier 50837dd7cddfSDavid du Colombier<p> 50847dd7cddfSDavid du ColombierOne group of very important parameters not used in the example above 50857dd7cddfSDavid du Colombierdeserves to be mentioned here: the transfer arrays, named 50867dd7cddfSDavid du Colombier"<b><tt>up</tt><em>{color}</em><tt>Transfer</tt></b>", where 50877dd7cddfSDavid du Colombier<b><em>{color}</em></b> is one of the names in the table above. These are 50887dd7cddfSDavid du Colombierarrays of floats in the range 0.0 - 1.0 representing the color transfer 50897dd7cddfSDavid du Colombierfunctions. They are used during mapping and rendering. In the simplest 50907dd7cddfSDavid du Colombiercase, these arrays ensure an equidistant distribution of the stored values 50917dd7cddfSDavid du Colombierwithin the device space (which means a nonlinear mapping from Ghostscript's 50927dd7cddfSDavid du Colombierpoint of view). If the given array does not cover the entire range from 0 50937dd7cddfSDavid du Colombierto 1, which applies for the Stylus Color family at high resolution for some 50947dd7cddfSDavid du Colombiermedia, only the relevant part gets mapped to raster memory (meaning that 50957dd7cddfSDavid du Colombieris's fully utilized) and the rendering takes care of the "overhang" (in 50967dd7cddfSDavid du Colombierthis case the post-diffusion of 1-bit components makes sense). 50977dd7cddfSDavid du Colombier 50987dd7cddfSDavid du Colombier<p> 50997dd7cddfSDavid du ColombierFinally an important note on the transfer arrays: for monochrome devices 51007dd7cddfSDavid du Colombierthe stored component is <b><tt>White</tt></b>, which is the way PostScript 51017dd7cddfSDavid du Colombierdefines these devices, but most printers require <b><tt>Black</tt></b>. 51027dd7cddfSDavid du ColombierThus one has to provide a falling "<b><tt>upWhiteTransfer</tt></b>" for 51037dd7cddfSDavid du Colombiersuch printers. 51047dd7cddfSDavid du Colombier 51057dd7cddfSDavid du Colombier<li><b><tt>upWeaveYPasses</tt></b> is an integer that gives the number of 51067dd7cddfSDavid du Colombierprint head passes required to achieve the requested Ydpi. This makes sense 51077dd7cddfSDavid du Colombieronly if 51087dd7cddfSDavid du Colombier 51097dd7cddfSDavid du Colombier<li><b><tt>upOutputPins</tt></b> is set to something greater than 1. Thus 51107dd7cddfSDavid du Colombiermultiple pins or nozzles are transferred with a single command, and of 51117dd7cddfSDavid du Colombiercourse such a command must be supported by the device. 51127dd7cddfSDavid du Colombier 51137dd7cddfSDavid du Colombier</ul> 51147dd7cddfSDavid du Colombier 51157dd7cddfSDavid du Colombier<p> 51167dd7cddfSDavid du ColombierIf no other weave parameters are given, <b><tt>uniprint</tt></b> computes 51177dd7cddfSDavid du Colombierseveral defaults which together do no weaving. The <b><tt>/Epson</tt></b> 51187dd7cddfSDavid du Colombierand <b><tt>/EscP2XY</tt></b> formats take care of 51197dd7cddfSDavid du Colombier"<b><tt>upWeaveXPasses</tt></b>" too. 51207dd7cddfSDavid du Colombier 51217dd7cddfSDavid du Colombier<ul> 51227dd7cddfSDavid du Colombier 51237dd7cddfSDavid du Colombier<li><b><tt>upBeginPageCommand</tt></b> represents the data transferred to 51247dd7cddfSDavid du Colombierthe printer whenever a new page begins. Before that, 51257dd7cddfSDavid du Colombier"<b><tt>upBeginJobCommand</tt></b>" is written to the device only once per 51267dd7cddfSDavid du Colombieroutput file. (Intended for the HP PJL sequences). 51277dd7cddfSDavid du Colombier 51287dd7cddfSDavid du Colombier<li><b><tt>upAdjustBottomMarginCommand</tt></b>, 51297dd7cddfSDavid du Colombier<b><tt>upAdjustMediaSize</tt></b>, 51307dd7cddfSDavid du Colombier<b><tt>upAdjustPageLengthCommand</tt></b>, 51317dd7cddfSDavid du Colombier<b><tt>upAdjustPageWidthCommand</tt></b>, 51327dd7cddfSDavid du Colombier<b><tt>upAdjustResolutionCommand</tt></b>, and 51337dd7cddfSDavid du Colombier<b><tt>upAdjustTopMarginCommand</tt></b> 51347dd7cddfSDavid du Colombier 51357dd7cddfSDavid du Colombier<p> 51367dd7cddfSDavid du ColombierNormally <b><tt>uniprint</tt></b> does not change the 51377dd7cddfSDavid du Colombier"<b><tt>upBeginPageCommand</tt></b>", nor does it provide a default. 51387dd7cddfSDavid du ColombierHowever, if the above boolean values are set, the corresponding values are 51397dd7cddfSDavid du Colombierchanged (provided that the code of the formatters supports this change and 51407dd7cddfSDavid du Colombierthe commands to be adjusted are included in the BOP string). 51417dd7cddfSDavid du Colombier 51427dd7cddfSDavid du Colombier<li><b><tt>upEndPageCommand</tt></b> is the fixed termination sequence for 51437dd7cddfSDavid du Colombiereach page, and of course there is an "<b><tt>upEndJobCommand</tt></b>" too. 51447dd7cddfSDavid du Colombier 51457dd7cddfSDavid du Colombier<li><b><tt>upAbortCommand</tt></b> is written if <b><tt>uniprint</tt></b>'s 51467dd7cddfSDavid du Colombierinterrupt detection is enabled and a signal is caught. It replaces 51477dd7cddfSDavid du Colombier"<b><tt>upEndPageCommand</tt></b>" and "<b><tt>upEndJobCommand</tt></b>", 51487dd7cddfSDavid du Colombierthus allowing the indication of an aborted job. (Ghostscript gets an error 51497dd7cddfSDavid du Colombierreturn from <b><tt>uniprint</tt></b> in this case, and abandons further 51507dd7cddfSDavid du Colombierprocessing.) 51517dd7cddfSDavid du Colombier 51527dd7cddfSDavid du Colombier</ul> 51537dd7cddfSDavid du Colombier 51547dd7cddfSDavid du Colombier<p> 51557dd7cddfSDavid du ColombierFor the ESC/P(2) formats all commands represent binary data, while for 51567dd7cddfSDavid du Colombierthe PCL/RTL formatter some of them are formats for <b><tt>fprintf</tt></b>. These strings 51577dd7cddfSDavid du Colombier<b><em>must</em></b> explicitly have a trailing "\0'. 51587dd7cddfSDavid du Colombier 51597dd7cddfSDavid du Colombier<p> 51607dd7cddfSDavid du ColombierI should write more, but the only recommendation is to 51617dd7cddfSDavid du Colombiertake a look at the various parameter files. Here are a few more hints. 51627dd7cddfSDavid du Colombier 51637dd7cddfSDavid du Colombier<ul> 51647dd7cddfSDavid du Colombier<li>If the Driver rejects a configuration, nothing happens until 51657dd7cddfSDavid du Colombier<b><tt>showpage</tt></b>; then an error is raised and a message with 51667dd7cddfSDavid du Colombier"CALL-REJECTED upd_print_page..." is printed on stderr. 51677dd7cddfSDavid du Colombier 51687dd7cddfSDavid du Colombier<li><b><tt>uniprint</tt></b> has lots of messages that can be activated by 51697dd7cddfSDavid du Colombiersetting bits in the preprocessor macro <b><tt>UPD_MESSAGES</tt></b>. I 51707dd7cddfSDavid du Colombierusually use the compile-time option <b><tt>-DUPD_MESSAGES=0x17</tt></b> for 51717dd7cddfSDavid du Colombierconfiguration development. (For the semantics, check the 51727dd7cddfSDavid du Colombier<b><tt>UPD_M_</tt></b> macros in the source.) 51737dd7cddfSDavid du Colombier 51747dd7cddfSDavid du Colombier<li>A program "<b><tt>uninfo.ps</tt></b>" distributed with Ghostscript 51757dd7cddfSDavid du Colombierdisplays interactively in alphabetical order the contents of the current 51767dd7cddfSDavid du Colombierpagedevice dictionary. This includes any parameters generated or changed by 51777dd7cddfSDavid du Colombier<b><tt>uniprint</tt></b>. 51787dd7cddfSDavid du Colombier</ul> 51797dd7cddfSDavid du Colombier 5180*3ff48bf5SDavid du Colombier<h3><a name="Uni_all_parameters"></a>All parameters in brief</h3> 51817dd7cddfSDavid du Colombier 51827dd7cddfSDavid du Colombier<p> 51837dd7cddfSDavid du ColombierThis table gives a brief explanation of every parameter known to 51847dd7cddfSDavid du Colombier<b><tt>uniprint</tt></b>, listing them in alphabetical order. "[ ]" 51857dd7cddfSDavid du Colombierdenotes that a parameter is an array, and "(RO)" that it is read-only. 51867dd7cddfSDavid du Colombier 51877dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0> 51887dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1">All <b><tt>uniprint</tt></b> parameters</font><hr> 51897dd7cddfSDavid du Colombier<tr valign=bottom> 51907dd7cddfSDavid du Colombier <th align=left>Parameter 51917dd7cddfSDavid du Colombier <td> 51927dd7cddfSDavid du Colombier <th align=left>Type 51937dd7cddfSDavid du Colombier <td> 51947dd7cddfSDavid du Colombier <th align=left>Use 51957dd7cddfSDavid du Colombier<tr> <td colspan=5><hr> 51967dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAbortCommand</tt></b> 51977dd7cddfSDavid du Colombier <td> 51987dd7cddfSDavid du Colombier <td>String 51997dd7cddfSDavid du Colombier <td> 52007dd7cddfSDavid du Colombier <td>End of page and file on interrupt 52017dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAdjustBottomMarginCommand</tt></b> 52027dd7cddfSDavid du Colombier <td> 52037dd7cddfSDavid du Colombier <td>Bool 52047dd7cddfSDavid du Colombier <td> 52057dd7cddfSDavid du Colombier <td>Manipulate bottom margin in <b><tt>upBeginPageCommand</tt></b> 52067dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAdjustMediaSizeCommand</tt></b> 52077dd7cddfSDavid du Colombier <td> 52087dd7cddfSDavid du Colombier <td>Bool 52097dd7cddfSDavid du Colombier <td> 52107dd7cddfSDavid du Colombier <td>Manipulate <b><tt>Mediasize</tt></b> [intended] 52117dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAdjustPageLengthCommand</tt></b> 52127dd7cddfSDavid du Colombier <td> 52137dd7cddfSDavid du Colombier <td>Bool 52147dd7cddfSDavid du Colombier <td> 52157dd7cddfSDavid du Colombier <td>Manipulate page length in <b><tt>upBeginPageCommand</tt></b> 52167dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAdjustPageWidthCommand</tt></b> 52177dd7cddfSDavid du Colombier <td> 52187dd7cddfSDavid du Colombier <td>Bool 52197dd7cddfSDavid du Colombier <td> 52207dd7cddfSDavid du Colombier <td>Manipulate page width in <b><tt>upBeginPageCommand</tt></b> 52217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAdjustResolutionCommand</tt></b> 52227dd7cddfSDavid du Colombier <td> 52237dd7cddfSDavid du Colombier <td>Bool 52247dd7cddfSDavid du Colombier <td> 52257dd7cddfSDavid du Colombier <td>Manipulate resolution 52267dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upAdjustTopMarginCommand</tt></b> 52277dd7cddfSDavid du Colombier <td> 52287dd7cddfSDavid du Colombier <td>Bool 52297dd7cddfSDavid du Colombier <td> 52307dd7cddfSDavid du Colombier <td>Manipulate top margin in <b><tt>upBeginPageCommand</tt></b> 52317dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upBeginJobCommand</tt></b> 52327dd7cddfSDavid du Colombier <td> 52337dd7cddfSDavid du Colombier <td>String 52347dd7cddfSDavid du Colombier <td> 52357dd7cddfSDavid du Colombier <td>Begin each output file 52367dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upBeginPageCommand</tt></b> 52377dd7cddfSDavid du Colombier <td> 52387dd7cddfSDavid du Colombier <td>String 52397dd7cddfSDavid du Colombier <td> 52407dd7cddfSDavid du Colombier <td>Begin each page 52417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upBlackTransfer</tt></b> 52427dd7cddfSDavid du Colombier <td> 52437dd7cddfSDavid du Colombier <td>Float[ ] 52447dd7cddfSDavid du Colombier <td> 52457dd7cddfSDavid du Colombier <td>Black transfer (CMYK only!) 52467dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upBlueTransfer</tt></b> 52477dd7cddfSDavid du Colombier <td> 52487dd7cddfSDavid du Colombier <td>Float[ ] 52497dd7cddfSDavid du Colombier <td> 52507dd7cddfSDavid du Colombier <td>Blue transfer 52517dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upColorInfo</tt></b> 52527dd7cddfSDavid du Colombier <td> 52537dd7cddfSDavid du Colombier <td>Int[ ] 52547dd7cddfSDavid du Colombier <td> 52557dd7cddfSDavid du Colombier <td>struct <b><tt>gx_device_color_info</tt></b> 52567dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upColorModel</tt></b> 52577dd7cddfSDavid du Colombier <td> 52587dd7cddfSDavid du Colombier <td>Name 52597dd7cddfSDavid du Colombier <td> 52607dd7cddfSDavid du Colombier <td>Select color mapping 52617dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upColorModelInitialized</tt></b> 52627dd7cddfSDavid du Colombier <td> 52637dd7cddfSDavid du Colombier <td>Bool (RO) 52647dd7cddfSDavid du Colombier <td> 52657dd7cddfSDavid du Colombier <td>Color mapping OK 52667dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upComponentBits</tt></b> 52677dd7cddfSDavid du Colombier <td> 52687dd7cddfSDavid du Colombier <td>Int[ ] 52697dd7cddfSDavid du Colombier <td> 52707dd7cddfSDavid du Colombier <td>Bits stored per component 52717dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upComponentShift</tt></b> 52727dd7cddfSDavid du Colombier <td> 52737dd7cddfSDavid du Colombier <td>Int[ ] 52747dd7cddfSDavid du Colombier <td> 52757dd7cddfSDavid du Colombier <td>Positioning within <b><tt>gx_color_index</tt></b> 52767dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upCyanTransfer</tt></b> 52777dd7cddfSDavid du Colombier <td> 52787dd7cddfSDavid du Colombier <td>Float[ ] 52797dd7cddfSDavid du Colombier <td> 52807dd7cddfSDavid du Colombier <td>Cyan transfer 52817dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upEndJobCommand</tt></b> 52827dd7cddfSDavid du Colombier <td> 52837dd7cddfSDavid du Colombier <td>String 52847dd7cddfSDavid du Colombier <td> 52857dd7cddfSDavid du Colombier <td>End each file unless <b><tt>upAbortCommand</tt></b> 52867dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upEndPageCommand</tt></b> 52877dd7cddfSDavid du Colombier <td> 52887dd7cddfSDavid du Colombier <td>String 52897dd7cddfSDavid du Colombier <td> 52907dd7cddfSDavid du Colombier <td>End each page unless <b><tt>upAbortCommand</tt></b> 52917dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upErrorDetected</tt></b> 52927dd7cddfSDavid du Colombier <td> 52937dd7cddfSDavid du Colombier <td>Bool (RO) 52947dd7cddfSDavid du Colombier <td> 52957dd7cddfSDavid du Colombier <td>Severe (VM) error, not fully operational 52967dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upFSFixedDirection</tt></b> 52977dd7cddfSDavid du Colombier <td> 52987dd7cddfSDavid du Colombier <td>Bool 52997dd7cddfSDavid du Colombier <td> 53007dd7cddfSDavid du Colombier <td>Inhbits direction toggling in rendering 53017dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upFSProcessWhiteSpace</tt></b> 53027dd7cddfSDavid du Colombier <td> 53037dd7cddfSDavid du Colombier <td>Bool 53047dd7cddfSDavid du Colombier <td> 53057dd7cddfSDavid du Colombier <td>Causes white-space rendering 53067dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upFSReverseDirection</tt></b> 53077dd7cddfSDavid du Colombier <td> 53087dd7cddfSDavid du Colombier <td>Bool 53097dd7cddfSDavid du Colombier <td> 53107dd7cddfSDavid du Colombier <td>Run rendering in reverse (if fixed) 53117dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upFSZeroInit</tt></b> 53127dd7cddfSDavid du Colombier <td> 53137dd7cddfSDavid du Colombier <td>Bool 53147dd7cddfSDavid du Colombier <td> 53157dd7cddfSDavid du Colombier <td>Non-random rendering initialization 53167dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upFormatXabsolute</tt></b> 53177dd7cddfSDavid du Colombier <td> 53187dd7cddfSDavid du Colombier <td>Bool 53197dd7cddfSDavid du Colombier <td> 53207dd7cddfSDavid du Colombier <td>Write absolute X coordinates 53217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upFormatYabsolute</tt></b> 53227dd7cddfSDavid du Colombier <td> 53237dd7cddfSDavid du Colombier <td>Bool 53247dd7cddfSDavid du Colombier <td> 53257dd7cddfSDavid du Colombier <td>Write absolute Y coordinates 53267dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upGreenTransfer</tt></b> 53277dd7cddfSDavid du Colombier <td> 53287dd7cddfSDavid du Colombier <td>Float[ ] 53297dd7cddfSDavid du Colombier <td> 53307dd7cddfSDavid du Colombier <td>Green transfer 53317dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upMagentaTransfer</tt></b> 53327dd7cddfSDavid du Colombier <td> 53337dd7cddfSDavid du Colombier <td>Float[ ] 53347dd7cddfSDavid du Colombier <td> 53357dd7cddfSDavid du Colombier <td>Magenta transfer 53367dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upMargins</tt></b> 53377dd7cddfSDavid du Colombier <td> 53387dd7cddfSDavid du Colombier <td>Float[ ] 53397dd7cddfSDavid du Colombier <td> 53407dd7cddfSDavid du Colombier <td>L/B/R/T margins in points 53417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upModel</tt></b> 53427dd7cddfSDavid du Colombier <td> 53437dd7cddfSDavid du Colombier <td>String 53447dd7cddfSDavid du Colombier <td> 53457dd7cddfSDavid du Colombier <td>Comment string, holds some info 53467dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputAborted</tt></b> 53477dd7cddfSDavid du Colombier <td> 53487dd7cddfSDavid du Colombier <td>Bool (RO) 53497dd7cddfSDavid du Colombier <td> 53507dd7cddfSDavid du Colombier <td>Caught an interrupt 53517dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputBuffers</tt></b> 53527dd7cddfSDavid du Colombier <td> 53537dd7cddfSDavid du Colombier <td>Int 53547dd7cddfSDavid du Colombier <td> 53557dd7cddfSDavid du Colombier <td>Number of rendering buffers (2^<small><sup><b>N</b></sup></small>) 53567dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputComponentOrder</tt></b> 53577dd7cddfSDavid du Colombier <td> 53587dd7cddfSDavid du Colombier <td>Int[ ] 53597dd7cddfSDavid du Colombier <td> 53607dd7cddfSDavid du Colombier <td>Order of components when printing 53617dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputComponents</tt></b> 53627dd7cddfSDavid du Colombier <td> 53637dd7cddfSDavid du Colombier <td>Int 53647dd7cddfSDavid du Colombier <td> 53657dd7cddfSDavid du Colombier <td>Number of written components, not fully operational 53667dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputFormat</tt></b> 53677dd7cddfSDavid du Colombier <td> 53687dd7cddfSDavid du Colombier <td>Name 53697dd7cddfSDavid du Colombier <td> 53707dd7cddfSDavid du Colombier <td>Select output format 53717dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputFormatInitialized</tt></b> 53727dd7cddfSDavid du Colombier <td> 53737dd7cddfSDavid du Colombier <td>Bool (RO) 53747dd7cddfSDavid du Colombier <td> 53757dd7cddfSDavid du Colombier <td>Format data OK 53767dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputHeight</tt></b> 53777dd7cddfSDavid du Colombier <td> 53787dd7cddfSDavid du Colombier <td>Int 53797dd7cddfSDavid du Colombier <td> 53807dd7cddfSDavid du Colombier <td>Output height in pixels 53817dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputPins</tt></b> 53827dd7cddfSDavid du Colombier <td> 53837dd7cddfSDavid du Colombier <td>Int 53847dd7cddfSDavid du Colombier <td> 53857dd7cddfSDavid du Colombier <td>Number of pins / nozzles per command 53867dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputWidth</tt></b> 53877dd7cddfSDavid du Colombier <td> 53887dd7cddfSDavid du Colombier <td>Int 53897dd7cddfSDavid du Colombier <td> 53907dd7cddfSDavid du Colombier <td>Output width in pixels 53917dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputXOffset</tt></b> 53927dd7cddfSDavid du Colombier <td> 53937dd7cddfSDavid du Colombier <td>Int 53947dd7cddfSDavid du Colombier <td> 53957dd7cddfSDavid du Colombier <td>Offset in pixels, if <b><tt>upFormatXabsolute</tt></b> 53967dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputXStep</tt></b> 53977dd7cddfSDavid du Colombier <td> 53987dd7cddfSDavid du Colombier <td>Int 53997dd7cddfSDavid du Colombier <td> 54007dd7cddfSDavid du Colombier <td>Divisor or multiplier for X coords 54017dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputYOffset</tt></b> 54027dd7cddfSDavid du Colombier <td> 54037dd7cddfSDavid du Colombier <td>Int 54047dd7cddfSDavid du Colombier <td> 54057dd7cddfSDavid du Colombier <td>Offset in pixels, if <b><tt>upFormatYabsolute</tt></b> 54067dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upOutputYStep</tt></b> 54077dd7cddfSDavid du Colombier <td> 54087dd7cddfSDavid du Colombier <td>Int 54097dd7cddfSDavid du Colombier <td> 54107dd7cddfSDavid du Colombier <td>Divisor or multiplier for Y coords 54117dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upRasterBufferInitialized</tt></b> 54127dd7cddfSDavid du Colombier <td> 54137dd7cddfSDavid du Colombier <td>Bool (RO) 54147dd7cddfSDavid du Colombier <td> 54157dd7cddfSDavid du Colombier <td>GS buffer OK 54167dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upRedTransfer</tt></b> 54177dd7cddfSDavid du Colombier <td> 54187dd7cddfSDavid du Colombier <td>Float[ ] 54197dd7cddfSDavid du Colombier <td> 54207dd7cddfSDavid du Colombier <td>Red transfer 54217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upRendering</tt></b> 54227dd7cddfSDavid du Colombier <td> 54237dd7cddfSDavid du Colombier <td>Name 54247dd7cddfSDavid du Colombier <td> 54257dd7cddfSDavid du Colombier <td>Select rendering algorithm 54267dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upRenderingInitialized</tt></b> 54277dd7cddfSDavid du Colombier <td> 54287dd7cddfSDavid du Colombier <td>Bool (RO) 54297dd7cddfSDavid du Colombier <td> 54307dd7cddfSDavid du Colombier <td>Rendering parameters OK 54317dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upSelectComponentCommands</tt></b> 54327dd7cddfSDavid du Colombier <td> 54337dd7cddfSDavid du Colombier <td>String[ ] 54347dd7cddfSDavid du Colombier <td> 54357dd7cddfSDavid du Colombier <td>Establish color (output order!) 54367dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upSetLineFeedCommand</tt></b> 54377dd7cddfSDavid du Colombier <td> 54387dd7cddfSDavid du Colombier <td>String 54397dd7cddfSDavid du Colombier <td> 54407dd7cddfSDavid du Colombier <td>Adjust linefeed (Epson only) 54417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upVersion</tt></b> 54427dd7cddfSDavid du Colombier <td> 54437dd7cddfSDavid du Colombier <td>String (RO) 54447dd7cddfSDavid du Colombier <td> 54457dd7cddfSDavid du Colombier <td>Source code version 54467dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveFinalPins</tt></b> 54477dd7cddfSDavid du Colombier <td> 54487dd7cddfSDavid du Colombier <td>Int[ ] 54497dd7cddfSDavid du Colombier <td> 54507dd7cddfSDavid du Colombier <td>Number of bottom pins on EOP passes 54517dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveFinalScan</tt></b> 54527dd7cddfSDavid du Colombier <td> 54537dd7cddfSDavid du Colombier <td>Int 54547dd7cddfSDavid du Colombier <td> 54557dd7cddfSDavid du Colombier <td>Begin EOP passes (Y-coord) 54567dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveFinalXStarts</tt></b> 54577dd7cddfSDavid du Colombier <td> 54587dd7cddfSDavid du Colombier <td>Int[ ] 54597dd7cddfSDavid du Colombier <td> 54607dd7cddfSDavid du Colombier <td>X-pass indices for EOP passes 54617dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveFinalYFeeds</tt></b> 54627dd7cddfSDavid du Colombier <td> 54637dd7cddfSDavid du Colombier <td>Int[ ] 54647dd7cddfSDavid du Colombier <td> 54657dd7cddfSDavid du Colombier <td>Y increments for EOP passes 54667dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveInitialPins</tt></b> 54677dd7cddfSDavid du Colombier <td> 54687dd7cddfSDavid du Colombier <td>Int[ ] 54697dd7cddfSDavid du Colombier <td> 54707dd7cddfSDavid du Colombier <td>Number of top pins on BOP passes 54717dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveInitialScan</tt></b> 54727dd7cddfSDavid du Colombier <td> 54737dd7cddfSDavid du Colombier <td>Int 54747dd7cddfSDavid du Colombier <td> 54757dd7cddfSDavid du Colombier <td>End BOP passes (Y coord) 54767dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveInitialXStarts</tt></b> 54777dd7cddfSDavid du Colombier <td> 54787dd7cddfSDavid du Colombier <td>Int[ ] 54797dd7cddfSDavid du Colombier <td> 54807dd7cddfSDavid du Colombier <td>X-pass indices for BOP passes 54817dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveInitialYFeeds</tt></b> 54827dd7cddfSDavid du Colombier <td> 54837dd7cddfSDavid du Colombier <td>int[ ] 54847dd7cddfSDavid du Colombier <td> 54857dd7cddfSDavid du Colombier <td>Y increments for BOP passes 54867dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeavePasses</tt></b> 54877dd7cddfSDavid du Colombier <td> 54887dd7cddfSDavid du Colombier <td>Int 54897dd7cddfSDavid du Colombier <td> 54907dd7cddfSDavid du Colombier <td>XPasses × YPasses 54917dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveXPasses</tt></b> 54927dd7cddfSDavid du Colombier <td> 54937dd7cddfSDavid du Colombier <td>Int 54947dd7cddfSDavid du Colombier <td> 54957dd7cddfSDavid du Colombier <td>Number of X passes 54967dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveXStarts</tt></b> 54977dd7cddfSDavid du Colombier <td> 54987dd7cddfSDavid du Colombier <td>Int[ ] 54997dd7cddfSDavid du Colombier <td> 55007dd7cddfSDavid du Colombier <td>X-pass indices for normal passes 55017dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveYFeeds</tt></b> 55027dd7cddfSDavid du Colombier <td> 55037dd7cddfSDavid du Colombier <td>Int[ ] 55047dd7cddfSDavid du Colombier <td> 55057dd7cddfSDavid du Colombier <td>Y increments for normal passes 55067dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveYOffset</tt></b> 55077dd7cddfSDavid du Colombier <td> 55087dd7cddfSDavid du Colombier <td>Int 55097dd7cddfSDavid du Colombier <td> 55107dd7cddfSDavid du Colombier <td>Number of blank or incomplete scans at BOP 55117dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWeaveYPasses</tt></b> 55127dd7cddfSDavid du Colombier <td> 55137dd7cddfSDavid du Colombier <td>Int 55147dd7cddfSDavid du Colombier <td> 55157dd7cddfSDavid du Colombier <td>Number of X passes 55167dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWhiteTransfer</tt></b> 55177dd7cddfSDavid du Colombier <td> 55187dd7cddfSDavid du Colombier <td>Float[ ] 55197dd7cddfSDavid du Colombier <td> 55207dd7cddfSDavid du Colombier <td>White transfer (monochrome devices!) 55217dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWriteComponentCommands</tt></b> 55227dd7cddfSDavid du Colombier <td> 55237dd7cddfSDavid du Colombier <td>String[ ] 55247dd7cddfSDavid du Colombier <td> 55257dd7cddfSDavid du Colombier <td>Commands to write each component 55267dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upWroteData</tt></b> 55277dd7cddfSDavid du Colombier <td> 55287dd7cddfSDavid du Colombier <td>Bool (RO) 55297dd7cddfSDavid du Colombier <td> 55307dd7cddfSDavid du Colombier <td>Something (<b><tt>BeginJob</tt></b>) written to output 55317dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upXMoveCommand</tt></b> 55327dd7cddfSDavid du Colombier <td> 55337dd7cddfSDavid du Colombier <td>String 55347dd7cddfSDavid du Colombier <td> 55357dd7cddfSDavid du Colombier <td>X positioning command 55367dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upXStepCommand</tt></b> 55377dd7cddfSDavid du Colombier <td> 55387dd7cddfSDavid du Colombier <td>String 55397dd7cddfSDavid du Colombier <td> 55407dd7cddfSDavid du Colombier <td>Single step to the right 55417dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upYFlip</tt></b> 55427dd7cddfSDavid du Colombier <td> 55437dd7cddfSDavid du Colombier <td>Bool 55447dd7cddfSDavid du Colombier <td> 55457dd7cddfSDavid du Colombier <td>Flips output along the Y axis 55467dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upYMoveCommand</tt></b> 55477dd7cddfSDavid du Colombier <td> 55487dd7cddfSDavid du Colombier <td>String 55497dd7cddfSDavid du Colombier <td> 55507dd7cddfSDavid du Colombier <td>Y positioning command 55517dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upYStepCommand</tt></b> 55527dd7cddfSDavid du Colombier <td> 55537dd7cddfSDavid du Colombier <td>String 55547dd7cddfSDavid du Colombier <td> 55557dd7cddfSDavid du Colombier <td>Single step down 55567dd7cddfSDavid du Colombier<tr valign=top> <td><b><tt>upYellowTransfer</tt></b> 55577dd7cddfSDavid du Colombier <td> 55587dd7cddfSDavid du Colombier <td>Float[ ] 55597dd7cddfSDavid du Colombier <td> 55607dd7cddfSDavid du Colombier <td>Yellow transfer 55617dd7cddfSDavid du Colombier</table></blockquote> 55627dd7cddfSDavid du Colombier 5563*3ff48bf5SDavid du Colombier<h3><a name="Uni_honors"></a><b><tt>uniprint</tt></b>'s Roll of Honor</h3> 55647dd7cddfSDavid du Colombier 55657dd7cddfSDavid du Colombier<p> 55667dd7cddfSDavid du ColombierI should mention all of the people who were involved in 55677dd7cddfSDavid du Colombier<b><tt>stcolor</tt></b>'s evolution, but I've decided to start from scratch 55687dd7cddfSDavid du Colombierhere for <b><tt>uniprint</tt></b>: 55697dd7cddfSDavid du Colombier 55707dd7cddfSDavid du Colombier<blockquote> 55717dd7cddfSDavid du Colombier<dl> 55727dd7cddfSDavid du Colombier<dt>John P. Beale 55737dd7cddfSDavid du Colombier<dd>for testing the <b><tt>stc600</tt></b> modes 55747dd7cddfSDavid du Colombier<dt>Bill Davidson 55757dd7cddfSDavid du Colombier<dd>who triggered some weaving research and tested <b><tt>stc2s_h</tt></b> 55767dd7cddfSDavid du Colombier<dt>L. Peter Deutsch 55777dd7cddfSDavid du Colombier<dd>who triggered ease of configuration 55787dd7cddfSDavid du Colombier<dt>Mark Goldberg 55797dd7cddfSDavid du Colombier<dd>who prepared the <b><tt>stc500</tt></b> transfers 55807dd7cddfSDavid du Colombier<dt>Scott F. Johnston and Scott J. Kramer 55817dd7cddfSDavid du Colombier<dd>for testing the <b><tt>stc800</tt></b> modes 55827dd7cddfSDavid du Colombier<dt>Martin Lottermoser 55837dd7cddfSDavid du Colombier<dd>for his great commented H-P DeskJet driver 55847dd7cddfSDavid du Colombier<dt>Helmut Riegler 55857dd7cddfSDavid du Colombier<dd>for the BJC extension 55867dd7cddfSDavid du Colombier<dt>Hans-Gerd Straeter 55877dd7cddfSDavid du Colombier<dd>for some measured transfer curves and more 55887dd7cddfSDavid du Colombier<dt>Uli Wortmann 55897dd7cddfSDavid du Colombier<dd>for discussions and his <b><tt>cdj850</tt></b> driver 55907dd7cddfSDavid du Colombier<dt>My family 55917dd7cddfSDavid du Colombier<dd>for tolerating my printer-driver hacking 55927dd7cddfSDavid du Colombier</dl> 55937dd7cddfSDavid du Colombier</blockquote> 55947dd7cddfSDavid du Colombier 55957dd7cddfSDavid du Colombier<address> 55967dd7cddfSDavid du ColombierGunther Hess<br> 55977dd7cddfSDavid du ColombierDuesseldorfer Landstr. 16b<br> 55987dd7cddfSDavid du ColombierD-47249 Duisburg<br> 55997dd7cddfSDavid du ColombierGermany<br> 56007dd7cddfSDavid du Colombier+49 203 376273 telephone (MET evening hours)<br> 56017dd7cddfSDavid du Colombier<<a href="mailto:ghess@elmos.de">ghess@elmos.de</a>> 56027dd7cddfSDavid du Colombier</address> 5603*3ff48bf5SDavid du Colombier<h3><a name="Uni_weaving_howto"></a><tt>Uniprint</tt> weaving parameters howto</h3> 5604*3ff48bf5SDavid du ColombierThis section was contributed by Glenn Ramsey.<p> 5605*3ff48bf5SDavid du Colombier<p>I wrote this because the documentation was very brief and I really struggled 5606*3ff48bf5SDavid du Colombierwith it for a while, but it is very simple once you understand what is going 5607*3ff48bf5SDavid du Colombieron. 5608*3ff48bf5SDavid du Colombier<p>This only describes how to work out the Y parameters, I haven't looked 5609*3ff48bf5SDavid du Colombierat the X parameters yet. 5610*3ff48bf5SDavid du Colombier<ol> 5611*3ff48bf5SDavid du Colombier<li> 5612*3ff48bf5SDavid du Colombier<b>Determine the nozzle geometry (upOutputPins)</b> 5613*3ff48bf5SDavid du Colombier<p> 5614*3ff48bf5SDavid du ColombierYou need to know how many nozzles the printer has and the spacing between 5615*3ff48bf5SDavid du Colombierthem. Usually you can find this out from the printer manual, or the printer 5616*3ff48bf5SDavid du Colombiersupplier, but you may have to dissect a couple of printer output files 5617*3ff48bf5SDavid du Colombierproduced with the driver supplied with the printer. There is a utility 5618*3ff48bf5SDavid du Colombiercalled escp2ras<a href="#escp2ras"><sup>*</sup></a> that will help with that. 5619*3ff48bf5SDavid du ColombierSometimes the term pin is used instead of nozzle but they mean the same thing. 5620*3ff48bf5SDavid du Colombier<p>The number of nozzles will be the value assigned to the upOutputPins 5621*3ff48bf5SDavid du Colombierparameter. 5622*3ff48bf5SDavid du Colombier<p>Actually you don't have to print with all the pins available but for 5623*3ff48bf5SDavid du Colombierthe purpose of demonstration I'll assume that we are using them all. 5624*3ff48bf5SDavid du Colombier<p> 5625*3ff48bf5SDavid du Colombier<a name="escp2ras"></a>* escp2ras is available from Gunther Hess' page at <a href="http://www-md.e-technik.uni-rostock.de/ma/gunther/gs/index.html">http://www-md.e-technik.uni-rostock.de/ma/gunther/gs/index.html</a> 5626*3ff48bf5SDavid du Colombier</li> 5627*3ff48bf5SDavid du Colombier<p> 5628*3ff48bf5SDavid du Colombier<li><b>Determine how many passes are required (upWeaveYPasses)</b> 5629*3ff48bf5SDavid du Colombier<p>The number of passes required is going to depend on the required resolution 5630*3ff48bf5SDavid du Colombierand the nozzle spacing. 5631*3ff48bf5SDavid du Colombier<blockquote> 5632*3ff48bf5SDavid du Colombier<tt>passes = resolution * nozzle spacing 5633*3ff48bf5SDavid du Colombier</tt> 5634*3ff48bf5SDavid du Colombier</blockquote> 5635*3ff48bf5SDavid du ColombierThis will be the value assigned to the upWeaveYPasses parameter. 5636*3ff48bf5SDavid du Colombier<p>For example if the desired resolution is 360 dpi and the nozzles are 5637*3ff48bf5SDavid du Colombierspaced at 1/90in then 360 * 1/90 = 4 passes are required. For 720 dpi 8 5638*3ff48bf5SDavid du Colombierpasses would be required. The printer would, of course, have to be capable 5639*3ff48bf5SDavid du Colombierof moving the paper in increments of either 360 or 720 dpi too. 5640*3ff48bf5SDavid du Colombier</li> 5641*3ff48bf5SDavid du Colombier<p> 5642*3ff48bf5SDavid du Colombier<li> 5643*3ff48bf5SDavid du Colombier<b>Determine the normal Y feed increment (upWeaveYFeeds)</b> 5644*3ff48bf5SDavid du Colombier<p> 5645*3ff48bf5SDavid du ColombierYou need to work out how much to feed the paper so that when the paper 5646*3ff48bf5SDavid du Colombierhas moved by one head length in however many passes you have then each 5647*3ff48bf5SDavid du Colombierrow space on the paper has been passed over by at least one nozzle. There 5648*3ff48bf5SDavid du Colombierwill be one feed value for each pass and the feed values must comply with 5649*3ff48bf5SDavid du Colombierthe following rules: 5650*3ff48bf5SDavid du Colombier<blockquote> 5651*3ff48bf5SDavid du Colombier<tt> 5652*3ff48bf5SDavid du Colombier<p>sum of feeds = passes * nozzles 5653*3ff48bf5SDavid du Colombier<br>feed%passes != 0 (feed is not exactly divisible by passes) 5654*3ff48bf5SDavid du Colombier<br>sum of (nozzles - feed) = 0 5655*3ff48bf5SDavid du Colombier</tt> 5656*3ff48bf5SDavid du Colombier</blockquote> 5657*3ff48bf5SDavid du Colombier<p>For example if passes=4 and nozzles=15, then sum of feeds=60. The feed 5658*3ff48bf5SDavid du Colombiervalues could be 1,1,1,57 or 15,15,15,15 or 14,15,18,13. 5659*3ff48bf5SDavid du Colombier<p>These values will be assigned to the upWeaveYFeeds parameter. 5660*3ff48bf5SDavid du Colombier<p>You would need to experiment to see what combination looks best on the 5661*3ff48bf5SDavid du Colombierprinter. 5662*3ff48bf5SDavid du Colombier<p>I found it convenient to draw several lines of nozzles and then move 5663*3ff48bf5SDavid du Colombierthem around to see how the different combinations would fill the paper. 5664*3ff48bf5SDavid du ColombierA computer drawing tool makes this easier than pencil and paper (I used 5665*3ff48bf5SDavid du ColombierDia, a GNOME app). The number of nozzles would probably be be a good place 5666*3ff48bf5SDavid du Colombierto start. 5667*3ff48bf5SDavid du Colombier<p>Remember that if the number of passes is more than 1 then the feed increment 5668*3ff48bf5SDavid du Colombierwill be less than the nozzle spacing and <tt>passes × feed increment size</tt> 5669*3ff48bf5SDavid du Colombiermust equal the physical distance between each nozzle. 5670*3ff48bf5SDavid du Colombier</li> 5671*3ff48bf5SDavid du Colombier<p> 5672*3ff48bf5SDavid du Colombier<li> 5673*3ff48bf5SDavid du Colombier<b>Determine the beginning of page pins (upWeaveInitialPins)</b> 5674*3ff48bf5SDavid du Colombier<p> 5675*3ff48bf5SDavid du ColombierThese values will be assigned to the upWeaveInitialPins parameter and are 5676*3ff48bf5SDavid du Colombierthe numbers of nozzles to operate in each of the initial passes at the top 5677*3ff48bf5SDavid du Colombierof a page. The nozzles that the values refer to are the topmost nozzles 5678*3ff48bf5SDavid du Colombieron the head, nearest the top margin. If the image doesn't start at the 5679*3ff48bf5SDavid du Colombiertop margin then uniprint doesn't use these feeds. 5680*3ff48bf5SDavid du Colombier<p>I don't know a mathematical relation for this except that at least one 5681*3ff48bf5SDavid du Colombierof the values must be the number of nozzles, but I'm sure that there must 5682*3ff48bf5SDavid du Colombierbe one. I used a graphical method, the description that follows refers 5683*3ff48bf5SDavid du Colombierto the ascii diagram in below. 5684*3ff48bf5SDavid du Colombier<p>Draw a line of nozzles for each pass arranged as they would be using 5685*3ff48bf5SDavid du Colombierthe normal Y feed increment determined in step 3. In the diagram below 5686*3ff48bf5SDavid du Colombierthis would be passes 5-8. 5687*3ff48bf5SDavid du Colombier<p>Draw a line of nozzles that would print just before the first normal 5688*3ff48bf5SDavid du Colombierpass. The feed increment for this pass will be close to and most likely 5689*3ff48bf5SDavid du Colombier1 or 2 units less than the feed increment of the last normal pass. In the 5690*3ff48bf5SDavid du Colombierexample below this line is pass 4 and the feed increment is 13 whereas 5691*3ff48bf5SDavid du Colombierthe normal feed increment is 15. 5692*3ff48bf5SDavid du Colombier<p>Draw each pass before that with a small feed increment so that if all 5693*3ff48bf5SDavid du Colombierof the nozzles appearing above the first nozzle of the first normal pass 5694*3ff48bf5SDavid du Colombieroperate then all of the spaces will be filled. This feed increment is usually 5695*3ff48bf5SDavid du Colombier1 except in cases where some jiggery pokery is going on to make the printer 5696*3ff48bf5SDavid du Colombierprint at an apparent higher resolution than the nozzle diameter. 5697*3ff48bf5SDavid du Colombier<p>Now select the nozzles that will operate in each of theses initial passes 5698*3ff48bf5SDavid du Colombierso that the paper is filled. In each pass the nozzles must be adjacent 5699*3ff48bf5SDavid du Colombierto each other and at least one of the passes will have all the nozzles 5700*3ff48bf5SDavid du Colombieroperating. I suspect that for each combination of normal Y feed increments 5701*3ff48bf5SDavid du Colombierthere will only be one set of valid beginning of page increments. 5702*3ff48bf5SDavid du Colombier</li> 5703*3ff48bf5SDavid du Colombier</ol> 5704*3ff48bf5SDavid du Colombier<h4>Example: stc.upp from Aladdin Ghostscript 6.01</h4> 5705*3ff48bf5SDavid du Colombier15 nozzles spaced at 1/90 in, 360 dpi requires 4 passes. 5706*3ff48bf5SDavid du Colombier<blockquote><tt><pre> 5707*3ff48bf5SDavid du Colombier-dupWeaveYPasses=4 5708*3ff48bf5SDavid du Colombier-dupOutputPins=15 5709*3ff48bf5SDavid du Colombier-dupWeaveYFeeds="{15 15 15 15}" 5710*3ff48bf5SDavid du Colombier-dupWeaveInitialYFeeds="{1 1 1 13}" 5711*3ff48bf5SDavid du Colombier-dupWeaveInitialPins="{ 4 15 11 7}" 5712*3ff48bf5SDavid du Colombier</pre></tt></blockquote> 5713*3ff48bf5SDavid du ColombierThe following diagram shows which nozzles operate during each pass. 5714*3ff48bf5SDavid du Colombier<br>Passes 1-4 are beginning of page passes and passes 5-8 are normal passes. 5715*3ff48bf5SDavid du Colombier<blockquote> 5716*3ff48bf5SDavid du Colombier<p>x=nozzle operates, o=nozzle not used in this pass<tt></tt> 5717*3ff48bf5SDavid du Colombier<p><tt> 1 2 3 4 5 6 7 8 - pass no</tt> 5718*3ff48bf5SDavid du Colombier<br><tt>0 x</tt> 5719*3ff48bf5SDavid du Colombier<br><tt>1 x</tt> 5720*3ff48bf5SDavid du Colombier<br><tt>2 x</tt> 5721*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5722*3ff48bf5SDavid du Colombier<br><tt>4 x</tt> 5723*3ff48bf5SDavid du Colombier<br><tt>5 x</tt> 5724*3ff48bf5SDavid du Colombier<br><tt>6 x</tt> 5725*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5726*3ff48bf5SDavid du Colombier<br><tt>8 x</tt> 5727*3ff48bf5SDavid du Colombier<br><tt>9 x</tt> 5728*3ff48bf5SDavid du Colombier<br><tt>0 x</tt> 5729*3ff48bf5SDavid du Colombier<br><tt>1 x</tt> 5730*3ff48bf5SDavid du Colombier<br><tt>2 x</tt> 5731*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5732*3ff48bf5SDavid du Colombier<br><tt>4 x</tt> 5733*3ff48bf5SDavid du Colombier<br><tt>5 x</tt> 5734*3ff48bf5SDavid du Colombier<br><tt>6 o x</tt> 5735*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5736*3ff48bf5SDavid du Colombier<br><tt>8 x</tt> 5737*3ff48bf5SDavid du Colombier<br><tt>9 x</tt> 5738*3ff48bf5SDavid du Colombier<br><tt>0 o x</tt> 5739*3ff48bf5SDavid du Colombier<br><tt>1 x</tt> 5740*3ff48bf5SDavid du Colombier<br><tt>2 x</tt> 5741*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5742*3ff48bf5SDavid du Colombier<br><tt>4 o x</tt> 5743*3ff48bf5SDavid du Colombier<br><tt>5 x</tt> 5744*3ff48bf5SDavid du Colombier<br><tt>6 x</tt> 5745*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5746*3ff48bf5SDavid du Colombier<br><tt>8 o x</tt> 5747*3ff48bf5SDavid du Colombier<br><tt>9 x</tt> 5748*3ff48bf5SDavid du Colombier<br><tt>0 x</tt> 5749*3ff48bf5SDavid du Colombier<br><tt>1 o x</tt> 5750*3ff48bf5SDavid du Colombier<br><tt>2 o x</tt> 5751*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5752*3ff48bf5SDavid du Colombier<br><tt>4 x</tt> 5753*3ff48bf5SDavid du Colombier<br><tt>5 o x</tt> 5754*3ff48bf5SDavid du Colombier<br><tt>6 o x</tt> 5755*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5756*3ff48bf5SDavid du Colombier<br><tt>8 x</tt> 5757*3ff48bf5SDavid du Colombier<br><tt>9 o x</tt> 5758*3ff48bf5SDavid du Colombier<br><tt>0 o x</tt> 5759*3ff48bf5SDavid du Colombier<br><tt>1 x</tt> 5760*3ff48bf5SDavid du Colombier<br><tt>2 x</tt> 5761*3ff48bf5SDavid du Colombier<br><tt>3 o x</tt> 5762*3ff48bf5SDavid du Colombier<br><tt>4 o x</tt> 5763*3ff48bf5SDavid du Colombier<br><tt>5 x</tt> 5764*3ff48bf5SDavid du Colombier<br><tt>6 o 5765*3ff48bf5SDavid du Colombierx</tt> 5766*3ff48bf5SDavid du Colombier<br><tt>7 o x</tt> 5767*3ff48bf5SDavid du Colombier<br><tt>8 o x</tt> 5768*3ff48bf5SDavid du Colombier<br><tt>9 x</tt> 5769*3ff48bf5SDavid du Colombier<br><tt>0 o 5770*3ff48bf5SDavid du Colombierx</tt> 5771*3ff48bf5SDavid du Colombier<br><tt>1 o x</tt> 5772*3ff48bf5SDavid du Colombier<br><tt>2 o x</tt> 5773*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5774*3ff48bf5SDavid du Colombier<br><tt>4 o 5775*3ff48bf5SDavid du Colombierx</tt> 5776*3ff48bf5SDavid du Colombier<br><tt>5 o x</tt> 5777*3ff48bf5SDavid du Colombier<br><tt>6 o x</tt> 5778*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5779*3ff48bf5SDavid du Colombier<br><tt>8 o 5780*3ff48bf5SDavid du Colombierx</tt> 5781*3ff48bf5SDavid du Colombier<br><tt>9 o x</tt> 5782*3ff48bf5SDavid du Colombier<br><tt>0 x</tt> 5783*3ff48bf5SDavid du Colombier<br><tt>1 5784*3ff48bf5SDavid du Colombierx</tt> 5785*3ff48bf5SDavid du Colombier<br><tt>2 5786*3ff48bf5SDavid du Colombierx</tt> 5787*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5788*3ff48bf5SDavid du Colombier<br><tt>4 x</tt> 5789*3ff48bf5SDavid du Colombier<br><tt>5 5790*3ff48bf5SDavid du Colombierx</tt> 5791*3ff48bf5SDavid du Colombier<br><tt>6 5792*3ff48bf5SDavid du Colombierx</tt> 5793*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5794*3ff48bf5SDavid du Colombier<br><tt>8 x</tt> 5795*3ff48bf5SDavid du Colombier<br><tt>9 5796*3ff48bf5SDavid du Colombierx</tt> 5797*3ff48bf5SDavid du Colombier<br><tt>0 5798*3ff48bf5SDavid du Colombierx</tt> 5799*3ff48bf5SDavid du Colombier<br><tt>1 x</tt> 5800*3ff48bf5SDavid du Colombier<br><tt>2 x</tt> 5801*3ff48bf5SDavid du Colombier<br><tt>3 5802*3ff48bf5SDavid du Colombierx</tt> 5803*3ff48bf5SDavid du Colombier<br><tt>4 5804*3ff48bf5SDavid du Colombierx</tt> 5805*3ff48bf5SDavid du Colombier<br><tt>5 x</tt> 5806*3ff48bf5SDavid du Colombier<br><tt>6</tt> 5807*3ff48bf5SDavid du Colombier<br><tt>7 5808*3ff48bf5SDavid du Colombierx</tt> 5809*3ff48bf5SDavid du Colombier<br><tt>8 5810*3ff48bf5SDavid du Colombierx</tt> 5811*3ff48bf5SDavid du Colombier<br><tt>9 x</tt> 5812*3ff48bf5SDavid du Colombier<br><tt>0</tt> 5813*3ff48bf5SDavid du Colombier<br><tt>1 5814*3ff48bf5SDavid du Colombierx</tt> 5815*3ff48bf5SDavid du Colombier<br><tt>2 5816*3ff48bf5SDavid du Colombierx</tt> 5817*3ff48bf5SDavid du Colombier<br><tt>3 x</tt> 5818*3ff48bf5SDavid du Colombier<br><tt>4</tt> 5819*3ff48bf5SDavid du Colombier<br><tt>5 5820*3ff48bf5SDavid du Colombierx</tt> 5821*3ff48bf5SDavid du Colombier<br><tt>6 5822*3ff48bf5SDavid du Colombierx</tt> 5823*3ff48bf5SDavid du Colombier<br><tt>7 x</tt> 5824*3ff48bf5SDavid du Colombier<br><tt>8</tt> 5825*3ff48bf5SDavid du Colombier<br><tt>9 5826*3ff48bf5SDavid du Colombierx</tt> 5827*3ff48bf5SDavid du Colombier<br><tt>0 5828*3ff48bf5SDavid du Colombierx</tt> 5829*3ff48bf5SDavid du Colombier<br><tt>1</tt> 5830*3ff48bf5SDavid du Colombier<br><tt>2</tt> 5831*3ff48bf5SDavid du Colombier<br><tt>3 5832*3ff48bf5SDavid du Colombierx</tt> 5833*3ff48bf5SDavid du Colombier<br><tt>4 5834*3ff48bf5SDavid du Colombierx</tt> 5835*3ff48bf5SDavid du Colombier<br><tt>5</tt> 5836*3ff48bf5SDavid du Colombier<br><tt>6</tt> 5837*3ff48bf5SDavid du Colombier<br><tt>7 5838*3ff48bf5SDavid du Colombierx</tt> 5839*3ff48bf5SDavid du Colombier<br><tt>8 5840*3ff48bf5SDavid du Colombierx</tt> 5841*3ff48bf5SDavid du Colombier<br><tt>9</tt> 5842*3ff48bf5SDavid du Colombier<br><tt>0</tt> 5843*3ff48bf5SDavid du Colombier<br><tt>1 5844*3ff48bf5SDavid du Colombierx</tt> 5845*3ff48bf5SDavid du Colombier<br><tt>2 5846*3ff48bf5SDavid du Colombierx</tt> 5847*3ff48bf5SDavid du Colombier<br><tt>3</tt> 5848*3ff48bf5SDavid du Colombier<br><tt>4</tt> 5849*3ff48bf5SDavid du Colombier<br><tt>5 5850*3ff48bf5SDavid du Colombierx</tt> 5851*3ff48bf5SDavid du Colombier<br><tt>6</tt> 5852*3ff48bf5SDavid du Colombier<br><tt>7</tt> 5853*3ff48bf5SDavid du Colombier<br><tt>8</tt> 5854*3ff48bf5SDavid du Colombier<br><tt>9 5855*3ff48bf5SDavid du Colombierx</tt> 5856*3ff48bf5SDavid du Colombier<br><tt>0</tt> 5857*3ff48bf5SDavid du Colombier<br><tt>1</tt> 5858*3ff48bf5SDavid du Colombier<br><tt>2</tt> 5859*3ff48bf5SDavid du Colombier<br><tt>3 5860*3ff48bf5SDavid du Colombierx</tt> 5861*3ff48bf5SDavid du Colombier<br><tt>4</tt> 5862*3ff48bf5SDavid du Colombier<br><tt>5</tt> 5863*3ff48bf5SDavid du Colombier<br><tt>6</tt> 5864*3ff48bf5SDavid du Colombier<br><tt>7 5865*3ff48bf5SDavid du Colombierx</tt> 5866*3ff48bf5SDavid du Colombier</blockquote> 5867*3ff48bf5SDavid du Colombier<p>These parameters would also work: 5868*3ff48bf5SDavid du Colombier<blockquote><tt><pre> 5869*3ff48bf5SDavid du Colombier-dupWeaveYPasses=4 5870*3ff48bf5SDavid du Colombier-dupOutputPins=15 5871*3ff48bf5SDavid du Colombier-dupWeaveYFeeds="{14 15 18 13}" 5872*3ff48bf5SDavid du Colombier-dupWeaveInitialYFeeds="{1 1 1 13}" 5873*3ff48bf5SDavid du Colombier-dupWeaveInitialPins="{ 4 11 7 15}" 5874*3ff48bf5SDavid du Colombier</pre></tt></blockquote> 5875*3ff48bf5SDavid du Colombier<p> 5876*3ff48bf5SDavid du Colombier<hr> 5877*3ff48bf5SDavid du Colombier<h3><a name="Uni_esc300"></a>Extension to <tt>uniprint</tt> for the Epson Stylus Color 300</h3> 5878*3ff48bf5SDavid du ColombierThis section was contributed by Glenn Ramsey.<p> 5879*3ff48bf5SDavid du ColombierThe Epson Stylus Color 300 uses a different command set to other Epson 5880*3ff48bf5SDavid du ColombierStylus Color printers that use the ESC/P2 language. As far as I can 5881*3ff48bf5SDavid du Colombiertell its commands are a subset of ESC/P2. In ESC/P2 the colour to be 5882*3ff48bf5SDavid du Colombierprinted is selected by a 'set colour' command and then the data sent 5883*3ff48bf5SDavid du Colombieris only printed in that colour until the colour is changed with another 5884*3ff48bf5SDavid du Colombier'set colour' command. The Stylus Color 300 lacks this functionality. 5885*3ff48bf5SDavid du ColombierThe data sent to the printer maps directly to the ink nozzles and colour 5886*3ff48bf5SDavid du Colombierof an output scan line in the printed output is determined by the position 5887*3ff48bf5SDavid du Colombierof the scan line within the data. This means that the driver must know 5888*3ff48bf5SDavid du Colombierhow the nozzles are arranged and must format the output accordingly. 5889*3ff48bf5SDavid du ColombierThe extension adds a format that I have called EscNozzleMap and adds some 5890*3ff48bf5SDavid du Colombier additional parameters to uniprint.<br> 5891*3ff48bf5SDavid du Colombier<ul> 5892*3ff48bf5SDavid du Colombier <li><b><tt>upOutputFormat</tt></b>selects the output method, and should be set to the value 5893*3ff48bf5SDavid du Colombier<b><tt>/EscNozzleMap</tt></b> to select this format. 5894*3ff48bf5SDavid du Colombier <blockquote> 5895*3ff48bf5SDavid du Colombier <table cellpadding="0" cellspacing="0"> 5896*3ff48bf5SDavid du Colombier <tbody> 5897*3ff48bf5SDavid du Colombier <tr valign="Top"> 5898*3ff48bf5SDavid du Colombier <td><b><tt>/EscNozzleMap</tt></b></td> 5899*3ff48bf5SDavid du Colombier <td> </td> 5900*3ff48bf5SDavid du Colombier <td>produces output for the Epson Stylus Color 300 5901*3ff48bf5SDavid du Colombier </td> 5902*3ff48bf5SDavid du Colombier </tr> 5903*3ff48bf5SDavid du Colombier <tbody> 5904*3ff48bf5SDavid du Colombier </table> 5905*3ff48bf5SDavid du Colombier </blockquote> 5906*3ff48bf5SDavid du Colombier</ul> 59077dd7cddfSDavid du Colombier 5908*3ff48bf5SDavid du Colombier<blockquote> 5909*3ff48bf5SDavid du Colombier <table cellpadding="0" cellspacing="0"> 5910*3ff48bf5SDavid du Colombier <tbody> 5911*3ff48bf5SDavid du Colombier <tr> 5912*3ff48bf5SDavid du Colombier <th colspan="5" bgcolor="#cccc00"> 5913*3ff48bf5SDavid du Colombier <hr><font size="+1"><b><tt>uniprint</tt></b> parameters for the 5914*3ff48bf5SDavid du Colombier EscNozzleMap format</font> 5915*3ff48bf5SDavid du Colombier <hr></th> 5916*3ff48bf5SDavid du Colombier </tr> 5917*3ff48bf5SDavid du Colombier <tr valign="Bottom"> 5918*3ff48bf5SDavid du Colombier <th align="Left">Parameter 5919*3ff48bf5SDavid du Colombier </th> 5920*3ff48bf5SDavid du Colombier <td> 5921*3ff48bf5SDavid du Colombier </td> 5922*3ff48bf5SDavid du Colombier <th align="Left">Type 5923*3ff48bf5SDavid du Colombier </th> 5924*3ff48bf5SDavid du Colombier <td> 5925*3ff48bf5SDavid du Colombier </td> 5926*3ff48bf5SDavid du Colombier <th align="Left">Use 5927*3ff48bf5SDavid du Colombier </th> 5928*3ff48bf5SDavid du Colombier </tr> 5929*3ff48bf5SDavid du Colombier <tr> 5930*3ff48bf5SDavid du Colombier <td colspan="5"> 5931*3ff48bf5SDavid du Colombier <hr></td> 5932*3ff48bf5SDavid du Colombier </tr> 5933*3ff48bf5SDavid du Colombier <tr valign="Top"> 5934*3ff48bf5SDavid du Colombier <td><b><tt>upNozzleMapRowsPerPass</tt></b></td> 5935*3ff48bf5SDavid du Colombier <td> 5936*3ff48bf5SDavid du Colombier </td> 5937*3ff48bf5SDavid du Colombier <td>Int 5938*3ff48bf5SDavid du Colombier </td> 5939*3ff48bf5SDavid du Colombier <td> 5940*3ff48bf5SDavid du Colombier </td> 5941*3ff48bf5SDavid du Colombier <td>output rows to generate for each pass of the head 5942*3ff48bf5SDavid du Colombier </td> 5943*3ff48bf5SDavid du Colombier </tr> 5944*3ff48bf5SDavid du Colombier <tr valign="Top"> 5945*3ff48bf5SDavid du Colombier <td><b><tt>upNozzleMapPatternRepeat</tt></b></td> 5946*3ff48bf5SDavid du Colombier <td> 5947*3ff48bf5SDavid du Colombier </td> 5948*3ff48bf5SDavid du Colombier <td>Int 5949*3ff48bf5SDavid du Colombier </td> 5950*3ff48bf5SDavid du Colombier <td> 5951*3ff48bf5SDavid du Colombier </td> 5952*3ff48bf5SDavid du Colombier <td>no. of rows that correspond to the repeat pattern of the 5953*3ff48bf5SDavid du Colombier nozzles 5954*3ff48bf5SDavid du Colombier </td> 5955*3ff48bf5SDavid du Colombier </tr> 5956*3ff48bf5SDavid du Colombier <tr valign="Top"> 5957*3ff48bf5SDavid du Colombier <td><b><tt>upNozzleMapRowMask</tt></b></td> 5958*3ff48bf5SDavid du Colombier <td> 5959*3ff48bf5SDavid du Colombier </td> 5960*3ff48bf5SDavid du Colombier <td>Int[] 5961*3ff48bf5SDavid du Colombier </td> 5962*3ff48bf5SDavid du Colombier <td> 5963*3ff48bf5SDavid du Colombier </td> 5964*3ff48bf5SDavid du Colombier <td>mask indicating the colour of the nozzles 5965*3ff48bf5SDavid du Colombier </td> 5966*3ff48bf5SDavid du Colombier </tr> 5967*3ff48bf5SDavid du Colombier <tr valign="Top"> 5968*3ff48bf5SDavid du Colombier <td><b><tt>upNozzleMapMaskScanOffset</tt></b></td> 5969*3ff48bf5SDavid du Colombier <td> 5970*3ff48bf5SDavid du Colombier </td> 5971*3ff48bf5SDavid du Colombier <td>Int[] 5972*3ff48bf5SDavid du Colombier </td> 5973*3ff48bf5SDavid du Colombier <td> 5974*3ff48bf5SDavid du Colombier </td> 5975*3ff48bf5SDavid du Colombier <td>mask indicating the physical position of the nozzles 5976*3ff48bf5SDavid du Colombier </td> 5977*3ff48bf5SDavid du Colombier </tr> 5978*3ff48bf5SDavid du Colombier </tbody> 5979*3ff48bf5SDavid du Colombier </table> 5980*3ff48bf5SDavid du Colombier</blockquote> 5981*3ff48bf5SDavid du Colombier 5982*3ff48bf5SDavid du Colombier<h4>A more detailed description of the new parameters</h4> 5983*3ff48bf5SDavid du Colombier<ul> 5984*3ff48bf5SDavid du Colombier <li><b><tt>upNozzleMapRowsPerPass</tt></b><br> 5985*3ff48bf5SDavid du Colombier The number of rows of data that are required to address all nozzles for a 5986*3ff48bf5SDavid du Colombier single pass of the head. There will always be this number of rows of output 5987*3ff48bf5SDavid du Colombier data generated. I'd expect it to be the same as the total number of nozzles but 5988*3ff48bf5SDavid du Colombier it wouldn't break the formatter if it wasn't. So if you wanted to print with 5989*3ff48bf5SDavid du Colombier only the 10th nozzle then row 10 would contain data corresponding to the bit 5990*3ff48bf5SDavid du Colombier pattern and all of the others would be padded with zeros. 5991*3ff48bf5SDavid du Colombier </li> 5992*3ff48bf5SDavid du Colombier <li><b><tt>upNozzleMapPatternRepeat</tt></b><br> 5993*3ff48bf5SDavid du Colombier The number of nozzles in each repeated group on the printing head. 5994*3ff48bf5SDavid du Colombier This parameter must correspond with the length of the upNozzleMapRowMask array. 5995*3ff48bf5SDavid du Colombier </li> 5996*3ff48bf5SDavid du Colombier <li><b><tt>upNozzleMapRowMask</tt></b><br> 5997*3ff48bf5SDavid du Colombier An array of integers that defines the colour of the nozzles on the 5998*3ff48bf5SDavid du Colombier head and whether the nozzles will be used to print. The array index 5999*3ff48bf5SDavid du Colombier defines the row index for the nozzle in the output data 6000*3ff48bf5SDavid du Colombier and the value defines the colour of the nozzle. The mapping 6001*3ff48bf5SDavid du Colombier of colours to values is defined in the table below. 6002*3ff48bf5SDavid du Colombier <blockquote> 6003*3ff48bf5SDavid du Colombier <table cellpadding="0" cellspacing="0"> 6004*3ff48bf5SDavid du Colombier <tbody> 6005*3ff48bf5SDavid du Colombier <tr valign="Bottom"> 6006*3ff48bf5SDavid du Colombier <th align="Left">colour 6007*3ff48bf5SDavid du Colombier </th> 6008*3ff48bf5SDavid du Colombier <td> 6009*3ff48bf5SDavid du Colombier </td> 6010*3ff48bf5SDavid du Colombier <th align="center">mask value 6011*3ff48bf5SDavid du Colombier </th> 6012*3ff48bf5SDavid du Colombier </tr> 6013*3ff48bf5SDavid du Colombier <tr> 6014*3ff48bf5SDavid du Colombier <td colspan="5"> 6015*3ff48bf5SDavid du Colombier <hr></td> 6016*3ff48bf5SDavid du Colombier </tr> 6017*3ff48bf5SDavid du Colombier <tr valign="Top" align="middle"> 6018*3ff48bf5SDavid du Colombier <td><b><tt>K</tt></b></td> 6019*3ff48bf5SDavid du Colombier <td> 6020*3ff48bf5SDavid du Colombier </td> 6021*3ff48bf5SDavid du Colombier <td>1 6022*3ff48bf5SDavid du Colombier </td> 6023*3ff48bf5SDavid du Colombier </tr> 6024*3ff48bf5SDavid du Colombier <tr valign="Top" align="middle"> 6025*3ff48bf5SDavid du Colombier <td><b><tt>C</tt></b></td> 6026*3ff48bf5SDavid du Colombier <td> 6027*3ff48bf5SDavid du Colombier </td> 6028*3ff48bf5SDavid du Colombier <td>2 6029*3ff48bf5SDavid du Colombier </tr> 6030*3ff48bf5SDavid du Colombier <tr valign="Top" align="middle"> 6031*3ff48bf5SDavid du Colombier <td><b><tt>M</tt></b></td> 6032*3ff48bf5SDavid du Colombier <td> 6033*3ff48bf5SDavid du Colombier </td> 6034*3ff48bf5SDavid du Colombier <td>3 6035*3ff48bf5SDavid du Colombier </td> 6036*3ff48bf5SDavid du Colombier </tr> 6037*3ff48bf5SDavid du Colombier <tr valign="Top" align="middle"> 6038*3ff48bf5SDavid du Colombier <td><b><tt>Y</tt></b></td> 6039*3ff48bf5SDavid du Colombier <td> 6040*3ff48bf5SDavid du Colombier </td> 6041*3ff48bf5SDavid du Colombier <td>4 6042*3ff48bf5SDavid du Colombier </td> 6043*3ff48bf5SDavid du Colombier </tr> 6044*3ff48bf5SDavid du Colombier <tr valign="Top" align="middle"> 6045*3ff48bf5SDavid du Colombier <td><b><tt>no data</tt></b></td> 6046*3ff48bf5SDavid du Colombier <td> 6047*3ff48bf5SDavid du Colombier </td> 6048*3ff48bf5SDavid du Colombier <td>0 6049*3ff48bf5SDavid du Colombier </td> 6050*3ff48bf5SDavid du Colombier </tr> 6051*3ff48bf5SDavid du Colombier </tbody> 6052*3ff48bf5SDavid du Colombier </table> 6053*3ff48bf5SDavid du Colombier </blockquote> 6054*3ff48bf5SDavid du Colombier A value of 0 means that the nozzle is not used and the row in the output data will be 6055*3ff48bf5SDavid du Colombier padded with zeros.<br> 6056*3ff48bf5SDavid du Colombier </li> 6057*3ff48bf5SDavid du Colombier <li><b><tt>upNozzleMapMaskScanOffset</tt></b><br> 6058*3ff48bf5SDavid du Colombier An array of integers that defines the physical position of the nozzles relative 6059*3ff48bf5SDavid du Colombier to the first nozzle in the repeated group. The relative distance is measured in 6060*3ff48bf5SDavid du Colombier printed line widths and will be different for different printing resolutions. 6061*3ff48bf5SDavid du Colombier This parameter is used because the physical spacing of the nozzles may not 6062*3ff48bf5SDavid du Colombier correspond to their mapping in the output data. For example the ESC300 has nozzles 6063*3ff48bf5SDavid du Colombier physically arranged something like this: 6064*3ff48bf5SDavid du Colombier <table> 6065*3ff48bf5SDavid du Colombier <tr> 6066*3ff48bf5SDavid du Colombier <td bgcolor="#00ffff"> 6067*3ff48bf5SDavid du Colombier </td> 6068*3ff48bf5SDavid du Colombier <td bgcolor="#ffff00"> 6069*3ff48bf5SDavid du Colombier </td> 6070*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6071*3ff48bf5SDavid du Colombier </td> 6072*3ff48bf5SDavid du Colombier <td bgcolor="#ff00ff"> 6073*3ff48bf5SDavid du Colombier </td> 6074*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6075*3ff48bf5SDavid du Colombier </td> 6076*3ff48bf5SDavid du Colombier <td> 6077*3ff48bf5SDavid du Colombier </td> 6078*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6079*3ff48bf5SDavid du Colombier </td> 6080*3ff48bf5SDavid du Colombier <td> 6081*3ff48bf5SDavid du Colombier </td> 6082*3ff48bf5SDavid du Colombier <td> 6083*3ff48bf5SDavid du Colombier </td> 6084*3ff48bf5SDavid du Colombier <td> 6085*3ff48bf5SDavid du Colombier </td> 6086*3ff48bf5SDavid du Colombier <td> 6087*3ff48bf5SDavid du Colombier </td> 6088*3ff48bf5SDavid du Colombier <td> 6089*3ff48bf5SDavid du Colombier </td> 6090*3ff48bf5SDavid du Colombier <td bgcolor="#00ffff"> 6091*3ff48bf5SDavid du Colombier </td> 6092*3ff48bf5SDavid du Colombier <td bgcolor="#ffff00"> 6093*3ff48bf5SDavid du Colombier </td> 6094*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6095*3ff48bf5SDavid du Colombier </td> 6096*3ff48bf5SDavid du Colombier <td bgcolor="#ff00ff"> 6097*3ff48bf5SDavid du Colombier </td> 6098*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6099*3ff48bf5SDavid du Colombier </td> 6100*3ff48bf5SDavid du Colombier <td> 6101*3ff48bf5SDavid du Colombier </td> 6102*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6103*3ff48bf5SDavid du Colombier </td> 6104*3ff48bf5SDavid du Colombier <td bgcolor="#ffffff"> 6105*3ff48bf5SDavid du Colombier </td> 6106*3ff48bf5SDavid du Colombier </tr> 6107*3ff48bf5SDavid du Colombier <td> 6108*3ff48bf5SDavid du Colombier </td> 6109*3ff48bf5SDavid du Colombier <td> 6110*3ff48bf5SDavid du Colombier </td> 6111*3ff48bf5SDavid du Colombier <td> 6112*3ff48bf5SDavid du Colombier </td> 6113*3ff48bf5SDavid du Colombier <td> 6114*3ff48bf5SDavid du Colombier </td> 6115*3ff48bf5SDavid du Colombier <td> 6116*3ff48bf5SDavid du Colombier </td> 6117*3ff48bf5SDavid du Colombier <td> 6118*3ff48bf5SDavid du Colombier </td> 6119*3ff48bf5SDavid du Colombier <td bgcolor="#00ffff"> 6120*3ff48bf5SDavid du Colombier </td> 6121*3ff48bf5SDavid du Colombier <td bgcolor="#ffff00"> 6122*3ff48bf5SDavid du Colombier </td> 6123*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6124*3ff48bf5SDavid du Colombier </td> 6125*3ff48bf5SDavid du Colombier <td bgcolor="#ff00ff"> 6126*3ff48bf5SDavid du Colombier </td> 6127*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6128*3ff48bf5SDavid du Colombier </td> 6129*3ff48bf5SDavid du Colombier <td> 6130*3ff48bf5SDavid du Colombier </td> 6131*3ff48bf5SDavid du Colombier <td bgcolor="#000000"> 6132*3ff48bf5SDavid du Colombier </td> 6133*3ff48bf5SDavid du Colombier <td> 6134*3ff48bf5SDavid du Colombier </td> 6135*3ff48bf5SDavid du Colombier <td> 6136*3ff48bf5SDavid du Colombier </td> 6137*3ff48bf5SDavid du Colombier <td> 6138*3ff48bf5SDavid du Colombier </td> 6139*3ff48bf5SDavid du Colombier <td> 6140*3ff48bf5SDavid du Colombier </td> 6141*3ff48bf5SDavid du Colombier <td> 6142*3ff48bf5SDavid du Colombier </td> 6143*3ff48bf5SDavid du Colombier <td bgcolor="#00ffff"> 6144*3ff48bf5SDavid du Colombier </td> 6145*3ff48bf5SDavid du Colombier <td bgcolor="#ffff00"> 6146*3ff48bf5SDavid du Colombier </td> 6147*3ff48bf5SDavid du Colombier <td>etc ... 6148*3ff48bf5SDavid du Colombier </td> 6149*3ff48bf5SDavid du Colombier 6150*3ff48bf5SDavid du Colombier <tr> 6151*3ff48bf5SDavid du Colombier </tr> 6152*3ff48bf5SDavid du Colombier </table> 6153*3ff48bf5SDavid du Colombier There is a one nozzle width space between the last two nozzles in each group. 6154*3ff48bf5SDavid du Colombier In the output data the data for the last nozzle in the group would be in row 5 6155*3ff48bf5SDavid du Colombier (numbering starts at 0) but the nozzle is physically positioned at 6 spaces from 6156*3ff48bf5SDavid du Colombier the first nozzle. 6157*3ff48bf5SDavid du Colombier</ul> 6158*3ff48bf5SDavid du Colombier<h4>Example 1 - Epson Stylus Color 300 - 360 dpi colour</h4> 6159*3ff48bf5SDavid du Colombier<blockquote><pre> 6160*3ff48bf5SDavid du Colombier-dupWeaveYPasses=6 6161*3ff48bf5SDavid du Colombier-dupOutputPins=11 6162*3ff48bf5SDavid du Colombier-dupWeaveYFeeds="{ 11 11 11 11 11 11 }" 6163*3ff48bf5SDavid du Colombier-dupWeaveInitialYFeeds="{ 1 1 1 1 1 7 }" 6164*3ff48bf5SDavid du Colombier-dupWeaveInitialPins="{ 2 11 9 7 5 3 }" 6165*3ff48bf5SDavid du Colombier-dupNozzleMapRowsPerPass=64 6166*3ff48bf5SDavid du Colombier-dupNozzleMapPatternRepeat=6 6167*3ff48bf5SDavid du Colombier-dupNozzleMapRowMask="{ 2 4 1 3 0 0 }" 6168*3ff48bf5SDavid du Colombier-dupNozzleMapMaskScanOffset="{ 0 1 2 3 0 0 }" 6169*3ff48bf5SDavid du Colombier</pre></blockquote> 6170*3ff48bf5SDavid du ColombierThe weaving parameters are the same as for any other uniprint driver 6171*3ff48bf5SDavid du Colombierbut they must be consistent with the nozzle map parameters. In this printer 6172*3ff48bf5SDavid du Colombierthe coloured nozzles are spaced at 1/60" so 6 passes are required for 360 6173*3ff48bf5SDavid du Colombierdpi resolution. 6174*3ff48bf5SDavid du Colombier<p> 6175*3ff48bf5SDavid du ColombierIn the example there are 64 rows of data required for each head pass. Each 6176*3ff48bf5SDavid du Colombierrow must be completely filled with data for each pass so if certain nozzles 6177*3ff48bf5SDavid du Colombierdo not print in the pass then the rows for those nozzles will be padded 6178*3ff48bf5SDavid du Colombierwith zeroes. 6179*3ff48bf5SDavid du Colombier<P> 6180*3ff48bf5SDavid du ColombierThe row mask translates to "C Y K M 0 0" so in the output data rows 0,7,13,... 6181*3ff48bf5SDavid du Colombierwill contain data for cyan, rows 1,8,14,... will contain data for yellow, etc. Rows 4,10,16,... 6182*3ff48bf5SDavid du Colombierand 5, 11,15,... will always be padded with zeroes. The <i>upNozzleMapPatternRepeat</i> 6183*3ff48bf5SDavid du Colombierparameter defines the length of the mask. 6184*3ff48bf5SDavid du Colombier<p> 6185*3ff48bf5SDavid du ColombierThe row mask is repeated for each group of <i>upNozzleMapPatternRepeat</i> rows 6186*3ff48bf5SDavid du Colombierin the output data. In this case there are 64 rows so there will be 10 groups 6187*3ff48bf5SDavid du Colombierof "C Y K M 0 0" followed by "C Y K M" which is equivalent to 11 output 6188*3ff48bf5SDavid du Colombierpins. 6189*3ff48bf5SDavid du Colombier<P> 6190*3ff48bf5SDavid du ColombierThe <i>upNozzleMaskScanOffset</i> array indicates how the data from the scan 6191*3ff48bf5SDavid du Colombierbuffer is mapped to the output data. The data is presented to the formatter 6192*3ff48bf5SDavid du Colombieras a buffer of four colour scanlines. The index of the scanline being printed, 6193*3ff48bf5SDavid du Colombierlets call it y, always corresponds, in this example, to the physical position of 6194*3ff48bf5SDavid du Colombierthe cyan nozzle but since the nozzles are not on the same horizontal 6195*3ff48bf5SDavid du Colombierline then the other colours for the current pass must come from other 6196*3ff48bf5SDavid du Colombierscanlines in the scan buffer. The example is { 0 1 2 3 0 0 }, this means that 6197*3ff48bf5SDavid du Colombierwhen printing a 4 colour image the magenta data would come from scanline y+3, 6198*3ff48bf5SDavid du Colombierthe black from scanline y+2, etc. It would have been possible in this case 6199*3ff48bf5SDavid du Colombierto use the array index instead of the <i>upNozzleMaskScanOffset</i> parameter 6200*3ff48bf5SDavid du Colombierhowever the parameter is necessary to be able to use the full capability of the 6201*3ff48bf5SDavid du Colombierprinter in black only mode. 6202*3ff48bf5SDavid du Colombier 6203*3ff48bf5SDavid du Colombier<h4>Example 2 - Epson Stylus Color 300 - 180 dpi black only</h4> 6204*3ff48bf5SDavid du Colombier<blockquote> 6205*3ff48bf5SDavid du Colombier<pre> 6206*3ff48bf5SDavid du Colombier-dupMargins="{ 9.0 39.96 9.0 9.0}" 6207*3ff48bf5SDavid du Colombier-dupWeaveYPasses=1 6208*3ff48bf5SDavid du Colombier-dupOutputPins=31 6209*3ff48bf5SDavid du Colombier-dupNozzleMapRowsPerPass=64 6210*3ff48bf5SDavid du Colombier-dupNozzleMapPatternRepeat=6 6211*3ff48bf5SDavid du Colombier-dupNozzleMapRowMask="{ 0 0 1 0 1 1}" 6212*3ff48bf5SDavid du Colombier-dupNozzleMapMaskScanOffset="{ 0 0 0 0 1 2 }" 6213*3ff48bf5SDavid du Colombier</pre> 6214*3ff48bf5SDavid du Colombier</blockquote> 6215*3ff48bf5SDavid du ColombierIn this example there is no weaving. 6216*3ff48bf5SDavid du Colombier<p> 6217*3ff48bf5SDavid du ColombierThe ESC300 has black nozzles evenly physically arranged as K K K but the data must 6218*3ff48bf5SDavid du Colombierbe sent to the printer as 00K0KK. This is handled by the <i>upNozzleMapRowMask</i> 6219*3ff48bf5SDavid du Colombierand <i>upNozzleMaskScanOffset</i> arrays. The <i>upNozzleMapRowMask</i> array is 6220*3ff48bf5SDavid du Colombier{ 0 0 1 0 1 1} which translates to { 0 0 K 0 K K } so rows 0, 1 and 3 will always 6221*3ff48bf5SDavid du Colombiercontain zeros and the other rows will contain data. 6222*3ff48bf5SDavid du Colombier<p> 6223*3ff48bf5SDavid du ColombierThe <i>upNozzleMaskScanOffset</i> array 6224*3ff48bf5SDavid du Colombierin this case is { 0 0 0 0 1 2 } so if the data for the 1st nozzle comes from row 6225*3ff48bf5SDavid du Colombiery in the scan buffer then the data for the 2nd and 3rd nozzles will come from rows 6226*3ff48bf5SDavid du Colombiery+1 and y+2. 6227*3ff48bf5SDavid du Colombier 6228*3ff48bf5SDavid du Colombier<h4>Example 3 - Epson Stylus Color 300 - 360 dpi black only</h4> 6229*3ff48bf5SDavid du Colombier<blockquote> 6230*3ff48bf5SDavid du Colombier<pre> 6231*3ff48bf5SDavid du Colombier-dupWeaveYPasses=2 6232*3ff48bf5SDavid du Colombier-dupOutputPins=31 6233*3ff48bf5SDavid du Colombier-dupWeaveYFeeds="{31 31}" 6234*3ff48bf5SDavid du Colombier-dupWeaveInitialYFeeds="{1 31}" 6235*3ff48bf5SDavid du Colombier-dupWeaveInitialPins="{16 31}" 6236*3ff48bf5SDavid du Colombier-dupNozzleMapRowsPerPass=64 6237*3ff48bf5SDavid du Colombier-dupNozzleMapPatternRepeat=6 6238*3ff48bf5SDavid du Colombier-dupNozzleMapRowMask="{ 0 0 1 0 1 1}" 6239*3ff48bf5SDavid du Colombier-dupNozzleMapMaskScanOffset="{ 0 0 0 0 2 4 }" 6240*3ff48bf5SDavid du Colombier</pre> 6241*3ff48bf5SDavid du Colombier</blockquote> 6242*3ff48bf5SDavid du ColombierIn this example 2 weave passes are required to achieve the desired resolution. 6243*3ff48bf5SDavid du Colombier<p> 6244*3ff48bf5SDavid du ColombierThe <i>upNozzleMaskScanOffset</i> array in this case is { 0 0 0 0 2 4 } because 6245*3ff48bf5SDavid du Colombierthere are two weave passes so if the data for the first nozzle comes from row y 6246*3ff48bf5SDavid du Colombierin the scan buffer then the data for the 2nd and 3rd nozzles must come from rows 6247*3ff48bf5SDavid du Colombiery+(1*2) and y+(2*2). 6248*3ff48bf5SDavid du Colombier<p> 6249*3ff48bf5SDavid du Colombier<address> 6250*3ff48bf5SDavid du ColombierGlenn Ramsey<br> 6251*3ff48bf5SDavid du Colombierglennr at users.sourceforge.net<br> 6252*3ff48bf5SDavid du ColombierFebruary 2001 6253*3ff48bf5SDavid du Colombier</address> 6254*3ff48bf5SDavid du Colombier<br> 62557dd7cddfSDavid du Colombier<hr> 62567dd7cddfSDavid du Colombier 6257*3ff48bf5SDavid du Colombier<h2><a name="SPARCprinter"></a>Sun SPARCprinter</h2> 62587dd7cddfSDavid du Colombier 62597dd7cddfSDavid du Colombier<p> 62607dd7cddfSDavid du ColombierThis section was contributed by Martin Schulte. 62617dd7cddfSDavid du Colombier 62627dd7cddfSDavid du Colombier<p> 62637dd7cddfSDavid du ColombierWith a SPARCprinter you always buy software that enables you to do 62647dd7cddfSDavid du ColombierPostScript printing on it. A page image is composed on the host, which 62657dd7cddfSDavid du Colombiersends a bitmap to the SPARCprinter through a special SBUS video interface. 62667dd7cddfSDavid du ColombierSo the need for a Ghostscript interface to the SPARCPrinter seems low, but 62677dd7cddfSDavid du Colombieron the other hand, Sun's software prints some PostScript drawings 62687dd7cddfSDavid du Colombierincorrectly: some pages contain a thin vertical line of rubbish, and on 62697dd7cddfSDavid du Colombiersome Mathematica drawings the text at the axes isn't rotated. Ghostscript, 62707dd7cddfSDavid du Colombierhowever, gives the correct results. Moreover, replacing proprietary 62717dd7cddfSDavid du Colombiersoftware should never be a bad idea. 62727dd7cddfSDavid du Colombier 62737dd7cddfSDavid du Colombier<p> 62747dd7cddfSDavid du ColombierThe problem is that there has yet been no effort to make the SPARCPrinter 62757dd7cddfSDavid du Colombierdriver behave like a BSD output filter. I made my tests using the script 62767dd7cddfSDavid du Colombiershown here. 62777dd7cddfSDavid du Colombier 6278*3ff48bf5SDavid du Colombier<h3><a name="SPARC_install"></a>Installation</h3> 62797dd7cddfSDavid du Colombier 62807dd7cddfSDavid du Colombier<p> 62817dd7cddfSDavid du ColombierAdd <b><tt>sparc.dev</tt></b> to <b><tt>DEVICE_DEVS</tt></b> and compile 62827dd7cddfSDavid du ColombierGhostscript as described in the documentation on <a href="Make.htm">how to 62837dd7cddfSDavid du Colombierbuild Ghostscript</a>. Afterwards you can use the following script as an 62847dd7cddfSDavid du Colombierexample for printing after modifying it with the right pathnames -- 62857dd7cddfSDavid du Colombierincluding for <b>{GSPATH}</b> the full pathname of the Ghostscript 62867dd7cddfSDavid du Colombierexecutable: 62877dd7cddfSDavid du Colombier 62887dd7cddfSDavid du Colombier<blockquote> 62897dd7cddfSDavid du Colombier<pre>outcmd1='/vol/local/lib/troff2/psxlate -r' 62907dd7cddfSDavid du Colombieroutcmd2='<b><em>{GSPATH}</em></b> -sDEVICE=sparc -sOUTPUTFILE=/dev/lpvi0 -' 62917dd7cddfSDavid du Colombier 62927dd7cddfSDavid du Colombierif [ $# -eq 0 ] 62937dd7cddfSDavid du Colombierthen 62947dd7cddfSDavid du Colombier $outcmd1 | $outcmd2 62957dd7cddfSDavid du Colombierelse 62967dd7cddfSDavid du Colombier cat $* | $outcmd1 | $outcmd2 62977dd7cddfSDavid du Colombierfi 62987dd7cddfSDavid du Colombier</pre></blockquote> 62997dd7cddfSDavid du Colombier 6300*3ff48bf5SDavid du Colombier<h3><a name="SPARC_problems"></a>Problems</h3> 63017dd7cddfSDavid du Colombier 63027dd7cddfSDavid du Colombier<p> 63037dd7cddfSDavid du ColombierSince <b><tt>/dev/lpi</tt></b> can be opened only for exclusive use, if 63047dd7cddfSDavid du Colombieranother job has it open (engine_ctl_sparc or another Ghostscript are the 63057dd7cddfSDavid du Colombiermost likely candidates), Ghostscript stops with "Error: /invalidfileaccess 63067dd7cddfSDavid du Colombierin --.outputpage--" 63077dd7cddfSDavid du Colombier 63087dd7cddfSDavid du Colombier<p> 63097dd7cddfSDavid du ColombierIn case of common printer problems like being out of paper, a warning 63107dd7cddfSDavid du Colombierdescribing the reason is printed to stdout. The driver tries access again 63117dd7cddfSDavid du Colombiereach five seconds. Due to a problem with the device driver (in the kernel) 63127dd7cddfSDavid du Colombierthe reason for printer failure isn't always reported correctly to the 63137dd7cddfSDavid du Colombierprogram. This is the case, for instance, if you open the top cover (error 63147dd7cddfSDavid du ColombierE5 on the printer's display). Look at the display on the printer itself if 63157dd7cddfSDavid du Colombiera "Printer problem with unknown reason" is reported. Fatal errors cause 63167dd7cddfSDavid du Colombierthe print job to be terminated. 63177dd7cddfSDavid du Colombier 63187dd7cddfSDavid du Colombier<hr> 63197dd7cddfSDavid du Colombier 6320*3ff48bf5SDavid du Colombier<h2><a name="Apple"></a>Apple dot matrix printer</h2> 63217dd7cddfSDavid du Colombier 63227dd7cddfSDavid du Colombier<p> 63237dd7cddfSDavid du ColombierThis section was contributed by Mark Wedel 63247dd7cddfSDavid du Colombier<<a href="mailto:master@cats.ucsc.edu">master@cats.ucsc.edu</a>>. 63257dd7cddfSDavid du Colombier 63267dd7cddfSDavid du Colombier<p> 63277dd7cddfSDavid du ColombierThe Apple Dot Matrix Printer (DMP) was a parallel predecessor to the 63287dd7cddfSDavid du ColombierImagewriter printer. As far as I know, Imagewriter commands are a superset 63297dd7cddfSDavid du Colombierof the Dot Matrix printer's, so the driver should generate output that can 63307dd7cddfSDavid du Colombierbe printed on Imagewriters. 63317dd7cddfSDavid du Colombier 63327dd7cddfSDavid du Colombier<p> 63337dd7cddfSDavid du ColombierTo print images, the driver sets the printer for unidirectional printing 63347dd7cddfSDavid du Colombierand 15 characters per inch (cpi), or 120dpi. It sets the line feed to 1/9 63357dd7cddfSDavid du Colombierinch. When finished, it sets the printer to bidirectional printing, 63367dd7cddfSDavid du Colombier1/8-inch line feeds, and 12 cpi. There appears to be no way to reset the 63377dd7cddfSDavid du Colombierprinter to initial values. 63387dd7cddfSDavid du Colombier 63397dd7cddfSDavid du Colombier<p> 63407dd7cddfSDavid du ColombierThis code does not set for 8-bit characters (which is required). It also 63417dd7cddfSDavid du Colombierassumes that carriage return-newline is needed, and not just carriage 63427dd7cddfSDavid du Colombierreturn. These are all switch settings on the DMP, and I have configured 63437dd7cddfSDavid du Colombierthem for 8-bit data and carriage return exclusively. Ensure that the Unix 63447dd7cddfSDavid du Colombierprinter daemon handles 8-bit (binary) data properly; in my SunOS 4.1.1 63457dd7cddfSDavid du Colombier<b><tt>printcap</tt></b> file the string "<b><tt>ms=pass8,-opost</tt></b>" 63467dd7cddfSDavid du Colombierworks fine for this. 63477dd7cddfSDavid du Colombier 63487dd7cddfSDavid du Colombier<p> 63497dd7cddfSDavid du ColombierFinally, you can search <b><tt>devdemp.c</tt></b> for 63507dd7cddfSDavid du Colombier"<b><tt>Init</tt></b>" and "<b><tt>Reset</tt></b>" to find the strings that 63517dd7cddfSDavid du Colombierinitialize the printer and reset things when finished, and change them to 63527dd7cddfSDavid du Colombiermeet your needs. 63537dd7cddfSDavid du Colombier 63547dd7cddfSDavid du Colombier<!-- [2.0 end contents] ==================================================== --> 63557dd7cddfSDavid du Colombier 63567dd7cddfSDavid du Colombier<!-- [3.0 begin visible trailer] =========================================== --> 63577dd7cddfSDavid du Colombier<hr> 63587dd7cddfSDavid du Colombier 6359*3ff48bf5SDavid du Colombier<p> 6360*3ff48bf5SDavid du Colombier<small>Copyright © 1996, 2000 Aladdin Enterprises. 6361*3ff48bf5SDavid du ColombierAll rights reserved.</small> 63627dd7cddfSDavid du Colombier 63637dd7cddfSDavid du Colombier<p> 6364*3ff48bf5SDavid du Colombier<small>This file is part of AFPL Ghostscript. See the 6365*3ff48bf5SDavid du Colombier<a href="Public.htm">Aladdin Free Public License</a> (the "License") for 6366*3ff48bf5SDavid du Colombierfull details of the terms of using, copying, modifying, and redistributing 6367*3ff48bf5SDavid du ColombierAFPL Ghostscript.</small> 63687dd7cddfSDavid du Colombier 6369*3ff48bf5SDavid du Colombier<p> 6370*3ff48bf5SDavid du Colombier<small>Ghostscript version 7.04, 31 January 2002 63717dd7cddfSDavid du Colombier 63727dd7cddfSDavid du Colombier<!-- [3.0 end visible trailer] ============================================= --> 63737dd7cddfSDavid du Colombier 63747dd7cddfSDavid du Colombier</body> 63757dd7cddfSDavid du Colombier</html> 6376*3ff48bf5SDavid du Colombier 6377