Go to the first, previous, next, last section, table of contents.

Copyright (C) 1992, 1993 Heinz W. Werntges

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the accompanying file named COPYING which contains the "GNU General Public License" is included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that the abovementioned file COPYING containing the "GNU General Public License" may be included in a translation approved by the Free Software Foundation instead of in the original English.


The hp2xx program is a versatile tool to convert vector-oriented graphics data given in Hewlett-Packard's HP-GL plotter language into a variety of popular both vector- and raster-oriented graphics formats.

The various supported output formats include Encapsulated PostScript (EPS), PCX, IMG, and several formats intended to facilitate the generation of graphics within TeX documents. In addition, hp2xx output is printable on the HP Laserjet/Deskjet printer series, and it may be used as a HP-GL previewer on many platforms, e.g. X11 and DOS (VGA).

hp2xx first converts all HP-GL data into pure vectors and buffers them internally. It then converts these vectors into a specified output format (vector modes), or rasterizes them (raster modes) on an internal bitmap. In raster modes, hp2xx then translates the bitmap into the output format.

Invoking hp2xx

The format of the hp2xx command is:

hp2xx [options] [input-file(s)]

It follows the UNIX System V tradition of a filter, i. e., options begin with `-', followed by a single letter and an optional parameter. Options must appear immediately behind the program name and before the input file name(s) (if specified). If no input file is given, hp2xx reads from stdin. In addition to this traditional option handling, hp2xx also supports GNU-style long options and option/non-option permutation (see section Option summary). However, throughout this manual all examples will only display short options.

hp2xx writes to the output file whose name can be specified by option `-f'. Without option `-f', hp2xx generates output file names from the input names and the selected mode (see option `-m'). hp2xx writes to stdout if you supply a dash as output file name like in `-f-'.

hp2xx for the impatient

This section is intended to give those of you a quick-start who are quite familiar with traditional UNIX-style programs and with HP-GL and other graphics formats. The following examples will give you a good idea of hp2xx's functionality. See section Option summary for further details.

hp2xx foo.hp

Preview of HP-GL graphics in file `foo.hp'. The picture will fit into a square of 200 mm width, assuming that your output device (screen) features 75 DPI resolution (default).

hp2xx -q -d86 -h160 -w220  foo.hp bar.hp

Multiple-file preview. Option `-q' puts hp2xx into "quiet" mode. The picture will fit into a rectangle of 220 mm width and 160 mm height, assuming a 86 DPI resolution of the output device (screen).

hp2xx -t -c12340567 -p12230412 foo.hp

Preview, size according to original HP-GL data (as on a plotter), with different pen colors and sizes. Color and width according to:

  Pen # : Color code     / Size (pixel)
    1   : 1 (black)      /    1
    2   : 2 (red)        /    2
    3   : 3 (green)      /    2
    4   : 4 (blue)       /    3
    5   : 0 (background) /    0
    6   : 5 (cyan)       /    4
    7   : 6 (magenta)    /    1
    8   : 7 (yellow)     /    2
hp2xx -m eps -l a.log -h100 -w150 -p542  foo.hp bar.hp

Encapsulated Postscript mode. Files `foo.eps' and `bar.eps' will be created. The diagnostic output will be written into `a.log', so hp2xx works quietly. Both EPS pictures will fit into a rectangle of size 150 x 200 mm. The size (width) of pen 1: 0.5 mm, pen 2: 0.4 mm, pen 3: 0.2 mm, pen 4 ... pen 8: 0.1 mm.

unix% cat foo.hp | hp2xx -m pcl -o30 -O50 -i -F -f- | lpr -P ljet

In this generic UNIX example, hp2xx reads HP-GL code from stdin, converts it to HP-PCL which is suitable for direct output on any HP Laserjet printer, and pipes the output via stdout into the appropriate printer queue. Option `-f-' forces hp2xx to write to stdout instead of a file, `-i' initializes the printer before the output, `-F' sends a FormFeed at the end of output. There will be (additional) 30 mm left and 50 mm top margins. 75 DPI are assumed per default.

hp2xx -m pcx -f foo3.pcx -d300 -h80 -w150 -r90 -P2:4  foo.hp

PCX mode. Output goes into file `foo3.pcx'. A limiting rectangle of 150 x 80 mm at 300 DPI is assumed. The picture will be rotated by 90 degrees. Only pages 2 to 4 of the multi-page HP-GL source is used (each occurrence of HP-GL code PG; increments the internal page counter).

Go to the first, previous, next, last section, table of contents.