|  | #!/usr/local/plan9/bin/rc | 
|  | # Formatted dump of encoded characters in one or more PostScript fonts. | 
|  | # Arguments should be PostScript font names or the word all, which dumps | 
|  | # all ROM and disk based fonts. | 
|  | # | 
|  |  | 
|  | POSTLIB=/usr/local/plan9/postscript/prologues | 
|  | PROLOGUE=$POSTLIB/printfont.ps | 
|  |  | 
|  | OPTIONS='' | 
|  | COPYFILE='' | 
|  | MODE=portrait | 
|  | FONTENCODING=Default | 
|  |  | 
|  | NONCONFORMING='%!PS' | 
|  | ENDPROLOG='%%EndProlog' | 
|  | BEGINSETUP='%%BeginSetup' | 
|  | ENDSETUP='%%EndSetup' | 
|  | TRAILER='%%Trailer' | 
|  |  | 
|  | SETUP=setup | 
|  |  | 
|  | while (! ~ $#* 0 && ~ $1 -*) { | 
|  | switch ($1) { | 
|  | case -a;  shift; OPTIONS=$OPTIONS' /axescount $1 def' | 
|  | case -a*; OPTIONS=$OPTIONS' /axescount '`{echo $1 | sed s/-a//}' def' | 
|  |  | 
|  | case -b;  shift; OPTIONS=$OPTIONS' /radix '$1' def' | 
|  | case -b*; OPTIONS=$OPTIONS' /radix '`{echo $1 | sed s/-b//}' def' | 
|  |  | 
|  | case -c;  shift; OPTIONS=$OPTIONS' /#copies '$1' store' | 
|  | case -c*; OPTIONS=$OPTIONS' /#copies '`{echo $1 | sed s/-c//}' store' | 
|  |  | 
|  | case -f;  shift; OPTIONS=$OPTIONS' /labelfont /'$1' def' | 
|  | case -f*; OPTIONS=$OPTIONS' /labelfont /'`{echo $1 | sed s/-f//}' def' | 
|  |  | 
|  | case -g;  shift; OPTIONS=$OPTIONS' /graynotdef '$1' def' | 
|  | case -g*; OPTIONS=$OPTIONS' /graynotdef '`{echo $1 | sed s/-g//}' def' | 
|  |  | 
|  | case -p;  shift; MODE=$1 | 
|  | case -p*; MODE=`{echo $1 | sed s/-p//} | 
|  |  | 
|  | case -q;  OPTIONS=$OPTIONS' /longnames false def /charwidth false def' | 
|  |  | 
|  | case -m;  shift; OPTIONS=$OPTIONS' /magnification '$1' def' | 
|  | case -m*; OPTIONS=$OPTIONS' /magnification '`{echo $1 | sed s/-m//}' def' | 
|  |  | 
|  | case -v;  OPTIONS=$OPTIONS' /longnames true def /charwidth true def' | 
|  |  | 
|  | case -w;  shift; OPTIONS=$OPTIONS' /linewidth '$1' def' | 
|  | case -w*; OPTIONS=$OPTIONS' /linewidth '`{echo $1 | sed s/-w//}' def' | 
|  |  | 
|  | case -x;  shift; OPTIONS=$OPTIONS' /xoffset '$1' def' | 
|  | case -x*; OPTIONS=$OPTIONS' /xoffset '`{echo $1 | sed s/-x//}' def' | 
|  |  | 
|  | case -y;  shift; OPTIONS=$OPTIONS' /yoffset '$1' def' | 
|  | case -y*; OPTIONS=$OPTIONS' /yoffset '`{echo $1 | sed s/-y//}' def' | 
|  |  | 
|  | case -z;  shift; OPTIONS=$OPTIONS' /zerocell '$1' def' | 
|  | case -z*; OPTIONS=$OPTIONS' /zerocell '`{echo $1 | sed s/-z//}' def' | 
|  |  | 
|  | case -C;  shift; COPYFILE=$COPYFILE' '$1 | 
|  | case -C*; COPYFILE=$COPYFILE' '`{echo $1 | sed s/-C//} | 
|  |  | 
|  | case -E;  shift; FONTENCODING=$1 | 
|  | case -E*; FONTENCODING=`{echo $1 | sed s/-E//} | 
|  |  | 
|  | case -L;  shift; PROLOGUE=$1 | 
|  | case -L*; PROLOGUE=`{echo $1 | sed s/-L//} | 
|  |  | 
|  | case -*;  echo $0:' illegal option '$1 >[1=2]; exit 1 | 
|  | } | 
|  | shift | 
|  | } | 
|  |  | 
|  | switch ($MODE) { | 
|  | case l*; OPTIONS=$OPTIONS' /landscape true def' | 
|  | case *;	OPTIONS=$OPTIONS' /landscape false def' | 
|  | } | 
|  |  | 
|  | echo $NONCONFORMING | 
|  | cat $PROLOGUE | 
|  | echo $ENDPROLOG | 
|  | echo $BEGINSETUP | 
|  | if (~ $#COPYFILE 0 || ~ $COPYFILE '') COPYFILE=/dev/null | 
|  | cat $COPYFILE | 
|  | echo $OPTIONS | 
|  |  | 
|  | switch ($FONTENCODING) { | 
|  | case /*; cat $FONTENCODING | 
|  | case ?*; cat $POSTLIB^/$FONTENCODING^.enc >[2]/dev/null | 
|  | } | 
|  |  | 
|  | echo $SETUP | 
|  | echo $ENDSETUP | 
|  |  | 
|  | for (i) { | 
|  | switch ($i) { | 
|  | case all; echo AllFonts | 
|  | case /*;  echo $i' PrintFont' | 
|  | case ?*;  echo /$i' PrintFont' | 
|  | } | 
|  | } | 
|  |  | 
|  | echo $TRAILER |