home *** CD-ROM | disk | FTP | other *** search
- % Professional File PostScript prologue file
- % version 2.00
- % Copyright 1988 Software Publishing Corporation
-
- /PWdict 75 dict def % define the Professional Write dictionary
- PWdict begin
-
- /bd {bind def} bind def
-
- /Linefont % recreate IBM's line drawing chars
- 10 dict dup begin
- /FontType 3 def
- /FontMatrix [.001 0 0 .001 0 0] def
- /FontBBox [0 -300 600 700] def
- /Encoding 256 array def
- 0 1 255 {Encoding exch /.notdef put} for
- Encoding 176 [
- /onequarter /onehalf /threequarters
- /tb /tbl /tbl2 /t2b2l /b2l /bl2 /t2b2l2 /t2b2 /b2l2 /t2l2 /t2l
- /tl2 /bl /tr /trl /rbl /trb /rl /trbl /tr2b /t2rb2 /t2r2 /r2b2
- /t2r2l2 /r2b2l2 /t2r2b2 /r2l2 /t2r2b2l2 /tr2l2 /t2rl /r2bl2
- /rb2l /t2r /tr2 /r2b /rb2 /t2rb2l /tr2bl2 /tl /rb
- /block /bblock /lblock /rblock /tblock
- ] putinterval
- Encoding 32 /space put
- Encoding 254 /squarebullet put
-
-
- /CharDefs 80 dict def CharDefs begin
- /.notdef {} def
-
- /lx 0 def
- /rx 600 def
- /by -300 def
- /ty 700 def
- /cx 300 def
- /cy 350 def
- /c1x 245 def
- /c2x 355 def
- /c1y 295 def
- /c2y 405 def
- /sqblx 150 def
- /sqbrx 450 def
- /sqbty 500 def
- /sqbby 200 def
-
- /l {gsave lx currentpoint exch pop lineto stroke grestore} bd
- /r {gsave rx currentpoint exch pop lineto stroke grestore} bd
- /t {gsave currentpoint pop ty lineto stroke grestore} bd
- /b {gsave currentpoint pop by lineto stroke grestore} bd
- /box {3 index 3 index moveto 3 index 1 index lineto
- 1 index 1 index lineto 1 index 3 index lineto
- closepath fill pop pop pop pop} bd
-
- /tb {cx ty moveto b} bd
- /tbl {cx cy moveto t b l} bd
- /bl {cx cy moveto b l} bd
- /tr {cx cy moveto t r} bd
- /trl {cx cy moveto t r l} bd
- /rbl {cx cy moveto r b l} bd
- /trb {cx cy moveto t r b} bd
- /rl {lx cy moveto r} bd
- /trbl {cx cy moveto t r b l} bd
- /tl {cx cy moveto t l} bd
- /rb {cx cy moveto r b} bd
- /tbl2 {cx c1y moveto t b l cx c2y moveto l} bd
- /t2b2l {c1x cy moveto t b l c2x ty moveto b} bd
- /b2l {c2x cy moveto b l c1x cy moveto b} bd
- /bl2 {cx c2y moveto b l cx c1y moveto l} bd
- /t2b2l2 {c1x c1y moveto b l c1x c2y moveto t l c2x ty moveto b} bd
- /t2b2 {c1x ty moveto b c2x ty moveto b} bd
- /b2l2 {c1x c1y moveto b l c2x c2y moveto b l} bd
- /t2l2 {c1x c2y moveto t l c2x c1y moveto t l} bd
- /t2l {c2x cy moveto t l c1x cy moveto t} bd
- /tl2 {cx c1y moveto t l cx c2y moveto l} bd
- /tr2b {cx c1y moveto t r b cx c2y moveto r} bd
- /t2rb2 {c2x cy moveto t r b c1x ty moveto b} bd
- /t2r2 {c1x c1y moveto t r c2x c2y moveto t r} bd
- /r2b2 {c1x c2y moveto r b c2x c1y moveto r b} bd
- /t2r2l2 {c1x c2y moveto t l c2x c2y moveto t r lx c1y moveto r} bd
- /r2b2l2 {lx c2y moveto r c1x c1y moveto b l c2x c1y moveto r b} bd
- /t2r2b2 {c2x c2y moveto t r c2x c1y moveto r b c1x ty moveto b} bd
- /r2l2 {lx c1y moveto r lx c2y moveto r} bd
- /t2r2b2l2 {c1x c1y moveto b l c1x c2y moveto t l c2x c2y moveto t r c2x c1y moveto r b} bd
- /tr2l2 {cx c2y moveto t r l lx c1y moveto r} bd
- /t2rl {c1x cy moveto t r l c2x cy moveto t} bd
- /r2bl2 {lx c2y moveto r cx c1y moveto r b l} bd
- /rb2l {c1x cy moveto r b l c2x cy moveto b} bd
- /t2r {c1x cy moveto t r c2x cy moveto t} bd
- /tr2 {cx c1y moveto t r cx c2y moveto r} bd
- /r2b {cx c2y moveto r b cx c1y moveto r} bd
- /rb2 {c1x cy moveto r b c2x cy moveto b} bd
- /t2rb2l {c1x cy moveto t r b l c2x ty moveto b} bd
- /tr2bl2 {cx c1y moveto t r b l lx c2y moveto r} bd
- /block {lx by rx ty box} bd
- /bblock {lx by rx cy box} bd
- /lblock {lx by cx ty box} bd
- /rblock {cx by rx ty box} bd
- /tblock {lx cy rx ty box} bd
- /onequarter {lx by rx ty box} bd
- /onehalf {lx by rx ty box} bd
- /threequarters {lx by rx ty box} bd
- /space {} bd
- /squarebullet {sqblx sqbby sqbrx sqbty box} bd
- end
-
- /FontInfo 10 dict def FontInfo begin
- /Notice (Copyright 1988 Software Publishing Corporation) def
- /FullName (Line-Light) def
- /FamilyName (Line) def
- /Weight (Light) def
- /version (001.000) def
- /UnderlinePosition -80 def
- /UnderlineThickness 40 def
- /isFixedPitch true def
- /ItalicAngle 0 def
- end
- end
- def
-
-
- /SPCEncoding 256 array def % access foreign chars
- StandardEncoding SPCEncoding copy pop
-
- SPCEncoding 128 [
- /Ccedilla /udieresis /eacute /acircumflex /adieresis /agrave /aring
- /ccedilla /ecircumflex /edieresis /egrave /idieresis /icircumflex
- /igrave /Adieresis /Aring /Eacute /ae /AE /ocircumflex /odieresis /ograve
- /ucircumflex /ugrave /ydieresis /Odieresis /Udieresis /cent /sterling
- /yen /.notdef /florin /aacute /iacute /oacute /uacute /ntilde /Ntilde
- /ordfeminine /ordmasculine /questiondown /.notdef /.notdef /.notdef
- /.notdef /exclamdown /guillemotleft /guillemotright
- ] putinterval
- SPCEncoding 20 [/paragraph /section] putinterval
- SPCEncoding 225 [/germandbls /dagger /daggerdbl
- /quotedblleft /quotedblright] putinterval
-
- SPCEncoding 249 [/bullet /periodcentered] putinterval % print grid chars.
-
- /MakeSPCFont % make fonts with foreign chars in 'em
- {
- FontDirectory 1 index known not FontDirectory 3 index known and
- {
- exch findfont dup length dict exch
- { 1 index /FID eq
- { pop pop }
- { 1 index /Encoding eq { pop SPCEncoding } if
- 2 index 3 1 roll put
- } ifelse
- } forall
- definefont pop
- }
- {pop pop} ifelse
- } bd
-
- /cstr 100 string def
- /sstr (-SPC) def
-
- /setSPCfonts
- {
- fonts
- {
- dup cstr cvs sstr search
- {exch pop exch pop cvn exch MakeSPCFont}
- {pop pop} ifelse
- } forall
- } bd
-
-
- /family 0 def % state variables
- /bold false def
- /underline false def
- /lineheight 11.75 def
- /fontsize 12 def
- /linedrawing false def
- /dirty false def
-
-
- /leftmargin 18 def % some useful numbers
- /line1 {11 72 mul lineheight sub 6 sub} bd
- /bottom 0 def
-
-
- /savestate % be able to save and restore state
- {
- family bold underline
- lineheight fontsize linedrawing
- manualfeedOK {statusdict begin manualfeed end} if
- } bd
-
- /getstate % restoring state, set orientation and font
- {
- manualfeedOK {statusdict begin /manualfeed exch def end} if
- /linedrawing exch def
- /fontsize exch def
- /lineheight exch def
- /underline exch def
- /bold exch def
- /family exch def
- leftmargin line1 moveto
- setfontnstyle
- } bd
-
- /fonts % all fonts accessible from Professional File
- [
- /Courier-SPC /Courier-Bold-SPC /Courier-Oblique-SPC /Courier-BoldOblique-SPC
- ] def
-
- /fontlength fonts length def % length of fonts array
-
- /bounds % bounds-checking algorithm
- {
- 3 index 3 index lt 4 index 3 index gt or
- { {exch} if pop exch pop}
- {pop pop pop} ifelse
- } bd
-
- /init % initialization - install fonts, start page 1
- {
- /Linefont Linefont definefont pop
- setSPCfonts startpage setfontnstyle
- } bd
-
-
- % the following routines are called from other routines
- % routines include start new page, eject page, set font and style
- % (style includes bold, italic, underline, super/subscript, line drawing),
- % draw an underline
-
- /startpage {/s1 save def leftmargin line1 moveto} bd
-
- /endpage {showpage s1 restore} bd
-
- /setfontnstyle
- {
- linedrawing
- {/Linefont findfont [fontsize 0 0 lineheight 0 0] makefont setfont}
- {
- fonts family 4 mul bold {1 add} if
- 0 fontlength false bounds get
- findfont fontsize scalefont
- setfont
- } ifelse
- } bd
-
- /markdict 1 dict def markdict begin
- /cleartomarkdict
- { {currentdict end /cleartomarkdict known {exit} if} loop} bd
- end
-
- /showunderline
- {
- dup stringwidth pop exch show
- gsave markdict begin mark exch
- {
- currentfont begin
- FontMatrix
- FontInfo begin
- 0 UnderlinePosition 2 index transform rmoveto
- UnderlineThickness 0 3 -1 roll transform pop setlinewidth
- end
- end
- neg 0 rlineto stroke
- } stopped
- pop cleartomarkdict cleartomark grestore
- } bd
-
- /manualfeedOK
- markdict begin mark
- {
- statusdict begin
- currentdict /manualfeed known
- {/manualfeed load type /booleantype eq} {false} ifelse
- } stopped cleartomarkdict {cleartomark false} {exch pop} ifelse
- def
-
-
- % these routines are called from the script
- % included are turning all enhancements on and off,
- % (enhancements are bold and underline)
- % changin font size, showing a string, going to a new line, ejecting a page
- /U {/underline true def} bd
- /u {/underline false def} bd
- /B {/bold true def setfontnstyle} bd
- /b {/bold false def setfontnstyle} bd
- /SZ {/fontsize exch def setfontnstyle} bd
-
- /nl {
- currentpoint lineheight sub exch pop % new y on top of stack
- dup bottom le % do a form feed if below bottom
- {
- ff
- pop % get rid of dup y
- }
- {
- leftmargin exch moveto
- } ifelse
- } bd
-
- /done { % need a form feed when the document is done and we are not at the
- % first line of the page (i.e. didn't just do a form feed)
- currentpoint round exch pop % y on top of stack
- line1 truncate ne % do a form feed if not on line1
- {
- ff
- } if
- } bd
-
- /ff {savestate endpage startpage getstate} bd
-
- /s
- {
- underline {showunderline} {show} ifelse
- dirty not {/dirty true def} if
- } bd
-
- end