Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
hp2xx(1)		    General Commands Manual		      hp2xx(1)

NAME
       hp2xx - A HPGL converter	into some vector- and raster formats

USAGE
       hp2xx [-options]	[hpgl-file(s)]

OPTION SUMMARY
       Option Format  Default	Description
       -------------------------------------------------------------------------
       General options:
	 -c   char *  11111111	Pen color(s). Valid: 1 to 8 digits of 0-7 each.
				0=off, 1=black,	2=red, 3=green,	4=blue,	5=cyan,
				6=magenta, 7=yellow.
	 -f   char *  ""	Name of	output file. ""	= autom., "-" =	stdout
	 -l   char *  ""	Name of	optional log file
	 -m   char *  pre	Mode. Valid (some are compile-time options):
				mf,cad,dxf,em,emf,epic,eps,escp2,fig,jpg,gpt,hpgl,
		       rgip,pcl,pcx,pic,img,pbm,png,pre,svg,tiff,pdf,nc
	 -p   char *  11111111	Pensize(s) [dots] (default), [1/10 mm] (mf, ps).
				Valid: 1 to 8 digits of	0-9 (or	characters A-Z for
		       widths beyond 0.9mm) each.
	 -P   int     0:0	Selected page range (m:n) (0 = 0:0 = all pages)
	 -q	      off	Quiet mode. No diagnostic output.
	 -r   double  0.0	Rotation angle [deg]. -r90 gives landscape
	 -s   char *  hp2xx.swp	Name of	swap file

       Size controls:
	 -a   double  1.0	Aspect factor. Valid: >	0.0
	 -h   double  200	Height [mm] of picture
	 -w   double  200	Width  [mm] of picture
	 -x   double   -	Preset xmin value of HPGL coordinate range
	 -X   double   -	Preset xmax value of HPGL coordinate range
	 -y   double   -	Preset ymin value of HPGL coordinate range
	 -Y   double   -	Preset ymax value of HPGL coordinate range
	 -z   double  1.0	Z engagement (working depth) (used in nc output	only)
	 -Z   double -1.0	Z retraction depth (used in nc output only)
	 -t	      off	True size mode.	Inhibits effects of -a -h -w

       HPGL handling controls:
	 -n	      off     No filling of polygons; draws outline instead
	 -N	      off     Ignore PS	commands, calculate plot size as needed
	 -e   int  0	 Extend	IW clipping limits by given amount
	 -M   int      0	Remap pen no.0 commands	to given pen

       Raster format controls:
	 -d   int     75	DPI value (x or	both x&y)
	 -D   int     75	DPI value (y only)

       PCL only:
	 -F	      off	Send a FormFeed	after graphics data
	 -i	      off	Pre-initialize printer
	 -S   int     0		(Deskjet) Special commands: 0=off,1=b/w,3=CMY,4=CMYK
	 -d   (see above)	Valid ONLY 300,	150, 100, 75
	 -D   (see above)	INVALID	for PCL!

       EPS, PCL, and some previews:
	 -o   double  0.0	x offset [mm] of picture (left	margin)
	 -O   double  0.0	y offset [mm] of picture (upper	margin)
	 -C			Modify -o -O to	center picture within -w -h frame

       TIFF only:
	 -S   int     0		Compression: 0/1=off,2=RLE,3=G3FAX,4=G4FAX,
					     6=OJPEG,7=JPEG,8=deflate

       Preview on PC's (DOS):
	 -V   int     18	VGA mode byte (decimal)
       -------------------------------------------------------------------------
	 -H		 Show help.

DESCRIPTION
       hp2xx reads HPGL	ASCII source files, interprets them, and converts them
       into  either  another vector-oriented  format or	one of several raster-
       file formats. Currently,	its HPGL parser	recognizes a large  subset  of
       HPGL/2.	Some high-level	functions related to polygon filling are miss-
       ing.   Also,  only some of the fixed space vector fonts and none	of the
       variable	space arc fonts	are supported. Beside these limitations, hp2xx
       has proven to work with many HP-GL sources without any trouble.

GENERAL	OPTIONS
       hp2xx reads from	stdin or from a	file if	any given on the command line.
       If no output file name is given	(default),  the	 output	 automatically
       goes into a file	whose name is derived from the input file name and the
       current mode. For example, hp2xx	-m pcl foo.hpgl	writes the output to a
       file  "foo.pcl".	Use option -f outfile to specify your output file name
       explicitly, or -I -f- to	write to  stdout,  e.g.	 when  piping  into  a
       queue.

       The  program  scans  the	current	HPGL source, converts all drawing com-
       mands into elementary vectors, saves these in  a	 temporary  file,  and
       concurrently  determines	 the  maximum  coordinate  range used. It then
       processes the vectors by	mapping	them into  a  user-defined  coordinate
       system, preserving the aspect ratio of the original data.

       This  coordinate	system by default fits into a window of	size 200 mm by
       200 mm. To change the size of this bounding window, use -h  height  and
       -w width	to set the (max.) desired height and width of your output pic-
       ture;  optionally  use -a aspectfactor to alter the aspect ratio	by the
       given factor (aspectfactor < 1 narrows your  picture).	The  generated
       picture	will  always  fit  into	the window defined by -h height	and -w
       width, padded with background color at the lower	 or  right  margin  if
       needed.

       A second	way of defining	sizes is relying on the	size the picture would
       actually	 show  if plotted on a sheet of	paper by a HP-compatible plot-
       ter. By activating flag -I -t (true size), options -a, -h, and  -w  are
       ignored,	 and the sizes are derived from	the HP-GL file assuming	that 1
       HP unit = 1/40 mm.

       Option -r rotation_angle	(in degrees) allows you	to rotate  the	object
       prior  to  all  scaling operations. Its main use	is to facilitate land-
       scape format: -r90 rotates your whole picture,  e.g.  from  portait  to
       landscape format. However, any reasonable rotation angle	is valid.

       By  naming a file with option -l	log_file you can redirect the diagnos-
       tic outputs into	the given file,	even without a	redirection  mechanism
       for  stderr  like  in UNIX shells (e. g., DOS).	Option -q (quiet) gets
       rid of them completely.

       If you need to process a	series of  similar  objects  which  should  be
       translated  into	 exactly the same coordinate system, there is a	way to
       override	the auto-scaling: First, run all files separately and note the
       infos on	the used coordinate ranges. Then, pick a range that will cover
       ALL your	pictures.  You can now assign defaults to the internally  gen-
       erated  range  limits  by  specifying -x	xmin, -X xmax, -y ymin,	and -Y
       ymax.  NOTE: Clipping is	only supported via the IW  command  !  If  any
       picture coordinate exceeds your limits, they will be overwritten.

       Use  option -m mode to select the program mode, i.e. the	output format.
       Currently supported: mode = "mf"	(Metafont), "em"  (emTeX  cial{}  com-
       mands),	"epic"	(line drawing using TeX	macros within epic.sty), "eps"
       (PostScript), "dxf" (Autocad), "emf/emp"	(MS Enhanced Metafile /	Print-
       ing - available in Windows-built	 executables  only),  "svg"  (Scalable
       Vector Graphics), "fig" (XFig 3.2), "gpt" (GnuPlot ascii), "hpgl" (sim-
       plified	HP-GL,	e.g.  for  import tasks), "pcl"	(HP-PCL	Level 3	format
       (suitable for printing on a HP  Laserjet	 II,  DeskJet,	or  compatible
       printer), "escp2" (Epson	Esc/P2 printer commands, suitable for printing
       on  Epson  Stylus models), "img"	(GEMs IMG format), "jpg" (JPEG image),
       "pdf" (Adobe Portable Document  format),	 "pbm"	(Portable  Bit	Map  /
       Portable	PixMap for color plots), "pcx" (PC-Paintbrush format, also ac-
       cepted  by  MS-Paintbrush  /  Windows 3.0 and many other	PC based pixel
       renderers), "png" (Portable Network Graphics format), "nc" (CNC G-code,
       for engravings),	or "rgip" (Uniplex RGIP).  There is also a preview op-
       tion "pre" which	supports VGA cards (DOS), ATARI, AMIGA,	 X11  servers,
       and  Sunview.  Default  mode is "pre".  (As some	of these modes rely on
       external	libraries, they	may not	be builtin  by	default,  and  not  be
       available  in  prebuilt	binaries supplied e.g. in Linux	distributions.
       The usage messsage generated when hp2xx is invoked  without  parameters
       will always list	exactly	those modes that are actually available.)

       If you use a raster format, the picture is rasterized by	default	into a
       75  DPI resolution image. Use option -d DPI_value to change the resolu-
       tion, e.g. -d300	will cause a HP	LJ-II compatible  300  dpi  rasteriza-
       tion.  There is a way of	specifying a different resolution for y	direc-
       tion: -D	DPI_y_value

       Some programs were found	to generate HPGL output	with too  tight	 clip-
       ping  bounds, which lead, for example, to some parts of text characters
       clipped off.  Use option	-e extraclip to	add some extra amount of space
       to clip areas to	workaround such	mistakes.  For example,	-e 40 will add
       40 extra	plotter	units to every side of clipping	box which is 1	mm  in
       true size.

       While  processing  large	 pictures at high resolution on	low-memory ma-
       chines, typically under DOS, the	program	may start swapping. Optionally
       change the swap file by using -s	swapfile, e.g. to speed	up  processing
       by swapping to a	RAM disk.

       Unless the hpgl file specifies its own selection	of pen widths and col-
       ors  (for  up  to 256 pens), a carousel of 8 pens is simulated. You can
       specify pen sizes and colors for	each of	 these	pens  via  options  -p
       string  and  -c	string.	 "string" must consist of 1..8 digits (0-9 for
       size, 0-7 for color).  Digit number n (counting from left)  corresponds
       to pen number n.	 The digit value is this pen's color or	size in	inter-
       nal  units.   The  pen  width  unit  corresponds	to 1/10	mm - using pen
       widths beyond 0.9mm is possible by using	the letters of the  latin  al-
       phabet, so that A=1mm, B=1.1mm etc. The default size is 1 for all pens.
       Colors  are  assigned  according	 to:  0=off,  1=black, 2=red, 3=green,
       4=blue, 5=cyan,	6=magenta,  7=yellow.	Examples  of  use:  -p22222222
       -c33333333  changes  all	pensizes to 2 units, all colors	to green -p302
       -c407 makes pen #1 a blue pen of	size 3 , pen #3	a yellow pen  of  size
       2,  suppresses  all  drawing with pen #2, and keeps all other pen sizes
       and colors.  Setting either -p  or  -c  will  override  the  equivalent
       HPGL/2 commands (PC,PW) in the HP-GL file.

       Sometimes,  HP-GL files contain several pages of	plotter	output.	 hp2xx
       recognizes the HP-GL  commands  for  "feed-forward",  "pause"  or  "new
       page",  and  by	default	draws each image as a separate page (saving to
       sequentially numbered output files, or opening a	new preview window for
       each). You can select any particular page  range	 by  using  option  -P
       firstpage:lastpage  which causes	hp2xx to skip all drawing commands ex-
       cept those on the given pages.  Please note that	even if	only a	single
       page  is	actually drawn,	hp2xx will nonetheless process the whole HP-GL
       file. This makes	sure that effects of early pages on internal modes in-
       deed influence later pages, as on a real	plotter.

VECTOR FORMATS
       Supported vector	formats	are: TeX/Metafont,  emTex-specials,  TeX/epic-
       Macros,	Autocad	 DXF  CNC  G-code  XFig	3.2, GnuPlot ASCII, Simplified
       HP_GL, Uniplex RGIP Scalable Vector Graphics (SVG) Adobe	PDF(if	libpdf
       is  available)  and -I PostScript.  Use -m mf to	convert	a HPGL drawing
       into a Metafont character to be included	into a	TeX  document  as  the
       character  "Z" of a special font	that you may create. Edit the metafont
       source, e.g., to	change the letter "Z" for another, or  to  change  the
       line  thickness,	 which	is set to 0.4pt	by default.  The other TeX-re-
       lated modes ("cad" for  TeXcad  compatible  code,  "em"	for  employing
       cial{em:line}  macros,  and  "epic"  for	drawing	lines with macros from
       "epic.sty") address different compromises to cope with TeX's poor  line
       drawing	capability  and	 are  generally	not recommended	nor fully sup-
       ported. Feel free to experiment with them -- they generate ASCII	output
       that should be "input" into TeX/LaTeX documents.

       Use option -p pensize(s)	for control over pensize: The actual  Metafont
       or  PostScript pensize will be "pensize * 0.1 mm", with pensize = 0 - 9
       (0 = no drawing).  The same applies to

       In PostScript mode (-m eps), you	may also need to use options -o	and -O
       (see below) for proper margins on paper since hp2xx puts	 your  picture
       "flush" to the left and upper paper limit by default.

RASTER FORMATS
       The  following  formats	are  supported:	HP-PCL,	Esc/P2,	PCX, PIC, IMG,
       JPG, PBM/PPM, PNG, TIFF,	and previews. (PNG and TIFF  formats  rely  on
       external	libpng,zlib and	libtiff, JPG relies on libjpeg.	Versions built
       on  MS  windows	systems	 -  or versions	linked against libEMF on other
       platforms - may additionally support EMF	generation and printing.)

       Addition	of other formats is  made  easy	 for  programmers  because  of
       hp2xx's modular structure. The program allocates	a bitmap on a line-by-
       line  basis,  swapping  lines  to  disk	if needed, and plots into this
       bitmap. Depending on the	selected format, a conversion module  is  then
       activated,  which  can easily be	replaced by other converters. Add more
       formats if you like!

       Option -p pensize(s) controls the size (in pixels) of the virtual plot-
       ting pen. The only implemented shape of the pen tip is a	square of  the
       given  length.  pen sizes of 5...9 units	will be	acccepted but replaced
       by 4 units.  Specifying -p4 when	in 75 DPI mode will make pretty	clumsy
       pictures, while you may prefer -p2 over -p1 when	in 300 DPI.

       PCX: The	size of	a PCX picture is controlled via	its  specified	height
       and  the	current	DPI value. To create a high-resolution PCX image, just
       increase	the DPI	value as desired. PCX format does not accept offsets.

       IMG: See	PCX.

       PBM/PPM:	See PCX	for options. If	your  hpgl  file  is  not  monochrome,
       hp2xx will automatically	create a PPM (portable pixmap) file instead of
       a  PBM  bitmap. (Use -c11111111 to force	generation of PBM from a color
       hpgl file).  Depending on the compile-time option PBM_ASCII, hp2xx will
       create ascii or binary pbm (ppm)	files -	usually	the more efficient bi-
       nary format should be preferred.

       (Unsupported options) PIC, PAC: ATARI ST	screens	(640x400  pixels)  can
       easily be dumped	to files. Programs such	as STAD	accept graphics	by in-
       cluding such screen dump	files.	Graphics filling more than one screen-
       ful  may	be split into screen-size blocks and loaded/mounted blockwise.
       hp2xx converts to ATARI bitmap format by	trying to  fit	the  resulting
       picture	into  a	single screen equivalent (max. 400 rows, max. 80 Bytes
       (640 pixel) per row). If	it succeeds, hp2xx produces  a	single	output
       file. Specify ONLY its base name	(option	-f), since hp2xx adds the file
       extension  ".pic"  or  ".pac" automatically. Do NOT try to work on more
       than one	HPGL file simultaneously! Do NOT use more  than	 6  characters
       for the file name, and avoid digits. If more screen blocks are required
       horizontally and/or vertically, hp2xx will automatically	split the pic-
       ture  into  separate files, counting them columnwise (top-to-bottom and
       left-to-right), adding a	two-digit number to the	 given	file  name.  A
       maximum	of  10 columns is supported.  The picture is padded with back-
       ground color at its right and lower margins, if	needed.	 PAC  features
       file compression, PIC does not.

       PCL:  HP-PCL Level 3 format, most useful	for direct printer output. Due
       to this action, there have been added some extra	flags and options: Use
       flag -i to send a printer initialization	sequence before	the actual im-
       age. Among other	things,	this will instruct  the	 printer  which	 paper
       size  to	 use. Flag -F adds a Form Feed (FF, hex	0C) after the image is
       completed, which	is what	you may	want most of the time. However,	 over-
       lay printing of several files is	feasible by omitting -F.

       For  additional	control	 of the	picture's final	position on paper, you
       may add x or y offsets using -o X_offset	or -O Y_offset.	E.g., -o 20 -O
       30 will give you	30 mm additional top margin and	20 mm additional  left
       margin.	Option	-C modifies these offsets to center the	picture	within
       the frame defined by -w -h.

       The option -C will attempt to center the	drawing	on the paper automati-
       cally. Note also	that hp2xx now honors any PS (page size)  commands  in
       the  hpgl  file,	 which	can  also create white space around the	actual
       drawing.

       The option -N will make hp2xx ignore any	PS commands given in the  hpgl
       file,  and  recalculate the image size based on the actual geometry in-
       stead.

       The option -n will make hp2xx ignore any	polygon	filling	commands, ren-
       dering only their outlines. This	may serve both as  a  work-around  for
       hp2xx'  limited	polyfill support, and improve clarity of thumbnail im-
       ages of PCB designs and the like.

       The option -M pennumber will remap any color or drawing	commands  from
       pen  0 to the specified pen (which should typically be otherwise	unused
       in the drawing).	Historically, selecting	pen 0 instructed a pen plotter
       to put away the pen and stop drawing, while modern inkjet plotters  can
       use it like any other color. Due	to this	ambiguity, hp2xx will draw the
       background of raster graphics in	the pen	0 color, unless	this option is
       used.

       For  DeskJet / DeskJet Plus / DeskJet 500 / Deskjet 550 printers, there
       are some	special	printer	commands. Activate them	with option -S n.  n=0
       switches	them off, n=1 activates	 black/white  mode,  n=3  (DJ500C  and
       DJ550  only)  supports  CMY color data, n=4 (DJ550C only) supports CMYK
       color data.  Any	n!=0 activates PLC data	compression (TIFF mode:	2).

       Esc/P2: This is the control language used in the	Epson Stylus family of
       inkjets.	 hp2xx currently does not address more than one	line  of  noz-
       zles  in	 the  print head, so printing, while exact, is extremely slow.
       Users might prefer piping the output of the PostScript  module  through
       ghostscript until this issue is resolved.

       PNG:  Support for the Portable Network Graphics format relies on	libpng
       which is	available from www.libpng.org.

       PRE: Preview on all machines. Use options -h -w -o -O -C	to define  the
       screen  size  and  position of your output (-o -O -C may	not always ap-
       ply).  Under X11, you can pan around an image that is larger  than  the
       screen  size  by	 'dragging' it with the	mouse (pressing	button 1 while
       moving the mouse	in the desired direction). Any other mouse  button  or
       keyboard	 key  will terminate the preview.  For VGA cards (DOS),	option
       -V VGAmode gives	you a simple way to utilize SVGA  modes.  Please  take
       care not	to define larger windows than your graphics device can handle,
       as  the results are unpredictable. As hp2xx uses	standard BIOS calls to
       set pixels on VGA cards (slow but portable), you	can select any	hi-res
       mode  supported	by your	system by simply specifying the	mode byte with
       this option.

       TIFF: The tagged	image file format is supported by  most	 graphics  and
       image  manipulation  programs.  Support for TIFF	in hp2xx relies	on the
       TIFF library available from www.libtiff.org, which offers several means
       of image	compression.  The -S commandline option	selects	 between  them
       as  follows:  -S	0 or -S	1: no compression -S 2:	RLE (run length	encod-
       ing) -S 3: Group	3 FAX (monochrome) -S 4: Group 4 FAX  (monochrome)  -S
       5:  GIF	(not available by default, because of the UNISYS patent) -S 6:
       JPEG ('old' TIFF	6.0 style) -S 7: JPEG -S 8: deflate

EXAMPLES
	% hp2xx	-m pcx -f my_output.pcx	-d300 -p2222 -h50 -a 1.2 my_input.hp

	  creates a PCX	file at	300 DPI	of height 50 mm, using an aspect factor
	  of 1.2 and a pen size	of 2 pixels for	pens 1-4.

	% my_hpgl_generator | hp2xx -f-	-o20 -O30 -F -q	| lpr -P my_PCL_printer

	  HPGL output is piped through hp2xx; the resulting PCL	code is	piped to
	  the printer queue, giving an image of	height 100 mm at 75 DPI.
	  An additional	left margin of 20mm and	upper margin of	30mm is	created.
	  A formfeed will be added (handy if your printer queue	does not).

	% hp2xx	my_input.hp

	  Preview on screen or into window.

ORIGINAL AUTHOR
	Heinz W. Werntges, Physikal. Biologie, Geb. 26.12,
	Heinrich-Heine-Universitaet,
	D-40225	Duesseldorf, Germany.

MAINTAINER SINCE V 3.30
	Martin Kroeker,	daVeg GmbH,
	Schottener Weg 2
	D-64289	Darmstadt, Germany.
	mk@daveg.com or	martin@ruby.chemie.uni-freiburg.de

	ATARI features & PIC, PAC, IMG modes are due to	Norbert	Meyer, Duesseldorf.
	AMIGA version &	PBM mode are due to Claus Langhans, Kelkheim (Ts.)
	X11 previewer is due to	Michael	Schoene, Duesseldorf.
	Thanks for VAX support and a lot of testing to
	  Michael Schmitz & Gerhard Steger, Duesseldorf
	Many OS/2 helps	were due to Host Szillat, Berlin.
	(Later contributors: See TEXINFO file).

DIAGNOSTICS
       The number of ignored and/or unknown HPGL commands is given.  You  will
       be  informed if swapping	starts.	Progress is indicated by a logarithmic
       count of	internal vectors during	scanning and plotting, or by dots dur-
       ing (raster mode) output, where each dot	corresponds to 10 scan lines.

BUGS
       There still are many non-implemented HPGL commands.

       The color assignment of some X11	servers	leaves	something  to  be  de-
       sired.

       Color is	only partially supported (not all possible formats).

       VGA preview: Color "magenta" shows as brown on some VGA cards.

       To  match  the  specified sizes on your display during preview, you may
       have to calibrate it using -d -D, e.g. by overwriting the  75  DPI  de-
       fault.

       Only  little testing has	been done on TeX-related and ATARI formats, so
       be prepared for bugs there, and PLEASE report them --  thank you!

SEE ALSO
       bm2font(1), F. Sowa's raster-to-TeXfont converter.

				  6 May	2001			      hp2xx(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=hp2xx&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help