home *** CD-ROM | disk | FTP | other *** search
/ The Net Power 1997 April / NETDisc0497.iso / pc / demos / mmedia / xres / data.z / AI30PROL.PS < prev    next >
Encoding:
Text File  |  1995-05-04  |  35.6 KB  |  2,097 lines

  1. %%BeginProlog
  2. %%BeginResource: procset Adobe_packedarray 2.0 0
  3. %%Title: (Packed Array Operators)
  4. %%Version: 2.0 
  5. %%CreationDate: (8/2/90) ()
  6. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  7. userdict /Adobe_packedarray 5 dict dup begin put
  8. /initialize            % - initialize -
  9. {
  10. /packedarray where
  11.     {
  12.     pop
  13.     }
  14.     {
  15.     Adobe_packedarray begin
  16.     Adobe_packedarray
  17.         {
  18.         dup xcheck
  19.             {
  20.             bind
  21.             } if
  22.         userdict 3 1 roll put
  23.         } forall
  24.     end
  25.     } ifelse
  26. } def
  27. /terminate            % - terminate -
  28. {
  29. } def
  30. /packedarray        % arguments count packedarray array
  31. {
  32. array astore readonly
  33. } def
  34. /setpacking            % boolean setpacking -
  35. {
  36. pop
  37. } def
  38. /currentpacking        % - setpacking boolean
  39. {
  40. false
  41. } def
  42. currentdict readonly pop end
  43. %%EndResource
  44. Adobe_packedarray /initialize get exec
  45. %%BeginResource: procset Adobe_cmykcolor 1.1 0
  46. %%Title: (CMYK Color Operators)
  47. %%Version: 1.1 
  48. %%CreationDate: (1/23/89) ()
  49. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  50. currentpacking true setpacking
  51. userdict /Adobe_cmykcolor 4 dict dup begin put
  52. /initialize            % - initialize -
  53. {
  54. /setcmykcolor where
  55.     {
  56.     pop
  57.     }
  58.     {
  59.     userdict /Adobe_cmykcolor_vars 2 dict dup begin put
  60.     /_setrgbcolor
  61.         /setrgbcolor load def
  62.     /_currentrgbcolor
  63.         /currentrgbcolor load def
  64.     Adobe_cmykcolor begin
  65.     Adobe_cmykcolor
  66.         {
  67.         dup xcheck
  68.             {
  69.             bind
  70.             } if
  71.         pop pop
  72.         } forall
  73.     end
  74.     end
  75.     Adobe_cmykcolor begin
  76.     } ifelse
  77. } def
  78. /terminate            % - terminate -
  79. {
  80. currentdict Adobe_cmykcolor eq
  81.     {
  82.     end
  83.     } if
  84. } def
  85. /setcmykcolor        % cyan magenta yellow black setcmykcolor -
  86. {
  87. 1 sub 4 1 roll
  88. 3
  89.     {
  90.     3 index add neg dup 0 lt
  91.         {
  92.         pop 0
  93.         } if
  94.     3 1 roll
  95.     } repeat
  96. Adobe_cmykcolor_vars /_setrgbcolor get exec
  97. pop
  98. } def 
  99. /currentcmykcolor    % - currentcmykcolor cyan magenta yellow black
  100. {
  101. Adobe_cmykcolor_vars /_currentrgbcolor get exec
  102. 3
  103.     {
  104.     1 sub neg 3 1 roll
  105.     } repeat
  106. 0
  107. } def
  108. currentdict readonly pop end
  109. setpacking
  110. %%EndResource
  111. %%BeginResource: procset Adobe_cshow 1.1 0
  112. %%Title: (cshow Operator)
  113. %%Version: 1.1 
  114. %%CreationDate: (1/23/89) ()
  115. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  116. currentpacking true setpacking
  117. userdict /Adobe_cshow 3 dict dup begin put
  118. /initialize            % - initialize -
  119. {
  120. /cshow where
  121.     {
  122.     pop
  123.     }
  124.     {
  125.     userdict /Adobe_cshow_vars 1 dict dup begin put
  126.     /_cshow        % - _cshow proc
  127.         {} def
  128.     Adobe_cshow begin
  129.     Adobe_cshow
  130.         {
  131.         dup xcheck
  132.             {
  133.             bind
  134.             } if
  135.         userdict 3 1 roll put
  136.         } forall
  137.     end
  138.     end
  139.     } ifelse
  140. } def
  141. /terminate            % - terminate -
  142. {
  143. } def
  144. /cshow                % proc string cshow -
  145. {
  146. exch
  147. Adobe_cshow_vars
  148.     exch /_cshow
  149.     exch put
  150.     {
  151.     0 0 Adobe_cshow_vars /_cshow get exec
  152.     } forall
  153. } def
  154. currentdict readonly pop end
  155. setpacking
  156. %%EndResource
  157. %%BeginResource: procset Adobe_customcolor 1.0 0
  158. %%Title: (Custom Color Operators)
  159. %%Version: 1.0 
  160. %%CreationDate: (5/9/88) ()
  161. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  162. currentpacking true setpacking
  163. userdict /Adobe_customcolor 5 dict dup begin put
  164. /initialize            % - initialize -
  165. {
  166. /setcustomcolor where
  167.     {
  168.     pop
  169.     }
  170.     {
  171.     Adobe_customcolor begin
  172.     Adobe_customcolor
  173.         {
  174.         dup xcheck
  175.             {
  176.             bind
  177.             } if
  178.         pop pop
  179.         } forall
  180.     end
  181.     Adobe_customcolor begin
  182.     } ifelse
  183. } def
  184. /terminate            % - terminate -
  185. {
  186. currentdict Adobe_customcolor eq
  187.     {
  188.     end
  189.     } if
  190. } def
  191. /findcmykcustomcolor    % cyan magenta yellow black name findcmykcustomcolor object
  192. {
  193. 5 packedarray
  194. }  def
  195. /setcustomcolor        % object tint setcustomcolor -
  196. {
  197. exch
  198. aload pop pop
  199. 4
  200.     {
  201.     4 index mul 4 1 roll
  202.     } repeat
  203. 5 -1 roll pop
  204. setcmykcolor
  205. } def
  206. /setoverprint        % boolean setoverprint -
  207. {
  208. pop
  209. } def
  210. currentdict readonly pop end
  211. setpacking
  212. %%EndResource
  213. %%BeginResource: procset Adobe_typography_AI3 1.1 0
  214. %%Title: (Typography Operators)
  215. %%Version: 1.0 
  216. %%CreationDate:(5/31/90) ()
  217. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  218. currentpacking true setpacking
  219. userdict /Adobe_typography_AI3 47 dict dup begin put
  220. /initialize            % - initialize -
  221. {
  222. /TZ
  223.  where
  224.     {
  225.     pop
  226.     }
  227.     {
  228.     Adobe_typography_AI3 begin
  229.     Adobe_typography_AI3
  230.         {
  231.         dup xcheck
  232.             {
  233.             bind
  234.             } if
  235.         pop pop
  236.         } forall
  237.     end
  238.     Adobe_typography_AI3 begin
  239.     } ifelse
  240. } def
  241. /terminate            % - terminate -
  242. {
  243. currentdict Adobe_typography_AI3 eq
  244.     {
  245.     end
  246.     } if
  247. } def
  248. % [ number value stream [ array for encoding modification ] modifyEncoding ==> [ modified array ]
  249. /modifyEncoding
  250. {
  251.     /_tempEncode exch ddef
  252.     
  253.     % pointer for sequential encodings
  254.     /_pntr 0 ddef
  255.     
  256.     {
  257.         % get bottom object
  258.         counttomark -1 roll
  259.         % is it a mark ?
  260.         dup type dup /marktype eq         
  261.         {
  262.             % exit
  263.             pop pop exit
  264.         }
  265.         {
  266.             % ... object ... type ....
  267.             % insert if a nametype
  268.             /nametype eq
  269.             {
  270.                 % insert the name at _pntr and increment pointer
  271.                 _tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
  272.                 put
  273.             }
  274.             {
  275.                 % reset _pntr if it's a number
  276.                 /_pntr exch ddef                    
  277.             }
  278.             ifelse
  279.         }
  280.         ifelse
  281.     }
  282.     loop    
  283.     
  284.     % return the modified encoding
  285.     _tempEncode
  286. }
  287. def
  288. /TE    % Set std platform encoding     % (encoding pairs) TE -
  289. {
  290.     StandardEncoding 256 array copy modifyEncoding 
  291.     /_nativeEncoding exch def
  292. } def
  293. % re-define font
  294. % expected arguments
  295. % for 'normal fonts : 
  296. % [ /_Helvetica-Bold/Helvetica-Bold direction fontScript defaultEncoding TZ
  297. %
  298. % for cartographic, pictographic, and expert fonts :
  299. % [ ... number value stream ... /_Symbol/Symbol 
  300. %    direction fontScript defaultEncoding TZ
  301. % for blended fonts w/ default encoding :
  302. % [ /_AdobeSans_20ULig1XCond-Bold/AdobeSans 
  303. %    direction fontScript defaultEncoding [ w0 w1 ... wn ] TZ
  304. % for blended fonts w/ special encoding :
  305. % [ ... number value stream ... /_AdobeSans_20ULig1XCond/AdobeSans 
  306. %    direction fontScript defaultEncoding [ w0 w1 ... wn ] TZ
  307. /TZ        
  308. {
  309.     % set weight vector (if present)
  310.     dup type /arraytype eq {/_wv exch def} {/_wv 0 def} ifelse 
  311.     % platform dependent coding flag
  312.     /_useNativeEncoding exch def
  313.     % pop fontScript & direction
  314.     pop pop
  315.     
  316.     % create a new dictionary with length
  317.     % equal to original dictionary length + 2
  318.     % copy all the key/value pairs except FID
  319.     % call makeblended font with the weight values if _wv is an array
  320.     findfont _wv type /arraytype eq {_wv makeblendedfont} if dup length 2 add dict
  321.     
  322.     begin
  323.     
  324.         % copy all the values but the FID
  325.         % into the new dictionary
  326.         mark exch
  327.         {
  328.             1 index /FID ne { def } if cleartomark mark
  329.         }
  330.         forall
  331.         % discard last mark
  332.         pop
  333.         
  334.         % define FontName
  335.         /FontName exch def
  336.         
  337.         % if no re-encoding stream is present
  338.         % then if the base encoding vector of the font
  339.         % is the same as StandardEncoding
  340.         % and the use platform encoding flag is true
  341.         % then install AI platform encoding
  342.         % else leave the base encoding in effect
  343.         counttomark 0 eq
  344.         {
  345.             1 _useNativeEncoding eq
  346.             {
  347.                 /Encoding _nativeEncoding def
  348.             }
  349.             if
  350.             % clean up
  351.             cleartomark
  352.         }
  353.         {    
  354.             % custom encoding to be done
  355.             % start off with a copy of the font's standard encoding
  356.             /Encoding load 256 array copy 
  357.             modifyEncoding /Encoding exch def
  358.         }
  359.         ifelse        
  360.         FontName currentdict
  361.     end
  362.     
  363.     % register the new font
  364.     definefont pop
  365. }
  366. def
  367. % text painting operators
  368. /tr                    % string tr ax ay string 
  369. {
  370. _ax _ay 3 2 roll
  371. } def
  372. /trj                % string trj cx cy fillchar ax ay string 
  373. {
  374. _cx _cy _sp _ax _ay 6 5 roll
  375. } def
  376. /a0
  377. {
  378. /Tx    % text                            % textString Tx -
  379.     {
  380.     dup 
  381.     currentpoint 3 2 roll
  382.     tr _psf
  383.     newpath moveto
  384.     tr _ctm _pss
  385.     } ddef
  386. /Tj    % justified text                % textString Tj -
  387.     {
  388.     dup
  389.     currentpoint 3 2 roll
  390.     trj _pjsf
  391.     newpath moveto
  392.     trj _ctm _pjss
  393.     } ddef
  394.     
  395. } def
  396. /a1
  397. {
  398. /Tx    % text                            % textString Tx -
  399.     {
  400.     dup currentpoint 4 2 roll gsave
  401.     dup currentpoint 3 2 roll
  402.     tr _psf
  403.     newpath moveto
  404.     tr _ctm _pss
  405.     grestore 3 1 roll moveto tr sp
  406.     } ddef
  407. /Tj    % justified text                % textString Tj -
  408.     {
  409.     dup currentpoint 4 2 roll gsave
  410.     dup currentpoint 3 2 roll
  411.     trj _pjsf
  412.     newpath moveto
  413.     trj _ctm _pjss
  414.     grestore 3 1 roll moveto tr sp
  415.     } ddef
  416.     
  417. } def
  418. /e0
  419. {
  420. /Tx    % text                            % textString Tx -
  421.     {
  422.     tr _psf
  423.     } ddef
  424. /Tj    % justified text                % textString Tj -
  425.     {
  426.     trj _pjsf
  427.     } ddef
  428. } def
  429. /e1
  430. {
  431. /Tx    % text                            % textString Tx -
  432.     {
  433.     dup currentpoint 4 2 roll gsave 
  434.     tr _psf  
  435.     grestore 3 1 roll moveto tr sp 
  436.     } ddef
  437. /Tj    % justified text                % textString Tj -
  438.     {
  439.     dup currentpoint 4 2 roll gsave 
  440.     trj _pjsf
  441.     grestore 3 1 roll moveto tr sp 
  442.     } ddef
  443. } def
  444. /i0
  445. {
  446. /Tx    % text                            % textString Tx -
  447.     {
  448.     tr sp
  449.     } ddef
  450. /Tj    % justified text                % textString Tj -
  451.     {
  452.     trj jsp
  453.     } ddef
  454. } def
  455. /i1
  456. {
  457. W N
  458. } def
  459. /o0
  460. {
  461. /Tx    % text                            % textString Tx -
  462.     {
  463.     tr sw rmoveto
  464.     } ddef
  465. /Tj    % justified text                % textString Tj -
  466.     {
  467.     trj swj rmoveto
  468.     } ddef
  469. } def
  470. /r0
  471. {
  472. /Tx    % text                            % textString Tx -
  473.     {
  474.     tr _ctm _pss
  475.     } ddef
  476. /Tj    % justified text                % textString Tj -
  477.     {
  478.     trj _ctm _pjss
  479.     } ddef
  480. } def
  481. /r1
  482. {
  483. /Tx    % text                            % textString Tx -
  484.     {
  485.     dup currentpoint 4 2 roll currentpoint gsave newpath moveto
  486.     tr _ctm _pss 
  487.     grestore 3 1 roll moveto tr sp 
  488.     } ddef
  489. /Tj    % justified text                % textString Tj -
  490.     {
  491.     dup currentpoint 4 2 roll currentpoint gsave newpath moveto
  492.     trj _ctm _pjss
  493.     grestore 3 1 roll moveto tr sp 
  494.     } ddef
  495. } def
  496. % font operators
  497. % Binding
  498. /To    % begin text                     % bindType To -
  499. {
  500.     pop _ctm currentmatrix pop
  501. } def
  502. /TO    % end text                    % TO -
  503. {
  504.     Te _ctm setmatrix newpath
  505. } def
  506. % Text paths
  507. /Tp    % begin text path                % a b c d tx ty startPt Tp -
  508. {
  509.     pop _tm astore pop _ctm setmatrix 
  510.     _tDict begin /W {} def /h {} def
  511. } def
  512. /TP    % end text path                    % TP -
  513. {
  514.     end
  515.     iTm 0 0 moveto
  516. } def
  517. % Render mode & matrix operators
  518. /Tr    % begin render                    % render Tr - 
  519. {
  520.     _render 3 le {currentpoint newpath moveto} if
  521.     dup 8 eq {pop 0} {dup 9 eq {pop 1} if} ifelse
  522.     dup /_render exch ddef
  523.     _renderStart exch get load exec
  524. } def
  525. /iTm % internal set text matrix        % - iTm -    (uses _tm as implicit argument)
  526. {
  527. _ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
  528. } def
  529. /Tm % set text matrix                % a b c d tx ty Tm -
  530. {
  531. _tm astore pop iTm 0 0 moveto
  532. } def
  533. /Td % translate text matrix         % tx ty Td -
  534. {
  535. _mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto
  536. } def
  537. /Te    % end render                    % - Te -
  538. {
  539.     _render -1 eq {} {_renderEnd _render get dup null ne {load exec} {pop} ifelse} ifelse
  540.     /_render -1 ddef
  541. } def
  542. % Attributes
  543. /Ta    % set alignment                    % alignment Ta -
  544. {
  545. pop
  546. } def
  547. /Tf    % set font name and size        % fontname size Tf -
  548. {
  549. dup 1000 div /_fScl exch ddef
  550. exch findfont exch scalefont setfont
  551. } def
  552. /Tl    % set leading                    % leading paragraphLeading Tl -
  553. {
  554. pop
  555. 0 exch _leading astore pop
  556. } def
  557. /Tt    % set user tracking                % userTracking Tt -
  558. {
  559. pop
  560. } def
  561. /TW % set word spacing                % minSpace optSpace maxSpace TW -
  562. {
  563. 3 npop
  564. } def
  565. /Tw    % set computed word spacing        % wordSpace Tw
  566. {
  567. /_cx exch ddef
  568. } def
  569. /TC % set character spacing            % minSpace optSpace maxSpace TC -
  570. {
  571. 3 npop
  572. } def
  573. /Tc    % set computed char spacing     % charSpace Tc -
  574. {
  575. /_ax exch ddef
  576. } def
  577. /Ts % set super/subscripting (rise)    % rise Ts -
  578. {
  579. /_rise exch ddef
  580. currentpoint
  581. iTm
  582. moveto
  583. } def
  584. /Ti    % set indentation                % firstStartIndent otherStartIndent stopIndent Ti -
  585. {
  586. 3 npop
  587. } def
  588. /Tz % set horizontal scaling        % scalePercent Tz -
  589. {
  590. 100 div /_hs exch ddef
  591. iTm
  592. } def
  593. /TA % set pairwise kerning            % autoKern TA -
  594.                                     %    autoKern = 0 -> no pair kerning
  595.                                     %             = 1 -> automatic pair kerning
  596. {
  597. pop
  598. } def
  599. /Tq % set hanging quotes            % hangingQuotes Tq -
  600.                                     %    hangingQuotes     = 0 -> no hanging quotes
  601.                                     %                     = 1 -> hanging quotes
  602. {
  603. pop
  604. } def
  605. % Text Bodies
  606. /TX {pop} def
  607. %/Tx    % non-justified text            % textString Tx -
  608. %/Tj    % justified text                % textString Tj -
  609. /Tk    % kern                            % autoKern kernValue Tk -
  610.                                     %      autoKern = 0 -> manual kern, = 1 -> auto kern
  611.                                     %    kernValue = kern value in em/1000 space
  612. {
  613. exch pop _fScl mul neg 0 rmoveto
  614. } def
  615. /TK    % non-printing kern                % autoKern kernValue TK -
  616. {
  617. 2 npop
  618. } def
  619. /T* % carriage return & line feed    % - T* -
  620. {
  621. _leading aload pop neg Td
  622. } def
  623. /T*- % carriage return & negative line feed    % - T*- -
  624. {
  625. _leading aload pop Td
  626. } def
  627. /T-    % print a discretionary hyphen    % - T- -
  628. {
  629. _hyphen Tx
  630. } def
  631. /T+    % discretionary hyphen hyphen    % - T+ -
  632. {} def
  633. /TR    % reset pattern matrix             % a b c d tx ty TR -
  634. {
  635. _ctm currentmatrix pop     
  636. _tm astore pop 
  637. iTm 0 0 moveto 
  638. } def
  639. /TS    % special chars                    % textString justified TS -
  640. {
  641. 0 eq {Tx} {Tj} ifelse
  642. } def
  643. currentdict readonly pop end
  644. setpacking
  645. %%EndResource
  646. %%BeginResource: procset Adobe_pattern_AI3 1.0 0
  647. %%Title: (Adobe Illustrator (R) Version 3.0 Pattern Operators)
  648. %%Version: 1.0 
  649. %%CreationDate: (7/21/89) ()
  650. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  651. currentpacking true setpacking
  652. userdict /Adobe_pattern_AI3 16 dict dup begin put
  653. /initialize            % - initialize -
  654. {
  655. /definepattern where
  656.     {
  657.     pop
  658.     }
  659.     {
  660.     Adobe_pattern_AI3 begin
  661.     Adobe_pattern_AI3
  662.         {
  663.         dup xcheck
  664.             {
  665.             bind
  666.             } if
  667.         pop pop
  668.         } forall
  669.     mark
  670.     cachestatus 7 1 roll pop pop pop pop exch pop exch
  671.         {
  672.         {
  673.         10000 add
  674.         dup 2 index gt
  675.             {
  676.             break
  677.             } if
  678.         dup setcachelimit
  679.         } loop
  680.         } stopped
  681.     cleartomark
  682.     } ifelse
  683. } def
  684. /terminate            % - terminate -
  685. {
  686. currentdict Adobe_pattern_AI3 eq
  687.     {
  688.     end
  689.     } if
  690. } def
  691. errordict
  692. /nocurrentpoint        % operator nocurrentpoint -
  693. {
  694. pop
  695. stop
  696. } put
  697. errordict
  698. /invalidaccess        % operator invalidaccess -
  699. {
  700. pop
  701. stop
  702. } put
  703. /patternencoding
  704. 256 array def
  705. 0 1 255
  706. {
  707. patternencoding exch ( ) 2 copy exch 0 exch put cvn put
  708. } for
  709. /definepattern        % width height matrix procarray key cache uniform definepattern font
  710. {
  711. 17 dict begin
  712. /uniform exch def
  713. /cache exch def
  714. /key exch def
  715. /procarray exch def
  716. /mtx exch matrix invertmatrix def
  717. /height exch def
  718. /width exch def
  719. /ctm matrix currentmatrix def
  720. /ptm matrix def
  721. /str 32 string def
  722. /slice 9 dict def
  723. slice /s 1 put
  724. slice /q 256 procarray length div sqrt floor cvi put
  725. slice /b 0 put
  726. /FontBBox [0 0 0 0] def
  727. /FontMatrix mtx matrix copy def
  728. /Encoding patternencoding def
  729. /FontType 3 def
  730. /BuildChar        % dict char BuildChar -
  731.     {
  732.     exch
  733.     begin
  734.     slice begin
  735.     dup q dup mul mod s idiv /i exch def
  736.     dup q dup mul mod s mod /j exch def
  737.     q dup mul idiv procarray exch get
  738.     /xl j width s div mul def
  739.     /xg j 1 add width s div mul def
  740.     /yl i height s div mul def
  741.     /yg i 1 add height s div mul def
  742.     uniform
  743.         {
  744.         1 1
  745.         }
  746.         {
  747.         width 0 dtransform
  748.         dup mul exch dup mul add sqrt dup 1 add exch div
  749.         0 height dtransform
  750.         dup mul exch dup mul add sqrt dup 1 add exch div
  751.         } ifelse
  752.     width 0 cache
  753.         {
  754.         xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
  755.         setcachedevice
  756.         }
  757.         {
  758.         setcharwidth
  759.         } ifelse
  760.     gsave
  761.     scale
  762.     newpath
  763.     xl yl moveto
  764.     xg yl lineto
  765.     xg yg lineto
  766.     xl yg lineto
  767.     closepath
  768.     clip
  769.     newpath
  770.     end
  771.     end
  772.     exec
  773.     grestore
  774.     } def
  775. key currentdict definefont
  776. end
  777. } def
  778. /patterncachesize    % - patterncachesize bits
  779. {
  780. gsave
  781. newpath
  782. 0 0 moveto
  783. width 0 lineto
  784. width height lineto
  785. 0 height lineto
  786. closepath
  787. patternmatrix setmatrix
  788. pathbbox
  789. exch ceiling 4 -1 roll floor sub 3 1 roll
  790. ceiling exch floor sub
  791. mul 1 add
  792. grestore
  793. } def
  794. /patterncachelimit    % - patterncachelimit bits
  795. {
  796. cachestatus 7 1 roll 6 npop 8 mul
  797. } def
  798. /patternpath        % index font matrix patternpath -
  799. {
  800. exch dup begin setfont
  801. ctm setmatrix
  802. concat
  803. slice exch /b exch slice /q get dup mul mul put
  804. FontMatrix concat
  805. uniform
  806.     {
  807.     width 0 dtransform round width div exch round width div exch
  808.     0 height dtransform round height div exch height div exch
  809.     0 0 transform round exch round exch
  810.     ptm astore setmatrix
  811.     }
  812.     {
  813.     ptm currentmatrix pop
  814.     } ifelse
  815. {currentpoint} stopped not
  816.     {
  817.     2 npop
  818.     pathbbox
  819.     true
  820.     4 index 3 index eq
  821.     4 index 3 index eq
  822.     and
  823.         {
  824.         pop false
  825.             {
  826.             {2 npop}
  827.             {3 npop true}
  828.             {7 npop true}
  829.             {pop true}
  830.             pathforall
  831.             } stopped
  832.             {
  833.             5 npop true
  834.             } if
  835.         } if
  836.         {
  837.         height div ceiling height mul 4 1 roll
  838.         width div ceiling width mul 4 1 roll
  839.         height div floor height mul 4 1 roll
  840.         width div floor width mul 4 1 roll
  841.         2 index sub height div ceiling cvi exch
  842.         3 index sub width div ceiling cvi exch
  843.         4 2 roll moveto
  844.         FontMatrix mtx invertmatrix
  845.         dup dup 4 get exch 5 get rmoveto
  846.         ptm ptm concatmatrix pop
  847.         slice /s
  848.         patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
  849.         dup slice /q get gt
  850.             {
  851.             pop slice /q get
  852.             } if
  853.         put
  854.         0 1 slice /s get dup mul 1 sub
  855.             {
  856.             slice /b get add
  857.             gsave
  858.             0 1 str length 1 sub
  859.                 {
  860.                 str exch 2 index put
  861.                 } for
  862.             pop
  863.             dup
  864.                 {
  865.                 gsave
  866.                 ptm setmatrix
  867.                 1 index str length idiv {str show} repeat
  868.                 1 index str length mod str exch 0 exch getinterval show
  869.                 grestore
  870.                 0 height rmoveto
  871.                 } repeat
  872.             grestore
  873.             } for
  874.         2 npop
  875.         }
  876.         {
  877.         4 npop
  878.         } ifelse
  879.     } if
  880. end
  881. } def
  882. /patternclip        % - patternclip -
  883. {
  884. clip
  885. } def
  886. /patternstrokepath    % - patternstrokepath -
  887. {
  888. strokepath
  889. } def
  890. /patternmatrix        % - patternmatrix matrix
  891. matrix def
  892. /patternfill        % index font patternfill -
  893.                     % index font matrix patternfill -
  894. {
  895. dup type /dicttype eq
  896.     {
  897.     Adobe_pattern_AI3 /patternmatrix get
  898.     } if
  899. gsave
  900. patternclip
  901. Adobe_pattern_AI3 /patternpath get exec
  902. grestore
  903. newpath
  904. } def
  905. /patternstroke        % index font patternstroke -
  906.                     % index font matrix patternstroke -
  907. {
  908. dup type /dicttype eq
  909.     {
  910.     Adobe_pattern_AI3 /patternmatrix get
  911.     } if
  912. gsave
  913. patternstrokepath
  914. true
  915.     {
  916.         {
  917.             {
  918.             newpath 
  919.             moveto
  920.             }
  921.             {
  922.             lineto
  923.             }
  924.             {
  925.             curveto
  926.             }
  927.             {
  928.             closepath
  929.             3 copy
  930.             Adobe_pattern_AI3 /patternfill get exec
  931.             } pathforall
  932.         3 npop
  933.         } stopped
  934.             {
  935.             5 npop
  936.             patternclip
  937.             Adobe_pattern_AI3 /patternfill get exec
  938.             } if
  939.     }
  940.     {
  941.     patternclip
  942.     Adobe_pattern_AI3 /patternfill get exec
  943.     } ifelse
  944. grestore
  945. newpath
  946. } def
  947. /patternashow        % index font ax ay string patternashow -
  948.                     % index font matrix ax ay string patternashow -
  949. {
  950. 3 index type /dicttype eq
  951.     {
  952.     Adobe_pattern_AI3 /patternmatrix get 4 1 roll
  953.     } if
  954.     {
  955.     2 npop (0) exch
  956.     2 copy 0 exch put pop
  957.     gsave
  958.     false charpath currentpoint
  959.     6 index 6 index 6 index
  960.     Adobe_pattern_AI3 /patternfill get exec
  961.     grestore
  962.     newpath moveto
  963.     2 copy rmoveto
  964.     } exch cshow
  965. 5 npop
  966. } def
  967. /patternawidthshow        % index font cx cy char ax ay string patternawidthshow -
  968.                         % index font matrix cx cy char ax ay string patternawidthshow -
  969. {
  970. 6 index type /dicttype eq
  971.     {
  972.     Adobe_pattern_AI3 /patternmatrix get 7 1 roll
  973.     } if
  974.     {
  975.     2 npop (0) exch
  976.     2 copy 0 exch put 
  977.     gsave
  978.     _sp eq {5 index 5 index rmoveto} if
  979.     false charpath currentpoint
  980.     9 index 9 index 9 index
  981.     Adobe_pattern_AI3 /patternfill get exec
  982.     grestore
  983.     newpath moveto
  984.     2 copy rmoveto
  985.     } exch cshow
  986. 8 npop
  987. } def
  988. /patternashowstroke    % index font ax ay string matrix patternashowstroke
  989.                     % index font matrix ax ay string matrix patternashowstroke
  990. {
  991. 4 index type /dicttype eq
  992.     {
  993.     patternmatrix /patternmatrix get 5 1 roll
  994.     } if
  995. 4 1 roll
  996.     {
  997.     2 npop (0) exch
  998.     2 copy 0 exch put pop
  999.     gsave
  1000.     false charpath
  1001.     currentpoint
  1002.     4 index setmatrix
  1003.     7 index 7 index 7 index
  1004.     Adobe_pattern_AI3 /patternstroke get exec
  1005.     grestore
  1006.     newpath moveto
  1007.     2 copy rmoveto
  1008.     } exch cshow
  1009. 6 npop
  1010. } def
  1011. /patternawidthshowstroke    % index font cx cy char ax ay string matrix patternashowstroke
  1012.                     % index font matrix cx cy char ax ay string matrix patternashowstroke
  1013. {
  1014. 7 index type /dicttype eq
  1015.     {
  1016.     patternmatrix /patternmatrix get 8 1 roll
  1017.     } if
  1018. 7 1 roll
  1019.     {
  1020.     2 npop (0) exch
  1021.     2 copy 0 exch put
  1022.     gsave
  1023.     _sp eq {5 index 5 index rmoveto} if
  1024.     false charpath currentpoint
  1025.     7 index setmatrix
  1026.     10 index 10 index 10 index
  1027.     Adobe_pattern_AI3 /patternstroke get exec
  1028.     grestore
  1029.     newpath moveto
  1030.     2 copy rmoveto
  1031.     } exch cshow
  1032. 9 npop
  1033. } def
  1034. currentdict readonly pop end
  1035. setpacking
  1036. %%EndResource
  1037. %%BeginResource: procset Adobe_Illustrator_AI3 1.0 2
  1038. %%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog)
  1039. %%Version: 1.0 
  1040. %%CreationDate: (7/22/89) ()
  1041. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  1042. currentpacking true setpacking
  1043. userdict /Adobe_Illustrator_AI3 71 dict dup begin put
  1044. % initialization
  1045. /initialize                % - initialize -
  1046. {
  1047. % 56 vars, but leave slack of 10 entries for custom Postscript fragments
  1048. userdict /Adobe_Illustrator_AI3_vars 66 dict dup begin put
  1049. % paint operands
  1050. /_lp /none def
  1051. /_pf {} def        % paint fill
  1052. /_ps {} def        % paint stroke
  1053. /_psf {} def    % paint string fill
  1054. /_pss {} def    % paint string stroke
  1055. /_pjsf {} def    % paint justified string fill
  1056. /_pjss {} def    % paint justified string stroke
  1057. /_pola 0 def
  1058. /_doClip 0 def
  1059. % paint operators
  1060. /cf    currentflat def    % - cf flatness
  1061. % typography operands
  1062. /_tm matrix def
  1063. /_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def 
  1064. /_renderEnd [null null null null /i1 /i1 /i1 /i1] def
  1065. /_render -1 def
  1066. /_rise 0 def
  1067. /_ax 0 def            % x character spacing    (_ax, _ay, _cx, _cy follows awidthshow naming convention)
  1068. /_ay 0 def            % y character spacing
  1069. /_cx 0 def            % x word spacing
  1070. /_cy 0 def            % y word spacing
  1071. /_leading [0 0] def
  1072. /_ctm matrix def
  1073. /_mtx matrix def
  1074. /_sp 16#020 def
  1075. /_hyphen (-) def
  1076. /_fScl 0 def
  1077. /_cnt 0 def
  1078. /_hs 1 def
  1079. /_nativeEncoding 0 def
  1080. /_useNativeEncoding 0 def
  1081. /_tempEncode 0 def
  1082. /_pntr 0 def
  1083. /_tDict 2 dict def
  1084. % typography operators
  1085. /Tx {} def
  1086. /Tj {} def
  1087. % compound path operators
  1088. /CRender {} def
  1089. % printing
  1090. /_AI3_savepage {} def
  1091. % color operands
  1092. /_gf null def
  1093. /_cf 4 array def
  1094. /_if null def
  1095. /_of false def
  1096. /_fc {} def
  1097. /_gs null def
  1098. /_cs 4 array def
  1099. /_is null def
  1100. /_os false def
  1101. /_sc {} def
  1102. % pattern operands
  1103. /_pd 1 dict def
  1104. /_ed 15 dict def
  1105. /_pm matrix def
  1106. /_fm null def
  1107. /_fd null def
  1108. /_fdd null def
  1109. /_sm null def
  1110. /_sd null def
  1111. /_sdd null def
  1112. /_i null def
  1113. Adobe_Illustrator_AI3 begin
  1114. Adobe_Illustrator_AI3 dup /nc get begin
  1115.     {
  1116.     dup xcheck
  1117.         {
  1118.         bind
  1119.         } if
  1120.     pop pop
  1121.     } forall
  1122. end
  1123. end
  1124. end
  1125. Adobe_Illustrator_AI3 begin
  1126. Adobe_Illustrator_AI3_vars begin
  1127. newpath
  1128. } def
  1129. /terminate                % - terminate -
  1130. {
  1131. end
  1132. end
  1133. } def
  1134. % definition operators
  1135. /_                    % - _ null
  1136. null def
  1137. /ddef                % key value ddef -
  1138. {
  1139. Adobe_Illustrator_AI3_vars 3 1 roll put
  1140. } def
  1141. /xput                % key value literal xput -
  1142. {
  1143. dup load dup length exch maxlength eq
  1144.     {
  1145.     dup dup load dup
  1146.     length 2 mul dict copy def
  1147.     } if
  1148. load begin def end
  1149. } def
  1150. /npop                % integer npop -
  1151. {
  1152.     {
  1153.     pop
  1154.     } repeat
  1155. } def
  1156. % marking operators
  1157. /sw                    % ax ay string sw x y
  1158. {
  1159. dup length exch stringwidth
  1160. exch 5 -1 roll 3 index 1 sub mul add
  1161. 4 1 roll 3 1 roll 1 sub mul add
  1162. } def
  1163. /swj                % cx cy fillchar ax ay string swj x y
  1164. {
  1165. dup 4 1 roll
  1166. dup length exch stringwidth 
  1167. exch 5 -1 roll 3 index 1 sub mul add
  1168. 4 1 roll 3 1 roll 1 sub mul add 
  1169. 6 2 roll /_cnt 0 ddef
  1170. {1 index eq {/_cnt _cnt 1 add ddef} if} forall pop
  1171. exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
  1172. } def
  1173. /ss                    % ax ay string matrix ss -
  1174. {
  1175. 4 1 roll
  1176.     {                % matrix ax ay char 0 0 {proc} -
  1177.     2 npop 
  1178.     (0) exch 2 copy 0 exch put pop
  1179.     gsave
  1180.     false charpath currentpoint
  1181.     4 index setmatrix
  1182.     stroke
  1183.     grestore
  1184.     moveto
  1185.     2 copy rmoveto
  1186.     } exch cshow
  1187. 3 npop
  1188. } def
  1189. /jss                % cx cy fillchar ax ay string matrix jss -
  1190. {
  1191. 4 1 roll
  1192.     {                % cx cy fillchar matrix ax ay char 0 0 {proc} -   
  1193.     2 npop 
  1194.     (0) exch 2 copy 0 exch put 
  1195.     gsave
  1196.     _sp eq 
  1197.         {
  1198.         exch 6 index 6 index 6 index 5 -1 roll widthshow  
  1199.         currentpoint
  1200.         }
  1201.         {
  1202.         false charpath currentpoint
  1203.         4 index setmatrix stroke
  1204.         }ifelse
  1205.     grestore
  1206.     moveto
  1207.     2 copy rmoveto
  1208.     } exch cshow
  1209. 6 npop
  1210. } def
  1211. % path operators
  1212. /sp                    % ax ay string sp -
  1213. {
  1214.     {
  1215.     2 npop (0) exch
  1216.     2 copy 0 exch put pop
  1217.     false charpath
  1218.     2 copy rmoveto
  1219.     } exch cshow
  1220. 2 npop
  1221. } def
  1222. /jsp                    % cx cy fillchar ax ay string jsp -
  1223. {
  1224.     {                    % cx cy fillchar ax ay char 0 0 {proc} -
  1225.     2 npop 
  1226.     (0) exch 2 copy 0 exch put 
  1227.     _sp eq 
  1228.         {
  1229.         exch 5 index 5 index 5 index 5 -1 roll widthshow  
  1230.         }
  1231.         {
  1232.         false charpath
  1233.         }ifelse
  1234.     2 copy rmoveto
  1235.     } exch cshow
  1236. 5 npop
  1237. } def
  1238. % path construction operators
  1239. /pl                    % x y pl x y
  1240. {
  1241. transform
  1242. 0.25 sub round 0.25 add exch
  1243. 0.25 sub round 0.25 add exch
  1244. itransform
  1245. } def
  1246. /setstrokeadjust where
  1247.     {
  1248.     pop true setstrokeadjust
  1249.     /c                % x1 y1 x2 y2 x3 y3 c -
  1250.     {
  1251.     curveto
  1252.     } def
  1253.     /C
  1254.     /c load def
  1255.     /v                % x2 y2 x3 y3 v -
  1256.     {
  1257.     currentpoint 6 2 roll curveto
  1258.     } def
  1259.     /V
  1260.     /v load def
  1261.     /y                % x1 y1 x2 y2 y -
  1262.     {
  1263.     2 copy curveto
  1264.     } def
  1265.     /Y
  1266.     /y load def
  1267.     /l                % x y l -
  1268.     {
  1269.     lineto
  1270.     } def
  1271.     /L
  1272.     /l load def
  1273.     /m                % x y m -
  1274.     {
  1275.     moveto
  1276.     } def
  1277.     }
  1278.     {
  1279.     /c
  1280.     {
  1281.     pl curveto
  1282.     } def
  1283.     /C
  1284.     /c load def
  1285.     /v
  1286.     {
  1287.     currentpoint 6 2 roll pl curveto
  1288.     } def
  1289.     /V
  1290.     /v load def
  1291.     /y
  1292.     {
  1293.     pl 2 copy curveto
  1294.     } def
  1295.     /Y
  1296.     /y load def
  1297.     /l
  1298.     {
  1299.     pl lineto
  1300.     } def
  1301.     /L
  1302.     /l load def
  1303.     /m
  1304.     {
  1305.     pl moveto
  1306.     } def
  1307.     } ifelse
  1308. % graphic state operators
  1309. /d                    % array phase d -
  1310. {
  1311. setdash
  1312. } def
  1313. /cf    {} def            % - cf flatness
  1314. /i                    % flatness i -
  1315. {
  1316. dup 0 eq
  1317.     {
  1318.     pop cf
  1319.     } if
  1320. setflat
  1321. } def
  1322. /j                    % linejoin j -
  1323. {
  1324. setlinejoin
  1325. } def
  1326. /J                    % linecap J -
  1327. {
  1328. setlinecap
  1329. } def
  1330. /M                    % miterlimit M -
  1331. {
  1332. setmiterlimit
  1333. } def
  1334. /w                    % linewidth w -
  1335. {
  1336. setlinewidth
  1337. } def
  1338. % path painting operators
  1339. /H                    % - H -
  1340. {} def
  1341. /h                    % - h -
  1342. {
  1343. closepath
  1344. } def
  1345. /N                    % - N -
  1346. {
  1347. _pola 0 eq 
  1348.     {
  1349.     _doClip 1 eq {clip /_doClip 0 ddef} if 
  1350.     newpath
  1351.     } 
  1352.     {
  1353.     /CRender {N} ddef
  1354.     }ifelse
  1355. } def
  1356. /n                    % - n -
  1357. {N} def
  1358. /F                    % - F -
  1359. {
  1360. _pola 0 eq 
  1361.     {
  1362.     _doClip 1 eq 
  1363.         {
  1364.         gsave _pf grestore clip newpath /_lp /none ddef _fc 
  1365.         /_doClip 0 ddef
  1366.         }
  1367.         {
  1368.         _pf
  1369.         }ifelse
  1370.     } 
  1371.     {
  1372.     /CRender {F} ddef
  1373.     }ifelse
  1374. } def
  1375. /f                    % - f -
  1376. {
  1377. closepath
  1378. F
  1379. } def
  1380. /S                    % - S -
  1381. {
  1382. _pola 0 eq 
  1383.     {
  1384.     _doClip 1 eq 
  1385.         {
  1386.         gsave _ps grestore clip newpath /_lp /none ddef _sc 
  1387.         /_doClip 0 ddef
  1388.         }
  1389.         {
  1390.         _ps
  1391.         }ifelse
  1392.     } 
  1393.     {
  1394.     /CRender {S} ddef
  1395.     }ifelse
  1396. } def
  1397. /s                    % - s -
  1398. {
  1399. closepath
  1400. S
  1401. } def
  1402. /B                    % - B -
  1403. {
  1404. _pola 0 eq 
  1405.     {
  1406.     _doClip 1 eq     % F clears _doClip
  1407.     gsave F grestore 
  1408.         {
  1409.         gsave S grestore clip newpath /_lp /none ddef _sc
  1410.         /_doClip 0 ddef
  1411.         } 
  1412.         {
  1413.         S
  1414.         }ifelse
  1415.     }
  1416.     {
  1417.     /CRender {B} ddef
  1418.     }ifelse
  1419. } def
  1420. /b                    % - b -
  1421. {
  1422. closepath
  1423. B
  1424. } def
  1425. /W                    % - W -
  1426. {
  1427. /_doClip 1 ddef
  1428. } def
  1429. /*                    % - [string] * -
  1430. {
  1431. count 0 ne 
  1432.     {
  1433.     dup type (stringtype) eq {pop} if
  1434.     } if 
  1435. _pola 0 eq {newpath} if
  1436. } def
  1437. % group operators
  1438. /u                    % - u -
  1439. {} def
  1440. /U                    % - U -
  1441. {} def
  1442. /q                    % - q -
  1443. {
  1444. _pola 0 eq {gsave} if
  1445. } def
  1446. /Q                    % - Q -
  1447. {
  1448. _pola 0 eq {grestore} if
  1449. } def
  1450. /*u                    % - *u -
  1451. {
  1452. _pola 1 add /_pola exch ddef
  1453. } def
  1454. /*U                    % - *U -
  1455. {
  1456. _pola 1 sub /_pola exch ddef 
  1457. _pola 0 eq {CRender} if
  1458. } def
  1459. /D                    % polarized D -
  1460. {pop} def
  1461. /*w                    % - *w -
  1462. {} def
  1463. /*W                    % - *W -
  1464. {} def
  1465. % place operators
  1466. /`                    % matrix llx lly urx ury string ` -
  1467. {
  1468. /_i save ddef
  1469. 6 1 roll 4 npop
  1470. concat pop
  1471. userdict begin
  1472. /showpage {} def
  1473. 0 setgray
  1474. 0 setlinecap
  1475. 1 setlinewidth
  1476. 0 setlinejoin
  1477. 10 setmiterlimit
  1478. [] 0 setdash
  1479. newpath
  1480. 0 setgray
  1481. false setoverprint
  1482. } def
  1483. /~                    % - ~ -
  1484. {
  1485. end
  1486. _i restore
  1487. } def
  1488. % pattern operators
  1489. /@                    % - @ -
  1490. {} def
  1491. /&                    % - & -
  1492. {} def
  1493. % color operators
  1494. /O                    % flag O -
  1495. {
  1496. 0 ne
  1497. /_of exch ddef
  1498. /_lp /none ddef
  1499. } def
  1500. /R                    % flag R -
  1501. {
  1502. 0 ne
  1503. /_os exch ddef
  1504. /_lp /none ddef
  1505. } def
  1506. /g                    % gray g -
  1507. {
  1508. /_gf exch ddef
  1509. /_fc
  1510. {
  1511. _lp /fill ne
  1512.     {
  1513.     _of setoverprint
  1514.     _gf setgray
  1515.     /_lp /fill ddef
  1516.     } if
  1517. } ddef
  1518. /_pf
  1519. {
  1520. _fc
  1521. fill
  1522. } ddef
  1523. /_psf
  1524. {
  1525. _fc
  1526. ashow
  1527. } ddef
  1528. /_pjsf
  1529. {
  1530. _fc
  1531. awidthshow
  1532. } ddef
  1533. /_lp /none ddef
  1534. } def
  1535. /G                    % gray G -
  1536. {
  1537. /_gs exch ddef
  1538. /_sc
  1539. {
  1540. _lp /stroke ne
  1541.     {
  1542.     _os setoverprint
  1543.     _gs setgray
  1544.     /_lp /stroke ddef
  1545.     } if
  1546. } ddef
  1547. /_ps
  1548. {
  1549. _sc
  1550. stroke
  1551. } ddef
  1552. /_pss
  1553. {
  1554. _sc
  1555. ss
  1556. } ddef
  1557. /_pjss
  1558. {
  1559. _sc
  1560. jss
  1561. } ddef
  1562. /_lp /none ddef
  1563. } def
  1564. /k                    % cyan magenta yellow black k -
  1565. {
  1566. _cf astore pop
  1567. /_fc
  1568. {
  1569. _lp /fill ne
  1570.     {
  1571.     _of setoverprint
  1572.     _cf aload pop setcmykcolor
  1573.     /_lp /fill ddef
  1574.     } if
  1575. } ddef
  1576. /_pf
  1577. {
  1578. _fc
  1579. fill
  1580. } ddef
  1581. /_psf
  1582. {
  1583. _fc
  1584. ashow
  1585. } ddef
  1586. /_pjsf
  1587. {
  1588. _fc
  1589. awidthshow
  1590. } ddef
  1591. /_lp /none ddef
  1592. } def
  1593. /K                    % cyan magenta yellow black K -
  1594. {
  1595. _cs astore pop
  1596. /_sc
  1597. {
  1598. _lp /stroke ne
  1599.     {
  1600.     _os setoverprint
  1601.     _cs aload pop setcmykcolor
  1602.     /_lp /stroke ddef
  1603.     } if
  1604. } ddef
  1605. /_ps
  1606. {
  1607. _sc
  1608. stroke
  1609. } ddef
  1610. /_pss
  1611. {
  1612. _sc
  1613. ss
  1614. } ddef
  1615. /_pjss
  1616. {
  1617. _sc
  1618. jss
  1619. } ddef
  1620. /_lp /none ddef
  1621. } def
  1622. /x                    % cyan magenta yellow black name gray x -
  1623. {
  1624. /_gf exch ddef
  1625. findcmykcustomcolor
  1626. /_if exch ddef
  1627. /_fc
  1628. {
  1629. _lp /fill ne
  1630.     {
  1631.     _of setoverprint
  1632.     _if _gf 1 exch sub setcustomcolor
  1633.     /_lp /fill ddef
  1634.     } if
  1635. } ddef
  1636. /_pf
  1637. {
  1638. _fc
  1639. fill
  1640. } ddef
  1641. /_psf
  1642. {
  1643. _fc
  1644. ashow
  1645. } ddef
  1646. /_pjsf
  1647. {
  1648. _fc
  1649. awidthshow
  1650. } ddef
  1651. /_lp /none ddef
  1652. } def
  1653. /X                    % cyan magenta yellow black name gray X -
  1654. {
  1655. /_gs exch ddef
  1656. findcmykcustomcolor
  1657. /_is exch ddef
  1658. /_sc
  1659. {
  1660. _lp /stroke ne
  1661.     {
  1662.     _os setoverprint
  1663.     _is _gs 1 exch sub setcustomcolor
  1664.     /_lp /stroke ddef
  1665.     } if
  1666. } ddef
  1667. /_ps
  1668. {
  1669. _sc
  1670. stroke
  1671. } ddef
  1672. /_pss
  1673. {
  1674. _sc
  1675. ss
  1676. } ddef
  1677. /_pjss
  1678. {
  1679. _sc
  1680. jss
  1681. } ddef
  1682. /_lp /none ddef
  1683. } def
  1684. % pattern operators
  1685. /dp                    % width height matrix proc key cache uniform dp [index key]
  1686.                     % null dp -
  1687. {
  1688. dup null eq
  1689. {
  1690. pop
  1691. _dp 0 ne
  1692.     {
  1693.     0 1 _dp 1 sub _dl mod
  1694.         {
  1695.         _da exch get 3 get
  1696.         } for
  1697.     _dp 1 sub _dl mod 1 add packedarray
  1698.     _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
  1699.     definepattern pop
  1700.     } if
  1701. }
  1702. {
  1703. _dp 0 ne _dp _dl mod 0 eq and
  1704.     {
  1705.     null dp
  1706.     } if
  1707. 7 packedarray _da exch _dp _dl mod exch put
  1708. _dp _dl mod _da 0 get 4 get 2 packedarray
  1709. /_dp _dp 1 add def
  1710. } ifelse
  1711. } def
  1712. /E                    % name llx lly urx ury desc E -
  1713. {
  1714. _ed begin
  1715. dup 0 get type /arraytype ne
  1716.     {
  1717.     0
  1718.         {
  1719.         dup 1 add index type /arraytype eq
  1720.             {
  1721.             1 add
  1722.             }
  1723.             {
  1724.             exit
  1725.             } ifelse
  1726.         } loop
  1727.     array astore
  1728.     } if
  1729. /_dd exch def
  1730. /_ury exch def
  1731. /_urx exch def
  1732. /_lly exch def
  1733. /_llx exch def
  1734. /_n exch def
  1735. /_y 0 def
  1736. /_dl 4 def
  1737. /_dp 0 def
  1738. /_da _dl array def
  1739. 0 1 _dd length 1 sub
  1740.     {
  1741.     /_d exch _dd exch get def
  1742.     0 2 _d length 2 sub
  1743.         {
  1744.         /_x exch def
  1745.         /_c _d _x get _ ne def
  1746.         /_r _d _x 1 add get cvlit def
  1747.         _r _ ne
  1748.             {
  1749.             _urx _llx sub _ury _lly sub [1 0 0 1 0 0] 
  1750.                 [
  1751.                 /save cvx
  1752.                 _llx neg _lly neg /translate cvx
  1753.                 _c
  1754.                     {
  1755.                     nc /begin cvx
  1756.                     } if
  1757.                 _r dup type /stringtype eq
  1758.                     {
  1759.                     cvx
  1760.                     }
  1761.                     {
  1762.                     {exec} /forall cvx
  1763.                     } ifelse
  1764.                 _c
  1765.                     {
  1766.                     /end cvx
  1767.                     } if
  1768.                 /restore cvx
  1769.                 ] cvx
  1770.             /_fn 12 _n length add string def
  1771.             _y _fn cvs pop
  1772.             /_y _y 1 add def
  1773.             _fn 12 _n putinterval
  1774.             _fn _c false dp
  1775.             _d exch _x 1 add exch put
  1776.             } if
  1777.         } for
  1778.     } for
  1779. null dp
  1780. _n _dd /_pd
  1781. end xput
  1782. } def
  1783. /fc
  1784. {
  1785. _fm dup concatmatrix pop
  1786. } def
  1787. /p                    % name px py sx sy a rf r k ka matrix p -
  1788. {
  1789. /_fm exch ddef
  1790. 9 -2 roll _pm translate fc
  1791. 7 -2 roll _pm scale fc
  1792. 5 -1 roll _pm rotate fc
  1793. 4 -2 roll exch 0 ne
  1794.     {
  1795.     dup _pm rotate fc
  1796.     1 -1 _pm scale fc
  1797.     neg _pm rotate fc
  1798.     }
  1799.     {
  1800.     pop
  1801.     } ifelse
  1802. dup _pm rotate fc
  1803. exch dup sin exch cos div 1 0 0 1 0 6 2 roll
  1804. _pm astore fc
  1805. neg _pm rotate fc
  1806. _pd exch get /_fdd exch ddef
  1807. /_pf
  1808. {
  1809. save
  1810. /_doClip 0 ddef
  1811. 0 1 _fdd length 1 sub
  1812.     {
  1813.     /_fd exch _fdd exch get ddef
  1814.     _fd
  1815.     0 2 _fd length 2 sub
  1816.         {
  1817.         gsave
  1818.         2 copy get dup _ ne
  1819.             {
  1820.             cvx exec _fc
  1821.             }
  1822.             {
  1823.             pop
  1824.             } ifelse
  1825.         2 copy 1 add get dup _ ne
  1826.             {
  1827.             aload pop findfont _fm
  1828.             patternfill
  1829.             }
  1830.             {
  1831.             pop
  1832.             fill
  1833.             } ifelse
  1834.         grestore
  1835.         pop
  1836.         } for
  1837.     pop
  1838.     } for
  1839. restore
  1840. newpath
  1841. } ddef
  1842. /_psf        % ax ay string _psf -
  1843. {
  1844. save
  1845. /_doClip 0 ddef
  1846. 0 1 _fdd length 1 sub
  1847.     {
  1848.     /_fd exch _fdd exch get ddef
  1849.     _fd
  1850.     0 2 _fd length 2 sub
  1851.         {
  1852.         gsave
  1853.         2 copy get dup _ ne
  1854.             {
  1855.             cvx exec _fc
  1856.             }
  1857.             {
  1858.             pop
  1859.             } ifelse
  1860.         2 copy 1 add get dup _ ne
  1861.             {
  1862.             aload pop findfont _fm
  1863.             9 copy 6 npop patternashow
  1864.             }
  1865.             {
  1866.             pop
  1867.             6 copy 3 npop ashow
  1868.             } ifelse
  1869.         grestore
  1870.         pop
  1871.         } for
  1872.     pop
  1873.     } for
  1874. restore
  1875. %3 npop newpath
  1876. sw rmoveto
  1877. } ddef
  1878. /_pjsf        % cx cy char ax ay string _pjsf
  1879. {
  1880. save
  1881. /_doClip 0 ddef
  1882. 0 1 _fdd length 1 sub
  1883.     {
  1884.     /_fd exch _fdd exch get ddef
  1885.     _fd
  1886.     0 2 _fd length 2 sub
  1887.         {
  1888.         gsave
  1889.         2 copy get dup _ ne
  1890.             {
  1891.             cvx exec _fc
  1892.             }
  1893.             {
  1894.             pop
  1895.             } ifelse
  1896.         2 copy 1 add get dup _ ne
  1897.             {
  1898.             aload pop findfont _fm
  1899.             12 copy 6 npop patternawidthshow
  1900.             }
  1901.             {
  1902.             pop 9 copy 3 npop awidthshow
  1903.             } ifelse
  1904.         grestore
  1905.         pop
  1906.         } for
  1907.     pop
  1908.     } for
  1909. restore
  1910. swj rmoveto
  1911. } ddef
  1912. /_lp /none ddef
  1913. } def
  1914. /sc
  1915. {
  1916. _sm dup concatmatrix pop
  1917. } def
  1918. /P                    % name px py sx sy a rf r k ka matrix P -
  1919. {
  1920. /_sm exch ddef
  1921. 9 -2 roll _pm translate sc
  1922. 7 -2 roll _pm scale sc
  1923. 5 -1 roll _pm rotate sc
  1924. 4 -2 roll exch 0 ne
  1925.     {
  1926.     dup _pm rotate sc
  1927.     1 -1 _pm scale sc
  1928.     neg _pm rotate sc
  1929.     }
  1930.     {
  1931.     pop
  1932.     } ifelse
  1933. dup _pm rotate sc
  1934. exch dup sin exch cos div 1 0 0 1 0 6 2 roll
  1935. _pm astore sc
  1936. neg _pm rotate sc
  1937. _pd exch get /_sdd exch ddef
  1938. /_ps
  1939. {
  1940. save
  1941. /_doClip 0 ddef
  1942. 0 1 _sdd length 1 sub
  1943.     {
  1944.     /_sd exch _sdd exch get ddef
  1945.     _sd
  1946.     0 2 _sd length 2 sub
  1947.         {
  1948.         gsave
  1949.         2 copy get dup _ ne
  1950.             {
  1951.             cvx exec _sc
  1952.             }
  1953.             {
  1954.             pop
  1955.             } ifelse
  1956.         2 copy 1 add get dup _ ne
  1957.             {
  1958.             aload pop findfont _sm
  1959.             patternstroke
  1960.             }
  1961.             {
  1962.             pop stroke
  1963.             } ifelse
  1964.         grestore
  1965.         pop
  1966.         } for
  1967.     pop
  1968.     } for
  1969. restore
  1970. newpath
  1971. } ddef
  1972. /_pss
  1973. {
  1974. save
  1975. /_doClip 0 ddef
  1976. 0 1 _sdd length 1 sub
  1977.     {
  1978.     /_sd exch _sdd exch get ddef
  1979.     _sd
  1980.     0 2 _sd length 2 sub
  1981.         {
  1982.         gsave
  1983.         2 copy get dup _ ne
  1984.             {
  1985.             cvx exec _sc
  1986.             }
  1987.             {
  1988.             pop
  1989.             } ifelse
  1990.         2 copy 1 add get dup _ ne
  1991.             {
  1992.             aload pop findfont _sm
  1993.             10 copy 6 npop patternashowstroke
  1994.             }
  1995.             {
  1996.             pop 7 copy 3 npop ss
  1997.             } ifelse
  1998.         grestore
  1999.         pop
  2000.         } for
  2001.     pop
  2002.     } for
  2003. restore
  2004. pop sw rmoveto
  2005. } ddef
  2006. /_pjss
  2007. {
  2008. save
  2009. /_doClip 0 ddef
  2010. 0 1 _sdd length 1 sub
  2011.     {
  2012.     /_sd exch _sdd exch get ddef
  2013.     _sd
  2014.     0 2 _sd length 2 sub
  2015.         {
  2016.         gsave
  2017.         2 copy get dup _ ne
  2018.             {
  2019.             cvx exec _sc
  2020.             }
  2021.             {
  2022.             pop
  2023.             } ifelse
  2024.         2 copy 1 add get dup _ ne
  2025.             {
  2026.             aload pop findfont _sm
  2027.             13 copy 6 npop patternawidthshowstroke
  2028.             }
  2029.             {
  2030.             pop 10 copy 3 npop jss
  2031.             } ifelse
  2032.         grestore
  2033.         pop
  2034.         } for
  2035.     pop
  2036.     } for
  2037. restore
  2038. pop swj rmoveto
  2039. } ddef
  2040. /_lp /none ddef
  2041. } def
  2042. % locked object operator
  2043. /A                    % value A -
  2044. {
  2045. pop
  2046. } def
  2047. % null color operators
  2048. /nc 3 dict def
  2049. nc begin
  2050. /setgray            % gray setgray -
  2051. {
  2052. pop
  2053. } bind def
  2054. /setcmykcolor        % cyan magenta yellow black setcmykcolor -
  2055. {
  2056. 4 npop
  2057. } bind def
  2058. /setcustomcolor        % object tint setcustomcolor -
  2059. {
  2060. 2 npop
  2061. } bind def
  2062. currentdict readonly pop end
  2063. currentdict readonly pop end
  2064. setpacking
  2065. % annotate page operator
  2066. /annotatepage
  2067. {
  2068. } def
  2069. %%EndResource
  2070. %%EndProlog
  2071. %%BeginSetup
  2072. Adobe_packedarray /initialize get exec
  2073. Adobe_cmykcolor /initialize get exec
  2074. Adobe_cshow /initialize get exec
  2075. Adobe_customcolor /initialize get exec
  2076. Adobe_typography_AI3 /initialize get exec
  2077. Adobe_Illustrator_AI3 /initialize get exec
  2078. [
  2079. 39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
  2080. /Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
  2081. /egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
  2082. /oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
  2083. /udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
  2084. /registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
  2085. /.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
  2086. /.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
  2087. /questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
  2088. /guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe
  2089. /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
  2090. /.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
  2091. /fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
  2092. /Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
  2093. /Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
  2094. /Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
  2095. /hungarumlaut/ogonek/caron
  2096. TE
  2097.