Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xpr(X) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

xwd(X)

xwud(X)

X(X)


 xpr(X)                          19 June 1992                          xpr(X)


 Name

    xpr - print an X window dump

 Syntax

    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(X) 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.

 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 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.  Frac-
                   tions 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 be 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 printers to render the image with
                   the best quality versus performance tradeoff.  Consult the
                   operator's manual to determine which algorithms are avail-
                   able.

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


 See also

    xwd(X), xwud(X), X(X)

 Known 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 solu-
    tion 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 accomodated 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 to 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 2 MB 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.


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