hpost (3275B)
1 #!/usr/local/plan9/bin/rc 2 if (! ~ $DEBUG '') flag x + 3 REVFLAG='' 4 if (~ $LPCLASS *reverse*) { 5 switch ($REVERSE) { 6 case ''; 7 REVFLAG=1 8 case 1; 9 REVFLAG='' 10 } 11 } 12 if (! ~ $REVFLAG '') 13 postreverse 14 15 if (~ $NOHEAD '') { 16 DATE=`{date} 17 face='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 18 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 19 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 20 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 21 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 22 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 23 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 24 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 26 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 27 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 28 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 29 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 30 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 31 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 32 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 33 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 34 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' 35 facedom=`{awk '{ if(match("'$LPMACHID'", $1)) {print $2; exit}}' $PLAN9/face/.machinelist} 36 if (~ $#facedom 0) facedom=$LPMACHID 37 38 facefile=`{awk '/^'$facedom'\/'$LPUSERID' /{print $2}' $PLAN9/face/48x48x4/.dict} 39 facedepth=4 40 41 if (~ $#facefile 0) { 42 facefile=`{awk '/^'$facedom'\/'$LPUSERID' /{print $2}' $PLAN9/face/48x48x2/.dict} 43 facedepth=2 44 } 45 46 if (~ $#facefile 0) { 47 facefile=`{awk '/^'$facedom'\/'$LPUSERID' /{print $2}' $PLAN9/face/48x48x1/.dict} 48 facedepth=1 49 } 50 51 if (~ $#facefile 0) {facefile=u/unknown.1; facedepth=1} 52 facefile=$PLAN9/face/48x48x$facedepth/$facefile 53 54 if (! ~ $#facefile 0 1) 55 facefile=$facefile(1) 56 57 if (~ $#facefile 0 || ! test -f $facefile ) {facefile=$PLAN9/face/48x48x2/u/unknown.1; facedepth=2} 58 if (test -r $facefile ) { 59 switch($facedepth){ 60 case 1 2 61 face=`{cat $facefile | 62 sed -e 's/0x//g' -e 's/, *//g' | 63 tr 0123456789abcdef fedcba9876543210 }; 64 case 4 65 face=`{iconv -u -c k4 $facefile | 66 dd -bs 60 -skip 1 >[2]/dev/null | 67 xd -b | sed 's/^[^ ]+ //;s/ //g' } 68 } 69 } 70 } 71 72 # We have to make sure the face information is set before rc sees the HERE file 73 # so the cat has to be in a separate if statement. This is an rc bug. 74 if (~ $NOHEAD '') cat <<EOF 75 %!PS-Adobe-2.0 div 112 page header - research!pg 76 /banner { 77 /saveobj save def 78 erasepage initgraphics 79 /#copies 1 def 80 /inch {72 mul} bind def 81 /pageborder { 82 25 747 moveto 83 590 747 lineto 84 590 25 lineto 85 25 25 lineto 86 closepath 87 2 setlinewidth 88 0 setgray 89 stroke 90 } def 91 92 /topborder { 93 25 773 moveto 94 590 773 lineto 95 590 747 lineto 96 25 747 lineto 97 closepath 98 2 setlinewidth 99 0 setgray 100 stroke 101 } def 102 103 /toptext { 104 120 756 moveto 105 /Courier-Bold findfont 14 scalefont setfont 106 ($LPUSERID $DATE) show 107 } def 108 109 /prface { 110 gsave 111 translate rotate scale 112 setgray 113 48 48 $facedepth [48 0 0 -48 0 48] {<$face>} image 114 grestore 115 } def 116 EOF 117 if (~ $NOHEAD '') switch ($LPCLASS) { 118 case *hp4simx*; 119 echo ' 120 %% set the default papertray to be the lower tray for HP4siMX printers 121 statusdict begin defaultpapertray end 1 ne { 122 statusdict begin 123 1 setdefaultpapertray 124 end 125 } if' 126 } 127 if (~ $NOHEAD '') cat <<EOF 128 statusdict /setduplexmode known {statusdict begin false setduplexmode end} if 129 statusdict begin /manualfeed false def end 130 pageborder 131 topborder 132 toptext 133 0 14 14 0 94 752 prface 134 .3 180 180 -90 3.0 inch 10.2 inch prface 135 showpage 136 saveobj 137 restore 138 } bind def 139 banner 140 EOF 141 142 if (~ $REVFLAG '') cat 143 exit ''