:
#@(#)upload 1.1 89/05/18
rlp -dgate!AppleLaser << 'END'

/savearea save def

/tmp 1 string def

/myscale {
    2 mul round cvi
} def

/dumpwidths {

    dup
    (                                               ) cvs print 
    (\n) print
    findfont 18 scalefont setfont
    0 1 255 
    { 
	newpath
	/i exch def
	0 0 moveto
	tmp 0 i put

	tmp stringwidth pop /width exch def 

	%	Set current point again.
	0 0 moveto
	/curx currentpoint pop def

	% retrieve bounding box info.
	tmp false charpath flattenpath pathbbox
	/ury exch def
	/urx exch def
	/lly exch def
	/llx exch def

	% calc left bearing as leftx - curx

	/lbear llx curx sub myscale def

	% calc height as upper y - lower y

	/heights ury lly sub myscale def

	% calc right bearing as width - upper x

	/rbear width urx curx sub sub myscale def

	i (    ) cvs print (,) print
	lbear (    ) cvs print (,) print
	width myscale (    ) cvs print (,) print
	rbear (    ) cvs print (,) print
	heights (    ) cvs print (\n) print


    } 
    for 
} def

FontDirectory {
    pop
    (                                                  ) cvs print
    (\n) print
} forall

FontDirectory {
    pop
    dup (                                              ) cvs (cmr10-300) ne {
	dumpwidths
    } if
} forall

savearea restore
END
