Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xpr(1) — bsd — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

xwd(1)

xwud(1)

X(1)

XPR(1)                               BSD                                XPR(1)



NAME
     xpr - print an X window dump

SYNOPSIS
     xpr [ -device dev ] [ -scale scale ] [ -height inches ] [ -width inches ]
     [ -left inches ] [ -top inches ] [ -header string ] [ -trailer string ] [
     -landscape ] [ -portrait ] [ -plane number ] [ -gray ] [ -rv ] [ -compact
     ] [ -output filename ] [ -append filename ] [ -noff ] [ -split n ] [
     -psfig ] [ -density dpi ] [ -cutoff level ] [ -noposition ] [ -gamma
     correction ] [ -render algorithm ] [ -slide ] [ filename ]

DESCRIPTION
     xpr takes as input a window dump file produced by xwd(1) and formats it
     for output on PostScript printers, the Digital LN03 or LA100, the IBM
     PP3812 page printer, the HP LaserJet (or other PCL printers), or the HP
     PaintJet.  If no file argument is given, the standard input is used.  By
     default, xpr prints the largest possible representation of the window on
     the output page.  Options allow the user to add headers and trailers,
     specify margins, adjust the scale and orientation, and append multiple
     window dumps to a single output file.  Output is to standard output
     unless -output is specified.

     Command Options


     -device dev
          Specifies the device on which the file will be printed.  Currently
          supported:
                 la100
                      Digital LA100
                 ljet HP LaserJet series and other monochrome PCL devices such
                      as ThinkJet, QuietJet, RuggedWriter, HP2560 series, and
                      HP2930 series printers
                 ln03 Digital LN03
                 pjet HP PaintJet (color mode)
                 pjetxl
                      HP HP PaintJet XL Color Graphics Printer (color mode)
                 pp   IBM PP3812
                 ps   PostScript printer

          The default device is the LN03, for historical reasons.  -device lw
          (LaserWriter) is equivalent to -device ps and is provided only for
          backwards compatibility.

     -scale scale
          Affects the size of the window on the page.  The PostScript, LN03,
          and HP printers are able to translate each bit in a window pixel map
          into a grid of a specified size.  For example each bit might
          translate into a 3x3 grid.  This would be specified by -scale 3.  By
          default a window is printed with the largest scale that will fit
          onto the page for the specified orientation.

     -height inches
          Specifies the maximum height of the page.

     -width inches
          Specifies the maximum width of the page.

     -left inches
          Specifies the left margin in inches.  Fractions are allowed.  By
          default the window is centered in the page.
     -top inches
          Specifies the top margin for the picture in inches.  Fractions are
          allowed.

     -header string
          Specifies a header string to be printed above the window.

     -trailer string
          Specifies a trailer string to be printed below the window.

     -landscape
          Forces the window to printed in landscape mode.  By default a window
          is printed such that its longest side follows the long side of the
          paper.

     -plane number
          Specifies which bit plane to use in an image.  The default is to use
          the entire image and map values into black and white based on color
          intensities.

     -gray  2 | 3 | 4
          Uses a simple 2x2, 3x3, or 4x4 gray scale conversion on a color
          image, rather than mapping to strictly black and white.  This
          doubles, triples, or quadruples the effective width and height of
          the image.

     -portrait
          Forces the window to be printed in portrait mode.  By default a
          window is printed such that its longest side follows the long side
          of the paper.

     -rv  Forces the window to be printed in reverse video.

     -compact
          Uses simple run-length encoding for compact representation of
          windows with lots of white pixels.

     -output filename
          Specifies an output file name.  If this option is not specified,
          standard output is used.

     -append filename
          Specifies a filename previously produced by xpr to which the window
          is to be appended.

     -noff
          When specified in conjunction with -append, the window will appear
          on the same page as the previous window.

     -split n
          This option allows the user to split a window onto several pages.
          This might be necessary for very large windows that would otherwise
          cause the printer to overload and print the page in an obscure
          manner.

     -psfig
          Suppress translation of the PostScript picture to the center of the
          page.

     -density dpi
          Indicates what dot-per-inch density should be used by the HP
          printer.

     -cutoff level
          Changes the intensity level where colors are mapped to either black
          or white for monochrome output on a LaserJet printer.  The level is
          expressed as percentage of full brightness.  Fractions are allowed.

     -noposition
          This option causes header, trailer, and image positioning command
          generation to be bypassed for LaserJet, PaintJet and PaintJet XL
          printers.

     -gamma correction
          This changes the intensity of the colors printed by PaintJet XL
          printer. The correction is a floating point value in the range 0.00
          to 3.00.  Consult the operator's manual to determine the correct
          value for the specific printer.

     -render algorithm
          This allows PaintJet XL printer to render the image with the best
          quality versus performance tradeoff.  Consult the operator's manual
          to determine which algorithms are available.

     -slide
          This option allows overhead transparencies to be printed using the
          PaintJet and PaintJet XL printers.


SEE ALSO
     xwd(1), xwud(1), X(1)

LIMITATIONS
     The current version of xpr can generally print out on the LN03 most X
     windows that are not larger than two-thirds of the screen.  For example,
     it will be able to print out a large Emacs window, but it will usually
     fail when trying to print out the entire screen.  The LN03 has memory
     limitations that can cause it to incorrectly print very large or complex
     windows.  The two most common errors encountered are ``band too complex''
     and ``page memory exceeded.'' In the first case, a window may have a
     particular six pixel row that contains too many changes (from black to
     white to black).  This will cause the printer to drop part of the line
     and possibly parts of the rest of the page.  The printer will flash the
     number `1' on its front panel when this problem occurs.  A possible
     solution to this problem is to increase the scale of the picture, or to
     split the picture onto two or more pages.  The second problem, ``page
     memory exceeded,'' will occur if the picture contains too much black, or
     if the picture contains complex half-tones such as the background color
     of a display.  When this problem occurs the printer will automatically
     split the picture into two or more pages.  It may flash the number `5' on
     its from panel.  There is no easy solution to this problem.  It will
     probably be necessary to either cut and paste, or to rework the
     application to produce a less complex picture.

     There are several limitations on the LA100 support: the picture will
     always be printed in portrait mode, there is no scaling, and the aspect
     ratio will be slightly off.

     Support for PostScript output currently cannot handle the -append, -noff
     or -split options.

     The -compact option is only supported for PostScript output.  It
     compresses white space but not black space, so it is not useful for
     reverse-video windows.

     For color images, should map directly to PostScript image support.


HP PRINTERS
     If no -density is specified on the command line 300 dots per inch will be
     assumed for ljet and 90 dots per inch for pjet.  Allowable density values
     for a LaserJet printer are 300, 150, 100, and 75 dots per inch.  Consult
     the operator's manual to determine densities supported by other printers.

     If no -scale is specified the image will be expanded to fit the printable
     page area.

     The default printable page area is 8x10.5 inches. Other paper sizes can
     be accomadated using the -height and -width options.

     Note that a 1024x768 image fits the default printable area when processed
     at 100 dpi with scale=1, the same image can also be printed using 300 dpi
     with scale=3 but will require considerably more data be transferred to
     the printer.

     xpr may be tailored for use with monochrome PCL printers other than the
     LaserJet.  To print on a ThinkJet (HP2225A) xpr could be invoked as:

         xpr -density 96 -width 6.667 filename

     or for black-and-white output to a PaintJet:

         xpr -density 180 filename

     The monochrome intensity of a pixel is computed as 0.30*R + 0.59*G +
     0.11*B.  If a pixel's computed intensity is less than the -cutoff level
     it will print as white.  This maps light-on-dark display images to
     black-on-white hardcopy.  The default cutoff intensity is 50% of full
     brightness.  Example: specifying -cutoff 87.5 moves the white/black
     intensity point to 87.5% of full brightness.

     A LaserJet printer must be configured with sufficient memory to handle
     the image.  For a full page at 300 dots per inch approximately 2MB of
     printer memory is required.

     Color images are produced on the PaintJet at 90 dots per inch.  The
     PaintJet is limited to sixteen colors from its 330 color palette on each
     horizontal print line.  xpr will issue a warning message if more than
     sixteen colors are encountered on a line.  xpr will program the PaintJet
     for the first sixteen colors encountered on each line and use the nearest
     matching programmed value for other colors present on the line.

     Specifying the -rv, reverse video, option for the PaintJet will cause
     black and white to be interchanged on the output image.  No other colors
     are changed.

     Multiplane images must be recorded by xwd in ZPixmap format.  Single
     plane (monochrome) images may be in either XYPixmap or ZPixmap format.

     Some PCL printers do not recognize image positioning commands.  Output
     for these printers will not be centered on the page and header and
     trailer strings may not appear where expected.

     The -gamma and -render options are supported only on the PaintJet XL
     printers.

     The -slide option is not supported for LaserJet printers.

     The -split option is not supported for HP printers.


COPYRIGHT
     Copyright 1988, Massachusetts Institute of Technology.
     Copyright 1986, Marvin Solomon and the University of Wisconsin.
     Copyright 1988, Hewlett Packard Company.
     See X(1) for a full statement of rights and permissions.

AUTHORS
     Michael R. Gretzinger, MIT Project Athena, Jose Capo, MIT Project Athena
     (PP3812 support), Marvin Solomon, University of Wisconsin, Bob Scheifler,
     MIT, Angela Bock and E. Mike Durbin, Rich Inc. (grayscale), Larry Rupp,
     HP (HP printer support).

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026