home *** CD-ROM | disk | FTP | other *** search
/ Boot Disc 12 / boot-disc-1997-08.iso / ILSTRATR / ARCHIVE.Z / ProcSets.aip / TEXT / 1019 < prev    next >
Text File  |  1997-05-07  |  8KB  |  456 lines

  1. %%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
  2. userdict /Adobe_ColorImage_AI6 known not
  3. {
  4.     userdict /Adobe_ColorImage_AI6 24 dict put 
  5. } if
  6. userdict /Adobe_ColorImage_AI6 get begin
  7. /initialize
  8.     Adobe_ColorImage_AI6 begin
  9.     Adobe_ColorImage_AI6
  10.     {
  11.         dup type /arraytype eq
  12.         {
  13.             dup xcheck
  14.             {
  15.                 bind
  16.             } if
  17.         } if
  18.         pop pop
  19.     } forall
  20. } def
  21. /terminate { end } def
  22. currentdict /Adobe_ColorImage_AI6_Vars known not
  23. {
  24.     /Adobe_ColorImage_AI6_Vars 15 dict def
  25. } if
  26. Adobe_ColorImage_AI6_Vars begin
  27.     /channelcount 0 def
  28.     /sourcecount 0 def
  29.     /sourcearray 4 array def
  30.     /plateindex -1 def
  31.     /XIMask 0 def
  32.     /XIBinary 0 def
  33.     /XIChannelCount 0 def
  34.     /XIBitsPerPixel 0 def
  35.     /XIImageHeight 0 def
  36.     /XIImageWidth 0 def
  37.     /XIImageMatrix null def
  38.     /XIBuffer null def
  39.     /XIDataProc null def
  40.     /XIVersion 6 def
  41. end
  42. /WalkRGBString null def
  43. /WalkCMYKString null def
  44. /StuffRGBIntoGrayString null def
  45. /RGBToGrayImageProc null def
  46. /StuffCMYKIntoGrayString null def
  47. /CMYKToGrayImageProc null def
  48. /ColorImageCompositeEmulator null def
  49. /SeparateCMYKImageProc null def
  50. /FourEqual null def
  51. /TestPlateIndex null def
  52. currentdict /_colorimage known not
  53. {
  54.     /colorimage where
  55.     {
  56.         /colorimage get /_colorimage exch def
  57.     }
  58.     {
  59.         /_colorimage null def
  60.     } ifelse
  61. } if
  62. /_currenttransfer systemdict /currenttransfer get def
  63. /colorimage null def
  64. /XI null def
  65. /WalkRGBString
  66. {
  67.     0 3 index
  68.     dup length 1 sub 0 3 3 -1 roll
  69.     {
  70.         3 getinterval { } forall
  71.         5 index exec
  72.         3 index
  73.     } for
  74.     
  75.      5 { pop } repeat
  76. } def
  77. /WalkCMYKString
  78. {
  79.     0 3 index
  80.     dup length 1 sub 0 4 3 -1 roll
  81.     {
  82.         4 getinterval { } forall
  83.         
  84.         6 index exec
  85.         
  86.         3 index
  87.         
  88.     } for
  89.     
  90.     5 { pop } repeat
  91.     
  92. } def
  93. /StuffRGBIntoGrayString
  94. {
  95.     .11 mul exch
  96.     
  97.     .59 mul add exch
  98.     
  99.     .3 mul add
  100.     
  101.     cvi 3 copy put
  102.     
  103.     pop 1 add
  104. } def
  105. /RGBToGrayImageProc
  106. {    
  107.     Adobe_ColorImage_AI6_Vars begin 
  108.         sourcearray 0 get exec
  109.         dup length 3 idiv string
  110.         dup 3 1 roll 
  111.         
  112.         /StuffRGBIntoGrayString load exch
  113.         WalkRGBString
  114.  end
  115. } def
  116. /StuffCMYKIntoGrayString
  117. {
  118.     exch .11 mul add
  119.     
  120.     exch .59 mul add
  121.     
  122.     exch .3 mul add
  123.     
  124.     dup 255 gt { pop 255 } if
  125.     
  126.     255 exch sub cvi 3 copy put
  127.     
  128.     pop 1 add
  129. } def
  130. /CMYKToGrayImageProc
  131. {    
  132.     Adobe_ColorImage_AI6_Vars begin
  133.         sourcearray 0 get exec
  134.         dup length 4 idiv string
  135.         dup 3 1 roll 
  136.         
  137.         /StuffCMYKIntoGrayString load exch
  138.         WalkCMYKString
  139.  end
  140. } def
  141. /ColorImageCompositeEmulator
  142. {
  143.     pop true eq
  144.     {
  145.         Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
  146.     }
  147.     {
  148.         Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
  149.         {
  150.             Adobe_ColorImage_AI6_Vars begin
  151.                 sourcearray 0 3 -1 roll put
  152.             
  153.                 channelcount 3 eq 
  154.                 { 
  155.                     /RGBToGrayImageProc 
  156.                 }
  157.                 { 
  158.                     /CMYKToGrayImageProc
  159.                 } ifelse
  160.                 load
  161.          end
  162.         } if
  163.         image
  164.     } ifelse
  165. } def
  166. /SeparateCMYKImageProc
  167. {    
  168.     Adobe_ColorImage_AI6_Vars begin
  169.         sourcecount 0 ne
  170.         {
  171.             sourcearray plateindex get exec
  172.         }
  173.         {            
  174.             sourcearray 0 get exec
  175.             
  176.             dup length 4 idiv string
  177.             
  178.             0 2 index
  179.             
  180.             plateindex 4 2 index length 1 sub
  181.             {
  182.                 get 255 exch sub
  183.                 
  184.                 3 copy put pop 1 add
  185.                 
  186.                 2 index
  187.             } for
  188.             pop pop exch pop
  189.         } ifelse
  190.  end
  191. } def
  192.     
  193. /FourEqual
  194. {
  195.     4 index ne
  196.     {
  197.         pop pop pop false
  198.     }
  199.     {
  200.         4 index ne
  201.         {
  202.             pop pop false
  203.         }
  204.         {
  205.             4 index ne
  206.             {
  207.                 pop false
  208.             }
  209.             {
  210.                 4 index eq
  211.             } ifelse
  212.         } ifelse
  213.     } ifelse
  214. } def
  215. /TestPlateIndex
  216. {
  217.     Adobe_ColorImage_AI6_Vars begin
  218.         /plateindex -1 def
  219.         /setcmykcolor where
  220.         {
  221.             pop
  222.             gsave
  223.             1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
  224.             0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
  225.             0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
  226.             0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
  227.             grestore
  228.             1 0 0 0 FourEqual 
  229.             { 
  230.                 /plateindex 0 def
  231.             }
  232.             {
  233.                 0 1 0 0 FourEqual
  234.                 { 
  235.                     /plateindex 1 def
  236.                 }
  237.                 {
  238.                     0 0 1 0 FourEqual
  239.                     {
  240.                         /plateindex 2 def
  241.                     }
  242.                     {
  243.                         0 0 0 1 FourEqual
  244.                         { 
  245.                             /plateindex 3 def
  246.                         }
  247.                         {
  248.                             0 0 0 0 FourEqual
  249.                             {
  250.                                 /plateindex 5 def
  251.                             } if
  252.                         } ifelse
  253.                     } ifelse
  254.                 } ifelse
  255.             } ifelse
  256.             pop pop pop pop
  257.         } if
  258.         plateindex
  259.  end
  260. } def
  261. /colorimage
  262. {
  263.     Adobe_ColorImage_AI6_Vars begin
  264.         /channelcount 1 index def
  265.         /sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
  266.         4 sourcecount add index dup 
  267.         8 eq exch 1 eq or not
  268.  end
  269.     
  270.     {
  271.         /_colorimage load null ne
  272.         {
  273.             _colorimage
  274.         }
  275.         {
  276.             Adobe_ColorImage_AI6_Vars /sourcecount get
  277.             7 add { pop } repeat
  278.         } ifelse
  279.     }
  280.     {
  281.         dup 3 eq
  282.         TestPlateIndex
  283.         dup -1 eq exch 5 eq or or
  284.         {
  285.             /_colorimage load null eq
  286.             {
  287.                 ColorImageCompositeEmulator
  288.             }
  289.             {
  290.                 dup 1 eq
  291.                 {
  292.                     pop pop image
  293.                 }
  294.                 {
  295.                     Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
  296.                     {
  297.                         gsave
  298.                         
  299.                         0 _currenttransfer exec
  300.                         1 _currenttransfer exec
  301.                         eq
  302.                         { 0 _currenttransfer exec 0.5 lt }
  303.                         { 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
  304.                         
  305.                         { { pop 0 } } { { pop 1 } } ifelse
  306.                         systemdict /settransfer get exec
  307.                     } if
  308.                     
  309.                     _colorimage
  310.                     
  311.                     Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
  312.                     {
  313.                         grestore
  314.                     } if
  315.                 } ifelse
  316.             } ifelse
  317.         }
  318.         {
  319.             dup 1 eq
  320.             {
  321.                 pop pop
  322.                 image
  323.             }
  324.             {
  325.                 pop pop
  326.                 Adobe_ColorImage_AI6_Vars begin
  327.                     sourcecount -1 0
  328.                     {            
  329.                         exch sourcearray 3 1 roll put
  330.                     } for
  331.                     /SeparateCMYKImageProc load
  332.              end
  333.                 systemdict /image get exec
  334.             } ifelse
  335.         } ifelse
  336.     } ifelse
  337. } def
  338. /XG
  339. {
  340.     pop pop
  341. } def
  342. /XF
  343. {
  344.     13 {pop} repeat
  345. } def
  346. /Xh
  347. {
  348.     Adobe_ColorImage_AI6_Vars begin
  349.         gsave
  350.         /XIMask exch 0 ne def
  351.         /XIImageHeight exch def
  352.         /XIImageWidth exch def
  353.         /XIImageMatrix exch def
  354.         0 0 moveto
  355.         XIImageMatrix concat
  356.         XIImageWidth XIImageHeight scale
  357.         
  358.         XIMask
  359.         {
  360.             /_lp /null ddef
  361.             _fc
  362.             /_lp /imagemask ddef
  363.         }
  364.         if
  365.         /XIVersion 7 def
  366.  end
  367. } def
  368. /XH
  369. {
  370.     Adobe_ColorImage_AI6_Vars begin
  371.         /XIVersion 6 def
  372.         grestore
  373.  end
  374. } def
  375. /XI
  376. {
  377.     Adobe_ColorImage_AI6_Vars begin
  378.         gsave
  379.         /XIMask exch 0 ne def
  380.         /XIBinary exch 0 ne def
  381.         pop
  382.         pop
  383.         /XIChannelCount exch def
  384.         /XIBitsPerPixel exch def
  385.         /XIImageHeight exch def
  386.         /XIImageWidth exch def
  387.         pop pop pop pop
  388.         /XIImageMatrix exch def
  389.         XIBitsPerPixel 1 eq
  390.         {
  391.             XIImageWidth 8 div ceiling cvi
  392.         }
  393.         {
  394.             XIImageWidth XIChannelCount mul
  395.         } ifelse
  396.         /XIBuffer exch string def
  397.         XIBinary
  398.         {
  399.             /XIDataProc { currentfile XIBuffer readstring pop } def
  400.             XIVersion 6 le
  401.             {
  402.                 currentfile 128 string readline pop pop
  403.             }
  404.             if
  405.         }
  406.         {
  407.             /XIDataProc { currentfile XIBuffer readhexstring pop } def
  408.         } ifelse
  409.         
  410.         XIVersion 6 le
  411.         {
  412.             0 0 moveto
  413.             XIImageMatrix concat
  414.             XIImageWidth XIImageHeight scale
  415.             XIMask
  416.             {
  417.                 /_lp /null ddef
  418.                 _fc
  419.                 /_lp /imagemask ddef
  420.             } if
  421.         } if
  422.         
  423.         XIMask
  424.         {
  425.             XIImageWidth XIImageHeight
  426.             false
  427.             [ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
  428.             /XIDataProc load
  429.             imagemask
  430.         }
  431.         {
  432.             XIImageWidth XIImageHeight
  433.             XIBitsPerPixel
  434.             [ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
  435.             /XIDataProc load
  436.             
  437.             XIChannelCount 1 eq
  438.             {
  439.                 gsave
  440.                 0 setgray
  441.                 image
  442.                 grestore
  443.             }
  444.             {
  445.                 false
  446.                 XIChannelCount
  447.                 colorimage
  448.             } ifelse
  449.         } ifelse
  450.         grestore
  451.  end
  452. } def
  453. end
  454. %%EndProcSet
  455.