home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / PROPAGEV1.2-2.DMS / in.adf / Data / alt_psprlg next >
Encoding:
Text File  |  1989-04-03  |  11.5 KB  |  506 lines

  1.  
  2. /uniqueid 0 def
  3. /amigavec [
  4. 8#055 /hyphen
  5. 8#230 /dotlessi
  6. 8#231 /grave
  7. 8#232 /acute
  8. 8#233 /circumflex
  9. 8#234 /tilde
  10. 8#235 /dieresis
  11. 8#236 /ring
  12. 8#237 /cedilla
  13. 8#240 /space
  14. 8#244 /currency
  15. 8#246 /bar
  16. 8#250 /dieresis
  17. 8#251 /copyright
  18. 8#252 /ordfeminine
  19. 8#254 /logicalnot
  20. 8#255 /.notdef
  21. 8#256 /registered
  22. 8#257 /macron
  23. 8#260 /ring
  24. 8#261 /.notdef
  25. 8#262 /.notdef
  26. 8#263 /dagger
  27. 8#264 /.notdef
  28. 8#265 /.notdef
  29. 8#267 /bullet
  30. 8#271 /.notdef
  31. 8#272 /ordmasculine
  32. 8#274 /.notdef
  33. 8#275 /.notdef
  34. 8#276 /.notdef
  35. 8#300 /Agrave
  36. 8#301 /Aacute
  37. 8#302 /Acircumflex
  38. 8#303 /Atilde
  39. 8#304 /Adieresis
  40. 8#305 /Aring
  41. 8#306 /AE
  42. 8#307 /Ccedilla
  43. 8#310 /Egrave
  44. 8#311 /Eacute
  45. 8#312 /Ecircumflex
  46. 8#313 /Edieresis
  47. 8#314 /Igrave
  48. 8#315 /Iacute
  49. 8#316 /Icircumflex
  50. 8#317 /Idieresis
  51. 8#320 /.notdef
  52. 8#321 /Ntilde
  53. 8#322 /Ograve
  54. 8#323 /Oacute
  55. 8#324 /Ocircumflex
  56. 8#325 /Otilde
  57. 8#326 /Odieresis
  58. 8#327 /.notdef
  59. 8#330 /Oslash
  60. 8#331 /Ugrave
  61. 8#332 /Uacute
  62. 8#333 /Ucircumflex
  63. 8#334 /Udieresis
  64. 8#335 /.notdef
  65. 8#336 /.notdef
  66. 8#337 /germandbls
  67. 8#340 /agrave
  68. 8#341 /aacute
  69. 8#342 /acircumflex
  70. 8#343 /atilde
  71. 8#344 /adieresis
  72. 8#345 /aring
  73. 8#346 /ae
  74. 8#347 /ccedilla
  75. 8#350 /egrave
  76. 8#351 /eacute
  77. 8#352 /ecircumflex
  78. 8#353 /edieresis
  79. 8#354 /igrave
  80. 8#355 /iacute
  81. 8#356 /icircumflex
  82. 8#357 /idieresis
  83. 8#360 /.notdef
  84. 8#361 /ntilde
  85. 8#362 /ograve
  86. 8#363 /oacute
  87. 8#364 /ocircumflex
  88. 8#365 /otilde
  89. 8#366 /odieresis
  90. 8#367 /.notdef
  91. 8#370 /oslash
  92. 8#371 /ugrave
  93. 8#372 /uacute
  94. 8#373 /ucircumflex
  95. 8#374 /udieresis
  96. 8#375 /.notdef
  97. 8#376 /.notdef
  98. 8#377 /ydieresis
  99. ] def
  100. /dontCopyID false def
  101. /copyfont {
  102.    { exch dup /FID ne
  103.       {
  104.      dup /UniqueID eq dontCopyID and
  105.      {pop pop}
  106.      {
  107.         dup /Encoding eq
  108.         { exch dup length array copy outfontdict 3 1 roll put}
  109.         { exch outfontdict 3 1 roll put}
  110.         ifelse
  111.      }
  112.      ifelse
  113.       }
  114.       { pop pop}
  115.       ifelse
  116.    } forall
  117. } bind def
  118. /recode {
  119.    copyfont dup dup
  120.    outfontdict /FontName 3 -1 roll put
  121.    amigavec aload pop
  122.    amigavec length 2 idiv
  123.    {outfontdict /Encoding get 3 1 roll put} repeat
  124. } bind def
  125. /defamigafont {
  126.    /fntsclmtx [0 0 0 0 0 0] def
  127.    exch
  128.    dup fntsclmtx exch 0 exch put
  129.    neg fntsclmtx exch 3 exch put
  130.    findfont fntsclmtx makefont setfont
  131. } bind def
  132. /deffont  {
  133.    3 -1 roll
  134.    {
  135.       dup dup length dup 5 add string /newnamestr exch def
  136.       exch newnamestr copy pop newnamestr exch (Amiga) putinterval
  137.       newnamestr cvn dup FontDirectory exch known
  138.       {exch pop}
  139.       {
  140.      exch cvn findfont
  141.      dup maxlength dict /outfontdict exch def
  142.      /dontCopyID false def recode
  143.      outfontdict definefont pop
  144.       }
  145.       ifelse
  146.    }
  147.    { cvn }
  148.    ifelse
  149.    defamigafont
  150. } bind def
  151.  
  152. /mvx {
  153.    currentpoint exch pop moveto
  154. } bind def
  155. /mvy {
  156.    currentpoint pop exch moveto
  157. } bind def
  158.  
  159. /MakeOutline {
  160.    3 -1 roll
  161.    {/xtra 8 def /suffix (OutAmiga) def}
  162.    {/xtra 3 def /suffix (Out) def}
  163.    ifelse
  164.    dup dup length dup xtra add string /newnamestr exch def
  165.    exch newnamestr copy pop newnamestr exch suffix putinterval
  166.    newnamestr cvn dup FontDirectory exch known
  167.    {exch pop}
  168.    {
  169.       exch cvn findfont
  170.       dup dup maxlength
  171.       exch /UniqueID known not {1 add} if
  172.       dict /outfontdict exch def
  173.       /dontCopyID true def
  174.       xtra 8 eq {recode}{copyfont dup} ifelse
  175. %      outfontdict /UniqueID uniqueid put
  176. %      /uniqueid uniqueid 1 add def
  177.       outfontdict /PaintType 2 put
  178.       outfontdict /StrokeWidth 1000 36 div put
  179.       outfontdict definefont pop
  180.    } ifelse
  181.    defamigafont
  182. } bind def
  183. /rect 4 array def  % used in dobox
  184. /dorect {
  185.    newpath
  186.    rect aload pop 4 copy moveto 3 1 roll exch lineto
  187.    4 2    roll lineto lineto
  188.    closepath
  189. } bind def
  190.  
  191. /dobox {          %clip trnsp x1 y1 x2 y2 dobox
  192.    rect astore pop
  193.    {} {dorect 1 setgray fill} ifelse
  194.    {dorect clip} if
  195. } bind def
  196.  
  197. /dogreyimage {     % width height xscl yscl x0 y0 dogreyimage
  198.    5 index 1 add 2 idiv string
  199.    /picstr exch def
  200.    translate scale
  201.    4 [1 0 0 1 0 0]
  202.    {currentfile  picstr readhexstring pop }
  203.    image
  204. } bind def
  205.  
  206. /do8greyimage {   % width height xscl yscl x0 y0 do8greyimage
  207.           % same as above, but 8 bits per sample
  208.    5 index string
  209.    /picstr exch def
  210.    translate scale
  211.    8 [1 0 0 1 0 0]
  212.    {currentfile  picstr readhexstring pop }
  213.    image
  214. } bind def
  215.  
  216. /docolorimage { % width height xscl yscl x0 y0 docolorimage
  217.    4 dict begin
  218.      5 index 1 add 2 idiv
  219.      dup /cstr exch string def
  220.      dup /ystr exch string def
  221.      dup /mstr exch string def
  222.      /kstr exch string def
  223.      translate scale
  224.      4 [1 0 0 1 0 0]
  225.      { currentfile cstr readhexstring pop }
  226.      { currentfile mstr readhexstring pop }
  227.      { currentfile ystr readhexstring pop }
  228.      { currentfile kstr readhexstring pop }
  229.      true 4 colorimage
  230.    end
  231. } bind def
  232.  
  233. /bwline {  % linewidth linejoin linecap grey dash 0 bwline
  234.    setdash setgray setlinecap setlinejoin setlinewidth
  235. } bind def
  236.  
  237. /colorline {  %linewidth linejoin linecap c m y k dash 0 colorline
  238.    setdash setcmykcolor setlinecap setlinejoin setlinewidth
  239. } bind def
  240.  
  241. /ellipsedict 2 dict def
  242. ellipsedict /mtrx matrix put
  243.  
  244. /ellipse {        % xr yr angle cx cy  ellipse
  245.    ellipsedict begin
  246.       /savematrix mtrx currentmatrix def
  247.       translate
  248.       rotate
  249.       scale
  250.       0 0 1 0 360 arc
  251.       savematrix setmatrix
  252.    end
  253. } bind def
  254.  
  255. %
  256. % patterned fill....
  257. %
  258. /setuserscreendict 22 dict def
  259. setuserscreendict begin
  260.    /tempctm matrix def
  261.    /temprot matrix def
  262.    /tempscale matrix def
  263.  
  264.    /concatprocs {
  265.       /proc2 exch cvlit def
  266.       /proc1 exch cvlit def
  267.       /newproc proc1 length proc2 length add array def
  268.       newproc 0 proc1 putinterval
  269.       newproc proc1 length proc2 putinterval
  270.       newproc cvx
  271.    } bind def
  272.  
  273.    /resmatrix matrix def
  274.    /findresolution {
  275.       72 0 resmatrix defaultmatrix dtransform
  276.       /yres exch def /xres exch def
  277.       xres dup mul yres dup mul add sqrt
  278.    } bind def
  279. end
  280.  
  281. /setuserscreen {
  282.    setuserscreendict begin
  283.       /spotfunction exch def
  284.       /screenangle exch def
  285.       /cellsize exch def
  286.       /m tempctm currentmatrix def
  287.       /rm screenangle temprot rotate def
  288.       /sm cellsize dup tempscale scale def
  289.       sm rm m m concatmatrix m concatmatrix pop
  290.       1 0 m dtransform /y1 exch def /x1 exch def
  291.       /veclength x1 dup mul y1 dup mul add sqrt def
  292.       /frequency findresolution veclength div def
  293.       /newscreenangle y1 x1 atan def
  294.       m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
  295.      { {neg} /spotfunction load concatprocs /spotfunction exch def
  296.      } if
  297.       frequency newscreenangle /spotfunction load setscreen
  298.    end
  299. } bind def
  300.  
  301. /setpatterndict  18 dict def
  302. setpatterndict begin
  303.    /bitison {
  304.       /ybit exch def /xbit exch def
  305.       /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
  306.       /mask 1 7 xbit 8 mod sub bitshift def
  307.       bytevalue mask and 0 ne
  308.    } bind def
  309. end
  310.  
  311. /bitpatternspotfunction {
  312.    setpatterndict begin
  313.       /y exch def /x exch def
  314.       /xindex x 1 add 2 div bpside mul cvi def
  315.       /yindex y 1 add 2 div bpside mul cvi def
  316.       xindex yindex bitison
  317.       { /onbits onbits 1 add def 1}
  318.       { /offbits offbits 1 add def 0}
  319.       ifelse
  320.    end
  321. } bind def
  322.  
  323. /setpattern {
  324.    setpatterndict begin
  325.       /cellsz exch def
  326.       /angle exch def
  327.       /bwidth exch def
  328.       /bpside exch def
  329.       /bstring exch def
  330.       /onbits 0 def /offbits 0 def
  331.       cellsz angle /bitpatternspotfunction load setuserscreen
  332.       {} settransfer
  333.       offbits offbits onbits add div setgray
  334.    end
  335. } bind def
  336.  
  337. /getpagetype { % width ht orient getpagetype width ht orient pagetype
  338.    dup 0 eq {0}
  339.    {
  340.       3 copy pop
  341.       2 copy 709 le exch 499 le and
  342.       {pop pop 4} {
  343.      2 copy 842 le exch 596 le and
  344.      {pop pop 3} {
  345.         2 copy 792 le exch 612 le and
  346.         {pop pop 1} {
  347.            1008 le exch 612 le and
  348.            {2} {0} ifelse
  349.         } ifelse
  350.      } ifelse
  351.       } ifelse
  352.    } ifelse
  353. } bind def
  354.  
  355. /initoutputpage { % ysize pitch angle width ht orient neg mirror manual #copies ----
  356.    /#copies exch def
  357.    statusdict begin
  358.       statusdict /manualfeed known
  359.       {/manualfeed exch def} {pop} ifelse
  360.       statusdict /mirrorprint known
  361.       {/mirrorprint exch def} {pop} ifelse
  362.       statusdict /negativeprint known
  363.       {/negativeprint exch def} {pop} ifelse
  364.       getpagetype
  365.       dup 0 ne {
  366.      dup 1 eq {
  367.         userdict /letter known
  368.         {letter} {pop 0} ifelse
  369.      } if
  370.      dup 2 eq {
  371.         userdict /legal known
  372.         {legal}  {pop 0} ifelse
  373.      } if
  374.      dup 3 eq {
  375.         userdict /a4 known
  376.         {a4} {pop 0} ifelse
  377.      } if
  378.      dup 4 eq {
  379.         userdict /b5 known
  380.         {b5} {pop 0} ifelse
  381.      } if
  382.       } if
  383.       0 eq statusdict /setpage known and
  384.       {setpage} {pop pop pop} ifelse
  385.    end
  386.    currentscreen 3 1 roll pop pop setscreen
  387.    /pageysize exch def
  388.    findid
  389. } bind def
  390.  
  391. /initcolorpage { % pitch1 angle1 ... pitch4 angle4 ysize width ht orient neg mirror manual #copies epsf----
  392.    commoninit
  393.    12 dict begin
  394.       /ka exch def /kf exch def
  395.       /ba exch def /bf exch def
  396.       /ga exch def /gf exch def
  397.       /ra exch def /rf exch def
  398.       currentcolorscreen
  399.       /kp exch def pop pop
  400.       /bp exch def pop pop
  401.       /gp exch def pop pop
  402.       /rp exch def pop pop
  403.       rf ra /rp load gf ga /gp load bf ba /bp load kf ka /kp load setcolorscreen
  404.    end
  405. } bind def
  406.  
  407. /initbwpage { % pitch angle ysize width ht orient neg mirror manual #copies epsf ----
  408.    commoninit
  409.    currentscreen 3 1 roll pop pop setscreen
  410. } bind def
  411.  
  412. /commoninit { % ysize width ht orient neg mirror manual #copies epsf ----
  413.    {pop pop pop pop pop pop pop}
  414.    {
  415.       /#copies exch def
  416.       statusdict begin
  417.      statusdict /manualfeed known
  418.      {/manualfeed exch def} {pop} ifelse
  419.      statusdict /mirrorprint known
  420.      {/mirrorprint exch def} {pop} ifelse
  421.      statusdict /negativeprint known
  422.      {/negativeprint exch def} {pop} ifelse
  423.      getpagetype
  424.      dup 0 ne {
  425.         dup 1 eq {
  426.            userdict /letter known
  427.            {letter} {pop 0} ifelse
  428.         } if
  429.         dup 2 eq {
  430.            userdict /legal known
  431.            {legal}    {pop 0} ifelse
  432.         } if
  433.         dup 3 eq {
  434.            userdict /a4 known
  435.            {a4} {pop 0} ifelse
  436.         } if
  437.         dup 4 eq {
  438.            userdict /b5 known
  439.            {b5} {pop 0} ifelse
  440.         } if
  441.      } if
  442.      0 eq statusdict /setpage known and
  443.      {setpage} {pop pop pop} ifelse
  444.       end
  445.    }
  446.    ifelse
  447.    /pageysize exch def
  448. } bind def
  449.  
  450. /crop {         % x0 y0 x1 y1 l s crop       - places crop marks...
  451.     2 dict begin
  452.        /spc exch def /len exch def
  453.        gsave initclip newpath
  454.        0.25 setlinewidth 0 setgray
  455.        2 copy moveto 0 spc rmoveto 0 len rlineto 2 copy moveto spc 0 rmoveto len 0 rlineto
  456.        4 2 roll 2 copy moveto 0 spc neg rmoveto 0 len neg rlineto 2 copy moveto spc neg 0 rmoveto len neg 0 rlineto
  457.        4 1 roll exch
  458.        2 copy moveto 0 spc rmoveto 0 len rlineto moveto spc neg 0 rmoveto len neg 0 rlineto
  459.        exch 2 copy moveto spc 0 rmoveto len 0 rlineto moveto 0 spc neg rmoveto 0 len neg rlineto
  460.        stroke grestore
  461.     end
  462. } bind def
  463.  
  464. /cross {   % xc yc len cross
  465.    1 dict begin
  466.       /len exch def
  467.       moveto 0 len -2 div rmoveto 0 len rlineto
  468.       len -2 div dup rmoveto len 0 rlineto
  469.       stroke
  470.    end
  471. } bind def
  472.  
  473. /oneregister {     % xc yc len oneregister
  474.    0 setgray 0.25 setlinewidth
  475.    3 copy 3 copy cross 4 div 0 360 arc fill
  476.    1 setgray 2 div cross
  477. } bind def
  478.  
  479. /register {        % x0 y0 x1 y1 l s register
  480.     6 dict begin
  481.        gsave
  482.        /spc exch def /len exch def
  483.        /y1 exch def /x1 exch def /y0 exch def /x0 exch def
  484.        x1 x0 add 2 div y0 spc sub len 2 div sub len oneregister
  485.        x1 x0 add 2 div y1 spc len 2 div add add len oneregister
  486.        x0 spc sub len 2 div sub y1 y0 add 2 div len oneregister
  487.        x1 spc len 2 div add add y1 y0 add 2 div len oneregister
  488.        grestore
  489.     end
  490. } bind def
  491.  
  492. % *********************************************************************
  493.  
  494. /initpage {
  495.    gsave
  496.    0 pageysize translate
  497.    0.96 -0.96 scale
  498. } bind def
  499.  
  500. /endpage {
  501.    grestore
  502. } bind def
  503.  
  504. %%EndProlog
  505.  
  506.