1*7dd7cddfSDavid du Colombier#!/bin/rc 2*7dd7cddfSDavid du Colombier# Formatted dump of encoded characters in one or more PostScript fonts. 3*7dd7cddfSDavid du Colombier# Arguments should be PostScript font names or the word all, which dumps 4*7dd7cddfSDavid du Colombier# all ROM and disk based fonts. 5*7dd7cddfSDavid du Colombier# 6*7dd7cddfSDavid du Colombier 7*7dd7cddfSDavid du ColombierPOSTLIB=/sys/lib/postscript/prologues 8*7dd7cddfSDavid du ColombierPROLOGUE=$POSTLIB/printfont.ps 9*7dd7cddfSDavid du Colombier 10*7dd7cddfSDavid du ColombierOPTIONS='' 11*7dd7cddfSDavid du ColombierCOPYFILE='' 12*7dd7cddfSDavid du ColombierMODE=portrait 13*7dd7cddfSDavid du ColombierFONTENCODING=Default 14*7dd7cddfSDavid du Colombier 15*7dd7cddfSDavid du ColombierNONCONFORMING='%!PS' 16*7dd7cddfSDavid du ColombierENDPROLOG='%%EndProlog' 17*7dd7cddfSDavid du ColombierBEGINSETUP='%%BeginSetup' 18*7dd7cddfSDavid du ColombierENDSETUP='%%EndSetup' 19*7dd7cddfSDavid du ColombierTRAILER='%%Trailer' 20*7dd7cddfSDavid du Colombier 21*7dd7cddfSDavid du ColombierSETUP=setup 22*7dd7cddfSDavid du Colombier 23*7dd7cddfSDavid du Colombierwhile (! ~ $#* 0 && ~ $1 -*) { 24*7dd7cddfSDavid du Colombier switch ($1) { 25*7dd7cddfSDavid du Colombier case -a; shift; OPTIONS=$OPTIONS' /axescount $1 def' 26*7dd7cddfSDavid du Colombier case -a*; OPTIONS=$OPTIONS' /axescount '`{echo $1 | sed s/-a//}' def' 27*7dd7cddfSDavid du Colombier 28*7dd7cddfSDavid du Colombier case -b; shift; OPTIONS=$OPTIONS' /radix '$1' def' 29*7dd7cddfSDavid du Colombier case -b*; OPTIONS=$OPTIONS' /radix '`{echo $1 | sed s/-b//}' def' 30*7dd7cddfSDavid du Colombier 31*7dd7cddfSDavid du Colombier case -c; shift; OPTIONS=$OPTIONS' /#copies '$1' store' 32*7dd7cddfSDavid du Colombier case -c*; OPTIONS=$OPTIONS' /#copies '`{echo $1 | sed s/-c//}' store' 33*7dd7cddfSDavid du Colombier 34*7dd7cddfSDavid du Colombier case -f; shift; OPTIONS=$OPTIONS' /labelfont /'$1' def' 35*7dd7cddfSDavid du Colombier case -f*; OPTIONS=$OPTIONS' /labelfont /'`{echo $1 | sed s/-f//}' def' 36*7dd7cddfSDavid du Colombier 37*7dd7cddfSDavid du Colombier case -g; shift; OPTIONS=$OPTIONS' /graynotdef '$1' def' 38*7dd7cddfSDavid du Colombier case -g*; OPTIONS=$OPTIONS' /graynotdef '`{echo $1 | sed s/-g//}' def' 39*7dd7cddfSDavid du Colombier 40*7dd7cddfSDavid du Colombier case -p; shift; MODE=$1 41*7dd7cddfSDavid du Colombier case -p*; MODE=`{echo $1 | sed s/-p//} 42*7dd7cddfSDavid du Colombier 43*7dd7cddfSDavid du Colombier case -q; OPTIONS=$OPTIONS' /longnames false def /charwidth false def' 44*7dd7cddfSDavid du Colombier 45*7dd7cddfSDavid du Colombier case -m; shift; OPTIONS=$OPTIONS' /magnification '$1' def' 46*7dd7cddfSDavid du Colombier case -m*; OPTIONS=$OPTIONS' /magnification '`{echo $1 | sed s/-m//}' def' 47*7dd7cddfSDavid du Colombier 48*7dd7cddfSDavid du Colombier case -v; OPTIONS=$OPTIONS' /longnames true def /charwidth true def' 49*7dd7cddfSDavid du Colombier 50*7dd7cddfSDavid du Colombier case -w; shift; OPTIONS=$OPTIONS' /linewidth '$1' def' 51*7dd7cddfSDavid du Colombier case -w*; OPTIONS=$OPTIONS' /linewidth '`{echo $1 | sed s/-w//}' def' 52*7dd7cddfSDavid du Colombier 53*7dd7cddfSDavid du Colombier case -x; shift; OPTIONS=$OPTIONS' /xoffset '$1' def' 54*7dd7cddfSDavid du Colombier case -x*; OPTIONS=$OPTIONS' /xoffset '`{echo $1 | sed s/-x//}' def' 55*7dd7cddfSDavid du Colombier 56*7dd7cddfSDavid du Colombier case -y; shift; OPTIONS=$OPTIONS' /yoffset '$1' def' 57*7dd7cddfSDavid du Colombier case -y*; OPTIONS=$OPTIONS' /yoffset '`{echo $1 | sed s/-y//}' def' 58*7dd7cddfSDavid du Colombier 59*7dd7cddfSDavid du Colombier case -z; shift; OPTIONS=$OPTIONS' /zerocell '$1' def' 60*7dd7cddfSDavid du Colombier case -z*; OPTIONS=$OPTIONS' /zerocell '`{echo $1 | sed s/-z//}' def' 61*7dd7cddfSDavid du Colombier 62*7dd7cddfSDavid du Colombier case -C; shift; COPYFILE=$COPYFILE' '$1 63*7dd7cddfSDavid du Colombier case -C*; COPYFILE=$COPYFILE' '`{echo $1 | sed s/-C//} 64*7dd7cddfSDavid du Colombier 65*7dd7cddfSDavid du Colombier case -E; shift; FONTENCODING=$1 66*7dd7cddfSDavid du Colombier case -E*; FONTENCODING=`{echo $1 | sed s/-E//} 67*7dd7cddfSDavid du Colombier 68*7dd7cddfSDavid du Colombier case -L; shift; PROLOGUE=$1 69*7dd7cddfSDavid du Colombier case -L*; PROLOGUE=`{echo $1 | sed s/-L//} 70*7dd7cddfSDavid du Colombier 71*7dd7cddfSDavid du Colombier case -*; echo $0:' illegal option '$1 >[1=2]; exit 1 72*7dd7cddfSDavid du Colombier } 73*7dd7cddfSDavid du Colombier shift 74*7dd7cddfSDavid du Colombier} 75*7dd7cddfSDavid du Colombier 76*7dd7cddfSDavid du Colombierswitch ($MODE) { 77*7dd7cddfSDavid du Colombiercase l*; OPTIONS=$OPTIONS' /landscape true def' 78*7dd7cddfSDavid du Colombiercase *; OPTIONS=$OPTIONS' /landscape false def' 79*7dd7cddfSDavid du Colombier} 80*7dd7cddfSDavid du Colombier 81*7dd7cddfSDavid du Colombierecho $NONCONFORMING 82*7dd7cddfSDavid du Colombiercat $PROLOGUE 83*7dd7cddfSDavid du Colombierecho $ENDPROLOG 84*7dd7cddfSDavid du Colombierecho $BEGINSETUP 85*7dd7cddfSDavid du Colombierif (~ $#COPYFILE 0 || ~ $COPYFILE '') COPYFILE=/dev/null 86*7dd7cddfSDavid du Colombiercat $COPYFILE 87*7dd7cddfSDavid du Colombierecho $OPTIONS 88*7dd7cddfSDavid du Colombier 89*7dd7cddfSDavid du Colombierswitch ($FONTENCODING) { 90*7dd7cddfSDavid du Colombiercase /*; cat $FONTENCODING 91*7dd7cddfSDavid du Colombiercase ?*; cat $POSTLIB^/$FONTENCODING^.enc >[2]/dev/null 92*7dd7cddfSDavid du Colombier} 93*7dd7cddfSDavid du Colombier 94*7dd7cddfSDavid du Colombierecho $SETUP 95*7dd7cddfSDavid du Colombierecho $ENDSETUP 96*7dd7cddfSDavid du Colombier 97*7dd7cddfSDavid du Colombierfor (i) { 98*7dd7cddfSDavid du Colombier switch ($i) { 99*7dd7cddfSDavid du Colombier case all; echo AllFonts 100*7dd7cddfSDavid du Colombier case /*; echo $i' PrintFont' 101*7dd7cddfSDavid du Colombier case ?*; echo /$i' PrintFont' 102*7dd7cddfSDavid du Colombier } 103*7dd7cddfSDavid du Colombier} 104*7dd7cddfSDavid du Colombier 105*7dd7cddfSDavid du Colombierecho $TRAILER 106