%! /waterfalsave save def % prevent residual side effects % Copyright (C) 1992, 1993, 1996 Aladdin Enterprises. All rights reserved. % % This file is part of AFPL Ghostscript. % % AFPL Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author or % distributor accepts any responsibility for the consequences of using it, or % for whether it serves any particular purpose or works at all, unless he or % she says so in writing. Refer to the Aladdin Free Public License (the % "License") for full details. % % Every copy of AFPL Ghostscript must include a copy of the License, normally % in a plain ASCII text file named PUBLIC. The License grants you the right % to copy, modify and redistribute AFPL Ghostscript, but only under certain % conditions described in the License. Among other things, the License % requires that the copyright notice and this notice be preserved on all % copies. % $Id: waterfal.ps,v 1.3 2001/10/01 21:28:25 rayjj Exp $ % waterfal.ps % This file produces a 'waterfall' printout of fonts at various sizes. % Specify any desired set of up to 3 fonts here. /Fonts [/Courier /Helvetica] def % Specify any desired set of point sizes here. % The sum of the sizes should not exceed (roughly) 100. % For sizes larger than about 16, some characters may fall off the page. /Sizes [6 7 8 9 10 11 12 14 16] def /eol { currentfont /FontBBox get aload pop exch pop sub exch pop 0 exch % Many Ghostscript fonts have incorrect FontBBoxes.... pop -1000 1.15 mul currentfont /FontMatrix get dtransform translate 0 0 moveto } def (landscap.ps) runlibfile clippath pathbbox newpath /ury exch def /urx exch def /lly exch def /llx exch def llx 18 add ury 18 sub translate % Read the current Y resolution without using Ghostscript-specific operators. gsave initmatrix 0 72 dtransform abs exch abs exch .max grestore round cvi /dpi exch def QUIET not { (Creating waterfall printout at ) print dpi =only ( DPI.\n) print flush } if newpath 0 setgray /Courier findfont 20 scalefont setfont Fonts { save exch QUIET not { dup ==only flush } if findfont /basefont exch def basefont 20 scalefont setfont eol basefont /FontName get =string cvs show ( ) show dpi =string cvs show ( DPI) show Sizes { QUIET not { ( ) print dup =only flush } if dup /size exch def basefont exch scalefont setfont eol size =string cvs show ( ) show (qwertyuiop-asdfghjkl_zxcvbnm ) show (QWERTYUIOP+ASDFGHJKL/ZXCVBNM ) show (1470258369 .,:;?!) show } forall QUIET not { () = flush } if matrix currentmatrix aload pop 7 -1 roll restore 6 array astore setmatrix } forall showpage clear cleardictstack waterfalsave restore