home *** CD-ROM | disk | FTP | other *** search
/ IBM CD Showcase / OS2_CD_ROM.iso / smce0001 / corel25 / coreldrw / userproc.txt < prev    next >
Encoding:
Text File  |  1992-08-24  |  78.8 KB  |  3,175 lines

  1. $R$D$C$0$:42GGG=Y0é$╬áIt╤40φ╡g∩ª║n╠í┬ ┘z1 --------
  2. %%  ----------- CORELDRAW USER-DEFINED FUNCTON FILE ---------------------
  3. %%  ------File name is: USERPROC.TXT------------------------------------
  4. %% NOTES:
  5. 10Aug89:ks updated documentation to reflect new format
  6.  
  7.     There are two types of user defined functions: "Spot" and "Fill"
  8.  
  9.     - A "Spot" function is a function that takes two floating point arguments,
  10.         X and Y, both between -1 and 1,  and returns a single real value between
  11.         -1 and 1 (otherwise an execution error occurs) called Z.
  12.         The domain is a 2 X 2 rectangle that will be mapped (at print time) into
  13.         each cell of the halftoning screen.
  14.         The 3-D representation of the function Z = f(X,Y) (does not need
  15.         to be continuous but f(X,Y) must be defined for all -1 <= X, Y <= 1 )
  16.         is a surface whose higher points will be whitened first in each cell.
  17.         For more information about spot functions, read section 4.8 of the
  18.         POSTSCRIPT LANGUAGE REFERENCE MANUAL (By Adobe Systems Inc.).
  19.  
  20.     - A Fill function takes between 0 and 5 arguments.  It assumes there is a
  21.         path already drawn (may be closed or not, may be disconnected) and
  22.         attempts to fill it.
  23.         A simple fill function could be:
  24.                 /MyFill1 { %0 parms
  25.                     .70 setgray fill } bind def
  26.         For more complex fills, the fill function may refer to the current
  27.         object's bounding box that is always defined in CORELDRAW units (1/1000)
  28.         of an inch and relative to the CORELDRAW logical origin.
  29.  
  30.         Globals Bbllx, Bblly, Bburx, Bbury can always be used to get the
  31.         object's bbox's lower left and upper right corners.
  32.  
  33.         NOTE 1: For objects with disconnected paths like multi-letter words
  34.         and disconnected lines & curves, the fill function will be called once
  35.         for each closed sub-path.  However, the object's bounding box remains
  36.         the same for each call.
  37.  
  38.         NOTE 2: When called by CORELDRAW, the fill function will be inside a
  39.         "gsave - grestore" sequence so that the fill function does not need to
  40.         restore the oriBΘdú3¬9é≡╒=αδ<└6▌ây¢█\▄@ó¼■¿ΘäACâ▐3ÜSÉ║¢v╨ó┴╬∩M╡║Ä    B╦ⁿ° assumption about the current graphics state other than the
  41.         following:    - The current rotation angle is 0 (-90 for sideways pages)
  42.                         - The current unit is the MIL (1/1000 inch)
  43.                         - There is a path ready to be filled.
  44.  
  45. SYNTAX FOR THIS FILE:
  46.     - A function definition starts with a "%@Spot" or a "%@Fill" comment line
  47.     starting in column one indicating that a spot or a fill function is about
  48.      to be defined.  The remainder of the line is ignored.
  49.     - The line immediately following must start with the function name
  50.     immediately preceeded by a '/' (slash) in column one (eg: /MyFirstFill).
  51.     This name will be used to identify the fill in the .CDR file and the
  52.     .EPS files. The remainder of the line indicates the name that appears
  53.     in the custom function selection dialog box of CORELDRAW and the user
  54.     parameters for that function: Spot functions are not allowed any user
  55.     parameters just a display name. Fill functions are allowed from 0 to 5
  56.     parmeters specified as follows:
  57.  
  58.             %<userfnname>,<# of parms> ,<parmname1>=<default1>,<parmname2>=<default2>,...
  59.  
  60.             where: <userfnname> is the name that is displayed in the PSFILL selection
  61.                           list box, this is the string that is translated for
  62.                           foreign language versions
  63.              <# of parms> is an integer value between 0 and 5
  64.              <parmnameX> is the significance of parm X (string up to 20 chars)
  65.              <defaultX> is the default numeric value for that parm (always integer)
  66.             The number of parameter names & defaults must always match the
  67.             <# of parms> value.
  68.             Prior to calling that fill function, the main program will stack the
  69.             parameters in the same order they were specified.
  70.         ALL PARMS ARE INTEGERS.
  71.  
  72.         EXAMPLE:        a fill function with 3 parameters
  73.  
  74.         %@Fill
  75.         /MyFunction  %MyFunctionName,3,Background gray=100,Foreground gray=50,Density=4
  76.             {        % when called, STACK= <BackGray> <ForeGray> <Density>
  77.             /Dens@cYsûRµ∞║║Ç≡åN%AªÉΘ?╩7ç«@f░»±┼ë┌σyfY╖ τî»JCe(╡≥≥Q°Oδ¢α'╓ RÜ 0 100 InRange def        % validate foreground gray
  78.             /BackGray exch 0 100 InRange def        % validate background gray
  79.             ...
  80.             } bind def
  81.  
  82.             NOTE: the 'InRange' PostScript function.
  83.             The main program cannot validate the range of the parameters.
  84.             The fill function can use the supplied function: 'InRange' which is
  85.             described below:
  86.                 <value> <min> <max> InRange  ==>  <newval>
  87.                 InRange takes 3 arguments from the stack, then makes sure that
  88.                 <value> is between <min> and <max>. If so, it leaves <value>
  89.                 on the stack, otherwise it pushes a valid <newval> on the stack.
  90.  
  91.             Note: The 'wDstChck' PostScript function.
  92.             In the case of a maximum value that equals a minimum value, the
  93.             difference will be null and in most cases will cause a devision by zero.
  94.             The fill function can use the supplied function: 'wDstChck'
  95.                         which is described below:
  96.                 <MaxValue> <MinValue> wDstChck ==> MaxValue or MaxValue+1
  97.                 If the 2 values are equal
  98.                               then add 1 to MaxValue and leave it on the stack
  99.                             else
  100.                               leave MaxValue unchanged on the stack.
  101.  
  102.     - The next n lines contain the function's body enclosed in curly
  103.     brackets and followed by a "bind def" sequence.
  104.     - The content of the body is not parsed by CORELDRAW.  A function definition is
  105.     terminated when the next '%@..." sequence is read or at the end of the file.
  106.     - Lines should not exceed 150 characters long.
  107.     - Function names should not exceed 20 characters.
  108.     - Parameter names should not exceed 20 characters.
  109.     - There is no limit for the number of lines in each function.
  110.  
  111.  
  112. %@Spot
  113. /Dot2 %Dot2
  114.         { %def --SPOT FUNCTION : DOT2: black around cells
  115.         dup mul exch dup mul add 1 sub
  116.         } bind def
  117.  
  118. %@Spot
  119. /OutCircleBlk %OutCircleBlk
  120.         { %def --SPOT FUNCTION : OUTCIRCLE: empty black circles
  121.         dup mul exch dup mul add
  122.         0.6 exch s!â┤▄    ö├îÉMltæf╠QCⁿgìò5╛╟Θvù≈≈╟╢G∙iO╩ e\▐╟∞N,╬║½Ae6àyòuG+ª▓tCircleWhi
  123.         { %def --SPOT FUNCTION : OUTCIRCLE: empty black circles
  124.         dup mul exch dup mul add
  125.         0.6 exch sub abs 0.5 mul
  126.         } bind def
  127.  
  128. %@Spot
  129. /Diamond %Diamond
  130.         { %def --SPOT FUNCTION : DIAMOND
  131.         abs exch abs add 1 exch sub
  132.         } bind def
  133.  
  134. %@Spot
  135. /MicroWaves %MicroWaves
  136.         { %def --SPOT FUNCTION : MICROWAVES
  137.         /wy exch def
  138.         180 mul cos 2 div wy dup dup dup mul mul sub mul wy add
  139.         180 mul cos
  140.         } bind def
  141.  
  142. %@Spot
  143. /Grid %Grid
  144.         { % A SQUARE GRID
  145.         2 copy
  146.         abs exch abs
  147.         gt {exch} if
  148.         pop 2 mul 1 exch sub 3.5 div
  149.         } bind def
  150.  
  151. %@Spot
  152. /Lines %Lines
  153.         { % STRAIGHT LINES
  154.         pop abs 2 mul 1 exch sub
  155.         } bind def
  156.  
  157. %@Spot
  158. /Star %Star
  159.      {
  160.      abs exch abs
  161.      2 copy gt {exch} if
  162.      1  sub
  163.     dup 0 eq {0.01 add}if
  164.      atan 360 div
  165.      } bind def
  166.  
  167. %----------------------------------------------------------------------------
  168.  
  169. %@Fill
  170. /Archimedes %Archimedes,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  171.    {
  172.    /BackgroundGray exch -1 100 InRange def
  173.    /ForegroundGray exch 0 100 InRange def
  174.    /Linewidth      exch 0 100 InRange def
  175.    /Frequency      exch 2 100 InRange def
  176.  
  177.    /newfont 10 dict def
  178.    newfont begin
  179.  
  180.    /FontMatrix [3 sqrt 1 add 1 exch div  0  0
  181.                3 sqrt 1 add 1 exch div  0  0] def
  182.    /FontType 3 def
  183.    /FontBBox [0 0 3 sqrt 1 add 3 sqrt 1 add] def
  184.    /Encoding 256 array def
  185.    0 1 255 {Encoding exch /.notdef put} for
  186.  
  187.    /BuildChar
  188.      { 3 sqrt 1 add  0
  189.        -0.1 -0.1 3 sqrt 1.1 add 3 sqrt 1.1 add
  190.        setcachedevice
  191.        pop begin
  192.  
  193.        0 0 moveto
  194.        1 2 div  0 lineto
  195.        0  3 sqrt 2 div lineto
  196.        3 sqrt 2 div  3 sqrt 1 add 2 div lineto
  197.        0  3 sqrt 2 div 1 add lineto
  198.        0  3 sqrt 2 div lineto
  199.  
  200.        0  3 sqrt 2 div 1 add moveto
  201.        1 2 div  3 sqrt 1 add lineto
  202.        3 sqrt 1 add 2 div  31;ú`l£∩)╡╟a∞(ùï≈τ#ε+╨[ëªτô '₧óB╙⌠`<uºók┴ñV└┌╚,e$╠δv lineto
  203.        3 sqrt 2 div 1 add  3 sqrt 1 add 2 div lineto
  204.        3 sqrt 1 add 2 div  3 sqrt 1 2 div add lineto
  205.        3 sqrt 1 2 div add  3 sqrt 1 add lineto
  206.        3 sqrt 1 add  3 sqrt 2 div 1 add lineto
  207.        3 sqrt 2 div 1 add  3 sqrt 1 add 2 div lineto
  208.        3 sqrt 1 add  3 sqrt 2 div lineto
  209.        3 sqrt 1 2 div add  0 lineto
  210.        3 sqrt 1 add 2 div  1 2 div lineto
  211.        3 sqrt 2 div 1 add  3 sqrt 1 add 2 div lineto
  212.  
  213.        3 sqrt 1 add 2 div  3 sqrt 1 add moveto
  214.        3 sqrt 1 add 2 div  3 sqrt 1 2 div add lineto
  215.  
  216.        3 sqrt 1 add 2 div  0  moveto
  217.        3 sqrt 1 add 2 div  1 2 div lineto
  218.  
  219.        1 2 div  0 moveto
  220.        3 sqrt 1 add 2 div  1 2 div lineto
  221.        3 sqrt 2 div  3 sqrt 1 add 2 div lineto
  222.  
  223.        3 sqrt 1 2 div add  0 moveto
  224.        3 sqrt 1 add  0 lineto
  225.  
  226.        3 sqrt 1 2 div add  3 sqrt 1 add moveto
  227.        3 sqrt 1 add  3 sqrt 1 add lineto
  228.  
  229.        0  3 sqrt 1 add moveto
  230.        1 2 div  3 sqrt 1 add lineto
  231.  
  232.        3 sqrt 1 add  3 sqrt 2 div moveto
  233.        3 sqrt 1 add  3 sqrt 2 div 1 add lineto
  234.  
  235.        Linewidth pntsize div 3 sqrt 1 add mul setlinewidth
  236.        stroke
  237.  
  238.       end
  239.      } def
  240.    end
  241.  
  242.    /pntsize 2000 Frequency div def
  243.    /FillFont newfont definefont pop
  244.    /FillFont findfont pntsize scalefont setfont
  245.  
  246.    eoclip
  247.    BackgroundGray 0 ge
  248.       { BackgroundGray 100 div 1 exch sub setgray fill }
  249.       { newpath } ifelse
  250.  
  251.    ForegroundGray 100 div 1 exch sub setgray
  252.  
  253.    Bblly pntsize Bbury
  254.      { Bbllx pntsize Bburx
  255.        { 1 index moveto
  256.        (a) show
  257.        } for
  258.      pop
  259.      } for
  260.    } bind def
  261.  
  262. %@Fill
  263. /Bars %Bars,4, Width=10, Spacing(%)=100, MaximumGray=100, MinimumGray=10
  264.    {
  265.    /MinGrey exch 0 100 InRange def
  266.    /MaxGrey exch MinGrey 100 InRange def
  267.    /Spacing exch 0 300 InRange def
  268.    /Width exch 1 100 InRange def
  269.  
  270.    /dgrey MaxGrey MinGrey sub def
  271.    /inc 1 Spacing 100 div add def
  272.  
  273.    eoclip newpath
  274.  
  275.    currentscreen
  276.    3 -1 r @æÜ⌠ü2B¥ΓH│Iƒñgv≥rk`æ°d╡]k{Σ╬î¼_{AY│vO╡6⌐+~KHφPûä&σ┤╘¥>slate
  277.    /dx Bburx Bbllx sub Width div def
  278.    /dy Bbury Bblly sub Width div def
  279.    Width 10 mul dup scale
  280.    /mtx matrix currentmatrix def
  281.    .05 setlinewidth
  282.  
  283.    0 inc dx
  284.      { 0 translate
  285.       -.5 .05 .5
  286.          { dup 0 moveto
  287.            dup dy lineto
  288.            dup mul 0.250001 exch sub sqrt 2 mul
  289.            dgrey mul MaxGrey exch sub 100 div 1 exch sub setgray
  290.            stroke
  291.          } for
  292.       mtx setmatrix
  293.       } for
  294.    dx 0 translate
  295.    90 rotate
  296.    /mtx matrix currentmatrix def
  297.    0 inc dy
  298.      { 0 translate
  299.       -.5 .05 .5
  300.          { dup 0 moveto
  301.            dup dx lineto
  302.            dup mul 0.250001 exch sub sqrt 2 mul
  303.            dgrey mul MaxGrey exch sub 100 div 1 exch sub setgray
  304.            stroke
  305.          } for
  306.       mtx setmatrix
  307.       } for
  308.    } bind def
  309.  
  310. %@Fill
  311. /Basketweave %Basketweave,4, Frequency=6, LineWidth=10, ForegroundGray=100, WeaveWidth(%)=100
  312.    {
  313.    /Width exch 1 200 InRange def
  314.    /Grey exch 0 100 InRange def
  315.    /LineWidth exch 0 100 InRange def
  316.    /Frequency exch 1 100 InRange def
  317.  
  318.    /dif Width 100 sub 100 div def
  319.  
  320.    /newfont 10 dict def
  321.    newfont begin
  322.  
  323.    /FontMatrix [.25  0
  324.                 0    .25
  325.                 0    0] def
  326.    /FontType 3 def
  327.    /FontBBox [0 0 4 4] def
  328.    /Encoding 256 array def
  329.    0 1 255 {Encoding exch /.notdef put} for
  330.    Encoding 97 /Holes put
  331.    Encoding 98 /Weave put
  332.  
  333.    /CharProcs 3 dict def
  334.    CharProcs begin
  335.    /.notdef {} def
  336.    /Holes
  337.       {
  338.       1 dif moveto
  339.       2 dif sub 1 lineto
  340.       1 2 dif sub lineto
  341.       dif 1 lineto
  342.       closepath
  343.       fill
  344.  
  345.       3 2 dif add moveto
  346.       4 dif sub 3 lineto
  347.       3 4 dif sub lineto
  348.       2 dif add 3 lineto
  349.       closepath
  350.       fill
  351.       } def
  352.    /Weave
  353.       {
  354.       0 3 dif add moveto
  355.       1 dif sub 4 lineto
  356.  
  357.       0 1 dif add moveto
  358.       1 dif lineto
  359.  
  360.       3 dif sub 4 moveto
  361.       4 dif sub 3 lineto
  362.  
  363.       1 dif sub 0 moveto
  364.       2 dif Åuq)ñòç·iÆ4T╞ ╠╜µWlP∙£*á6b╣¡δ39µsα█╬<╥SK╬T╜▄-¡∩∙∙N╚iö@╬Åto
  365.  
  366.       3 dif sub 0 moveto
  367.       1 2 dif sub lineto
  368.  
  369.       4 1 dif add moveto
  370.       2 dif add 3 lineto
  371.  
  372.       dif 1 moveto
  373.       3 4 dif sub lineto
  374.  
  375.       LineWidth 100 div setlinewidth
  376.       stroke
  377.       } def
  378.    end
  379.  
  380.    /BuildChar
  381.      { 4  0
  382.        -0.1 -0.1 4.1 4.1
  383.        setcachedevice
  384.        exch begin
  385.        Encoding exch get
  386.        CharProcs exch get
  387.        end
  388.        exec
  389.      } def
  390.    end
  391.  
  392.    /pntsize 1000 Frequency div def
  393.  
  394.    /FillFont newfont definefont pop
  395.    /FillFont findfont pntsize scalefont setfont
  396.  
  397.    eoclip newpath
  398.  
  399.    Grey 100 div 1 exch sub setgray
  400.    Bblly pntsize Bbury
  401.      { Bbllx exch moveto
  402.        { (a) show
  403.          currentpoint
  404.          pop Bburx gt
  405.          {exit} if
  406.        } loop
  407.      } for
  408.  
  409.    0 setgray
  410.    Bblly pntsize Bbury
  411.      { Bbllx exch moveto
  412.        { (b) show
  413.          currentpoint
  414.          pop Bburx gt
  415.          {exit} if
  416.        } loop
  417.      } for
  418.  
  419.    } bind def
  420.  
  421. %@Fill
  422. /Birds %Birds,4, Frequency=8, LineWidth=4, ForegroundGray=100, BackgroundGray=0
  423.    {
  424.    /BackgroundGray exch -1 100 InRange def
  425.    /ForegroundGray exch 0 100 InRange def
  426.    /Linewidth      exch 0 100 InRange def
  427.    /Frequency      exch 2 100 InRange def
  428.  
  429.    /newfont 10 dict def
  430.    newfont begin
  431.  
  432.    /FontMatrix [1 162 div  0
  433.                 0         1 162 div
  434.                 0         0] def
  435.    /FontType 3 def
  436.    /FontBBox [-92 -150 46 12] def
  437.    /Encoding 256 array def
  438.    0 1 255 {Encoding exch /.notdef put} for
  439.  
  440.    /BuildChar
  441.      { 138  0
  442.        -92 -150 46 12
  443.        setcachedevice
  444.        pop begin
  445.  
  446.        -92 -150 moveto
  447.        -92 12   lineto
  448.        46  12   lineto
  449.        46 -150  lineto
  450.        closepath
  451.        clip
  452.        newpath
  453.  
  454.        2 {
  455.          gsave
  456.          3 {
  457.            -10 -8 moveto
  458.            60 24  -54 60  -9 72 curveto
  459.            -2.5 73.7  11.5 70.3  29 75.4 curveto
  460.  
  461.            -54 6 moveto
  462.            -45 14  -27 16  -18 18 cu± ⌡/╫ôG╩∙ô╜`1;îÅ@╕-;¥┐åPbT∙dz S_Ʊ│Ü[pw░╜Sí█╧`q┼┤█ä |╞oDú≤!6 9 moveto
  463.            -114 27  -66 66  -54 24 curveto
  464.            -53 21  -49 15  -43 12 curveto
  465.  
  466.            [ -1     0
  467.               0     1
  468.               0     0 ] concat
  469.              135 -81 translate
  470.          } repeat
  471.  
  472.        Linewidth pntsize div 162 mul setlinewidth
  473.        stroke
  474.        grestore
  475.        138 0 translate
  476.  
  477.      } repeat
  478.  
  479.      end
  480.      } def
  481.    end
  482.  
  483.    /pntsize 1174 Frequency div def
  484.  
  485.    /FillFont newfont definefont pop
  486.    /FillFont findfont pntsize scalefont setfont
  487.  
  488.    eoclip
  489.    BackgroundGray 0 ge
  490.       { BackgroundGray 100 div 1 exch sub setgray fill }
  491.       { newpath } ifelse
  492.  
  493.    ForegroundGray 100 div 1 exch sub setgray
  494.  
  495.     Bblly pntsize Bbury
  496.         { Bbllx exch moveto
  497.         { (a) show
  498.           currentpoint
  499.           pop Bburx gt
  500.           {exit} if
  501.         } loop
  502.       } for
  503.     } bind def
  504.  
  505. %@Fill
  506. /Bricks %Bricks,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  507.    {
  508.    /BackgroundGray exch -1 100 InRange def
  509.    /ForegroundGray exch 0 100 InRange def
  510.    /Linewidth      exch 0 100 InRange def
  511.    /Frequency      exch 2 100 InRange def
  512.  
  513.    /newfont 10 dict def
  514.    newfont begin
  515.  
  516.    /FontMatrix [1  0  0
  517.                 1  0  0] def
  518.    /FontType 3 def
  519.    /FontBBox [0 0 1 1] def
  520.    /Encoding 256 array def
  521.    0 1 255 {Encoding exch /.notdef put} for
  522.  
  523.    /BuildChar
  524.      { 1  0
  525.        -0.1 -0.1 1.1 1.1
  526.        setcachedevice
  527.        pop begin
  528.  
  529.        0 0 moveto
  530.        1 0 lineto
  531.        1 .5 lineto
  532.        0 .5 lineto
  533.        closepath
  534.        .5 .5 moveto
  535.        .5 1 lineto
  536.  
  537.        Linewidth pntsize div setlinewidth
  538.        stroke
  539.  
  540.       end
  541.      } def
  542.    end
  543.  
  544.    /pntsize 1000 Frequency div def
  545.  
  546.    /FillFont newfont definefont pop
  547.    /FillFont findfont pntsize scalefont setfont
  548.  
  549.    eoclip
  550.    BackgroundGray 0 ge
  551.       { BackgroundGray 100 div 1 exch sub setgray fill }
  552.       { newpath } ifelse
  553.  
  554.    ForegroundGray 100 div 1 exch sub sD▄|ö ╚L_æ$Ü╚&'MτS¬¬ä╡]â8W1,P╠[O>ÿΓτ├t╟=╧.╙RÉ╙╤·∙z[j1ì╫   { (a) show
  555.          currentpoint
  556.          pop Bburx gt
  557.          {exit} if
  558.        } loop
  559.      } for
  560.    } bind def
  561.  
  562. %@Fill
  563. /Bubbles %Bubbles,5, Number(sq_inch)=25, MaxSize=300, MinSize=10, LineWidth=10, RandomSeed=0
  564.    { srand
  565.    /LineWidth exch 0 50 InRange def
  566.    /MinSize exch 1 1000 InRange def
  567.    /MaxSize exch MinSize 1000 InRange def
  568.    /Number exch 1 250 InRange def
  569.  
  570.    eoclip
  571.    newpath
  572.    /pntsize MaxSize MinSize div cvi def
  573.    /dx Bburx Bbllx sub def
  574.    /dy Bbury Bblly sub def
  575.  
  576.    dx dy mul Number mul 1000000 div cvi
  577.    {  rand dx mod Bbllx add
  578.       rand dy mod Bblly add
  579.       rand pntsize mod 1 add pntsize exch div MinSize mul
  580.       3 copy
  581.       2 index add
  582.       exch
  583.       moveto
  584.       pop
  585.       0 360 arc
  586.       gsave
  587.       0 setgray
  588.       LineWidth setlinewidth
  589.       stroke
  590.       grestore
  591.       1 setgray
  592.       fill
  593.       } repeat
  594.  
  595.    } bind def
  596.  
  597. %@Fill
  598. /Carpet %Carpet,5, Frequency(dpi)=72, Gray=100, Gamma(box_size)=50, ModFactor=3, Alpha=10
  599.    {
  600.    /Alpha exch def
  601.    /Modf exch def
  602.    /Gamma exch def
  603.    /Grey exch 0 100 InRange def
  604.    /Frequency exch 10 300 InRange def
  605.  
  606.    /Beta1 -10 def
  607.    /Beta2 -15 def
  608.  
  609.    eoclip newpath
  610.  
  611.    /wz 360 def
  612.    2 1 Gamma sqrt
  613.       { dup Gamma exch mod
  614.       0 eq { dup wz exch mod
  615.            0 eq { /wz wz 2 index div cvi def
  616.                 } if
  617.            } if
  618.       pop
  619.       } for
  620.  
  621.    /newfont 10 dict def
  622.    newfont begin
  623.  
  624.    /FontMatrix [1 wz div  0
  625.                 0          1 wz div
  626.                 0          0] def
  627.    /FontType 3 def
  628.    /FontBBox [0 0 wz wz] def
  629.    /Encoding 256 array def
  630.    0 1 255 {Encoding exch /.notdef put} for
  631.  
  632.    /BuildChar
  633.      { wz  0
  634.        -0.1 -0.1 wz 0.1 add wz 0.1 add
  635.        setcachedevice
  636.        pop begin
  637.  
  638.       0 1 wz
  639.          { 0 1 wz
  640.             { 1 index 2 copy
  641.             Gamma mul Beta2 add sin
  642.             exch Gamma mul Beta1 add sin
  643.             add Alpha mul cvi Modf mod
  644.   e╢Σ¼╩■⌐    -Idφ╟|L▄h    M┘µ
  645. ╩σ.τ₧┐
  646. ¬.├r╢I│ªe≡╞▐∞û+öεKê▓:3åÿöΘ>Σ          0 1 rlineto
  647.                   -1 0 rlineto
  648.                   closepath
  649.                   fill }
  650.                  { pop pop } ifelse
  651.             }   for
  652.          pop
  653.          } for
  654.  
  655.        end
  656.      } def
  657.    end
  658.  
  659.    /pntsize wz 1000 mul Frequency div def
  660.  
  661.    /FillFont newfont definefont pop
  662.    /FillFont findfont pntsize scalefont setfont
  663.  
  664.    Grey 100 div 1 exch sub setgray
  665.    Bblly pntsize Bbury
  666.      { Bbllx 1 index moveto
  667.        { (a) show
  668.          currentpoint
  669.          dup 3 index sub
  670.          pntsize 2 div gt { pntsize sub } if
  671.          1 index Bburx gt
  672.          {pop pop pop exit} if
  673.          moveto
  674.        } loop
  675.      } for
  676.    } bind def
  677.  
  678. %@Fill
  679. /CircleGrid %CircleGrid,5, Frequency=6, LineWidth1=6, LineWidth2=6, Gray1=40, Gray2=40
  680.    {
  681.    /Grey2 exch -1 100 InRange def
  682.    /Grey1 exch -1 100 InRange def
  683.    /LineWidth2 exch 0 100 InRange def
  684.    /LineWidth1 exch 0 100 InRange def
  685.    /Frequency exch 1 72 InRange def
  686.  
  687.    /newfont 10 dict def
  688.    newfont begin
  689.  
  690.    /FontMatrix [1 3 sqrt 3 mul div  0
  691.                 0                   1 3 sqrt 3 mul div
  692.                 0                   0] def
  693.    /FontType 3 def
  694.    /FontBBox [0 0 2 3 sqrt 3 mul] def
  695.  
  696.    /Encoding 256 array def
  697.    0 1 255 {Encoding exch /.notdef put} for
  698.    Encoding 97 /OneCircle put
  699.    Encoding 98 /OneCircleFilled put
  700.    Encoding 99 /TwoCircles put
  701.    Encoding 100 /TwoCirclesFilled put
  702.  
  703.    /CharProcs 5 dict def
  704.    CharProcs begin
  705.    /.notdef {} def
  706.    /OneCircle
  707.      { 1 3 sqrt 2 div add  3 sqrt 5 mul 2 div moveto
  708.        1  3 sqrt 5 mul 2 div  3 sqrt 2 div 0 360 arc
  709.  
  710.        LineWidth1 pntsize div 3 sqrt 3 mul mul setlinewidth
  711.        stroke
  712.    } def
  713.  
  714.    /OneCircleFilled
  715.      { 1 3 sqrt 2 div add  3 sqrt 5 mul 2 div moveto
  716.        1  3 sqrt 5 mul 2 div  3 sqrt 2 div 0 350 arc
  717.  
  718.        fill
  719.    } def
  720.  
  721.    /TwoCircles
  722.      { 1 3 sqrt 2 div add  3 sqrt 2 div moveto
  723.        1 3 sqrt 2 div dup 0 360 arc
  724.  
  725.        1Çiµ+d≤⌠R)P+ΣF+ár9┤úf Uë;A ⁿ7Éö
  726. ╔é)*jzÇ⌠)å█B÷s╚bZ>óÑS·≈3f╪ mul 2 div  3 sqrt 2 div 0 360 arc
  727.  
  728.        LineWidth2 pntsize div 3 sqrt 3 mul mul setlinewidth
  729.        stroke
  730.    } def
  731.  
  732.    /TwoCirclesFilled
  733.      { 1 3 sqrt 2 div add  3 sqrt 2 div moveto
  734.        1 3 sqrt 2 div dup 0 360 arc
  735.  
  736.        1 3 sqrt 2 div add  3 sqrt 3 mul 2 div moveto
  737.        1  3 sqrt 3 mul 2 div  3 sqrt 2 div 0 360 arc
  738.  
  739.        fill
  740.    } def
  741.  
  742.    end
  743.  
  744.    /BuildChar
  745.      {3 2 div  3 sqrt 3 mul 2 div
  746.       -0.1 -0.1 2.1  3 sqrt 3 mul 0.1 add
  747.       setcachedevice
  748.       exch begin
  749.       Encoding exch get
  750.       CharProcs exch get
  751.       end
  752.       exec
  753.      }def
  754.    end
  755.  
  756.    /pntsize 3000 Frequency div def
  757.  
  758.    /FillFont newfont definefont pop
  759.    /FillFont findfont pntsize scalefont setfont
  760.  
  761.    /Bbllx Bbllx pntsize sub def
  762.    /Bblly Bblly pntsize sub def
  763.    /Bburx Bburx pntsize add def
  764.    /Bbury Bbury pntsize add def
  765.  
  766.    eoclip newpath
  767.  
  768.    Grey1 0 ge
  769.       { Grey1 100 div 1 exch sub setgray
  770.       Bblly pntsize Bbury
  771.         { Bbllx 1 index moveto
  772.           { (b) show
  773.             currentpoint
  774.             dup 3 index sub
  775.             pntsize 2.1 div gt { pntsize sub } if
  776.             1 index Bburx gt
  777.             {pop pop pop exit} if
  778.             moveto
  779.           } loop
  780.        } for
  781.       } if
  782.  
  783.    Grey2 0 ge
  784.       { Grey2 100 div 1 exch sub setgray
  785.       Bblly pntsize Bbury
  786.         { Bbllx 1 index moveto
  787.           { (d) show
  788.             currentpoint
  789.             dup 3 index sub
  790.             pntsize 2.1 div gt { pntsize sub } if
  791.             1 index Bburx gt
  792.             {pop pop pop exit} if
  793.             moveto
  794.           } loop
  795.         } for
  796.       } if
  797.  
  798.    LineWidth1 0 gt
  799.       { 0 setgray
  800.       Bblly pntsize Bbury
  801.         { Bbllx 1 index moveto
  802.           { (a) show
  803.             currentpoint
  804.             dup 3 index sub
  805.             pntsize 2.1 div gt { pntsize sub } if
  806.             1 index Bburx gt
  807.             {pop pop pop exit} if
  808.             moveto
  809.           } loop
  810.         } for
  811. \£½A¿^URQ╝≥╡2Jo╘O    ¬Bφ.&,kô╣╠àâ╜y<╟=æî║à    W▓éaK╤Ω╥╜:ªÆ┌≈tÿ pntsize Bbury
  812.         { Bbllx 1 index moveto
  813.           { (c) show
  814.             currentpoint
  815.             dup 3 index sub
  816.             pntsize 2.1 div gt { pntsize sub } if
  817.             1 index Bburx gt
  818.             {pop pop pop exit} if
  819.             moveto
  820.           } loop
  821.         } for
  822.       } if
  823.  
  824.    } bind def
  825.  
  826. %@Fill
  827. /Construction %Construction,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  828.    {
  829.    /BackgroundGray exch -1 100 InRange def
  830.    /ForegroundGray exch 0 100 InRange def
  831.    /Linewidth      exch 0 100 InRange def
  832.    /Frequency      exch 2 100 InRange def
  833.  
  834.    /newfont 10 dict def
  835.    newfont begin
  836.  
  837.    /FontMatrix  [ .1     0
  838.                   0      .1
  839.                   0      0] def
  840.    /FontType 3 def
  841.    /FontBBox [-1 -1 9.66 11] def
  842.    /Encoding 256 array def
  843.    0 1 255 {Encoding exch /.notdef put} for
  844.  
  845.    /BuildChar
  846.      { 8.66 5
  847.        -1 -1 9.66 11
  848.        setcachedevice
  849.        pop begin
  850.  
  851.        1 0 moveto
  852.        0 0 1 -60 300 arc
  853.        3 sqrt 5 mul .5 add  5 3 sqrt 2 div sub lineto
  854.        3 sqrt 5 mul  5  1  -60 420 arc
  855.        .5  10 3 sqrt 2 div add lineto
  856.        0 10 1 60 180 arc
  857.        -1 0 lineto
  858.  
  859.        -.5 3 sqrt 2 div moveto
  860.        3 sqrt 5 mul .5 sub  5 3 sqrt 2 div add lineto
  861.        3 sqrt 5 mul .5 sub  5 3 sqrt 2 div sub moveto
  862.        -.5  10 3 sqrt 2 div sub lineto
  863.        1 10 moveto
  864.        1 0 lineto
  865.  
  866.        Linewidth pntsize div 10 mul setlinewidth
  867.        stroke
  868.       end
  869.      } def
  870.    end
  871.  
  872.    /pntsize 1126 Frequency div def
  873.    /FillFont newfont definefont pop
  874.    /FillFont findfont pntsize scalefont setfont
  875.  
  876.    /Bbllx Bbllx pntsize sub def
  877.  
  878.    eoclip
  879.    BackgroundGray 0 ge
  880.       { BackgroundGray 100 div 1 exch sub setgray fill }
  881.       { newpath } ifelse
  882.  
  883.    ForegroundGray 100 div 1 exch sub setgray
  884.  
  885.    Bblly pntsize Bbury
  886.      { Bbllx 1 index moveto
  887.        { (a) show
  888.          currentpoint
  889.          dup 3 index sub
  890.          pntsize 2.░¥b|<∩ó≈║è,Ä┴⌐┴r`WrÇ⌡óBë┌▓
  891. qí┼<╚∞iE°≈\ìå≡Éf╪≡i[Jq╕Æ(ôf└∙# {pop pop pop exit} if
  892.          moveto
  893.        } loop
  894.      } for
  895.    } bind def
  896.  
  897. %@Fill
  898. /Cracks %Cracks,5, Number=20, MaxLength=125, MinLength=75, StepLength=14, LineWidth=5
  899.    {
  900.    /LineWidth exch 0 100 InRange def
  901.    /StepLength exch 1 100 InRange def
  902.    /MinLength exch 1 300 InRange def
  903.    /MaxLength exch MinLength 300 InRange MinLength wDstChck def
  904.    /Number exch 1 100 InRange def
  905.  
  906.    eoclip newpath
  907.  
  908.    /dx Bburx Bbllx sub def
  909.    /dy Bbury Bblly sub def
  910.  
  911.    Number {
  912.       gsave
  913.       /theta rand 360 mod def
  914.  
  915.       rand dx mod Bbllx add
  916.       rand dy mod Bblly add
  917.       moveto
  918.  
  919.       StepLength dup scale
  920.       LineWidth StepLength div setlinewidth
  921.  
  922.       MinLength
  923.       MaxLength MinLength sub
  924.       rand 1 index mod 2 index add
  925.          {
  926.          currentpoint translate
  927.          rand 120 mod 60 sub theta add dup rotate
  928.          0 0 moveto
  929.          1 0 lineto
  930.          stroke
  931.          1 0 moveto
  932.          neg rotate
  933.          } repeat
  934.       grestore
  935.       pop pop
  936.       } repeat
  937.    } bind def
  938.  
  939. %@Fill
  940. /Craters %Craters,5, Number=15, MaximumSize=300, MinimumSize=75, BackgroundGray=0, RandomSeed=0
  941.    { srand
  942.    /BackgroundGrey exch 0 100 InRange def
  943.    /MinSize exch 1 500 InRange def
  944.    /MaxSize exch MinSize 500 InRange MinSize wDstChck def
  945.    /Number exch 1 50 InRange def
  946.  
  947.    eoclip
  948.    BackgroundGrey 100 div 1 exch sub setgray
  949.    fill
  950.  
  951.    /pntsize 333 def
  952.    /dx Bburx Bbllx sub def
  953.    /dy Bbury Bblly sub def
  954.    /DifSize MaxSize MinSize sub cvi def
  955.  
  956.    Bbllx Bblly translate
  957.  
  958.    matrix currentmatrix
  959.    dx dy mul 1000000 div Number mul cvi {
  960.       dup
  961.       rand dx mod  rand dy mod  translate
  962.       /size rand DifSize mod MinSize add def
  963.       0 0 size .7 mul  0 360 arc
  964.       BackgroundGrey 100 div 1 exch sub setgray fill
  965.  
  966.       0
  967.          { rand 18 mod add 10 add
  968.          dup 360 gt { pop exit } if
  969.          dup rotate
  970.          size 5 div  0 moveto
  971.          rand 300 mod 200 add 50└ß╥à%Z#?RΦ√    Σ<▐ëô\Uë⌠+8O^5&¢1¬ƒ7╔â &ÆY░ê⌐Kr ╙αhOó▀│▒op
  972.  
  973.       0 setgray
  974.       1 setlinewidth
  975.       stroke
  976.       setmatrix
  977.       } repeat
  978.    pop
  979.    } bind def
  980.  
  981. %@Fill
  982. /Crosshatching %Crosshatching,5, MaxDistance=75, MinDistance=0, LineWidth=5, Angle=45, Random Seed=0
  983.    { srand
  984.    /Angle exch -180 180 InRange def
  985.    /LineWidth exch 0 100 InRange def
  986.    /MinDist exch 0 500 InRange def
  987.    /MaxDist exch MinDist 500 InRange MinDist wDstChck def
  988.  
  989.    eoclip
  990.    newpath
  991.  
  992.    /pntsize MaxDist MinDist sub def
  993.    /dx2 Bburx Bbllx sub 2 div def
  994.    /dy2 Bbury Bblly sub 2 div def
  995.    /hyp2 dx2 dup mul dy2 dup mul add sqrt def
  996.  
  997.    Bbllx Bblly translate
  998.    dx2 dy2 translate
  999.    Angle rotate
  1000.    LineWidth setlinewidth
  1001.  
  1002.    /wd hyp2 neg def
  1003.       { /wd rand pntsize mod MinDist add wd add def
  1004.       wd hyp2 neg moveto
  1005.       wd hyp2 lineto
  1006.       stroke
  1007.       wd hyp2 gt {exit} if
  1008.       } loop
  1009.  
  1010.    Angle -2 mul rotate
  1011.    /wd hyp2 neg def
  1012.       { /wd rand pntsize mod MinDist add wd add def
  1013.       wd hyp2 neg moveto
  1014.       wd hyp2 lineto
  1015.       stroke
  1016.       wd hyp2 gt {exit} if
  1017.       } loop
  1018.  
  1019.    } bind def
  1020.  
  1021. %@Fill
  1022. /CrystalLattice %CrystalLattice,4, Frequency=4, BackGray=100, FrontGray=0, Scaling(%)=75
  1023.    {
  1024.    /Scaling exch 10 100 InRange def
  1025.    /FrontGrey exch 0 100 InRange def
  1026.    /BackGrey exch -100 100 InRange def
  1027.    /Frequency exch 1 50 InRange def
  1028.  
  1029.    /newfont 10 dict def
  1030.    newfont begin
  1031.  
  1032.    /FontMatrix [1                   0
  1033.                 0                   1
  1034.                 0                   0] def
  1035.    /FontType 3 def
  1036.    /FontBBox [0 0 1 1] def
  1037.    /Encoding 256 array def
  1038.    0 1 255 {Encoding exch /.notdef put} for
  1039.  
  1040.    /BuildChar
  1041.      { 1 0
  1042.        -0.1 -0.1 1.1 1.1
  1043.        setcachedevice
  1044.        pop begin
  1045.  
  1046.        gsave
  1047.        0 0 moveto
  1048.        3 { 1 0 lineto
  1049.          currentpoint translate
  1050.          90 rotate
  1051.          } repeat
  1052.        closepath
  1053.        .05 setlinewidth
  1054.        stroke
  1055.        grestore
  1056.  
  1057.        gsave
  1058.        4 { .2 0 moveto
  1059.          0╡'|i ┤=ªg╜G(ƒY ╒scg`Ñ╫ßΦ>t)Σ⌐░°ûêxÉò∙%áj}Cò▀Mì'¬╛òóè╛≈╡3 90 rotate
  1060.          } repeat
  1061.        grestore
  1062.  
  1063.        end
  1064.      } def
  1065.    end
  1066.  
  1067.    /pntsize 1000 Frequency div cvi def
  1068.  
  1069.    /FillFont newfont definefont pop
  1070.    /FillFont findfont pntsize scalefont setfont
  1071.  
  1072.    /dx Bburx Bbllx sub def
  1073.    /dy Bbury Bblly sub def
  1074.  
  1075.    eoclip newpath
  1076.  
  1077.    currentscreen
  1078.    3 -1 roll
  1079.    pop 120
  1080.    3 1 roll
  1081.    setscreen
  1082.  
  1083.    Bbllx dx 2 div add  Bblly dy 2 div add translate
  1084.  
  1085.    /dx dx 100 mul Scaling div def
  1086.    /dy dy 100 mul Scaling div def
  1087.  
  1088.    Scaling 100 div dup scale
  1089.    100 Scaling div log 10 div 10 exch exp
  1090.    BackGrey 0 100 InRange 100 div  FrontGrey BackGrey sub 1000 div  FrontGrey .1 sub 100 div
  1091.       { 1 exch sub setgray
  1092.       dup dup scale
  1093.       dy 2 div cvi dup pntsize mod pntsize 2 div sub sub neg
  1094.         pntsize   dy pntsize add 2 div
  1095.         { dx 2 div cvi dup pntsize mod pntsize 2 div sub sub neg
  1096.           1 index moveto
  1097.           { (a) show
  1098.             currentpoint
  1099.             dup 3 index sub
  1100.             pntsize 2.1 div gt { pntsize sub } if
  1101.             1 index dx pntsize add 2 div gt
  1102.             { pop pop pop exit } if
  1103.             moveto
  1104.           } loop
  1105.         } for
  1106.       } for
  1107.       pop
  1108.    } bind def
  1109.  
  1110. %@Fill
  1111. /Denim %Denim,5, Frequency=72, MaxGray=100, MinGray=0, HalftoneScreen=60, RandomSeed=0
  1112.    { srand
  1113.    /Screen exch 30 300 InRange def
  1114.    /MinGrey exch 0 100 InRange def
  1115.    /MaxGrey exch MinGrey 100 InRange def
  1116.    /Frequency exch 1 300 InRange def
  1117.  
  1118.    eoclip newpath
  1119.  
  1120.    currentscreen
  1121.    3 -1 roll
  1122.    pop Screen
  1123.    3 1 roll
  1124.    setscreen
  1125.  
  1126.    /dx Bburx Bbllx sub def
  1127.    /dy Bbury Bblly sub def
  1128.    /wf Frequency 1000 div def
  1129.    /dgrey MaxGrey MinGrey sub 100 div def
  1130.  
  1131.    Bbllx Bblly translate
  1132.    /str 512 string def
  1133.  
  1134.    dx wf mul cvi 1 add  dy wf mul cvi 1 add  8  [wf 0 0 wf 0 0]
  1135.       { dgrey MinGrey 2.55 mul
  1136.       0 1 511
  1137.          { str exch
  1138.          rand -11 bitshift 255 and 4 index mul 3 index add cvi
  1139.          put
  1140.          } for
  1141.       p▌Ω½╪≤╩v▐í╪3d┌Ñ╕7Q}├┐σLaíT ASTùI ÿ·╡╘▀2îísÇ¢ßî╪m{0▒Ñ6l╦┴]¬»q    ▓x»%DNA,5, Frequency=4, LineWidth=1, ForegroundGray=100, BackgroundGray=0, Spacing(%)=100
  1142.    {
  1143.    /Spacing        exch 1 300 InRange def
  1144.    /BackgroundGray exch -1 100 InRange def
  1145.    /ForegroundGray exch 0 100 InRange def
  1146.    /Linewidth      exch 0 100 InRange def
  1147.    /Frequency      exch 1 100 InRange def
  1148.  
  1149.    /newfont 10 dict def
  1150.    newfont begin
  1151.  
  1152.    /FontMatrix [1 360 div           0
  1153.                 0                   1 360 div
  1154.                 0                   0] def
  1155.    /FontType 3 def
  1156.    /FontBBox [-20 0 20 360] def
  1157.    /Encoding 256 array def
  1158.    0 1 255 {Encoding exch /.notdef put} for
  1159.  
  1160.    /BuildChar
  1161.      { Spacing 110
  1162.        -20  0 20 360
  1163.        setcachedevice
  1164.        pop begin
  1165.  
  1166.        Linewidth pntsize mul 110 div setlinewidth
  1167.        0 0 moveto
  1168.        0 1 360
  1169.           { dup sin 20 mul exch lineto
  1170.           } for
  1171.        stroke
  1172.        20 0 moveto
  1173.        0 1 360
  1174.           { dup cos 20 mul exch lineto
  1175.           } for
  1176.        stroke
  1177.        0 20 360
  1178.           { dup dup sin 20 mul exch moveto
  1179.           dup cos 20 mul exch lineto
  1180.           } for
  1181.        stroke
  1182.  
  1183.        end
  1184.      } def
  1185.    end
  1186.  
  1187.    /pntsize 2000 Frequency div def
  1188.  
  1189.    /FillFont newfont definefont pop
  1190.    /FillFont findfont pntsize scalefont setfont
  1191.  
  1192.    eoclip
  1193.    BackgroundGray 0 ge
  1194.       { BackgroundGray 100 div 1 exch sub setgray fill }
  1195.       { newpath } ifelse
  1196.  
  1197.    ForegroundGray 100 div 1 exch sub setgray
  1198.  
  1199.    Bblly pntsize sub pntsize Bbury pntsize add
  1200.      { Bbllx 1 index moveto
  1201.        { (a) show
  1202.          currentpoint
  1203.          dup 3 index sub
  1204.          pntsize 2.1 div gt { pntsize sub } if
  1205.          1 index Bburx gt
  1206.          {pop pop pop exit} if
  1207.          moveto
  1208.        } loop
  1209.      } for
  1210.    } bind def
  1211.  
  1212. %@Fill
  1213. /Fishscale %Fishscale,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  1214.    {
  1215.    /BackgroundGray exch -1 100 InRange def
  1216.    /ForegroundGray exch 0 100 InRange def
  1217.    /Linewidth      exch 0 100 InRange hεvü$[╘Ä~∙πu/╪eα≥┼A@,(ì╩£RΦ@?αì5╬┌╙M±₧>Qâ'∩╝X]╕ƒbñ}UJ┤¢╥`z dict def
  1218.    newfont begin
  1219.  
  1220.    /FontMatrix [1  0  0
  1221.                 1  0  0] def
  1222.    /FontType 3 def
  1223.    /FontBBox [0 0 1 1] def
  1224.    /Encoding 256 array def
  1225.    0 1 255 {Encoding exch /.notdef put} for
  1226.  
  1227.    /BuildChar
  1228.      { 1  0
  1229.        0 0 1 1
  1230.        setcachedevice
  1231.        pop begin
  1232.  
  1233.        0.5 0.5 0.5 360 180 arcn
  1234.        0 1 0.5 270 360 arc
  1235.        1 1 0.5 180 270 arc
  1236.  
  1237.        Linewidth pntsize div setlinewidth
  1238.        stroke
  1239.  
  1240.       end
  1241.      } def
  1242.    end
  1243.  
  1244.    /pntsize 1000 Frequency div def
  1245.    /FillFont newfont definefont pop
  1246.    /FillFont findfont pntsize scalefont setfont
  1247.  
  1248.    eoclip
  1249.    BackgroundGray 0 ge
  1250.       { BackgroundGray 100 div 1 exch sub setgray fill }
  1251.       { newpath } ifelse
  1252.  
  1253.    ForegroundGray 100 div 1 exch sub setgray
  1254.  
  1255.     Bblly pntsize Bbury
  1256.       { Bbllx exch moveto
  1257.         { (a) show
  1258.           currentpoint
  1259.           pop Bburx gt
  1260.           {exit} if
  1261.         } loop
  1262.       } for
  1263.     } bind def
  1264.  
  1265.  
  1266. %@Fill
  1267. /Grass %Grass,5, Number=100, MaximumSize=35, MinimumSize=7, Gray=0, RandomSeed=0
  1268.     { srand
  1269.     /Grey exch -1 100 InRange def
  1270.     /MinSize exch 1 100 InRange def
  1271.     /MaxSize exch MinSize 100 InRange MinSize wDstChck def
  1272.     /Number exch 1 500 InRange def
  1273.  
  1274.     eoclip
  1275.     Grey 0 ge
  1276.        { Grey 100 div 1 exch sub setgray fill }
  1277.        { newpath } ifelse
  1278.  
  1279.     /Bbllx Bbllx MaxSize sub def
  1280.     /Bblly Bblly MaxSize sub def
  1281.  
  1282.     /dx Bburx Bbllx sub def
  1283.     /dy Bbury Bblly sub def
  1284.     /dSize MaxSize MinSize sub def
  1285.  
  1286.     dx dy mul 1000000 div Number mul cvi
  1287.        {
  1288.  
  1289.        matrix currentmatrix
  1290.  
  1291.        rand dx mod Bbllx add
  1292.        rand dy mod Bblly add
  1293.        translate
  1294.  
  1295.        rand dSize mod MinSize add
  1296.        dup scale
  1297.  
  1298.        -0.5 0 moveto
  1299.        rand 14 mod 7 sub
  1300.        -0.5 3  2 index 3 div 0.3 sub 10  4 index 10 curveto
  1301.        3 div 0.3 add 10 0.5 3 0.5 0 curveto
  1302.        gsave
  1303.        1 setgray
  1304.        fill
  1305.        grestore
  1306.        0.1 setlinewidth
  1307.        0 setgray■∩æ₧z]%!ç φC─≈┐Φε≡╪ôXk(ónºó-╖╗╪▌╢ûb(╢FÄ▐╔≡τ!²ä[ε≥    :Z▄≤ßfÖ bind def
  1308.  
  1309. %@Fill
  1310. /Hatching %Hatching,5, MaxDistance=75, MinDistance=0, LineWidth=5, Angle=45, RandomSeed=0
  1311.    { srand
  1312.    /Angle exch -180 180 InRange def
  1313.    /LineWidth exch 0 100 InRange def
  1314.    /MinDist exch 0 500 InRange def
  1315.    /MaxDist exch MinDist 500 InRange MinDist wDstChck def
  1316.  
  1317.    eoclip
  1318.    newpath
  1319.  
  1320.    /pntsize MaxDist MinDist sub def
  1321.    /dx2 Bburx Bbllx sub 2 div def
  1322.    /dy2 Bbury Bblly sub 2 div def
  1323.    /hyp2 dx2 dup mul dy2 dup mul add sqrt def
  1324.  
  1325.    Bbllx Bblly translate
  1326.    dx2 dy2 translate
  1327.    Angle rotate
  1328.    LineWidth setlinewidth
  1329.  
  1330.    /wd hyp2 neg def
  1331.  
  1332.       { /wd rand pntsize mod MinDist add wd add def
  1333.       wd hyp2 neg moveto
  1334.       wd hyp2 lineto
  1335.       stroke
  1336.       wd hyp2 gt {exit} if
  1337.       } loop
  1338.  
  1339.    } bind def
  1340.  
  1341. %@Fill
  1342. /Hexagons %Hexagons,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  1343.    {
  1344.    /BackgroundGray exch -1 100 InRange def
  1345.    /ForegroundGray exch 0 100 InRange def
  1346.    /LineWidth      exch 0 100 InRange def
  1347.    /Frequency      exch 2 100 InRange def
  1348.  
  1349.    /newfont 10 dict def
  1350.    newfont begin
  1351.  
  1352.    /FontMatrix [1 3 sqrt div        0
  1353.                 0                   1 3 sqrt div
  1354.                 0                   0] def
  1355.    /FontType 3 def
  1356.    /FontBBox [0 0 2 3 sqrt] def
  1357.    /Encoding 256 array def
  1358.    0 1 255 {Encoding exch /.notdef put} for
  1359.  
  1360.    /BuildChar
  1361.      { 3 2 div  3 sqrt 2 div
  1362.        -0.1 -0.1 2.1 3 sqrt 0.1 add
  1363.        setcachedevice
  1364.        pop begin
  1365.  
  1366.        1 2 div  0 moveto
  1367.        3 2 div  0 lineto
  1368.        2  3 sqrt 2 div lineto
  1369.        3 2 div  3 sqrt lineto
  1370.        1 2 div  3 sqrt lineto
  1371.        0  3 sqrt 2 div lineto
  1372.        closepath
  1373.  
  1374.        LineWidth pntsize div 3 sqrt mul setlinewidth
  1375.        stroke
  1376.  
  1377.       end
  1378.      } def
  1379.    end
  1380.  
  1381.    /pntsize 1155 Frequency div def
  1382.    /FillFont newfont definefont pop
  1383.    /FillFont findfont pntsize scalefont setfont
  1384.  
  1385.    eoclip
  1386.    BackgroundGray 0 ge
  1387.       { BackgroundGray 100 div 1 exch sub setgra▄W┌Mñd≥üE╔ä$Å╞┌v║4µ¥YèQ£■ôkâ║O*ù_ùæ¡,t°ù╝▒Nûå╪$=NæNy²πéÿ╨.1 exch sub setgray
  1388.  
  1389.    Bblly pntsize Bbury
  1390.      { Bbllx 1 index moveto
  1391.        { (a) show
  1392.          currentpoint
  1393.          dup 3 index sub
  1394.          pntsize 2 div gt { pntsize sub } if
  1395.          1 index Bburx gt
  1396.          {pop pop pop exit} if
  1397.          moveto
  1398.        } loop
  1399.      } for
  1400.    } bind def
  1401.  
  1402. %@Fill
  1403. /Honeycomb %Honeycomb,5, Frequency=4, BackGray=100, FrontGray=0, Scaling(%)=75, LineWidth=5
  1404.    {
  1405.    /LineWidth exch 0 100 InRange def
  1406.    /Scaling exch 10 100 InRange def
  1407.    /FrontGrey exch 0 100 InRange def
  1408.    /BackGrey exch -100 100 InRange def
  1409.    /Frequency exch 1 50 InRange def
  1410.  
  1411.    /newfont 10 dict def
  1412.    newfont begin
  1413.  
  1414.    /FontMatrix [1 3 sqrt div        0
  1415.                 0                   1 3 sqrt div
  1416.                 0                   0] def
  1417.    /FontType 3 def
  1418.    /FontBBox [0 0 2 3 sqrt] def
  1419.    /Encoding 256 array def
  1420.    0 1 255 {Encoding exch /.notdef put} for
  1421.  
  1422.    /BuildChar
  1423.      { 3 2 div  3 sqrt 2 div
  1424.        -0.1 -0.1 2.1 3 sqrt 0.1 add
  1425.        setcachedevice
  1426.        pop begin
  1427.  
  1428.        1 2 div  0 moveto
  1429.        3 2 div  0 lineto
  1430.        2  3 sqrt 2 div lineto
  1431.        3 2 div  3 sqrt lineto
  1432.        1 2 div  3 sqrt lineto
  1433.        0  3 sqrt 2 div lineto
  1434.        closepath
  1435.  
  1436.        LineWidth pntsize div 3 sqrt mul setlinewidth
  1437.        stroke
  1438.  
  1439.       end
  1440.      } def
  1441.    end
  1442.  
  1443.    /pntsize 1000 Frequency div cvi def
  1444.  
  1445.    /FillFont newfont definefont pop
  1446.    /FillFont findfont pntsize scalefont setfont
  1447.  
  1448.    /dx Bburx Bbllx sub def
  1449.    /dy Bbury Bblly sub def
  1450.  
  1451.    eoclip newpath
  1452.  
  1453.    currentscreen
  1454.    3 -1 roll
  1455.    pop 120
  1456.    3 1 roll
  1457.    setscreen
  1458.  
  1459.    Bbllx dx 2 div add  Bblly dy 2 div add translate
  1460.  
  1461.    /dx dx 100 mul Scaling div def
  1462.    /dy dy 100 mul Scaling div def
  1463.  
  1464.    Scaling 100 div dup scale
  1465.    100 Scaling div log 10 div 10 exch exp
  1466.    BackGrey 0 100 InRange 100 div  FrontGrey BackGrey sub 1000 div  FrontGrey .1 sub 100 div
  1467.       { 1 exch sub setgray
  1468.       dup dup scale
  1469.       dy 2 div cvi dÿ▐g±fæu╣öî
  1470. ╡╘ƒΓ=╩îⁿ╖
  1471. Z'Y╒}Ü+Θ^▒:3P┘0░Ñ┼┌ '╖9▓°2Fc╔■äqTtδ⌐ntsize add 2 div
  1472.         { dx 2 div cvi dup pntsize mod pntsize 2 div sub sub neg
  1473.           1 index moveto
  1474.           { (a) show
  1475.             currentpoint
  1476.             dup 3 index sub
  1477.             pntsize 2.1 div gt { pntsize sub } if
  1478.             1 index dx pntsize add 2 div gt
  1479.             { pop pop pop exit } if
  1480.             moveto
  1481.           } loop
  1482.         } for
  1483.       } for
  1484.    pop
  1485.    } bind def
  1486.  
  1487. %@Fill
  1488. /Impact %Impact,5, LineWidth=5, StepLength=15, MaximumAngle=40, MinimumAngle=10, RandomSeed=0
  1489.    { srand
  1490.    /MinAng exch 2 90 InRange def
  1491.    /MaxAng exch MinAng 90 InRange MinAng wDstChck def
  1492.    /Step exch 10 500 InRange def
  1493.    /Linewidth exch 0 100 InRange def
  1494.  
  1495.    eoclip
  1496.    newpath
  1497.  
  1498.    /dx Bburx Bbllx sub def
  1499.    /dy Bbury Bblly sub def
  1500.    /DifAng MaxAng MinAng sub def
  1501.  
  1502.    Bbllx Bblly translate
  1503.  
  1504.    dx 2 div  dy 2 div  translate
  1505.    Linewidth Step div setlinewidth
  1506.    Step Step scale
  1507.  
  1508.    /theta 0 def
  1509.       { matrix currentmatrix
  1510.       /theta theta rand DifAng mod add MinAng add def
  1511.       theta 360 gt {pop exit} if
  1512.       theta rotate
  1513.       0 0 moveto
  1514.       rand 150 mod 50 add
  1515.          {
  1516.          currentpoint translate
  1517.          rand 120 mod 60 sub theta add dup rotate
  1518.          1 0 lineto
  1519.          neg rotate
  1520.          } repeat
  1521.       stroke
  1522.       setmatrix
  1523.       } loop
  1524.    } bind def
  1525.  
  1526.  
  1527. %@Fill
  1528. /Landscape %Landscape,4, Depth=6, MaximumGray=100, MinimumGray=0, RandomSeed=0
  1529.    {
  1530.    srand
  1531.    /MinGrey exch 0 100 InRange def
  1532.    /MaxGrey exch MinGrey 100 InRange def
  1533.    /maxdepth exch 1 7 InRange def
  1534.  
  1535.    /dGrey MaxGrey MinGrey sub 200 div def
  1536.    /AvGrey MaxGrey MinGrey add 200 div def
  1537.  
  1538.    eoclip newpath
  1539.    /depth 0 def
  1540.    /ardepth 2 maxdepth 1 sub exp cvi def
  1541.    /height 1.8 8 maxdepth sub exp def
  1542.  
  1543.    /horz 0 def
  1544.    /vert 0 def
  1545.    /Array ardepth 1 add array def
  1546.    0 1 ardepth
  1547.       { Array exch ardepth 1 add array put
  1548.       } for
  1549.    0 1 ardepth
  1550.       { Array exch get
  1551.       0 1 ardepth
  1552.          {╞(■ o%┐▒vöª¥╫9µ╤$o┘┼═
  1553. ö─Dα⌐ç≤⌐╨<û
  1554. h≈ τ- Γt puC w>rôbl╝nUfor
  1555.  
  1556.    /Square
  1557.       {
  1558.       /depth depth 1 add def
  1559.       depth maxdepth eq
  1560.       {
  1561.       Array horz get vert get dup 1 add dup moveto                    %ur
  1562.       Array horz 1 add get vert get dup 1 add lineto             %ul
  1563.       Array horz 1 add get vert 1 add get dup dup lineto         %ll
  1564.       Array horz get vert 1 add get dup 1 add exch lineto             %lr
  1565.       closepath
  1566.       sub
  1567.       dGrey mul AvGrey add
  1568.       setgray
  1569.       fill }
  1570.  
  1571.       {
  1572.       /wd 2 maxdepth depth sub 1 sub exp cvi def
  1573.  
  1574.       Array horz wd 2 mul add get vert wd 2 mul add get
  1575.       Array horz get vert wd 2 mul add get
  1576.       Array horz wd 2 mul add get vert get
  1577.       Array horz get vert get
  1578.  
  1579.       4 copy add add add 4 div
  1580.             rand 50 mod 25 sub height div 2 depth exp div add
  1581.       Array horz wd add get
  1582.             vert wd add 2 index put  pop
  1583.  
  1584.       3 index 2 index add 2 div
  1585.             rand 50 mod 25 sub height div 2 depth exp div add
  1586.       Array horz wd 2 mul add get
  1587.             vert wd add 2 index put   pop
  1588.  
  1589.       3 index 3 index add 2 div
  1590.             rand 50 mod 25 sub height div 2 depth exp div add
  1591.       Array horz wd add get
  1592.             vert wd 2 mul add 2 index put   pop
  1593.  
  1594.       horz 0 eq
  1595.       { 2 index 1 index add 2 div
  1596.             rand 50 mod 25 sub height div 2 depth exp div add
  1597.       Array horz get
  1598.             vert wd add 2 index put    pop
  1599.       } if
  1600.  
  1601.       vert 0 eq
  1602.       { 1 index 1 index add 2 div
  1603.             rand 50 mod 25 sub height div 2 depth exp div add
  1604.       Array horz wd add get
  1605.             vert 2 index put          pop
  1606.       } if
  1607.  
  1608.       pop pop pop pop
  1609.       .5 .5 translate
  1610.       .5 .5 scale
  1611.       Square
  1612.       2 2 scale
  1613.  
  1614.       /horz horz 2 maxdepth depth sub 1 sub exp cvi add def
  1615.       -.5 0 translate
  1616.       .5 .5 scale
  1617.       Square
  1618.       2 2 scale
  1619.       /horz horz 2 maxdepth depth sub 1 sub exp cvi sub def
  1620.  
  1621.       /vert vert 2 maxdepth depth sub 1 sub exp cvi add def
  1622.     ¼─Φ~ç.╣Θ/█|⌡╜CëΩ8╗╪δÄ»╜íêºî║∞R~r¡µí9╫Θⁿ⌠¬╩æ
  1623. ├_c≈Æδ╘┘≈
  1624. ■σ╣Ö⌡Wcale
  1625.       /vert vert 2 maxdepth depth sub 1 sub exp cvi sub def
  1626.  
  1627.       /horz horz 2 maxdepth depth sub 1 sub exp cvi add def
  1628.       /vert vert 2 maxdepth depth sub 1 sub exp cvi add def
  1629.       -.5 0 translate
  1630.       .5 .5 scale
  1631.       Square
  1632.       2 2 scale
  1633.       /horz horz 2 maxdepth depth sub 1 sub exp cvi sub def
  1634.       /vert vert 2 maxdepth depth sub 1 sub exp cvi sub def
  1635.  
  1636.       } ifelse
  1637.       /depth depth 1 sub def
  1638.  
  1639.    } def
  1640.  
  1641.    /dx Bburx Bbllx sub def
  1642.    /dy Bbury Bblly sub def
  1643.    /hyp dx dup mul dy dup mul add sqrt def
  1644.    Bbllx dx 2 div add  Bblly dy 2 div add translate
  1645.    hyp 1.2 mul dup scale
  1646.    45 rotate
  1647.    -.5 -.5 translate
  1648.  
  1649.    currentscreen
  1650.    3 -1 roll
  1651.    pop 120
  1652.    3 1 roll
  1653.    setscreen
  1654.  
  1655.    0 0 0 0
  1656.    Square
  1657.    4{ pop }repeat
  1658.  
  1659.    } bind def
  1660.  
  1661. %@Fill
  1662. /Leaves %Leaves,5, Number(sq_inch)=50, MaximumGray=100, MinimumGray=0, MaximumSize=100, MinimumSize=10
  1663.    {
  1664.    /MinSize exch 1 200 InRange def
  1665.    /MaxSize exch MinSize 200 InRange MinSize wDstChck def
  1666.    /MinGrey exch 0 100 InRange def
  1667.    /MaxGrey exch MinGrey 100 InRange def
  1668.    /Number exch 1 250 InRange def
  1669.  
  1670.    eoclip newpath
  1671.    currentscreen
  1672.    3 -1 roll
  1673.    pop 90
  1674.    3 1 roll
  1675.    setscreen
  1676.  
  1677.    /dx Bburx Bbllx sub def
  1678.    /dy Bbury Bblly sub def
  1679.  
  1680.    dx dy mul Number mul 1000000 div cvi
  1681.       {
  1682.       matrix currentmatrix
  1683.  
  1684.       rand dx mod Bbllx add
  1685.       rand dy mod Bblly add
  1686.       translate
  1687.  
  1688.       rand 360 mod
  1689.       rotate
  1690.  
  1691.       MaxSize MinSize eq
  1692.         { Maxsize 10.8 div }
  1693.         { rand MaxSize MinSize sub mod MinSize add 10.8 div } ifelse
  1694.       dup scale
  1695.  
  1696.       17 0 moveto
  1697.       65 -18 106 -13 125 0 curveto
  1698.       106 13  65  18  17 0 curveto
  1699.       gsave
  1700.       MaxGrey MinGrey eq
  1701.         { MaxGrey 100 div }
  1702.         { rand MaxGrey MinGrey sub mod MinGrey add 100 div } ifelse
  1703.       setgray
  1704.       fill
  1705.       grestore
  1706.       0.3 setlinewidth
  1707.       0 setgray
  1708.       stroke
  1709.  
  1710.       setmatrix
  1711.  
  1712.       } repeat
  1713.  
  1714.    } Mûê«,╚4≤Hª▀╫*= ≡°ù⌡
  1715. é&4o║▀oµ
  1716. ?-╦δ≡\╒öpB3ë┘]ªï┐▐⌠]πïô╬è, ShadowLowerLeft=3, ShadowUpperRight=15, ForegroundGray=100
  1717.    {
  1718.    /ForegroundGray exch 0 100 InRange def
  1719.    /Shadow2 exch 0 100 InRange def
  1720.    /Shadow1 exch 0 100 InRange def
  1721.    /SquareSize exch 1 100 InRange def
  1722.    /Frequency exch 1 25 InRange def
  1723.  
  1724.    /newfont 10 dict def
  1725.    newfont begin
  1726.  
  1727.    /FontMatrix [1         0
  1728.                 0         1
  1729.                 0         0] def
  1730.    /FontType 3 def
  1731.    /FontBBox [0 0 1 1] def
  1732.    /Encoding 256 array def
  1733.    0 1 255 {Encoding exch /.notdef put} for
  1734.  
  1735.    /BuildChar
  1736.      { 1  0
  1737.        -0.1 -0.1 1.1 1.1
  1738.        setcachedevice
  1739.        pop begin
  1740.  
  1741.        0 setlinejoin
  1742.  
  1743.        SquareSize 100 div dup scale
  1744.        0 0 moveto
  1745.        1 0 lineto
  1746.        1 1 lineto
  1747.        0 1 lineto
  1748.        closepath
  1749.  
  1750.        Shadow1 100 div
  1751.        1 Shadow2 100 div sub
  1752.        1 index dup moveto
  1753.        1 index 1 index lineto
  1754.        dup dup lineto
  1755.        dup 2 index lineto
  1756.        closepath
  1757.        2{pop}repeat
  1758.        fill
  1759.  
  1760.        end
  1761.      } def
  1762.    end
  1763.  
  1764.    /pntsize 1000 Frequency div def
  1765.  
  1766.    /FillFont newfont definefont pop
  1767.    /FillFont findfont pntsize scalefont setfont
  1768.  
  1769.    eoclip newpath
  1770.  
  1771.    ForegroundGray 100 div 1 exch sub setgray
  1772.  
  1773.    Bblly pntsize Bbury
  1774.      { Bbllx exch moveto
  1775.        { (a) show
  1776.          currentpoint
  1777.          pop Bburx gt
  1778.          {exit} if
  1779.        } loop
  1780.      } for
  1781.    } bind def
  1782.  
  1783. %@Fill
  1784. /Motifs %Motifs,4, Motif=1, Frequency=2, Spacing(%)=100, ForegroundGray=100
  1785.    {
  1786.    /ForegroundGray exch 0 100 InRange def
  1787.    /Spacing exch 1 300 InRange def
  1788.    /Frequency exch 1 25 InRange def
  1789.    /Character exch 1 8 InRange def
  1790.  
  1791.    /str 1 string def
  1792.    str 0 Character put
  1793.  
  1794.    /newfont 10 dict def
  1795.    newfont begin
  1796.  
  1797.    /FontMatrix [.001                0
  1798.                 0                   .001
  1799.                 0                   0] def
  1800.    /FontType 3 def
  1801.    /FontBBox [0 0 500 1000] def
  1802.  
  1803.    /Encoding 256 array def
  1804.    0 1 255 {Encoding exch /.notdef put}~┐N║ê4┴)«≥.{╟⌠¼│╚┐8îÄ╔2ÿ├0≡ª±Γæò╧∙æ;─{i¼·%│█  gcQn{H·Ö#ΘKK/Dut
  1805.    Encoding  3 /Globe put
  1806.    Encoding  4 /CubeSolid put
  1807.    Encoding  5 /CubeFrame put
  1808.    Encoding  6 /Balls put
  1809.    Encoding  7 /Checkerboard put
  1810.    Encoding  8 /CCCTlogo put
  1811.  
  1812.    /CharProcs 9 dict def
  1813.    CharProcs begin
  1814.    /.notdef {} def
  1815.    /CanadianFlag
  1816.      { 9.6 9.6 scale
  1817.        9 -30 translate
  1818.  
  1819.        -9 60 moveto
  1820.        -9 30 lineto
  1821.        -1 30 lineto
  1822.        -1 60 lineto
  1823.        closepath
  1824.  
  1825.        43 60 moveto
  1826.        43 30 lineto
  1827.        35 30 lineto
  1828.        35 60 lineto
  1829.        closepath
  1830.  
  1831.        17 58 moveto
  1832.        15 54 lineto
  1833.        12 55 lineto
  1834.        14 47 lineto
  1835.        10 51 lineto
  1836.        10 49 lineto
  1837.        05 50 lineto
  1838.        07 45 lineto
  1839.        05 45 lineto
  1840.        12 39 lineto
  1841.        10 37 lineto
  1842.        16.5 38 lineto
  1843.        16.5 32 lineto
  1844.        17.5 32 lineto
  1845.        17.5 38 lineto
  1846.        24 37 lineto
  1847.        22 39 lineto
  1848.        29 45 lineto
  1849.        27 45 lineto
  1850.        29 50 lineto
  1851.        24 49 lineto
  1852.        24 51 lineto
  1853.        20 47 lineto
  1854.        22 55 lineto
  1855.        19 54 lineto
  1856.        closepath
  1857.  
  1858. %       0.3 setlinewidth
  1859. %       stroke
  1860.        fill
  1861.        } def
  1862.    /Corels
  1863.        { 250 250 translate
  1864.        113 113 scale
  1865.  
  1866.        7 { 45 rotate
  1867.          gsave
  1868.          1 2 sqrt div 1 add 0 translate
  1869.          .5 .5 moveto
  1870.          -.5 .5 lineto
  1871.          -.5 -.5 lineto
  1872.          .5 -.5 lineto
  1873.          closepath
  1874.          fill
  1875.          grestore
  1876.          } repeat
  1877.        } def
  1878.    /Globe
  1879.        {
  1880.        250 250 translate
  1881.        250 250 scale
  1882.        0 1 4
  1883.           { matrix currentmatrix exch
  1884.           22.5 mul sin
  1885.           1 scale
  1886.           0 0 1 90 450 arc
  1887.           setmatrix
  1888.           } for
  1889.  
  1890.        -3 1 3
  1891.           { 22.5 mul sin
  1892.           dup
  1893.           dup mul 1 sub neg sqrt
  1894.           dup neg 2 index moveto
  1895.           exch lineto
  1896.           } for
  1897.  
  1898.        .01 setlinewidth
  1899.        stroke
  1900.        } def
  1901.    /CubeSolid
  1902.        {
  1903.        250 250 translate
  1904.       æ²?τl[Pu╬è╩éjΦ╢:#        Äü/├╚╥(Çô£¢┤å╨eI£°fOU6º    ┼╗╨≈A╨j}{@c║╖╗form
  1905.           exch 3 1 roll
  1906.           30 matrix rotate transform
  1907.           pop exch
  1908.           moveto
  1909.           } bind def
  1910.        /Rotl
  1911.           { 30 matrix rotate transform
  1912.           exch 3 1 roll
  1913.           30 matrix rotate transform
  1914.           pop exch
  1915.           lineto
  1916.           } bind def
  1917.  
  1918.         1  1  1 Rotm
  1919.        -1  1  1 Rotl
  1920.        -1 -1  1 Rotl
  1921.         1 -1  1 Rotl
  1922.        closepath
  1923.  
  1924.        -1  1  1 Rotm
  1925.        -1  1 -1 Rotl
  1926.         1  1 -1 Rotl
  1927.         1 -1 -1 Rotl
  1928.         1 -1  1 Rotl
  1929.  
  1930.         1  1  1 Rotm
  1931.         1  1 -1 Rotl
  1932.  
  1933.        .01 setlinewidth
  1934.        stroke
  1935.        } def
  1936.    /CubeFrame
  1937.        {
  1938.        250 250 translate
  1939.        145 145 scale
  1940.        /Rotm
  1941.           { 30 matrix rotate transform
  1942.           exch 3 1 roll
  1943.           30 matrix rotate transform
  1944.           pop exch
  1945.           moveto
  1946.           } bind def
  1947.        /Rotl
  1948.           { 30 matrix rotate transform
  1949.           exch 3 1 roll
  1950.           30 matrix rotate transform
  1951.           pop exch
  1952.           lineto
  1953.           } bind def
  1954.  
  1955.         1  1  1 Rotm
  1956.        -1  1  1 Rotl
  1957.        -1 -1  1 Rotl
  1958.         1 -1  1 Rotl
  1959.        closepath
  1960.  
  1961.         1  1 -1 Rotm
  1962.        -1  1 -1 Rotl
  1963.        -1 -1 -1 Rotl
  1964.         1 -1 -1 Rotl
  1965.        closepath
  1966.  
  1967.         1  1  1 Rotm
  1968.         1  1 -1 Rotl
  1969.        -1  1  1 Rotm
  1970.        -1  1 -1 Rotl
  1971.        -1 -1  1 Rotm
  1972.        -1 -1 -1 Rotl
  1973.         1 -1  1 Rotm
  1974.         1 -1 -1 Rotl
  1975.  
  1976.        .01 setlinewidth
  1977.        stroke
  1978.        } def
  1979.    /Balls
  1980.        { 250 250 translate
  1981.        225 225 scale
  1982.  
  1983.        0 0 1.1 0 360 arc
  1984.        -0.32  0.55 translate
  1985.        30 rotate
  1986.        1 2 div  1 3 div scale
  1987.        0 0 1.1 360 0 arcn
  1988.        fill
  1989.        } def
  1990.    /Checkerboard
  1991.        { 0 0 moveto
  1992.        500 0 lineto
  1993.        500 500 lineto
  1994.        0 500 lineto
  1995.        closepath
  1996.        fill
  1997.        } def
  1998.    /CCCTlogo
  1999.        {
  2000.        4.8 4.8 scale
  2001.        -21 -26 translate
  2002.  
  2003.        36.4 28.4 moveto
  2004.        70ûå_?≥e▀ù▐¢kHΦxúâs :Φ┌B(â┬▀┼g6δ╛╖■lo+wó╕ #U3┤αl:Üδĵösδ+τå5-
  2005. AT  21 37 24 38 22 32 curveto
  2006.        21 28 25 27 28 28 curveto
  2007.        33 26 32 30 36.4 28.4 curveto
  2008.  
  2009.        36.5 48.2 moveto
  2010.        70 38 35 163.1 144.5 arcn
  2011.        40 59 39 60 36 61 curveto
  2012.        33 63 29 62 27 61 curveto
  2013.        24 58 29 55 26 54 curveto
  2014.        24 53 25 50 25 50 curveto
  2015.        28 47 30 44 36.5 48.2 curveto
  2016.  
  2017.        44.3 61.7 moveto
  2018.        70 38 35 137.3 111.5 arcn
  2019.        56 81 52 75 53 81 curveto
  2020.        52 87 50 81 46 84 curveto
  2021.        37 84 40 80 40 76 curveto
  2022.        42 70 35 73 44.3 61.7 curveto
  2023.  
  2024.        60.8 71.8 moveto
  2025.        70 38 35 105.3 80.0 arcn
  2026.        78 72 78 76 77 80 curveto
  2027.        77 81 80 82 79 83 curveto
  2028.        77 85 74 84 70 85 curveto
  2029.        65 85 69 80 62 80 curveto
  2030.        59 77 61 74 60.8 71.8 curveto
  2031.  
  2032.        97.1 60.1 moveto
  2033.        70 38 35 39.2 66.4 arc
  2034.        81 74 82 78 85 81 curveto
  2035.        91 81 98 84 95 76 curveto
  2036.        98 74 115 77 103 72 curveto
  2037.        101 68 100 61 97.1 60.1 curveto
  2038.  
  2039.        100 56 moveto
  2040.        70 38 35 31 11.6 arcn
  2041.        113 42 114 49 118 50 curveto
  2042.        115 57 123 56 120 60 curveto
  2043.        115 60 116 64 109 63 curveto
  2044.        104 62 107 57 100 56 curveto
  2045.  
  2046.        105 39 moveto
  2047.        70 38 35 1.6 -14.8 arcn
  2048.        107 27 110 28 112 27 curveto
  2049.        115 27 111 31 118 32 curveto
  2050.        120 33 125 33 122 36 curveto
  2051.        121 37 119 38 117 39 curveto
  2052.        113 46 112 39 105 39 curveto
  2053.  
  2054.        fill
  2055.     } def
  2056.    end
  2057.  
  2058.    /BuildChar
  2059.      {Spacing 100 div 500 mul  dup
  2060.       -0.1 -0.1 500.1 1000.1
  2061.       setcachedevice
  2062.       exch begin
  2063.       Encoding exch get
  2064.       CharProcs exch get
  2065.       end
  2066.       exec
  2067.      }def
  2068.    end
  2069.  
  2070.    /pntsize 100000 Frequency div Spacing div def
  2071.  
  2072.    /FillFont newfont definefont pop
  2073.    /FillFont findfont pntsize scalefont setfont
  2074.  
  2075.    /increment Spacing 100 div pntsize mul def
  2076.  
  2077.    eoclip newpath
  2078.    ForegroundGray 100 div 1 exch sub setgray
  2079.    Bblly increment Bbury
  2080.      { Bbllx 1 index moveto
  2081.        ╨╫äoYPÑ<p:S«╒\═▒│⌠╩j·│ÅåÄΩYEh╗&^╢ÿi╪├ÄÜå░ëS╫┐a}5ì^╔ ∞Ü·╞2      increment 2.1 div gt { increment sub } if
  2082.          1 index Bburx gt
  2083.          {pop pop pop exit} if
  2084.          moveto
  2085.        } loop
  2086.      } for
  2087.    } bind def
  2088.  
  2089. %@Fill
  2090. /Octagons %Octagons,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  2091.    {
  2092.    /BackgroundGray exch -1 100 InRange def
  2093.    /ForegroundGray exch 0 100 InRange def
  2094.    /Linewidth      exch 0 100 InRange def
  2095.    /Frequency      exch 2 100 InRange def
  2096.  
  2097.    /newfont 10 dict def
  2098.    newfont begin
  2099.  
  2100.    /FontMatrix [1 2 sqrt 1 add div  0
  2101.                 0                   1 2 sqrt 1 add div
  2102.                 0                   0] def
  2103.    /FontType 3 def
  2104.    /FontBBox [0 0 2 sqrt 1 add 2 sqrt 1 add] def
  2105.    /Encoding 256 array def
  2106.    0 1 255 {Encoding exch /.notdef put} for
  2107.  
  2108.    /BuildChar
  2109.      { 2 sqrt 1 add  0
  2110.        -0.5 -0.5 2 sqrt 1.5 add 2 sqrt 1.5 add
  2111.        setcachedevice
  2112.        pop begin
  2113.  
  2114.        1 2 sqrt div  0 moveto
  2115.        1 2 sqrt div 1 add  0 lineto
  2116.        2 sqrt 1 add  1 2 sqrt div lineto
  2117.        2 sqrt 1 add  1 2 sqrt div 1 add lineto
  2118.        1 2 sqrt div 1 add  2 sqrt 1 add lineto
  2119.        1 2 sqrt div  2 sqrt 1 add lineto
  2120.        0  1 2 sqrt div 1 add lineto
  2121.        0  1 2 sqrt div lineto
  2122.        closepath
  2123.  
  2124.        Linewidth pntsize div 2 sqrt 1 add mul setlinewidth
  2125.        stroke
  2126.  
  2127.       end
  2128.      } def
  2129.    end
  2130.  
  2131.    /pntsize 1000 Frequency div def
  2132.    /FillFont newfont definefont pop
  2133.    /FillFont findfont pntsize scalefont setfont
  2134.  
  2135.    eoclip
  2136.    BackgroundGray 0 ge
  2137.       { BackgroundGray 100 div 1 exch sub setgray fill }
  2138.       { newpath } ifelse
  2139.  
  2140.    ForegroundGray 100 div 1 exch sub setgray
  2141.  
  2142.    Bblly pntsize Bbury
  2143.      { Bbllx pntsize Bburx
  2144.        { 1 index moveto
  2145.        (a) show
  2146.        } for
  2147.      pop
  2148.      } for
  2149.    } bind def
  2150.  
  2151. %@Fill
  2152. /Patio %Patio,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  2153.    {
  2154.    /BackgroundGray exch -1 100 InRange def
  2155.    /ForegroundGray exch 0 100 InRange def
  2156.    /Linewidtπ£T≥)Ajz(╣Sòià9┤¥*├φU⌐ëm▌Fô!UÄ'▒ü`¬φôà#ººl╢.+Åa+ç┼ç╨ü%1zÖange def
  2157.  
  2158.    /newfont 10 dict def
  2159.    newfont begin
  2160.  
  2161.    /FontMatrix [2 7 div             0
  2162.                 0                   2 7 div
  2163.                 0                   0] def
  2164.    /FontType 3 def
  2165.    /FontBBox [0 0 3 sqrt 2 mul  7 2 div] def
  2166.    /Encoding 256 array def
  2167.    0 1 255 {Encoding exch /.notdef put} for
  2168.  
  2169.    /BuildChar
  2170.      { 3 sqrt 3 mul 2 div  3 2 div
  2171.        -0.5 -0.5 3 sqrt 2 mul 0.5 add 7 2 div 0.5 add
  2172.        setcachedevice
  2173.        pop begin
  2174.  
  2175.        3 sqrt  3 2 div  translate
  2176.        3 sqrt 2 div  1 2 div  moveto
  2177.        3 { 120 rotate
  2178.            3 sqrt 2 div  -3 2 div lineto
  2179.            3 sqrt  -1 lineto
  2180.            3 sqrt  0 lineto
  2181.            3 sqrt 2 div  1 2 div lineto
  2182.          } repeat
  2183.  
  2184.        Linewidth pntsize div 7 2 div mul setlinewidth
  2185.        stroke
  2186.  
  2187.        end
  2188.      } def
  2189.    end
  2190.  
  2191.    /pntsize 1250 Frequency div def
  2192.  
  2193.    /FillFont newfont definefont pop
  2194.    /FillFont findfont pntsize scalefont setfont
  2195.  
  2196.    /Pointsize pntsize 6 mul 7 div def
  2197.  
  2198.    eoclip
  2199.    BackgroundGray 0 ge
  2200.       { BackgroundGray 100 div 1 exch sub setgray fill }
  2201.       { newpath } ifelse
  2202.  
  2203.    ForegroundGray 100 div 1 exch sub setgray
  2204.  
  2205.    Bblly Pointsize Bbury
  2206.      { Bbllx 1 index moveto
  2207.        { (a) show
  2208.          currentpoint
  2209.          dup 3 index sub
  2210.          Pointsize 2 div gt { Pointsize sub } if
  2211.          1 index Bburx gt
  2212.          {pop pop pop exit} if
  2213.          moveto
  2214.        } loop
  2215.      } for
  2216.    } bind def
  2217.  
  2218. %@Fill
  2219. /Rectangles %Rectangles,5, Area=100, Number=50, Linewidth=5, Gray=0, RandomSeed=0
  2220.    {
  2221.    srand
  2222.    /Grey exch 0 100 InRange def
  2223.    /Linewidth exch 0 100 InRange def
  2224.    /Number exch 1 200 InRange def
  2225.    /area exch 10 300 InRange def
  2226.  
  2227.    /dx Bburx Bbllx sub 2 mul def
  2228.    /dy Bbury Bblly sub 2 mul def
  2229.    /Area area 10000 mul def
  2230.  
  2231.    eoclip newpath
  2232.  
  2233.    Linewidth setlinewidth
  2234.    Bbllx dx 2 div sub  Bblly dy 2 div sub  translate
  2235.  
  2236. %   Area log
  2237.    Number {
  2238.       rand dx mod rand dy mod movetoΩc∩σÇr─ ▄f⌐╓z@]√É!≥√τV3╜τ│bWÑjó=db=▒Å·┴QΓ⌡ëBrX#Tä═≈&v/ö$Wt
  2239. %      exch atan 180 div 1 index mul 10 exch exp
  2240.       rand Area mod rand Area mod mul sqrt sqrt
  2241.       dup 0 rlineto
  2242.       0 Area 2 index div rlineto
  2243.       dup neg 0 rlineto
  2244.       closepath
  2245.       pop
  2246.  
  2247.       gsave
  2248.       Grey 100 div 1 exch sub setgray
  2249.       fill
  2250.       grestore
  2251.       0 setgray
  2252.       stroke
  2253.       } repeat
  2254.  
  2255.    } bind def
  2256.  
  2257. %@Fill
  2258. /Reptiles %Reptiles,5, Frequency=4, Gray1=60, Gray2=30, Gray3=0, LineWidth=8
  2259.    {
  2260.    /LineWidth exch 0 250 InRange def
  2261.    /Gray3 exch 0 100 InRange 100 div def
  2262.    /Gray2 exch -1 100 InRange 100 div def
  2263.    /Gray1 exch -1 100 InRange 100 div def
  2264.    /Frequency exch 1 100 InRange def
  2265.  
  2266.    /newfont 10 dict def
  2267.    newfont begin
  2268.  
  2269.    /FontMatrix [2 7 div             0
  2270.                 0                   2 7 div
  2271.                 0                   0] def
  2272.    /FontType 3 def
  2273.    /FontBBox [-1.73 -1.86 2.36 2.0] def
  2274.    /Encoding 256 array def
  2275.    0 1 255 {Encoding exch /.notdef put} for
  2276.    Encoding 97 /ReptilesStroked put
  2277.    Encoding 98 /ReptileFilled put
  2278.  
  2279.    /CharProcs 3 dict def
  2280.    CharProcs begin
  2281.    /.notdef {} def
  2282.    /ReptilesStroked
  2283.       { %3 sqrt  3 2 div  translate
  2284.        3 sqrt 2 div  1 2 div  moveto
  2285.        3 { 120 rotate
  2286.  
  2287.            0     0    moveto
  2288.            0.32 -0.40 lineto
  2289.            0.32 -0.48 lineto
  2290.            0    -0.72 lineto
  2291.  
  2292.            0.05 -1.03 moveto
  2293.            0.4  -0.76 lineto
  2294.            0.84 -0.84 lineto
  2295.            0.5  -0.96 lineto
  2296.            0.31 -1.18 lineto
  2297.  
  2298.            0.87 -1.5  moveto
  2299.            0.58 -1.28 lineto
  2300.            0.8  -1.14 lineto
  2301.            0.94 -1.18 lineto
  2302.            1.24 -1.08 lineto
  2303.            1.42 -1.18 lineto
  2304.  
  2305.            1.68 -1.02 moveto
  2306.            1.52 -0.84 lineto
  2307.            1.64 -0.66 lineto
  2308.            1.73 -0.36 lineto
  2309.  
  2310.            1.73  0    moveto
  2311.            1.41 -0.26 lineto
  2312.            1.32 -0.49 lineto
  2313.            1.06 -0.24 lineto
  2314.            1.42  0.18 lineto
  2315.  
  2316.            0.87  0.57 moveto
  2317. e╢Σ¼╩■⌐    ┤?W╬{u╞DR\Æ?ä╓nº╣╠Ö┐≈Θ╓Qîo╬@v ┌╛ⁿ∞A¿çΓµ¡9m│?!╥CN       1.05  0.12 lineto
  2318.            0.82 -0.07 lineto
  2319.            0.68 -0.07 lineto
  2320.            0.62  0.36 lineto
  2321.  
  2322.  
  2323.            3 sqrt 2 div  1 2 div moveto
  2324.  
  2325.         } repeat
  2326.  
  2327.        LineWidth Pointsize div 7 2 div mul setlinewidth
  2328.        stroke
  2329.  
  2330.       } def
  2331.    /ReptileFilled
  2332.       {
  2333.        0     0    moveto
  2334.        0.32 -0.40 lineto
  2335.        0.32 -0.48 lineto
  2336.        0    -0.72 lineto
  2337.  
  2338.       -0.40 -0.55 lineto
  2339.       -0.47 -0.68 lineto
  2340.       -0.42 -0.97 lineto
  2341.       -0.27 -0.99 lineto
  2342.       -0.21 -0.88 lineto
  2343.  
  2344.        0.05 -1.03 lineto
  2345.        0.4  -0.76 lineto
  2346.        0.84 -0.84 lineto
  2347.        0.5  -0.96 lineto
  2348.        0.31 -1.18 lineto
  2349.  
  2350.        0.32 -1.39 lineto
  2351.        0.55 -1.60 lineto
  2352.        0.59 -1.74 lineto
  2353.        0.82 -1.86 lineto
  2354.  
  2355.        0.87 -1.5  lineto
  2356.        0.58 -1.28 lineto
  2357.        0.8  -1.14 lineto
  2358.        0.94 -1.18 lineto
  2359.        1.24 -1.08 lineto
  2360.        1.42 -1.18 lineto
  2361.        1.52 -1.45 lineto
  2362.        1.45 -1.81 lineto
  2363.        1.74 -1.47 lineto
  2364.        1.68 -1.02 lineto
  2365.        1.52 -0.84 lineto
  2366.        1.64 -0.66 lineto
  2367.        1.73 -0.36 lineto
  2368.        2.28 -0.46 lineto
  2369.        2.36 -0.11 lineto
  2370.        2.12 -0.15 lineto
  2371.        1.73  0    lineto
  2372.        1.41 -0.26 lineto
  2373.        1.32 -0.49 lineto
  2374.        1.06 -0.24 lineto
  2375.        1.42  0.18 lineto
  2376.        1.21  0.41 lineto
  2377.        1.11  0.60 lineto
  2378.  
  2379.        0.87  0.57 lineto
  2380.        0.87  0.26 lineto
  2381.        0.99  0.26 lineto
  2382.        1.05  0.12 lineto
  2383.        0.82 -0.07 lineto
  2384.        0.68 -0.07 lineto
  2385.        0.62  0.36 lineto
  2386.        0.26  0.52 lineto
  2387.        0.19  0.48 lineto
  2388.        closepath
  2389.        fill
  2390.        } def
  2391.    end
  2392.  
  2393.    /BuildChar
  2394.      { 3 sqrt 3 mul 2 div  3 2 div
  2395.        -1.83 -1.96 2.46 2.1
  2396.        setcachedevice
  2397.        exch begin
  2398.        Encoding exch get
  2399.        CharProcs exch get
  2400.        end
  2401.        exec
  2402.      } def
  2403.    end
  2404.  
  2405.    /Pointsize 2000 Frequency div def
  2406.  
  2407.    /FillFont newfont definefont pop
  2408.    /FillFont findfont ¡d╞╦Z1╣2'⌠J╘═W╜╦╘\╦µ╥ë⌡ö!~|pOsh:áΣß)£>└╝
  2409. ∞ΦNG!Çb║I╣iΣ╞Dα║ def
  2410.  
  2411.    eoclip newpath
  2412.  
  2413.    currentscreen
  2414.    3 -1 roll
  2415.    pop 120
  2416.    3 1 roll
  2417.    setscreen
  2418.  
  2419.    Bblly pntsize Bbury pntsize add
  2420.      { Bbllx 1 index moveto
  2421.        { currentpoint
  2422.  
  2423.          2 copy 2 copy translate
  2424.          240 rotate
  2425.          Gray1 0 ge
  2426.             { Gray1 1 exch sub setgray
  2427.             (b) show
  2428.             } if
  2429.          0 0 moveto
  2430.          -240 rotate
  2431.          neg exch neg exch translate
  2432.  
  2433.          2 copy translate
  2434.          120 rotate
  2435.          Gray2 0 ge
  2436.             { Gray2 1 exch sub setgray
  2437.             (b) show
  2438.             } if
  2439.          0 0 moveto
  2440.          -120 rotate
  2441.          neg exch neg exch translate
  2442.  
  2443.          Gray3 1 exch sub setgray
  2444.          (b) show
  2445.  
  2446.          currentpoint
  2447.          dup 3 index sub
  2448.          pntsize 2.1 div gt { pntsize sub } if
  2449.          1 index Bburx gt
  2450.          {pop pop pop exit} if
  2451.          moveto
  2452.        } loop
  2453.      } for
  2454.  
  2455.    LineWidth 0 gt
  2456.       { 0 setgray
  2457.       Bblly pntsize Bbury pntsize add
  2458.         { Bbllx 1 index moveto
  2459.           { (a) show
  2460.             currentpoint
  2461.             dup 3 index sub
  2462.             pntsize 2.1 div gt { pntsize sub } if
  2463.             1 index Bburx gt
  2464.             {pop pop pop exit} if
  2465.             moveto
  2466.           } loop
  2467.         } for
  2468.      } if
  2469.    } bind def
  2470.  
  2471. %@Fill
  2472. /SpiderWeb %SpiderWeb,5, LineWidth=5, Separation=300, MaximumAngle=40, MinimumAngle=10, RandomSeed=0
  2473.    { srand
  2474.    /MinAng exch 2 90 InRange def
  2475.    /MaxAng exch MinAng 90 InRange MinAng wDstChck def
  2476.    /Sep exch 10 500 InRange def
  2477.    /Linewidth exch 0 100 InRange def
  2478.  
  2479.    eoclip
  2480.    newpath
  2481.  
  2482.    /dx Bburx Bbllx sub def
  2483.    /dy Bbury Bblly sub def
  2484.    /hyp dx dup mul dy dup mul add sqrt def
  2485.    /DifAng MaxAng MinAng sub def
  2486.  
  2487.    Bbllx Bblly translate
  2488.    dx 2 div dy 2 div translate
  2489.  
  2490.    /theta 0 def
  2491.    /dtheta 0 def
  2492.  
  2493.    {  0 0 moveto
  2494.  
  2495.       /theta theta dtheta add def
  2496.       theta 360 ge
  2497.         { exit } if
  2498.       /dtheta rand DifAng mod MinAng add d╕╘▄¬>^]zÇ╥ö0Dì±&DKτ╡ @;å├Hñ¡~╤*ò>·πò┌&ù¼║ë?╔πúuåÿVÉÅì6dsub def } if
  2499.  
  2500.       hyp theta cos mul hyp theta sin mul lineto
  2501.  
  2502.       0 Sep hyp
  2503.          {
  2504.          dup theta cos mul
  2505.          1 index theta sin mul
  2506.          moveto
  2507.  
  2508.          dup theta dtheta add cos theta cos add mul
  2509.          1 index theta dtheta add sin theta sin add mul
  2510.          2 index
  2511.          theta 180 add dtheta add
  2512.          theta 180 add
  2513.          arcn
  2514.  
  2515.          pop
  2516.          } for
  2517.       Linewidth setlinewidth
  2518.       stroke
  2519.       } loop
  2520.    } bind def
  2521.  
  2522. %@Fill
  2523. /Spirals %Spirals,4, Size=150, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  2524.    {
  2525.    /BackgroundGrey exch -1 100 InRange def
  2526.    /ForegroundGray exch 0 100 InRange def
  2527.    /Linewidth exch 0 100 InRange def
  2528.    /Size exch 10 500 InRange def
  2529.  
  2530.    eoclip
  2531.    BackgroundGrey 0 ge
  2532.       { BackgroundGrey 100 div 1 exch sub setgray fill }
  2533.       { newpath } ifelse
  2534.  
  2535.    /cx Bburx Bbllx add 2 div def
  2536.    /cy Bbury Bblly add 2 div def
  2537.    /pntsize2 Size 2 div def
  2538.    /cy2 cy pntsize2 add def
  2539.    /hyp Bburx Bbllx sub dup mul
  2540.         Bbury Bblly sub dup mul
  2541.         add sqrt 2 div def
  2542.  
  2543.    ForegroundGray 100 div 1 exch sub setgray
  2544.  
  2545.    Linewidth setlinewidth
  2546.    0 Size hyp
  2547.       { cx cy 2 index 90 270 arc
  2548.         cx cy2 2 index pntsize2 add -90 90 arc
  2549.         pop
  2550.       } for
  2551.    stroke
  2552.    } bind def
  2553.  
  2554. %@Fill
  2555. /Spokes %Spokes,5, Number=120, LineWidth=5, Horizontal=0, Vertical=0, ForegroundGray=100
  2556.         { %def -- Fill function that fills with spokes
  2557.         /ForegroundGray exch 0 100 InRange def
  2558.     /wY exch 0 100 InRange def
  2559.     /wX exch 0 100 InRange def
  2560.     /LineWidth exch 0 100 InRange def
  2561.     /Number exch 4 360 InRange def
  2562.  
  2563.         eoclip
  2564.         newpath
  2565.         /Flen Bburx Bbllx sub dup mul Bbury Bblly sub dup mul add sqrt def
  2566.         Bbllx Bblly translate
  2567.     Bburx Bbllx sub wX mul 100 div  Bbury Bblly sub wY mul 100 div translate
  2568.  
  2569.     360 Number div
  2570.         Number {
  2571.            0 0 moveto
  2572.            Flen 0 lineto
  2573.            dup rotate
  2574.            } repeat■∩æ₧z]%!▄O«┬∞╚z∩╡íiK╬àñÅ ∙ y╜┬M╖▄y$\?─|Φ¡    1τô5>r┐#ò&ßôiG¢IdîÆΩ
  2575.     LineWidth setlinewidth
  2576.     stroke
  2577.         } bind def
  2578.  
  2579. %@Fill
  2580. /Squares %Squares,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  2581.    {
  2582.    /BackgroundGray exch -1 100 InRange def
  2583.    /ForegroundGray exch 0 100 InRange def
  2584.    /Linewidth      exch 0 100 InRange def
  2585.    /Frequency      exch 2 100 InRange def
  2586.  
  2587.    /newfont 10 dict def
  2588.    newfont begin
  2589.  
  2590.    /FontMatrix [1  0  0
  2591.                 1  0  0] def
  2592.    /FontType 3 def
  2593.    /FontBBox [0 0 1 1] def
  2594.    /Encoding 256 array def
  2595.    0 1 255 {Encoding exch /.notdef put} for
  2596.  
  2597.    /BuildChar
  2598.      { 1  0
  2599.        -0.1 -0.1 1.1 1.1
  2600.        setcachedevice
  2601.        pop begin
  2602.  
  2603.        0 0 moveto
  2604.        0 1 lineto
  2605.        1 1 lineto
  2606.        1 0 lineto
  2607.  
  2608.        Linewidth pntsize div setlinewidth
  2609.        stroke
  2610.  
  2611.       end
  2612.      } def
  2613.    end
  2614.  
  2615.    /pntsize 1000 Frequency div def
  2616.  
  2617.    /FillFont newfont definefont pop
  2618.    /FillFont findfont pntsize scalefont setfont
  2619.  
  2620.    eoclip
  2621.    BackgroundGray 0 ge
  2622.       { BackgroundGray 100 div 1 exch sub setgray fill }
  2623.       { newpath } ifelse
  2624.  
  2625.    ForegroundGray 100 div 1 exch sub setgray
  2626.  
  2627.    Bblly pntsize Bbury
  2628.      { Bbllx exch moveto
  2629.        { (a) show
  2630.          currentpoint
  2631.          pop Bburx gt
  2632.          {exit} if
  2633.        } loop
  2634.      } for
  2635.    } bind def
  2636.  
  2637. %@Fill
  2638. /StarOfDavid %StarOfDavid,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  2639.    {
  2640.    /BackgroundGray exch -1 100 InRange def
  2641.    /ForegroundGray exch 0 100 InRange def
  2642.    /Linewidth      exch 0 100 InRange def
  2643.    /Frequency      exch 2 100 InRange def
  2644.  
  2645.    /newfont 10 dict def
  2646.    newfont begin
  2647.  
  2648.    /FontMatrix [1 3 sqrt 2 mul div  0
  2649.                 0                   1 3 sqrt 2 mul div
  2650.                 0                   0] def
  2651.    /FontType 3 def
  2652.    /FontBBox [0 0 2 3 sqrt 2 mul] def
  2653.    /Encoding 256 array def
  2654.    0 1 255 {Encoding exch /.notdef put} for
  2655.  
  2656.    /BuildChar
  2657.      { 1  3 sqrt
  2658.        -0.1 -0.1 2.1 3 sqrt 2 mul 0.1 add
  2659.        setc╖cφa^√╙╡èû#xOt°▐D@Θ┘.ªfkßÿ3áöi╨iÅ╒ofFªg0▀R╡°▀ô(ΣEܼ÷*¡ùΓ_ 3 2 div  0 lineto
  2660.        2  3 sqrt 2 div lineto
  2661.        3 2 div  3 sqrt lineto
  2662.        1 2 div  3 sqrt lineto
  2663.        0  3 sqrt 2 div lineto
  2664.        closepath
  2665.  
  2666.        Linewidth pntsize div 3 sqrt 2 mul mul setlinewidth
  2667.        stroke
  2668.  
  2669.       end
  2670.      } def
  2671.    end
  2672.  
  2673.    /pntsize 1732 Frequency div def
  2674.  
  2675.    /FillFont newfont definefont pop
  2676.    /FillFont findfont pntsize scalefont setfont
  2677.  
  2678.    eoclip
  2679.    BackgroundGray 0 ge
  2680.       { BackgroundGray 100 div 1 exch sub setgray fill }
  2681.       { newpath } ifelse
  2682.  
  2683.    ForegroundGray 100 div 1 exch sub setgray
  2684.  
  2685.    Bblly pntsize Bbury
  2686.      { Bbllx pntsize sub 1 index moveto
  2687.        { (a) show
  2688.          currentpoint
  2689.          dup 3 index sub
  2690.          pntsize 2.1 div gt { pntsize sub } if
  2691.          1 index Bburx gt
  2692.          {pop pop pop exit} if
  2693.          moveto
  2694.        } loop
  2695.      } for
  2696.    } bind def
  2697.  
  2698. %@Fill
  2699. /Stars %Stars,4, Number=100, MaximumSize=300, MinimumSize=3, RandomSeed=0
  2700.    { srand
  2701.    /MinSize exch 1 1000 InRange def
  2702.    /MaxSize exch MinSize 1000 InRange def
  2703.    /Number exch 1 2000 InRange def
  2704.  
  2705.    /newfont 10 dict def
  2706.    newfont begin
  2707.  
  2708.    /FontMatrix [1  0  0
  2709.                 1  0  0] def
  2710.    /FontType 3 def
  2711.    /FontBBox [0 0 1 1] def
  2712.    /Encoding 256 array def
  2713.    0 1 255 {Encoding exch /.notdef put} for
  2714.  
  2715.    /BuildChar
  2716.      { 1  0
  2717.        -0.1 -0.1 1.1 1.1
  2718.        setcachedevice
  2719.        pop begin
  2720.  
  2721.        1 .5 moveto
  2722.        .5 .5 .5 0 360 arc
  2723.        fill
  2724.  
  2725.        end
  2726.      } def
  2727.    end
  2728.  
  2729.    /FillFont newfont definefont pop
  2730.    /FillFont findfont 2 scalefont setfont
  2731.  
  2732.    /dx Bburx Bbllx sub def
  2733.    /dy Bbury Bblly sub def
  2734.  
  2735.    eoclip
  2736.    0 setgray
  2737.    fill
  2738.  
  2739.    1 setgray
  2740.    /mtx matrix currentmatrix def
  2741.    dx dy mul Number mul 100000 div cvi
  2742.       { rand dx mod Bbllx add
  2743.       rand dy mod Bblly add
  2744.       moveto
  2745.       MaxSize rand  MaxSize MinSize div cvi  mod 1 add div 10 div
  2746.       dup scale
  2747.       (a) show
  2748.       mtx setmatrix
  2749.       } repeat
  2750.  
  2751.    } bin┼6ôΦ6V¢!=τ@#I» qܬ╬k"vr]à├Ωh∩µ┤╬Uⁿ▌tw≤n<Φnßü╥√p╫«▒Ä╬I"[ö▒╗öδE2, Spacing=100, Angle=36, Gray=100
  2752.    {
  2753.    /Grey exch 0 100 InRange def
  2754.    /Theta exch 1 90 InRange def
  2755.    /Spacing exch 1 300 InRange def
  2756.    /Frequency exch 1 25 InRange def
  2757.    /Points exch 1 15 InRange def
  2758.  
  2759.    /str 1 string def
  2760.    str 0 Points put
  2761.  
  2762.    /newfont 10 dict def
  2763.    newfont begin
  2764.  
  2765.    /FontMatrix [.001                0
  2766.                 0                   .001
  2767.                 0                   0] def
  2768.    /FontType 3 def
  2769.    /FontBBox [0 0 500 1000] def
  2770.  
  2771.    /Encoding 256 array def
  2772.    0 1 255 {Encoding exch /.notdef put} for
  2773.  
  2774.    /BuildChar
  2775.      {Spacing 100 div 500 mul  dup
  2776.       -0.1 -0.1 500.1 1000.1
  2777.       setcachedevice
  2778.       exch begin
  2779.  
  2780.       250 250 translate
  2781.       250 250 scale
  2782.       90 rotate
  2783.  
  2784.       dup
  2785.       180 exch div dup sin exch cos div
  2786.       Theta 2 div dup sin exch cos div
  2787.  
  2788.       1 0 moveto
  2789.       2 index
  2790.          {
  2791.          360 3 index div rotate
  2792.          dup dup 3 index add div
  2793.          dup 3 index mul neg
  2794.          lineto
  2795.          1 0 lineto
  2796.          } repeat
  2797.       closepath
  2798.  
  2799.       fill
  2800.       pop pop pop
  2801.  
  2802.       end
  2803.      }def
  2804.    end
  2805.  
  2806.    /pntsize 100000 Frequency div Spacing div def
  2807.  
  2808.    /FillFont newfont definefont pop
  2809.    /FillFont findfont pntsize scalefont setfont
  2810.  
  2811.    /increment Spacing 100 div pntsize mul def
  2812.  
  2813.    eoclip newpath
  2814.  
  2815.    Grey 100 div 1 exch sub setgray
  2816.    Bblly increment Bbury
  2817.      { Bbllx 1 index moveto
  2818.        { str show
  2819.          currentpoint
  2820.          dup 3 index sub
  2821.          increment 2.1 div gt { increment sub } if
  2822.          1 index Bburx gt
  2823.          {pop pop pop exit} if
  2824.          moveto
  2825.        } loop
  2826.      } for
  2827.    } bind def
  2828.  
  2829. %@Fill
  2830. /StoneWall %StoneWall,4, Frequency=15, MaximumGray=100, MinimumGray=0, LineWidth=5
  2831.    {
  2832.    /Linewidth exch 0 100 InRange def
  2833.    /MinGrey exch 0 100 InRange def
  2834.    /MaxGrey exch MinGrey 100 InRange def
  2835.    /Frequency exch 1 50 InRange def
  2836.  
  2837.    /DifGrey MaxGrey MinGrey sub def
  2838.    DifGrey 0 eq
  2839.       { /╡;*╬:{¬╘ß╢uq╘v{-,Ñ¡u═bsH}^X┤%A¥
  2840. ╜█┘ëÖN╝^│Z┘[:&╖e┬ô±│Θ(mJ▐s_Ytlinewidth
  2841.    eoclip newpath
  2842.    0 srand
  2843.  
  2844.    currentscreen
  2845.    3 -1 roll
  2846.    pop 100
  2847.    3 1 roll
  2848.    setscreen
  2849.  
  2850.    /dy Bbury Bblly sub def
  2851.    /dx Bburx Bbllx sub def
  2852.    Bbllx Bbury translate
  2853.    250 Frequency div dup scale
  2854.  
  2855.    dy 920 div Frequency mul cvi {
  2856.       0 0 moveto
  2857.       /x0 0 def
  2858.       /y0 0 def
  2859.       /x1 0 def
  2860.       /y1 0 def
  2861.       /x2 0 def
  2862.       /y2 0 def
  2863.       /x3 0 def
  2864.       /y3 0 def
  2865.       0 5 dx 200 div Frequency mul
  2866.          { rand 50 mod 25 div 1 sub add
  2867.          x3 y3 moveto
  2868.          x2 y2 x1 y1 x0 y0 curveto
  2869.          dup rand 30 mod 15 div neg 2 sub
  2870.          2 copy
  2871.          /y0 exch def
  2872.          /x0 exch def
  2873.          lineto
  2874.          dup rand 50 mod 10 div 2.5 sub add rand 50 mod 10 div neg
  2875.          1 index rand 50 mod 10 div
  2876.          4 index rand 30 mod 15 div 2 add
  2877.          6 copy
  2878.          /y3 exch def
  2879.          /x3 exch def
  2880.          /y2 exch def
  2881.          /x2 exch def
  2882.          /y1 exch def
  2883.          /x1 exch def
  2884.          curveto
  2885.          pop
  2886.          closepath
  2887.          gsave
  2888.          rand DifGrey mod MinGrey add 100 div 1 exch sub setgray fill
  2889.          grestore
  2890.          0 setgray stroke
  2891.          } for
  2892.       0 -4 translate
  2893.       } repeat
  2894.    } bind def
  2895.  
  2896. %@Fill
  2897. /Text %Text,5, Font=1, Character=67, Frequency=4, Spacing=100, BackgroundGray=0
  2898.    {
  2899.    /BackGrey exch -1 100 InRange def
  2900.    /Spacing exch 30 300 InRange def
  2901.    /Frequency exch 1 50 InRange def
  2902.    /Character exch 33 255 InRange def
  2903.    /Font exch 1 35 InRange def
  2904.  
  2905.    /pntsize 100000 Frequency div Spacing div def
  2906.    Font  1 eq { /Times-Roman } if
  2907.    Font  2 eq { /Times-Italic } if
  2908.    Font  3 eq { /Times-Bold } if
  2909.    Font  4 eq { /Times-BoldItalic } if
  2910.    Font  5 eq { /Helvetica } if
  2911.    Font  6 eq { /Helvetica-Oblique } if
  2912.    Font  7 eq { /Helvetica-Bold } if
  2913.    Font  8 eq { /Helvetica-BoldOblique } if
  2914.    Font  9 eq { /Courier } if
  2915.    Font 10 eq { /Courier-Oblique } if
  2916.    Font 11 eq { /Courier-Bold } if
  2917.    Fo║╨ñⁿª╫ó!┤▓╜²╟╝1└╧╛┘¼Æn█▓V╧Y≡τ&cñ;┼╢ò ┴╢Γ5┬╢├ⁿÖƒbN?¥V≤Ç■)    |if
  2918.    Font 14 eq { /AvantGarde-Book } if
  2919.    Font 15 eq { /AvantGarde-BookOblique } if
  2920.    Font 16 eq { /AvantGarde-Demi } if
  2921.    Font 17 eq { /AvantGarde-DemiOblique } if
  2922.    Font 18 eq { /Bookman-Demi } if
  2923.    Font 19 eq { /Bookman-DemiItalic } if
  2924.    Font 20 eq { /Bookman-Light } if
  2925.    Font 21 eq { /Bookman-LightItalic } if
  2926.    Font 22 eq { /Helvetica-Narrow } if
  2927.    Font 23 eq { /Helvetica-Narrow-Bold } if
  2928.    Font 24 eq { /Helvetica-Narrow-BoldOblique } if
  2929.    Font 25 eq { /Helvetica-Narrow-Oblique } if
  2930.    Font 26 eq { /NewCenturySchlbk-Roman } if
  2931.    Font 27 eq { /NewCenturySchlbk-Bold } if
  2932.    Font 28 eq { /NewCenturySchlbk-Italic } if
  2933.    Font 29 eq { /NewCenturySchlbk-BoldItalic } if
  2934.    Font 30 eq { /Palatino-Roman } if
  2935.    Font 31 eq { /Palatino-Bold } if
  2936.    Font 32 eq { /Palatino-Italic } if
  2937.    Font 33 eq { /Palatino-BoldItalic } if
  2938.    Font 34 eq { /ZapfChancery-MediumItalic } if
  2939.    Font 35 eq { /ZapfDingbats } if
  2940.    findfont pntsize scalefont setfont
  2941.  
  2942.    /str 1 string def
  2943.    str 0 Character put
  2944.  
  2945.    /increment Spacing 100 div pntsize mul 2 mul def
  2946.  
  2947.    eoclip
  2948.    BackGrey 0 ge
  2949.       { BackGrey 100 div 1 exch sub setgray fill }
  2950.       { newpath } ifelse
  2951.  
  2952.    /Bbury Bbury pntsize add def
  2953.  
  2954.    0 setgray
  2955.    Bblly increment Bbury
  2956.      { Bbllx 1 index moveto
  2957.        { str show
  2958.          currentpoint increment 2 div add
  2959.          dup 3 index sub
  2960.          increment 2.1 div gt { increment sub } if
  2961.          1 index Bburx gt
  2962.          {pop pop pop exit} if
  2963.          moveto
  2964.        } loop
  2965.      } for
  2966.    } bind def
  2967.  
  2968. %@Fill
  2969. /Tiles %Tiles,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  2970.    {
  2971.    /BackgroundGray exch -1 100 InRange def
  2972.    /ForegroundGray exch 0 100 InRange def
  2973.    /Linewidth      exch 0 100 InRange def
  2974.    /Frequency      exch 2 100 InRange def
  2975.  
  2976.    /newfont 10 dict def
  2977.    newfont begin
  2978.  
  2979.    /FontMatrix [1  0  0
  2980.                 1  0  0] def
  2981.    /FontType 3 def
  2982.    /FontBBox [0 0 2 1] def
  2983.  t·═.?ΓJ<φX⌡╒▄Üd█N├·GÄhε╧╜P ∞8Ö╡TJ
  2984. ¼)▄*U╨,┘vQ╓└S}▀i∩σΩE╧╨
  2985. ╞t} for
  2986.  
  2987.    /BuildChar
  2988.      { 2  .5
  2989.        -0.1 -0.1 2.1 1.1
  2990.        setcachedevice
  2991.        pop begin
  2992.  
  2993.        0   0 moveto
  2994.        1.5 0 lineto
  2995.        1.75  0 .25 180 90 arcn
  2996.        1.75 .5 .25 -90 90 arc
  2997.        1.75  1 .25 270 180 arcn
  2998.        0   1 lineto
  2999.  
  3000.        Linewidth pntsize div setlinewidth
  3001.        stroke
  3002.  
  3003.        end
  3004.      } def
  3005.    end
  3006.  
  3007.    /pntsize 500 Frequency div def
  3008.  
  3009.    /FillFont newfont definefont pop
  3010.    /FillFont findfont pntsize scalefont setfont
  3011.  
  3012.    eoclip
  3013.    BackgroundGray 0 ge
  3014.       { BackgroundGray 100 div 1 exch sub setgray fill }
  3015.       { newpath } ifelse
  3016.  
  3017.    ForegroundGray 100 div 1 exch sub setgray
  3018.  
  3019.    Bblly pntsize Bbury
  3020.      { Bbllx 1 index moveto
  3021.        { (a) show
  3022.          currentpoint
  3023.          dup 3 index sub
  3024.          pntsize 2.1 div gt { pntsize sub } if
  3025.          1 index Bburx gt
  3026.          {pop pop pop exit} if
  3027.          moveto
  3028.        } loop
  3029.      } for
  3030.    } bind def
  3031.  
  3032. %@Fill
  3033. /TreeRings %TreeRings,5, MaxDistance=150, MinDistance=0, LineWidth=5, BackgroundGray=0, RandomSeed=0
  3034.    { srand
  3035.    /BackGrey exch -1 100 InRange def
  3036.    /LineWidth exch 0 100 InRange def
  3037.    /MinDist exch 0 500 InRange def
  3038.    /MaxDist exch MinDist 500 InRange MinDist wDstChck def
  3039.  
  3040.    eoclip
  3041.    BackGrey 0 ge
  3042.       { BackGrey 100 div 1 exch sub setgray fill }
  3043.       { newpath } ifelse
  3044.  
  3045.    /cx Bburx Bbllx add 2 div def
  3046.    /cy Bbury Bblly add 2 div def
  3047.    /pntsize MaxDist MinDist sub def
  3048.    /hyp Bburx Bbllx sub dup mul Bbury Bblly sub dup mul add sqrt def
  3049.  
  3050.    /wr 0 def
  3051.    0 setgray
  3052.    LineWidth setlinewidth
  3053.  
  3054.       {
  3055.       /wr rand pntsize mod MinDist add wr add def
  3056.       cx wr add  cy moveto
  3057.       cx cy wr 0 360 arc
  3058.       stroke
  3059.       wr hyp gt {exit} if
  3060.       } loop
  3061.    } bind def
  3062.  
  3063. %@Fill
  3064. /Triangle %Triangle,4, Frequency=8, LineWidth=5, ForegroundGray=100, BackgroundGray=0
  3065.    {
  3066.    /BackgroundGray exch -1 100 InRange def
  3067.    /ForegroundGray exch 0 100 InRange def
  3068.    /Linewidth      exch 0 P+ïKδ∞<┬=Æ÷±╝I=┬£x.]'╫ßkGστ@Ä╜xUü·δYC°&\îó╗°7|ÜwΦ-ªk⌡iÑiN½ß2 /newfont 10 dict def
  3069.    newfont begin
  3070.  
  3071.    /FontMatrix  [ 1 3 sqrt div  0
  3072.                   0             1 3 sqrt div
  3073.                   0             0] def
  3074.    /FontType 3 def
  3075.    /FontBBox [0 0 1 3 sqrt] def
  3076.    /Encoding 256 array def
  3077.    0 1 255 {Encoding exch /.notdef put} for
  3078.  
  3079.    /BuildChar
  3080.      { 1  0
  3081.        -0.1 -0.1 1.1 3 sqrt 0.1 add
  3082.        setcachedevice
  3083.        pop begin
  3084.  
  3085.        0 0 moveto
  3086.        1 3 sqrt lineto
  3087.        0 3 sqrt lineto
  3088.        1 0 lineto
  3089.        closepath
  3090.  
  3091.        0 3 sqrt 2 div moveto
  3092.        1 3 sqrt 2 div lineto
  3093.  
  3094.        Linewidth pntsize div 3 sqrt mul setlinewidth
  3095.        stroke
  3096.  
  3097.       end
  3098.      } def
  3099.    end
  3100.  
  3101.    /pntsize 1732 Frequency div def
  3102.    /FillFont newfont definefont pop
  3103.    /FillFont findfont pntsize scalefont setfont
  3104.  
  3105.    eoclip
  3106.    BackgroundGray 0 ge
  3107.       { BackgroundGray 100 div 1 exch sub setgray fill }
  3108.       { newpath } ifelse
  3109.  
  3110.    ForegroundGray 100 div 1 exch sub setgray
  3111.  
  3112.    Bblly pntsize Bbury
  3113.      { Bbllx pntsize sub pntsize 3 sqrt div Bburx
  3114.        { 1 index moveto
  3115.        (a) show
  3116.        } for
  3117.      pop
  3118.      } for
  3119.    } bind def
  3120.  
  3121. %@Fill
  3122. /Waves %Waves,5, Frequency=6, LineWidth=5, ForegroundGray=100, BackgroundGray=0, Spacing(%)=100
  3123.    {
  3124.    /Spacing        exch 30 300 InRange def
  3125.    /BackgroundGray exch -1 100 InRange def
  3126.    /ForegroundGray exch 0 100 InRange def
  3127.    /Linewidth      exch  0 100 InRange def
  3128.    /Frequency      exch  2 100 InRange def
  3129.  
  3130.    /newfont 10 dict def
  3131.    newfont begin
  3132.  
  3133.    /FontMatrix [1 84 div   0
  3134.                 0          1 84 div
  3135.                 0          0] def
  3136.    /FontType 3 def
  3137.    /FontBBox [37 56 111 114] def
  3138.    /Encoding 256 array def
  3139.    0 1 255 {Encoding exch /.notdef put} for
  3140.  
  3141.    /BuildChar
  3142.      { 74  0
  3143.        36.9 55.9 111.1 114.1
  3144.        setcachedevice
  3145.        pop begin
  3146.  
  3147.        1 1.5 scale
  3148.  
  3149.        37 38 moveto
  3150.        76 38 79 73 111 57 curveto
  3151.        80 60 80 38 111 38 curveto
  3152.  
  3153.        Linewidth pntsize0╖╓╗²â╙É╓<[└╫9╖¡τ>═iß á î;╚r║âQSYK∩└pé┼[Ö∩£rτp5ï'rn╣┌
  3154.    end
  3155.  
  3156.    /pntsize 783 Frequency div def
  3157.  
  3158.    /FillFont newfont definefont pop
  3159.    /FillFont findfont pntsize scalefont setfont
  3160.  
  3161.    /Height pntsize Spacing 100 div mul def
  3162.  
  3163.    /Bbllx Bbllx Height sub def
  3164.    /Bblly Bblly Height sub def
  3165.    /Bburx Bburx Height add def
  3166.    /Bbury Bbury Height add def
  3167.  
  3168.    eoclip
  3169.    BackgroundGray 0 ge
  3170.       { BackgroundGray 100 div 1 exch sub setgray fill }
  3171.       { newpath } ifelse
  3172.  
  3173.    ForegroundGray 100 div 1 exch sub setgray
  3174.    Bblly Height Bbury
  3175.      { Bbllx exch moveto
  3176.        { (a) show
  3177.          currentpoint
  3178.          pop Bburx gt
  3179.          {exit} if
  3180.        } loop
  3181.      } for
  3182.    } bind def
  3183.  
  3184.