home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / Dvi / dvipsbin.zoo / ps / special.pro < prev    next >
Text File  |  1991-04-23  |  3KB  |  47 lines

  1. %!
  2. TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs
  3. 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N
  4. /p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{
  5. @scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true
  6. N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X}
  7. B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B
  8. /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type
  9. /dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx
  10. defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{
  11. itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2
  12. roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll
  13. itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array
  14. astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{
  15. PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR
  16. pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
  17. get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
  18. not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if
  19. yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270
  20. rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get
  21. ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not
  22. and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip
  23. not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}
  24. ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy
  25. TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if}
  26. if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{
  27. DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save
  28. N userdict maxlength dict begin /magscale false def normalscale currentpoint
  29. TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
  30. /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx
  31. sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx
  32. psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N
  33. /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly
  34. psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll
  35. S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end
  36. psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave
  37. normalscale currentpoint TR @SpecialDefaults}N /@setspecial{CLIP{newpath 0 0
  38. moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR
  39. hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg
  40. TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore
  41. clear SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B
  42. /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1
  43. setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY
  44. moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix
  45. currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix
  46. setmatrix}N end
  47.