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

  1. %!
  2. /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
  3. /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
  4. mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
  5. ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
  6. isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
  7. hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
  8. TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get
  9. round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{
  10. statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0
  11. 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn
  12. begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X
  13. array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo
  14. setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx
  15. FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{
  16. pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}
  17. B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup
  18. length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B
  19. /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
  20. /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp
  21. 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2
  22. index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff
  23. ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
  24. ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id
  25. ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{
  26. rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get
  27. /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp
  28. X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X
  29. adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup
  30. 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}
  31. B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv
  32. S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
  33. putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
  34. adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
  35. {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
  36. adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
  37. chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
  38. }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
  39. length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
  40. cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
  41. 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
  42. add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
  43. userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
  44. known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
  45. /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
  46. 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
  47. 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
  48. {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
  49. getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
  50. ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley
  51. false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley
  52. scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave
  53. transform round exch round exch itransform moveto rulex 0 rlineto 0
  54. ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta
  55. 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
  56. B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{
  57. 3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p
  58. -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{
  59. 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end
  60.