home *** CD-ROM | disk | FTP | other *** search
/ Kids Cube / 1_Art.iso / pep / pep.pro < prev    next >
Text File  |  1993-11-27  |  6KB  |  98 lines

  1. /ss save def /d0 1000 dict def d0 begin 1 setlinecap 1 setlinejoin
  2. newpath /pm matrix def /pcov false def /ppov false def /mfon
  3. 0 def /ocol 0 def /fibs false def /bd {bind def} bind def /so
  4. {/cpov ppov def /ccov pcov def translate cpov {2 copy pm identmatrix
  5. scale currentlinewidth dup 3 -1 roll idtransform add 2 div dup
  6. dup setlinewidth 7 -1 roll add 6 1 roll 5 -1 roll add 4 1 roll}
  7. if scale scar exch get exec cpov not {ppen [] 0 setdash} if ccov
  8. {/tcol gcol def /ocol gcol def} {/tcol 0 def /gcol 0 def 0 scol}
  9. ifelse reset} bd /scar [{pop pop} {exch pop 0 translate 90 rotate}
  10. {translate 180 rotate} {pop 0 exch translate 270 rotate} {pop
  11. pop [0 1 1 0 0 0] concat} {[1 0 0 -1 0 0] concat 0 exch neg translate
  12. pop} {[0 -1 -1 0 0 0] concat neg exch neg exch translate} {pop
  13. [-1 0 0 1 0 0] concat neg 0 translate}] def /wind {newpath moveto
  14. dup 0 exch l2 exch 0 l2 neg 0 exch l2 clip newpath} bd /dod {3
  15. 1 roll def def} bd /fix {256 div} bd /ov0 {ccov not {/pcov false
  16. def} if cpov not {/ppov false def} if} bd /ov1 {/pcov true def
  17. cpov not {/ppov false def} if} bd /ov2 {ccov not {/pcov false
  18. def} if /ppov true def} bd /ov3 {/pcov true def /ppov true def}
  19. bd /pen {cpov {pop} {setlinewidth} ifelse} bd /ppen {cpov not
  20. {.18 .18 pm defaultmatrix dtransform idtransform abs exch abs
  21. 2 copy ge {exch} if pop setlinewidth} if} bd /dash {/off exch
  22. def /on exch def cpov not {on 0 eq {[] 0 setdash} {[on off] 0
  23. setdash} ifelse} if} bd /cola [{0 0 0} {1 0 0} {0 0 1} {1 1 0}
  24. {0 1 0} {.5 .25 0} {1 0 1} {0 1 1} {1 .5 0} {.75 1 0} {.75 .75
  25. .75} {1 .75 1} {.5 0 1} {1 .75 0} {.5 .75 0} {1 1 1}] def /scol
  26. {fibs {pop} {cola exch get exec setrgbcolor} ifelse} bd /apco
  27. {dup 15 ne ccov and {pop ocol} if} bd /gc {apco dup /gcol exch
  28. def scol} bd /tc {apco /tcol exch def} bd /ts {/bsiz exch def
  29. /ysiz exch def /xsiz exch def} bd /ta {/tall exch def} bd /tj
  30. {/tjus exch def} bd /tr {/trot exch def} bd /saves {gsave gcol
  31. tcol ocol dfon xsiz ysiz bsiz tjus trot mfon tall cpov ppov ccov
  32. pcov fibs 16 array astore} bd /rests {aload pop /fibs exch def
  33. /pcov exch def /ccov exch def /ppov exch def /cpov exch def /tall
  34. exch def /mfon exch def /trot exch def /tjus exch def /bsiz exch
  35. def /ysiz exch def /xsiz exch def /dfon exch def /ocol exch def
  36. /tcol exch def /gcol exch def grestore} bd /reset {/trot 0 def
  37. /tall 0 def /tjus 0 def /dfon 0 def /xsiz 0 def /ysiz 0 def /bsiz
  38. 0 def} bd /m1 {moveto} bd /m2 {currentlinewidth 2.83 div dup
  39. 3 1 roll add 3 1 roll add exch moveto} bd /l2 {rlineto} bd /qvh
  40. {/y4 exch def /x4 exch def 0 .556 y4 mul .444 x4 mul y4 x4 y4
  41. rcurveto} bd /qhv {/y4 exch def /x4 exch def .556 x4 mul 0 x4
  42. .444 y4 mul x4 y4 rcurveto} bd /gen {/vert exch def /esl exch
  43. def /ssl exch def /y3 exch def /x3 exch def /rect y3 x3 div def
  44. ssl 0 eq {} {vert {/sS 1 ssl ftan div rect mul def} {/sS ssl
  45. ftan rect mul def} ifelse} ifelse esl 0 eq {} {vert {/eS esl
  46. ftan rect mul def} {/eS 1 esl ftan div rect mul def} ifelse}
  47. ifelse vert {ssl 0 eq {/x0 0 def /y0 y3 eS x3 mul sub def} {esl
  48. 0 eq {/x0 y3 sS div def /y0 y3 def} {/x0 eS x3 mul y3 sub eS
  49. sS sub div def /y0 x0 sS mul def} ifelse} ifelse} {ssl 0 eq {/x0
  50. eS x3 mul y3 sub eS div def /y0 0 def} {esl 0 eq {/x0 x3 def
  51. /y0 sS x3 mul def} {/x0 eS x3 mul y3 sub eS sS sub div def /y0
  52. x0 sS mul def} ifelse} ifelse} ifelse /x1 x0 .556 mul def /y1
  53. y0 .556 mul def /x2 x0 5 mul x3 4 mul add 9 div def /y2 y0 5
  54. mul y3 4 mul add 9 div def x1 y1 x2 y2 x3 y3 rcurveto} bd /ftan
  55. {.1765 mul dup sin exch cos div} bd /sol {fibs {newpath} {eofill}
  56. ifelse} bd /pat {/cors exch def /dens exch def 0 gcol ne {sol}
  57. {0 cors ne {cors 45 {dup mul exch dup mul add 1 exch sub} setscreen}
  58. if dens setgray sol gcol scol} ifelse} bd /FONTS [ /Times-Roman
  59. /Times-Italic /Times-Bold /Times-BoldItalic /Helvetica /Helvetica-Oblique
  60. /Helvetica-Bold /Helvetica-BoldOblique /Bookman-Light /Bookman-LightItalic
  61. /Bookman-Demi /Bookman-DemiItalic /Palatino-Roman /Palatino-Italic
  62. /Palatino-Bold /Palatino-BoldItalic /AvantGarde-Book /AvantGarde-BookOblique
  63. /AvantGarde-Demi /AvantGarde-DemiOblique /ZapfChancery-MediumItalic
  64. /Symbol ] def /gfon {/rot exch def findfont /fon exch def matrix
  65. scale tart rot get matrix concatmatrix fon exch makefont} bd
  66. /tart [[1 0 0 -1 0 0] [0 1 1 0 0 0] [-1 0 0 1 0 0] [0 -1 -1 0
  67. 0 0] [0 1 -1 0 0 0] [1 0 0 1 0 0] [0 -1 1 0 0 0] [-1 0 0 -1 0
  68. 0]] def /font {/dfon exch def /mfon xsiz ysiz FONTS dfon get
  69. trot gfon def} bd /text {tcol scol /str exch def /plen exch def
  70. /box exch def /y4 exch def /x4 exch def mfon setfont /stln str
  71. stringwidth add abs def /xOff /esp stln plen box just dod /yOff
  72. /xOff xOff box talc dod xOff yOff rtex y4 add exch x4 add exch
  73. moveto esp 0 eq {str show} {/chan str length def chan 1 gt {
  74. esp chan 1 sub div 0 rtex str ashow} {str show} ifelse} ifelse
  75. gcol scol} bd /mtex {tcol scol /stan exch def /parts stan array
  76. def /fonts stan array def /colt stan array def stan 1 sub -1
  77. 0 {/ind exch def colt exch ind exch put /fnum exch def fonts
  78. ind xsiz ysiz FONTS fnum get trot gfon put parts exch ind exch
  79. put} for /plen exch def /box exch def /y4 exch def /x4 exch def
  80. /chan 0 0 1 stan 1 sub {parts exch get length add} for def /stln
  81. 0 0 1 stan 1 sub {/ind exch def fonts ind get setfont parts ind
  82. get stringwidth add abs add} for def /xOff /esp stln plen box
  83. just dod /yOff /xOff xOff box talc dod xOff yOff rtex y4 add
  84. exch x4 add exch moveto esp 0 eq {shot} { chan 1 gt { esp chan
  85. 1 sub div 0 rtex ashot} {shot} ifelse} ifelse gcol scol} bd /shot
  86. {0 1 parts length 1 sub {/ind exch def fonts ind get setfont
  87. asc parts ind get show} for} bd /ashot {/y4 exch def /x4 exch
  88. def 0 1 parts length 1 sub {/ind exch def fonts ind get setfont
  89. asc x4 y4 parts ind get ashow} for} bd /asc {colt ind get apco
  90. scol} bd /just {/boxS exch def /pepL exch def /strL exch def
  91. jtab tjus get exec} bd /jtab [ {0 boxS strL sub 2 div} {0 0}
  92. {0 boxS strL sub} {boxS strL sub 0} {pepL strL sub boxS pepL
  93. sub 2 div} {pepL strL sub 0} {pepL strL sub boxS pepL sub} {boxS
  94. strL sub 0}] bd /talc {allht tall 4 idiv get exec allvt tall
  95. 4 mod get exec} bd /allht [ {pop} {2 div sub} {sub}] def /allvt
  96. [ {bsiz} {bsiz ysiz 2 div sub} {bsiz ysiz sub} {0}] def /rtex
  97. {cart trot get exec} bd /cart [{} {neg exch} {neg exch neg exch}
  98. {exch neg} {exch} {neg} {neg exch neg} {exch neg exch}] def