[comp.sources.misc] v20i015: epsonps - Epson to Postscript converter, Part02/02

Russell Lang <rjl@monu1.cc.monash.edu.au> (05/23/91)

Submitted-by: Russell Lang <rjl@monu1.cc.monash.edu.au>
Posting-number: Volume 20, Issue 15
Archive-name: epsonps/part02

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  epsonps.1 epsonps.pro Makefile
# Wrapped by rjl@monu1 on Thu May 23 10:53:28 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f epsonps.1 -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"epsonps.1\"
else
echo shar: Extracting \"epsonps.1\" \(2920 characters\)
sed "s/^X//" >epsonps.1 <<'END_OF_epsonps.1'
X.\" man page for epsonps
X.ds PS P\s-2OST\s+2S\s-2CRIPT\s+2
X.TH EPSONPS 1 "7 May 1991"
X.SH NAME
Xepsonps \- convert an Epson printer file to \*(PS
X.SH SYNOPSIS
X.B epsonps
X[
X.B \-L
X]
X[
X.B \-R
X]
X[
X.B \-c
X]
X[
X.B \-d
X]
X[
X.B \-e
X]
X[
X.B \-l
X.I leftmargin
X]
X[
X.B \-o
X.I outfile
X]
X[
X.B \-q
X]
X[
X.B \-t
X.I papertype
X]
X.IR file
X.br
X.SH DESCRIPTION
XThe program
X.B epsonps
Xconverts epson printer codes from an input file 
X.IR file
Xto \*(PS on standard output.  
XUnknown, ignored or invalid epson codes are printed on standard error output.
XThe program
X.B epsonps
Xis an excellent ASCII listing printer.
XThe program
X.B epsonps
Xcan convert Epson LX-800 codes, Epson LQ-800 codes, and IBM text screen dumps.
X.SH OPTIONS
XBoolean flags that are turned on by
Xcertain letters (such as \-e to select elite pitch) can be turned off
Xby following the option immediately with a 0 (as in \-e0).  The
Xoptions that this can be used with are \fBLRcdesq\fP.
XThe command line switches are:
X.IP "\fB\-L\fP"
XAuto linefeed.  Add linefeed after carriage return.
X.IP "\fB\-R\fP"
XAuto carriage return.  Add carriage return after linefeed.  
XUseful for printing UNIX files which only have linefeed at end of lines.
X.IP "\fB\-c\fP"
XCondensed mode.  Print characters at 60% of their normal width.
X.IP "\fB\-d\fP"
XDisable debug mode.  By default, unknown, ignored or invalid epson 
Xcodes are output to stderr.
X.IP "\fB\-e\fP"
XElite mode.  Print characters at elite pitch (12cpi)
Xinstead of the default pica pitch (10cpi).
X.IP "\fB\-l\fP\fIleftmargin\fP"
XSet the left margin to \fIleftmargin\fP pica width characters.  
XDefault left margin is 0.
X.IP "\fB\-q\fP"
XEpson LQ-800 mode.  Default is Epson LX-800 mode.
X.IP "\fB\-o\fP\fIoutfile\fP"
XSet the output file to \fIoutfile\fP.  Default is stdout.
X.IP "\fB\-s\fP"
XSelect screen dump mode.  
XAll characters except carriage return and line feed are printable.  
XDefault is off.
X.IP "\fB\-t\fP\fIpapertype\fP"
XSet the paper type to \fIpapertype\fP.  
XValid paper types include:
X.RS
X.nf
X.ta 1.0i
X a4     297mm by 210mm, 70 lines/page 
X a4-11  11 by 8.5 inch mapped to a4, 66 lines/page
X a4-12  12 by 8.5 inch mapped to a4, 72 lines/page
X a4-15w 11 by 15 inch mapped to a4 rotated, 66 lines/page
X 11     11 by 8.5 inch, 66 lines/page
X 11-15w 11 by 15 inch mapped to 11 by 8.5 inch rotated, 66 lines/page
X.fi
X.RE
XDefault is \fIa4\fP.
XOther formats can be easily added by modifying the source code.
X.SH FILES
X.RS
X.nf
X.ta 2.5i
Xepsonps.pro   The \*(PS prolog.  
X.fi
X.RE
X.PP
XThe prolog file \fIepsonps.pro\fP is needed by \fBepsonps\fP.
XAn attempt is made to open \fIepsonps.pro\fP in the current directory, 
Xand then in the same directory as the epson executable.
X.SH "SEE ALSO"
Xlpr(1)
X.SH NOTES
X\*(PS is a registered trademark of Adobe Systems Incorporated.
X.SH AUTHORS
XJonathan Greenblatt <jonnyg@rover.umd.edu>
X.br
XMark Alexander <uunet!amdahl!drivax!alexande@umd5.UMD.EDU>
X.br
XRussell Lang <rjl@monu1.cc.monash.edu.au>
END_OF_epsonps.1
if test 2920 -ne `wc -c <epsonps.1`; then
    echo shar: \"epsonps.1\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f epsonps.pro -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"epsonps.pro\"
else
echo shar: Extracting \"epsonps.pro\" \(17037 characters\)
sed "s/^X//" >epsonps.pro <<'END_OF_epsonps.pro'
X% Prolog for epsonps.c, by Russell Lang 19910507
X/M {moveto} def
X/L {lineto} def
X/S {show} def
X/pica    { /fwidth xdpi 10 idiv def /fheight ydpi 6 idiv def } def
X/elite   { /fwidth xdpi 12 idiv def /fheight ydpi 6 idiv def } def
X/fifteen { /fwidth xdpi 15 idiv def /fheight ydpi 6 idiv def } def
X/condensed  { /fwidth fwidth 3 mul 5 idiv def } def
X/doublewidth { /fwidth fwidth 2 mul def } def
X/doubleheight { /fwidth fwidth 2 mul def /fheight fheight 2 mul def } def
X/quadheight { /fwidth fwidth 4 mul def /fheight fheight 4 mul def } def
X/normalfont {/Epson findfont
X  [fwidth 10 6 div mul 0 0 fheight neg 0 0] makefont setfont} def
X/boldfont {/Epson-Bold findfont
X  [fwidth 10 6 div mul 0 0 fheight neg 0 0] makefont setfont} def
X/italicfont {/Epson-Oblique findfont
X  [fwidth 10 6 div mul 0 0 fheight neg 0 0] makefont setfont} def
X/bolditalicfont {/Epson-BoldOblique findfont
X  [fwidth 10 6 div mul 0 0 fheight neg 0 0] makefont setfont} def
X/ibmgraphfont {/IBMgraphic findfont
X  [fwidth 10 6 div mul 0 0 fheight neg 0 0] makefont setfont} def
X/graphicbuf 2 string def
X% copy StandardEncoding and call the new version IBMEncoding
XStandardEncoding dup length array copy /IBMEncoding exch def
X% Re Encode a font with IBMEncoding vector
X/IBMEncode {
X  /BasefontDict BasefontName findfont def
X  /NewfontDict BasefontDict maxlength dict def
X  BasefontDict
X  { exch dup /FID ne
X    { dup /Encoding eq
X      { exch pop IBMEncoding NewfontDict 3 1 roll put }
X      { exch NewfontDict 3 1 roll put }
X      ifelse
X    }
X    { pop pop }
X    ifelse
X  } forall
X  NewfontDict /FontName NewfontName put
X  NewfontName NewfontDict definefont pop
X} def
X% Load a vector into the current Encoding Vector
X/EncodingLoad { aload length 2 idiv
X  {Encoding 3 1 roll put} repeat} def
X% Create new Epson fonts from Courier fonts, with IBMEncoding
X/BasefontName /Courier def /NewfontName /Epson def
XIBMEncode
X/BasefontName /Courier-Bold def /NewfontName /Epson-Bold def
XIBMEncode
X/BasefontName /Courier-BoldOblique def /NewfontName /Epson-BoldOblique def
XIBMEncode
X/BasefontName /Courier-Oblique def /NewfontName /Epson-Oblique def
XIBMEncode
X% add the extra character encodings for IBMEncoding
X[ 128 /Ccedilla 129 /udieresis 130 /eacute 131 /acircumflex
X  132 /adieresis 133 /agrave 134 /aring 135 /ccedilla 136 /ecircumflex
X  137 /edieresis 138 /egrave 139 /idieresis 140 /icircumflex 141 /igrave
X  142 /Adieresis 143 /Aring 144 /Eacute
X  145 /ae % not in Courier.afm, but seems to be present
X  146 /AE % not in Courier.afm, but seems to be present
X  147 /ocircumflex 148 /odieresis 149 /ograve 150 /ucircumflex 151 /ugrave
X  152 /ydieresis 153 /Odieresis 154 /Udieresis 155 /cent 156 /sterling 157 /yen
X  158 /.notdef % Peseta
X  159 /florin 160 /aacute 161 /iacute 162 /oacute 163 /uacute 164 /ntilde
X  165 /Ntilde 166 /ordfeminine 167 /ordmasculine 168 /questiondown
X  169 /.notdef % logical ??
X  170 /.notdef % logical not
X  171 /.notdef % half
X  172 /.notdef % quarter
X  173 /exclamdown 174 /guillemotleft 175 /guillemotright
X]
X/Epson findfont begin EncodingLoad end
X% International character sets
X/USA [ 35 /numbersign 36 /dollar 64 /at
X  91 /bracketleft 92 /backslash 93 /bracketright 94 /asciicircum 96 /quoteleft
X  123 /braceleft 124 /bar 125 /braceright 126 /asciitilde ] def
X/France [ 35 /numbersign 36 /dollar 64 /agrave
X  91 /ring 92 /ccedilla 93 /section 94 /asciicircum 96 /quoteleft
X  123 /eacute 124 /ugrave 125 /egrave 126 /dieresis ] def
X/Germany [ 35 /numbersign 36 /dollar 64 /section
X  91 /Adieresis 92 /Odieresis 93 /Udieresis 94 /asciicircum 96 /quoteleft
X  123 /adieresis 124 /odieresis 125 /udieresis 126 /germandbls ] def
X/UnitedKingdom [ 35 /sterling 36 /dollar 64 /at
X  91 /bracketleft 92 /backslash 93 /bracketright 94 /asciicircum 96 /quoteleft
X  123 /braceleft 124 /bar 125 /braceright 126 /asciitilde ] def
X/DenmarkI [ 35 /numbersign 36 /dollar 64 /at
X  91 /AE 92 /Oslash 93 /Aring 94 /asciicircum 96 /quoteleft
X  123 /ae 124 /oslash 125 /aring 126 /asciitilde ] def
X/Sweden [ 35 /numbersign 36 /currency 64 /Eacute
X  91 /Adieresis 92 /Odieresis 93 /Aring 94 /Udieresis 96 /eacute
X  123 /adieresis 124 /odieresis 125 /aring 126 /udieresis ] def
X/Italy [ 35 /numbersign 36 /dollar 64 /at
X  91 /ring 92 /backslash 93 /eacute 94 /asciicircum 96 /ugrave
X  123 /agrave 124 /ograve 125 /egrave 126 /igrave ] def
X/SpainI [ 35 /currency 36 /dollar 64 /at  % 35 should be peseta
X  91 /exclamdown 92 /Ntilde 93 /questiondown 94 /asciicircum 96 /quoteleft
X  123 /dieresis 124 /ntilde 125 /braceright 126 /asciitilde ] def
X/Japan [ 35 /numbersign 36 /dollar 64 /at
X  91 /bracketleft 92 /yen 93 /bracketright 94 /asciicircum 96 /quoteleft
X  123 /braceleft 124 /bar 125 /braceright 126 /asciitilde ] def
X/Norway [ 35 /numbersign 36 /currency 64 /Eacute
X  91 /AE 92 /Oslash 93 /Aring 94 /Udieresis 96 /eacute
X  123 /ae 124 /oslash 125 /aring 126 /udieresis ] def
X/DenmarkII [ 35 /numbersign 36 /dollar 64 /Eacute
X  91 /AE 92 /Oslash 93 /Aring 94 /Udieresis 96 /eacute
X  123 /ae 124 /oslash 125 /aring 126 /udieresis ] def
X/SpainII [ 35 /numbersign 36 /dollar 64 /aacute
X  91 /exclamdown 92 /Ntilde 93 /questiondown 94 /eacute 96 /quoteleft
X  123 /iacute 124 /ntilde 125 /oacute 126 /uacute ] def
X/LatinAmerica [ 35 /numbersign 36 /dollar 64 /aacute
X  91 /exclamdown 92 /Ntilde 93 /questiondown 94 /eacute 96 /udieresis
X  123 /iacute 124 /ntilde 125 /oacute 126 /uacute ] def
X% set the international character set
X% this relies on all four Epson fonts using the same copy of IBMEncoding
X/InternationalSet {/Epson findfont begin EncodingLoad end} def
X%%BeginFont: IBMgraphic
X12 dict begin % start dictionary for font
X% add FontInfo dictionary
X/FontInfo 2 dict dup begin
X/Notice (A partial IBM PC graphic characters font by Russell Lang 19910507) readonly def
X/FullName (IBMgraphic) readonly def
Xend readonly def
X% fill in rest of IBMgraphic dictionary
X/FontName /IBMgraphic def
X/PaintType 3 def   % fill or stroke
X/FontType 3 def    % user defined
X/FontMatrix [ 0.1 0 0 0.1 0 0 ] readonly def
X/FontBBox [ 0 -2 6 8 ] readonly def
X/Encoding 256 array def   % allocate the Encoding array
X  0 1 255 { Encoding exch /.notdef put} for
X% look up an IBM or Epson manual for explanation of these codes
X[
X  000 /blank 001 /face 002 /facereverse 003 /heart 004 /diamond 005 /club
X  006 /spade 007 /disc 008 /discreverse 009 /circle 010 /circlereverse
X  011 /male 012 /female 013 /note 014 /notes 015 /lamp
X  016 /triangleright 017 /triangleleft 018 /arrowupdown 019 /exclamdouble
X  020 /paragraph 021 /section 022 /I022 023 /arrowupdownunder 024 /arrowup
X  025 /arrowdown 026 /arrowright 027 /arrowleft 028 /I028 029 /arrowboth
X  030 /triangleup 031 /triangledown
X  127 /delete 158 /peseta 169 /I169
X  170 /logicalnot 171 /half 172 /quarter
X  176 /lightgrey 177 /mediumgrey 178 /darkgrey
X  179 /I179 180 /I180 181 /I181 182 /I182 183 /I183 184 /I184 185 /I185
X  186 /I186 187 /I187 188 /I188 189 /I189 190 /I190 191 /I191 192 /I192
X  193 /I193 194 /I194 195 /I195 196 /I196 197 /I197 198 /I198 199 /I199
X  200 /I200 201 /I201 202 /I202 203 /I203 204 /I204 205 /I205 206 /I206
X  207 /I207 208 /I208 209 /I209 210 /I210 211 /I211 212 /I212 213 /I213
X  214 /I214 215 /I215 216 /I216 217 /I217 218 /I218
X  219 /blockfull 220 /blockbot 221 /blockleft 222 /blockright 223 /blocktop
X  224 /alpha 225 /beta 226 /Gamma 227 /pi 228 /Sigma 229 /sigma 230 /mu
X  231 /tau 232 /Phi 233 /Theta 234 /Omega 235 /delta 236 /infinity
X  237 /emptyset 238 /element 239 /intersection 240 /equivalence 241 /plusminus
X  242 /greaterequal 243 /lessequal 244 /integraltop 245 /integralbot
X  246 /divide 247 /approxequal 248 /degree 249 /bullet 250 /dotmath
X  251 /radical 252 /supern 253 /super2 254 /slug
X]
XEncodingLoad
X% show string from the Symbol font
X/SymbolShow { % char_code matrix --
X  /Symbol findfont exch makefont setfont
X  0 0 moveto show
X} def
X% show string from the Courier font
X/CourierShow { % char_code matrix --
X  /Courier findfont exch makefont setfont
X  0 0 moveto show
X} def
X% Build Character into cache
X/BuildChar {  %  font_dictionary char_code --
X  exch begin                      % this font dictionary
X  Encoding exch get               % get character name
X  gsave                           % save graphics state
X  0.5 setlinewidth		  % width of stroked lines
X  newpath
X  6 0                             % width vector (mono spaced)
X  0 -2 6 8 setcachedevice         % cache this bounding box
X  CharProcs exch get              % get procedure
X  exec                            % draw it
X  grestore		          % restore graphics state
X  end                             % end of font dictionary
X} def
X% add CharProcs dictionary which describes each character
X/CharProcs 118 dict dup begin
X/.notdef {} def
X/blank {} def
X/face {5.75 4.5 M 4 4.5 1.75 0 90 arc 2 4.5 1.75 90 180 arc
X  2 1.5 1.75 180 270 arc 4 1.5 1.75 270 360 arc 5.75 4.5 lineto
X  5.25 4.5 M  4 1.5 1.25 360 270 arcn 2 1.5 1.25 270 180 arcn
X  2 4.5 1.25 180 90 arcn 4 4.5 1.25 90 0 arcn 5.25 4.5 lineto
X  2.5 4 M 2 4 0.5 360 0 arcn
X  4.5 4 M 4 4 0.5 360 0 arcn
X  1.375 2.185 M 3 5 3.25 240 300 arc 3 5 3.75 300 240 arcn closepath
X  fill} def
X/facereverse {5.75 4.5 M 4 4.5 1.75 0 90 arc 2 4.5 1.75 90 180 arc
X  2 1.5 1.75 180 270 arc 4 1.5 1.75 270 360 arc 5.75 4.5 lineto
X  2.5 4 M 2 4 0.5 360 0 arcn
X  4.5 4 M 4 4 0.5 360 0 arcn
X  1.375 2.185 M 3 5 3.25 240 300 arc 3 5 3.75 300 240 arcn closepath
X  fill} def
X/heart {(\251) [8 0 0 10 0 0] SymbolShow} def
X/diamond {(\250) [8 0 0 10 0 0] SymbolShow} def
X/club {(\247) [8 0 0 10 0 0] SymbolShow} def
X/spade {(\252) [8 0 0 10 0 0] SymbolShow} def
X/disc {3 3 1.5 0 360 arc closepath fill} def
X/discreverse {0 -2 M 6 -2 L 6 8 L 0 8 L closepath
X  4.5 3 M 3 3 1.5 360 0 arcn closepath fill} def
X/circle {3 3 2.5 0 360 arc 3 3 2 360 0 arcn fill} def
X/circlereverse {0 -2 M 6 -2 L 6 8 L 0 8 L closepath
X  5.5 3 M 3 3 2.5 360 0 arcn 5 3 M 3 3 2 0 360 arc fill} def
X/male {2.5 1.5 1.5 0 360 arc
X  2.5 3 M 5 5.5 L 3 5.5 M 5 5.5 L 5 3.5 L stroke } def
X/female {3 4.5 1.5 0 360 arc 3 3 M 3 0 L 1.5 1.5 M 4.5 1.5 L stroke} def
X/note {1.5 1.5 1 0 360 arc fill
X  2.25 1.5 M 2.25 6 L 5 6 L 5 5 L 2.25 5 L stroke} def
X/notes {1.5 1.5 1 0 360 arc fill 4.25 1.5 1 0 360 arc fill
X  2.25 1.5 M 2.25 6 L 5 6 L 5 5 L 2.25 5 L 5 6 M 5 1.5 L stroke} def
X/lamp {3 3 1 0 360 arc 3 6 M 3 4 L 3 0 M 3 2 L
X  4 4 M 5 5 L 2 4 M 1 5 L 2 2 M 1 1 L 4 2 M 5 1 L stroke} def
X/triangleleft  {5 0 M 1 3 L 5 6 L 5 0 L closepath fill} def
X/triangleright {1 0 M 1 6 L 5 3 L 1 0 L closepath fill} def
X/arrowupdown {3 0.5 M 3 5.5 L stroke
X  1.5 4.5 M 3 6 L 4.5 4.5 L closepath fill
X  1.5 1.5 M 3 0 L 4.5 1.5 L closepath fill} def
X/exclamdouble {(!) [10 0 0 10 -1.5 0] CourierShow
X  (!) [10 0 0 10  1.5 0] CourierShow} def
X/paragraph {(\266) [10 0 0 10 0 0] CourierShow} def
X/section {(\247) [10 0 0 10 0 0] CourierShow} def
X/I022 {0 0 M 0 1.5 L 6 1.5 L 6 0 L 0 0 L closepath fill} def % cursor ??
X/arrowupdownunder {CharProcs /arrowupdown get exec
X  1.5 -0.25 M 4.5 -0.25 L stroke} def
X/arrowup    {1.5 4.5 M 3 6 L 4.5 4.5 L closepath fill
X  3 0 M 3 4.5 L stroke} def
X/arrowdown  {1.5 1.5 M 3 0 L 4.5 1.5 L closepath fill
X  3 1.5 M 3 6 L stroke} def
X/arrowleft  {2 4.5 M 0.5 3 L 2 1.5 L closepath fill
X  2 3 M 5.25 3 L stroke} def
X/arrowright {4 4.5 M 5.5 3 L 4 1.5 L closepath fill
X  0.25 3 M 4.5 3 L stroke} def
X/I028 {0.4 setlinewidth 1 6 M 1 4 L 5 4 L stroke} def % logical ??
X/arrowboth {2 3 M 4.5 3 L stroke
X  2 4.5 M 0.5 3 L 2 1.5 L closepath fill
X  4 4.5 M 5.5 3 L 4 1.5 L closepath fill} def
X/triangleup   {1 1 M 3 5 L 5 1 L 1 1 L closepath fill} def
X/triangledown {1 5 M 3 1 L 5 5 L 1 5 L closepath fill} def
X% Strays
X/delete {1 1 M 5 1 L 5 3 L 3 5 L 1 3 L 1 1 L closepath stroke} def
X/peseta { /Courier findfont [6 0 0 10 0 0] makefont setfont
X  0 0 M (P) show 2.5 0 M (t) show} def
X/I169 {0.4 setlinewidth 1 2 M 1 4 L 5 4 L stroke} def % logical ??
X/logicalnot {0.4 setlinewidth 1 4 M 5 4 L 5 2 L stroke} def
X/half { /Courier findfont [5 0 0 5 0 0] makefont setfont 0 4 M (1) show
X  2.5 0 M (2) show 0.2 setlinewidth 0.5 2 M 5.5 5 L stroke} def
X/quarter { /Courier findfont [5 0 0 5 0 0] makefont setfont 0 4 M (1) show
X  2.5 0 M (4) show 0.2 setlinewidth 0.5 2 M 5.5 5 L stroke} def
X% Grey Blobs
X/lightgrey {1 setlinewidth
X  -0.5 2 8 {0 3 6 {1 index moveto currentlinewidth 0 rlineto} for pop} for
X  -1.5 2 8 {1.5 3 6 {1 index moveto currentlinewidth 0 rlineto} for pop} for
X  stroke} def
X/mediumgrey {1 setlinewidth
X  -0.5 2 8 {0 2 6 {1 index moveto currentlinewidth 0 rlineto} for pop} for
X  -1.5 2 8 {1 2 6 {1 index moveto currentlinewidth 0 rlineto} for pop} for
X  stroke} def
X/darkgrey {1 setlinewidth
X  -0.5 2 8 {0 exch M 2   0 rlineto 1 0 rmoveto 2 0 rlineto} for
X  -1.5 2 8 {0 exch M 0.5 0 rlineto 1 0 rmoveto 2 0 rlineto
X   1 0 rmoveto 1.5 0 rlineto} for stroke} def
X% Box line line segments
X/I179 {3 -2 M 3 8 L stroke} def
X/I180 {3 -2 M 3 8 L 0 4 M 3 4 L stroke} def
X/I181 {3 -2 M 3 8 L 0 4 M 3 4 L 0 2 M 3 2 L stroke} def
X/I182 {2 -2 M 2 8 L 4 -2 M 4 8 L 0 4 M 2 4 L stroke} def
X/I183 {0 4 M 4 4 L 4 -2 L 2 -2 M 2 4 L stroke} def
X/I184 {0 4 M 3 4 L 3 -2 L 0 2 M 3 2 L stroke} def
X/I185 {4 -2 M 4 8 L 0 4 M 2 4 L 2 8 L 0 2 M 2 2 L 2 -2 L stroke} def
X/I186 {2 -2 M 2 8 L 4 -2 M 4 8 L stroke} def
X/I187 {0 4 M 4 4 L 4 -2 L 0 2 M 2 2 L 2 -2 L stroke} def
X/I188 {0 2 M 4 2 L 4 8 L 0 4 M 2 4 L 2 8 L stroke} def
X/I189 {0 4 M 4 4 L 4 8 L 2 4 M 2 8 L stroke} def
X/I190 {0 2 M 3 2 L 3 8 L 0 4 M 3 4 L stroke} def
X/I191 {0 4 M 3 4 L 3 -2 L stroke} def
X/I192 {3 8 M 3 4 L 6 4 L stroke} def
X/I193 {0 4 M 6 4 L 3 4 M 3 8 L stroke} def
X/I194 {0 4 M 6 4 L 3 4 M 3 -2 L stroke} def
X/I195 {3 -2 M 3 8 L 3 4 M 6 4 L stroke} def
X/I196 {0 4 M 6 4 L stroke} def
X/I197 {0 4 M 6 4 L 3 -2 M 3 8 L stroke} def
X/I198 {3 -2 M 3 8 L 3 4 M 6 4 L 3 2 M 6 2 L stroke} def
X/I199 {2 -2 M 2 8 L 4 -2 M 4 8 L 4 4 M 6 4 L stroke} def
X/I200 {2 8 M 2 2 L 6 2 L 4 8 M 4 4 L 6 4 L stroke} def
X/I201 {2 -2 M 2 4 L 6 4 L 4 -2 M 4 2 L 6 2 L stroke} def
X/I202 {0 2 M 6 2 L 0 4 M 2 4 L 2 8 L 4 8 M 4 4 L 6 4 L stroke} def
X/I203 {0 4 M 6 4 L 0 2 M 2 2 L 2 -2 L 4 -2 M 4 2 L 6 2 L stroke} def
X/I204 {2 -2 M 2 8 L 4 8 M 4 4 L 6 4 L 4 -2 M 4 2 L 6 2 L stroke} def
X/I205 {0 4 M 6 4 L 0 2 M 6 2 L stroke} def
X/I206 {0 4 M 2 4 L 2 8 L 4 8 M 4 4 L 6 4 L 6 2 M 4 2 L 4 -2 L
X  2 -2 M 2 2 L 0 2 L stroke} def
X/I207 {0 2 M 6 2 L 0 4 M 6 4 L 3 4 M 3 8 L stroke} def
X/I208 {0 4 M 6 4 L 2 4 M 2 8 L 4 4 M 4 8 L stroke} def
X/I209 {0 4 M 6 4 L 0 2 M 6 2 L 3 2 M 3 -2 L stroke} def
X/I210 {0 4 M 6 4 L 2 4 M 2 -2 L 4 4 M 4 -2 L stroke} def
X/I211 {2 8 M 2 4 L 6 4 L 4 8 M 4 4 L stroke} def
X/I212 {3 8 M 3 2 L 6 2 L 3 4 M 6 4 L stroke} def
X/I213 {3 -2 M 3 4 L 6 4 L 3 2 M 6 2 L stroke} def
X/I214 {2 -2 M 2 4 L 6 4 L 4 -2 M 4 4 L stroke} def
X/I215 {2 -2 M 2 8 L 4 -2 M 4 8 L 0 4 M 6 4 L stroke} def
X/I216 {3 -2 M 3 8 L 0 4 M 6 4 L 0 2 M 6 2 L stroke} def
X/I217 {0 4 M 3 4 L 3 8 L stroke} def
X/I218 {3 -2 M 3 4 L 6 4 L stroke} def
X% Block segments
X/blockfull  {0 -2 M 6 -2 L 6 8 L 0 8 L 0 -2 L closepath fill} def
X/blockbot   {0 -2 M 6 -2 L 6 3 L 0 3 L 0 -2 L closepath fill} def
X/blockleft  {0 -2 M 3 -2 L 3 8 L 0 8 L 0 -2 L closepath fill} def
X/blockright {3 -2 M 6 -2 L 6 8 L 3 8 L 3 -2 L closepath fill} def
X/blocktop   {0 3 M 6 3 L 6 8 L 0 8 L 0 3 L closepath fill} def
X% from symbol font
X/alpha {(a) [9.5 0 0 10 0 0] SymbolShow} def
X/beta {(b) [10 0 0 10 0 0] SymbolShow} def
X/Gamma {(G) [10 0 0 10 0 0] SymbolShow} def
X/pi {(p) [10 0 0 10 0 0] SymbolShow} def
X/Sigma {(S) [10 0 0 10 0 0] SymbolShow} def
X/sigma {(s) [10 0 0 10 0 0] SymbolShow} def
X/mu {(m) [10 0 0 10 0 0] SymbolShow} def
X/tau {(t) [10 0 0 10 0.5 0] SymbolShow} def
X/Phi {(F) [8 0 0 10 0 0] SymbolShow} def
X/Theta {(Q) [8 0 0 10 0 0] SymbolShow} def
X/Omega {(W) [8 0 0 10 0 0] SymbolShow} def
X/delta {(d) [10 0 0 10 0 0] SymbolShow} def
X/infinity {(\245) [8.5 0 0 10 0 0] SymbolShow} def
X/emptyset {(\306) [7.5 0 0 10 0 0] SymbolShow} def
X/element {(\316) [8.5 0 0 10 0 0] SymbolShow} def
X/intersection {(\307) [8 0 0 10 0 0] SymbolShow} def
X/equivalence {(\272) [10 0 0 10 0 0] SymbolShow} def
X/plusminus {(\261) [10 0 0 10 0 0] SymbolShow} def
X/greaterequal {(\263) [10 0 0 10 0 0] SymbolShow} def
X/lessequal {(\243) [10 0 0 10 0 0] SymbolShow} def
X% integral pieces
X/integraltop {3 -2 M 3 6 L 4 6 1 180 0 arcn stroke} def
X/integralbot {3 8 M 3 0 L 2 0 1 0 180 arcn stroke} def
X% from symbol font
X/divide {(\270) [10 0 0 10 0 0] SymbolShow} def
X/approxequal {(\273) [10 0 0 10 0 0] SymbolShow} def
X/degree {(\260) [10 0 0 10 0 0] SymbolShow} def
X/bullet {(\267) [10 0 0 10 0 0] SymbolShow} def
X/dotmath {(\327) [10 0 0 10 0 0] SymbolShow} def
X/radical {(\326) [10 0 0 10 0 0] SymbolShow} def
X% from courier font
X/supern { /Courier findfont [7 0 0 5 0 0] makefont setfont
X  0 4 moveto (n) show } def
X/super2 { /Courier findfont [7 0 0 5 0 0] makefont setfont
X  0 4 moveto (2) show } def
X% slug
X/slug {1.5 0 M 4.5 0 L 4.5 5 L 1.5 5 L 1.5 0 L closepath fill} def
Xend readonly def % end CharProcs
Xcurrentdict end  % end the font dictionary, and leave it on the stack
Xdup /FontName get exch definefont pop % define the new font
X%%EndFont
X% end of epsonps.pro
END_OF_epsonps.pro
if test 17037 -ne `wc -c <epsonps.pro`; then
    echo shar: \"epsonps.pro\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f Makefile -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"Makefile\"
else
echo shar: Extracting \"Makefile\" \(554 characters\)
sed "s/^X//" >Makefile <<'END_OF_Makefile'
X#
X# Makefile for epsonps.c
X# 
X# for Turbo C, use 
X#   tcc epsonps.c
X# for Microsoft C 5.1, use
X#   cl /W3 /DANSI epsonps.c
X#
XMANDIR = /usr/man/man1
XBINDIR = /usr/local/bin
X
Xepsonps: epsonps.c
X	cc epsonps.c -o epsonps
X
Xinstall: epsonps epsonps.pro epsonps.1
X	install -c -m 755 epsonps     $(BINDIR)/epsonps
X	install -c -m 644 epsonps.pro $(BINDIR)/epsonps.pro
X	install -c -m 644 epsonps.1   $(MANDIR)/epsonps.1
X	
Xshar: README epsonps.c epsonps.pro epsonps.1 Makefile
X	shar README epsonps.c > epsonps.sh1
X	shar epsonps.1 epsonps.pro Makefile > epsonps.sh2
END_OF_Makefile
if test 554 -ne `wc -c <Makefile`; then
    echo shar: \"Makefile\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of shell archive.
exit 0

exit 0 # Just in case...
-- 
Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD           UUCP:     uunet!sparky!kent
Phone:    (402) 291-8300         FAX:      (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.