home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / programs / amiga / pastex / ps / special.pro < prev    next >
Text File  |  1993-09-07  |  4KB  |  57 lines

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