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