More question HPLaser and MAPGEM

PoKung Lin pklin at CERF.NET
Fri Sep 9 12:02:50 EDT 1994

	Thank you for the information of setting up the connection between
HPLaserJet 4M and GRASS-MAPGEN4.1 interface. I have followed your instructions,
by first adding a line "laser   ps   /dev/tty00" to the etc/PLOTTER file and
then trying command "plotter -d ps ovm/* | lp -dlaser". As the result, this
printing job was sent to printer. However, after printed out the cover page,
the job was stopped (I mean there has no any real data been printed). So I
suspect there may be a problem in the output file generated by program
"plotter". As you explaned to me before, "plotter -d ps ovm/*" part of the
command should generate a postscript file and then put it through printer
spooler. The text between "========" line is the file "test" generated by
the command "plotter -d ps ovm/* > test". It seems has no postscripted map
data in it at all (since I don't know postscript commands I can not say 
surely). I did try several times. Each times with more map layers added in.
But the result file were only a few lines more then the one that was shown
below. I am wondering if you may create a similiar output file with a very
simple line data and sent to me. Because I really thing there are some problems
within plotter program code ( I got it from CERL ftp imcoming directory). 
/L { {rlineto} repeat currentpoint stroke moveto} bind def
/U { moveto } bind def
1 setlinecap
1 setlinejoin

.14226378 .14226378 scale
1 setlinewidth

0 5588 translate
-90 rotate

5 setlinewidth 0.000 setgray
1 setlinewidth 0.000 setgray
5 setlinewidth 0.000 setgray
0 0 U 5588 0 1 L
0 4318 U 0 -4318 1 L
1 setlinewidth 0.000 setgray



	What is this "showpage" command means? It seems try to start include
some real data but they are not showing up, is't right?

	The other problem that should be no direct connection with the above
one, which is the problem in file. Remember, if we type command
" ovm/*", program will prompt us for printer name, then for paper size.
If I supply the paper size with answer "a", or any other legal answer, the program will give me a error massage, something like

AVAILABLE MAPGEN plotters (PRINTER_NAME hpgl cps laser )
Enter the plotter name from the list: laser

Enter the paper size:

	a= 8.5 x 11
	b= 11 x 17
	c= 17 x 22
	d= 22 x 34
	e= 34 x 44
	f= non standard paper


invalid/uninstalled device selected
plotter failure, Ver.4.6
device initialization failure: psa
request id is laser-753 (standard input)

	I checked file and find out the following portion of the

plotter=` grep $printer $GRAPH/etc/PLOTTER | awk 'NR == 1 {print $2}'`
if test "$size" = "f"; then
	ttydev=`grep ${printer} $GRAPH/etc/PLOTTER | awk 'NR == 1 {print $3}'`

#####  PK Lin question: This will cause runtime error. Why do it this way?
	plotter -d ${plotter}a $* > $ttydev < $ttydev &

##### PK Lin question: This will cause runtime error. Why do it this way?
	plotter -d $plotter $* | lp -d $printer"
cd $CDIR

	I don't understand  why should we pass two different parameters
$plotter and $size as a single string to program "plotter"? Is this a bug?
But if it's a bug, which part of the C code that really take care this
"paper size" problem?

	Thank you in advance.

	PK Lin 
	Tel: (617) 942-1655
	E-mail: pklin at

	P.S. My printer support postscript language without any doult.
For example, I can simply print out mapgen/ by typing
"lp" at unix prompt.

More information about the grass-dev mailing list