home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / autodesk / acltwin / aclt.psf < prev    next >
Text File  |  1996-05-30  |  36KB  |  1,388 lines

  1. ;
  2. ;   PostScript font substitution map
  3. ;
  4. ;   This file currently defines all the fonts included with
  5. ;   Adobe Type Manager for Windows, the Adobe Plus Pack,
  6. ;   Adobe Font Pack 1, as well as the Linguist fonts distributed
  7. ;   with AutoCAD.
  8. ;
  9. *fonts
  10. ;
  11. ; The first column is the base name of the shape, compiled shape,
  12. ; or Adobe Type 1 font definition. The second column is the official
  13. ; PostScript name of the font.  Trailing underscores should be
  14. ; ignored. For example, the file containing the font "AvantGarde-Demi"
  15. ; might be called AGD_____.PFB; the entry in the first column would
  16. ; be "agd". Following the long name, there may be other flags; currently
  17. ; the only flag interpreted by AutoCAD is ISO, which means the font is
  18. ; already ISO-encoded and does not need further remapping.
  19. ;
  20. ;
  21. agd         AvantGarde-Demi
  22. agdo        AvantGarde-DemiOblique
  23. agw         AvantGarde-Book
  24. agwo        AvantGarde-BookOblique
  25. bdps        Bodoni-Poster
  26. bkd         Bookman-Demi
  27. bkdi        Bookman-DemiItalic
  28. bkl         Bookman-Light
  29. bkli        Bookman-LightItalic
  30. c           Cottonwood
  31. cibt        CityBlueprint
  32. cob         Courier-Bold
  33. cobo        Courier-BoldOblique
  34. cobt        CountryBlueprint
  35. com         Courier
  36. coo         Courier-Oblique
  37. eur         EuroRoman 
  38. euro        EuroRoman-Oblique 
  39. fs          FreestyleScript
  40. ho          Hobo
  41. hv          Helvetica
  42. hvb         Helvetica-Bold
  43. hvbo        Helvetica-BoldOblique
  44. hvn         Helvetica-Narrow
  45. hvnb        Helvetica-Narrow-Bold
  46. hvnbo       Helvetica-Narrow-BoldOblique
  47. hvno        Helvetica-Narrow-Oblique
  48. hvo         Helvetica-Oblique
  49. lx          Linotext
  50. ncb         NewCenturySchlbk-Bold
  51. ncbi        NewCenturySchlbk-BoldItalic
  52. nci         NewCenturySchlbk-Italic
  53. ncr         NewCenturySchlbk-Roman
  54. par         PanRoman
  55. pob         Palatino-Bold
  56. pobi        Palatino-BoldItalic
  57. poi         Palatino-Italic
  58. por         Palatino-Roman
  59. rom         Romantic
  60. romb        Romantic-Bold
  61. romi        Romantic-Italic
  62. sas         SansSerif
  63. sasb        SansSerif-Bold
  64. sasbo       SansSerif-BoldOblique
  65. saso        SansSerif-Oblique
  66. suf         SuperFrench
  67. sy          Symbol
  68. te          Technic
  69. teb         Technic-Bold
  70. tel         Technic-Light
  71. tib         Times-Bold
  72. tibi        Times-BoldItalic
  73. tii         Times-Italic
  74. tir         Times-Roman
  75. tjrg        Trajan-Regular
  76. vrb         VAGRounded-Bold
  77. zcmi        ZapfChancery-MediumItalic
  78. zd          ZapfDingbats
  79. ;
  80. ; Some additional font mappings. To use any of these fonts,
  81. ; just remove the semicolon from the beginning of the line.
  82. ; These have not been tested by Autodesk, and are included as
  83. ; a convenience only.
  84. ;
  85. ;akj    AksarJhar ISO
  86. ;ar     Armenian ISO
  87. ;arlvi  AradLevelVI ISO
  88. ;ay     Ayudhya ISO
  89. ;ayb    AyudhyaBold ISO
  90. ;ba     Bangkok ISO
  91. ;chm    ChangMai ISO
  92. ;chmb   ChiangMaiBold ISO
  93. ;gr     Graeca ISO
  94. ;gro    GraecaOblique ISO
  95. ;gu     Gujarati ISO
  96. ;he     Hebraica ISO
  97. ;higj   HiGwangJu ISO
  98. ;hii    HiInchon ISO
  99. ;his    HindiSanskrit ISO
  100. ;ho     Hobo ISO
  101. ;ipa    IPAsans ISO
  102. ;ipak   IPAKiel ISO
  103. ;ipakb  IPAKiel-Bold ISO
  104. ;khk    KhunKrit ISO
  105. ;khkb   KhunKrit-Bold ISO
  106. ;khkbi  KhunKrit-BoldItalic ISO
  107. ;khki   KhunKrit-Italic ISO
  108. ;la     Laotian ISO
  109. ;nah    NaayHaang ISO
  110. ;nahb   NaayHaang-Bold ISO
  111. ;nahbi  NaayHaang-BoldItalic ISO
  112. ;nahi   NaayHaang-Italic ISO
  113. ;nehp   NewHiPusan ISO
  114. ;nej    NewJeju ISO
  115. ;nes    NewSeoul ISO
  116. ;ph     Phatphong ISO
  117. ;phb    Phatphong-Bold ISO
  118. ;phbi   Phatphong-BoldItalic ISO
  119. ;phi    Phatphong-Italic ISO
  120. ;ro     Romance ISO
  121. ;rob    RomanceBold ISO
  122. ;roi    RomanceItalic ISO
  123. ;se     Semitica ISO
  124. ;seb    SemiticaBold ISO
  125. ;sei    SemiticaItalic ISO
  126. ;su     Sukanya ISO
  127. ;sub    Sukanya-Bold ISO
  128. ;tbc    TbilisiCaps ISO
  129. ;tbt    TbilisiText ISO
  130. ;th     Thonburi ISO
  131. ;ti     Tibetan ISO
  132. ;trc    TransCyrillic ISO
  133. ;trcb   TransCyrillic-Bold ISO
  134. ;trcbi  TransCyrillic-BoldItalic ISO
  135. ;trci   TransCyrillic-Italic ISO
  136. ;trcs   TransCyrillicSans ISO
  137. ;trcsb  TransCyrillicSans-Bold ISO
  138. ;trcsbo TransCyrillicSans-BoldOblique ISO
  139. ;trcso  TransCyrillicSans-Oblique ISO
  140. ;vib    VinaBook ISO
  141. ;vic    VinaChan ISO
  142. ;vip    VinaPala ISO
  143. ;vir    VinaRoman ISO
  144. ;vis    VinaSans ISO
  145. ;
  146. ; Font mappings to avoid downloading.
  147. ; These mappings are not supported, and, in some cases, may not
  148. ; produce proper results; use at your own risk.  These mappings are
  149. ; included as a convenience only. To activate these, comment out the
  150. ; corresponding mapping above by inserting a semicolon (;) at the
  151. ; beginning of the line.
  152. ;
  153. ; Note also that if you completely comment out all entries for a font,
  154. ; then PSOUT will not attempt to convert the text to PostScript text
  155. ; entities, and will instead output them as (unfilled) outlines. This 
  156. ; will result in larger .eps files, but for certain fonts, in particular
  157. ; stroke fonts such as City Blueprint, will look the same.
  158. ;
  159. saso    Helvetica-Oblique
  160. sas     Helvetica
  161. sasb    Helvetica-Bold
  162. sasbo   Helvetica-BoldOblique
  163. rom     Times-Roman
  164. romb    Times-Bold
  165. romi    Times-Italic
  166. ;
  167. ;   PostScript figure inclusion procedures
  168. ;
  169. ; Taken from PostScript manual verbatim
  170. *figureprologue
  171. /IncludeFig { 
  172.         /b4_Inc_state save def
  173.         /dict_count countdictstack def
  174.         /op_count count 1 sub def
  175.         userdict begin
  176.         /showpage {} def
  177.         0 setgray 0 setlinecap
  178.         1 setlinewidth 0 setlinejoin
  179.         10 setmiterlimit [] 0 setdash newpath
  180.         /languagelevel where
  181.         {pop languagelevel
  182.                 1 ne
  183.                 {false setstrokeadjust false setoverprint
  184.                 }if
  185.         }if
  186. }bind def
  187.         
  188. ;
  189. ; % Args are llx lly urx ury (in figure coordinates)
  190. ;
  191. ;/clipFig {
  192. ;       currentpoint 6 2 roll
  193. ;       newpath 4 copy
  194. ;       4 2 roll moveto
  195. ;       6 -1 roll exch lineto
  196. ;       exch lineto
  197. ;       exch lineto
  198. ;       closepath clip
  199. ;       moveto
  200. ; } def
  201. ;
  202. ; % doclip, if called, will always be just after a `startfig'
  203. ;
  204. ; /doclip { llx lly urx ury clipFig } def
  205.  
  206. /EndIncludeFig {
  207.            count op_count sub {pop} repeat
  208.            countdictstack dict_count sub {end} repeat
  209.            b4_Inc_state restore
  210. } bind def
  211. ;
  212. *sampleprolog
  213. ; Sample PSPROLOG. Many other methods of implementation are possible. 
  214. ;
  215. ; This entire section (without full-line comments)
  216. ; gets inserted into the PSOUT file after the
  217. ; AutoCAD generated transformations. Thus, this section can contain code
  218. ; to globally rotate, translate, and otherwise transform the image.
  219. ;
  220. ; To rotate an image, an example (for 8.5" high paper), include the
  221. ; instructions
  222. ;
  223. ;    0 8.5 72 mul translate   % 8.5 inches times 72 pts per inch
  224. ;    -90 rotate               % Positive means counterclockwise
  225. ;
  226. ; Three functions are prime candidates for redefinition:
  227. ;
  228. ;       ACADColor
  229. ;               i r g b ACADColor -
  230. ;       gets called every time the color changes. r, g, b are values from 0 to 1,
  231. ;       while i is number from 1 to 254, corresponding to the ACAD color number.
  232. ;       The default implementation is:
  233. ;/ACADColor { setrgbcolor pop } def
  234. ;
  235. ;
  236. ;       ACADLayer
  237. ;               name ACADLayer -
  238. ; gets called when the layer changes. The layer name is presented as a string.
  239. ; The default is to do nothing with this information; the default
  240. ; implementation is
  241. ;
  242. ;/ACADLayer { pop } def
  243. ;
  244. ;       ACADLtype
  245. ;               name pattern alignment ACADLtype -
  246. ; gets called when the line type changes. "name" is the name of the linetype,
  247. ; and could be used as a key into a dictionary. "pattern" is an array consisting
  248. ; of what AutoCAD refers to as the "dash-n" fields. "alignment" is the AutoCAD
  249. ; alignment specification, which at present is always the string (A).
  250. ; The default implementation is quite complicated.
  251. ;
  252. ; An example set of redefinitions follow.
  253. ;
  254. ; First, define a local dictionary; userdict certainly won't have enough
  255. ; space for big tables of colors.
  256. ;
  257. /SamplePrologDict 300 dict def
  258. ;
  259. ;       n tocname --
  260. ;       create a name "colorN" for later lookup. This approach doesn't
  261. ;       make particularly readable names, but it is compact.
  262. SamplePrologDict begin
  263. /tocname {
  264.         6 string dup 0 (color) putinterval dup 5 4 -1 roll put cvn
  265.         } bind def
  266.  
  267. ;       n routine color --
  268. ;       defines a color entry, putting it in mydict.
  269. /color { exch tocname exch bind def } bind def
  270. end
  271. ;
  272. ;       Now, the lookup.
  273. ; Note that is is VITAL to clear the stack in called routines; ACADColor will
  274. ; only take the garbage off if there is not a special entry for this color 
  275. ; Note that ACADColor must _not_ be in SamplePrologDict.
  276.  
  277. ;
  278. ; Note that the linewidth is scaled along with everything else. This
  279. ; might not be what you want! But the color and linetype and such are
  280. ; declared before the geometry is declared -- so we have to do a little
  281. ; magick to get it _really_ the way we want it.
  282. ;
  283. ;
  284. SamplePrologDict begin
  285. /_ACADLayer { ACADLayer } bind def
  286. /_ACADLtype { ACADLtype } bind def
  287. /_ACADColor {
  288.         SamplePrologDict begin
  289.         3 index tocname dup
  290.         SamplePrologDict exch known
  291.         { cvx exec }
  292.         { pop defaultcolor }
  293.         ifelse
  294.         end
  295. } bind def
  296. /acad-layer-known false def
  297. /acad-color-known false def
  298. /acad-linetype-known false def
  299. end
  300.  
  301. /ACADLayer {
  302.         SamplePrologDict begin
  303.         /acad-layer exch def
  304.         /acad-layer-known true def
  305.         end
  306. } bind def
  307. /ACADColor {
  308.         SamplePrologDict begin
  309.         4 array astore /acad-color exch def
  310.         /acad-color-known true def
  311.         end
  312. } bind def
  313. /ACADLtype {
  314.     SamplePrologDict begin
  315.     3 array astore /acad-ltype exch def
  316.     /acad-linetype-known true def
  317.     end
  318. } bind def
  319.  
  320. ; Now some example color defs.
  321. ; Make sure to put them in SamplePrologDict
  322. SamplePrologDict begin
  323. /scaledown { matrix currentmatrix 0 get div } bind def
  324. ; Color 1 just wants nice thin green lines.
  325. 1 { pop pop pop pop 0 scaledown setlinewidth 0 1 0 setrgbcolor } color
  326. ; Color 2 wants 36 point red lines
  327. 2 { pop pop pop pop 36 scaledown setlinewidth 1 0 0 setrgbcolor } color
  328. ; Everything else gets thin self-colored lines.
  329. /defaultcolor { 0 setlinewidth setrgbcolor pop } bind def
  330. end
  331. ; The next line is to make sure line widths are controlled only from the
  332. ; color-setting code.
  333. /setlinewidth { pop } def
  334.  
  335.  
  336. ; Now we redefine "stroke" so that it calls our procedures first.
  337. ; Notice that /stroke includes "stroke" in the definition; this is so
  338. ; that the old definition of stroke is used in the new definition -- and
  339. ; the "bind" makes it so. We do the same to "fill".
  340.  
  341. /prestroke {
  342.         SamplePrologDict begin
  343.             acad-color-known {
  344.                 /acad-color-known false def
  345.                 acad-color aload pop _ACADColor
  346.             } if
  347.             acad-layer-known {
  348.                 /acad-layer-known false def
  349.                 acad-layer _ACADLayer
  350.             } if
  351.             acad-linetype-known {
  352.                 /acad-linetype-known false def
  353.                 acad-ltype aload pop _ACADLtype
  354.             } if
  355.         end
  356.     } bind def
  357. /stroke { prestroke stroke } bind def
  358. /fill   { prestroke fill } bind def
  359. ;
  360. ;
  361. ;   End of sample prolog.
  362. ;
  363. ;
  364. ;   PostScript ISO font re-mapping procedure
  365. ;
  366. *isofontprologue
  367. /reencodedict 12 dict def
  368.  
  369. /ReEncode {
  370.     reencodedict begin
  371.         /newcodesandnames exch def
  372.         /newfontname exch def
  373.         /basefontname exch def
  374.         /basefontdict basefontname findfont def
  375.         /newfont basefontdict maxlength dict def
  376.         basefontdict {
  377.             exch dup /FID ne
  378.                 {dup /Encoding eq
  379.                     { exch dup length array copy newfont 3 1 roll put }
  380.                     { exch newfont 3 1 roll put }
  381.                  ifelse
  382.                 }
  383.                 { pop pop }
  384.             ifelse
  385.         } forall
  386.         newfont /FontName newfontname put
  387.         newcodesandnames aload pop
  388.         newcodesandnames length 2 idiv
  389.             { newfont /Encoding get 3 1 roll put }
  390.         repeat
  391.         newfontname newfont definefont pop
  392.     end
  393. } def
  394.  
  395. /ISO [
  396.         127 /degree
  397.         128 /plusminus
  398.         129 /emptyset
  399.  
  400. %   ISO characters moved here to avoid SEAC conflicts
  401.         130 /Aacute
  402.         131 /Acircumflex
  403.         132 /Atilde
  404.         133 /Adieresis
  405.         134 /Aring
  406.         135 /AE
  407.         136 /Ccedilla
  408.         137 /Egrave
  409.         138 /Eacute
  410.         139 /Ecircumflex
  411.         140 /Edieresis
  412.         141 /Igrave
  413.         142 /Iacute
  414.         143 /Icircumflex
  415.         144 /Idieresis
  416. %   End ISO characters moved
  417.  
  418.         145 /quoteleft
  419.         146 /quoteright
  420.  
  421. %   ISO character moved here to avoid SEAC conflicts
  422.         147 /otilde
  423. %   End ISO character moved
  424.  
  425.         160 /space
  426.         161 /exclamdown
  427.         162 /cent
  428.         163 /sterling
  429.         164 /currency
  430.         165 /yen
  431.         166 /bar
  432.         167 /section
  433.         168 /dieresis
  434.         169 /copyright
  435.         170 /ordfeminine
  436.         171 /guillemotleft
  437.         172 /logicalnot
  438.         173 /minus
  439.         174 /registered
  440.         175 /hyphen
  441.         176 /ring
  442.         177 /plusminus
  443.         178 /twosuperior
  444.         179 /threesuperior
  445.         180 /acute
  446.         181 /mu
  447.         182 /paragraph
  448.         183 /periodcentered
  449.         184 /cedilla
  450.         185 /onesuperior
  451.         186 /ordmasculine
  452.         187 /guillemotright
  453.         188 /onequarter
  454.         189 /onehalf
  455.         190 /threequarters
  456.         191 /questiondown
  457.         192 /Agrave
  458. ;   Following ISO characters moved to avoid SEAC conflicts
  459. ;       193 /Aacute
  460. ;       194 /Acircumflex
  461. ;       195 /Atilde
  462. ;       196 /Adieresis
  463. ;       197 /Aring
  464. ;       198 /AE
  465. ;       199 /Ccedilla
  466. ;       200 /Egrave
  467. ;       201 /Eacute
  468. ;       202 /Ecircumflex
  469. ;       203 /Edieresis
  470. ;       204 /Igrave
  471. ;       205 /Iacute
  472. ;       206 /Icircumflex
  473. ;       207 /Idieresis
  474. ;   Preceding ISO characters moved to avoid SEAC conflicts
  475.         208 /Eth
  476.         209 /Ntilde
  477.         210 /Ograve
  478.         211 /Oacute
  479.         212 /Ocircumflex
  480.         213 /Otilde
  481.         214 /Odieresis
  482.         215 /multiply
  483.         216 /Oslash
  484.         217 /Ugrave
  485.         218 /Uacute
  486.         219 /Ucircumflex
  487.         220 /Udieresis
  488.         221 /Yacute
  489.         222 /Thorn
  490.         223 /germandbls
  491.         224 /agrave
  492.         225 /aacute
  493.         226 /acircumflex
  494.         227 /atilde
  495.         228 /adieresis
  496.         229 /aring
  497.         230 /ae
  498.         231 /ccedilla
  499.         232 /egrave
  500.         233 /eacute
  501.         234 /ecircumflex
  502.         235 /edieresis
  503.         236 /igrave
  504.         237 /iacute
  505.         238 /icircumflex
  506.         239 /idieresis
  507.         240 /eth
  508.         241 /ntilde
  509.         242 /ograve
  510.         243 /oacute
  511.         244 /ocircumflex
  512. ;   Following ISO character moved to avoid SEAC conflicts
  513. ;       245 /otilde
  514. ;   Preceding ISO character moved to avoid SEAC conflicts
  515.         246 /odieresis
  516.         247 /divide
  517.         248 /oslash
  518.         249 /ugrave
  519.         250 /uacute
  520.         251 /ucircumflex
  521.         252 /udieresis
  522.         253 /yacute
  523.         254 /thorn
  524.         255 /ydieresis
  525. ] def
  526. ;
  527. ;   PostScript fill pattern prologue code
  528. ;
  529. *fillprologue
  530. /Rangefilter { % <value> <min> <max> Rangefilter <filtered value>
  531.    3 -1 roll
  532.    2 copy lt
  533.       {pop exch pop}
  534.       {exch pop 2 copy gt {pop} {exch pop} ifelse}
  535.    ifelse
  536. } bind def
  537. /PreFill {
  538.     /CMatrix matrix currentmatrix def
  539. } bind def
  540. ;/showBBox {                           % Show bounding box (for debugging only)
  541. ;    gsave
  542. ;    newpath
  543. ;    0 setgray 1 setlinewidth
  544. ;    Bbllx Bblly moveto
  545. ;    Bbllx Bbury lineto
  546. ;    Bburx Bbury lineto
  547. ;    Bburx Bblly lineto
  548. ;    closepath stroke
  549. ;    grestore
  550. ;} bind def
  551. /DoFill {
  552.     /Bxscale exch def
  553.     /Byscale exch def
  554.     pathbbox
  555.     /Bbury exch def
  556.     /Bburx exch def
  557.     /Bblly exch def
  558.     /Bbllx exch def
  559. ;   showBBox                          % Show bounding box for debugging
  560. ; ;;CMatrix setmatrix 72 1000 div dup matrix scale
  561.     CMatrix setmatrix 72 1000 div dup Byscale div exch Bxscale div exch matrix scale
  562.     dup concat dup Bburx exch Bbury exch itransform
  563.     ceiling cvi /Bbury exch def ceiling cvi /Bburx exch def Bbllx exch
  564.     Bblly exch itransform floor cvi /Bblly exch def floor cvi /Bbllx
  565.     exch def
  566. } bind def
  567. /DoOutline {
  568.     gsave stroke grestore
  569. } bind def
  570. /EndFill {
  571. ;   showBBox                          % Show bounding box for debugging
  572. } bind def
  573. ;
  574. ;   PostScript fill pattern definitions
  575. ;
  576. *fill
  577. %@Fill
  578. /Grayscale %Grayscale,1, Grayscale=50
  579.    {
  580.         0 100 Rangefilter 100 div 1 exch sub setgray fill
  581.    } bind def
  582.  
  583. %@Fill
  584. /RGBcolor %RGBcolor,3, Red=50, Green=50, Blue=50,
  585.    {
  586.    /Blue exch 0 100 Rangefilter def
  587.    /Green exch 0 100 Rangefilter def
  588.    /Red exch 0 100 Rangefilter def
  589.  
  590.      Red 100 div 
  591.      Green 100 div 
  592.      Blue 100 div 
  593.      setrgbcolor fill
  594.    } bind def
  595.  
  596. %@Fill
  597. /AIlogo %AIlogo,5, Frequency=1.0, Separation=25, LineWidth=0, ForegroundGray=100, BackgroundGray=0
  598.    {
  599.    /BackgroundGray exch -1 100 Rangefilter def
  600.    /ForegroundGray exch 0 100 Rangefilter def
  601.    /Linewidth      exch 0 100 Rangefilter def
  602.    /Separation     exch 0 100 Rangefilter def
  603.    /Frequency      exch 1 100 Rangefilter def
  604.  
  605.    /newfont 10 dict def
  606.    newfont begin
  607.  
  608.    /FontMatrix [1  0  0
  609.                 1  0  0] def
  610.    /FontType 3 def
  611.    /FontBBox [0 0 1 1] def
  612.    /Encoding 256 array def
  613.    0 1 255 {Encoding exch /.notdef put} for
  614.  
  615.    /BuildChar
  616.      { 1  0
  617.        0 0 1 1
  618.        setcachedevice
  619.        pop begin
  620.  
  621.        100 Separation sub 100.0 div dup dup scale
  622.        Linewidth 500.0 div exch div setlinewidth 1 setlinejoin
  623.  
  624.        0.5 0.42201835 translate
  625.        0 0 moveto
  626.        0.25 -0.422 lineto
  627.        -0.25 -0.422 lineto
  628.        closepath
  629.        -0.5 -0.42201835 translate
  630.  
  631.        0.5 0.65137615 translate
  632.        0 0 moveto
  633.        0.3728 -0.6514 lineto
  634.        0.25 -0.6514 lineto
  635.        0.0734 -0.2018 lineto
  636.        -0.0734 -0.2018 lineto
  637.        -0.25 -0.6514 lineto
  638.        -0.3728 -0.6514 lineto
  639.        closepath
  640.        -0.5 -0.65137615 translate
  641.  
  642.        0.5 0.87155963 translate
  643.        0 0 moveto
  644.        0.5 -0.8716 lineto
  645.        0.3728 -0.8716 lineto
  646.        0.0734 -0.1468 lineto
  647.        -0.0734 -0.1468 lineto
  648.        -0.3728 -0.8716 lineto
  649.        -0.5 -0.8716 lineto
  650.        closepath
  651.        -0.5 -0.87155963 translate
  652.  
  653.        0.57177274 1 translate
  654.        0 0 moveto
  655.        0.4282 0 lineto
  656.        0.4282 -1 lineto
  657.        closepath
  658.        -0.57177274 -1 translate
  659.  
  660.        0 1 translate
  661.        0 0 moveto
  662.        0.4282 0 lineto
  663.        0 -1 lineto
  664.        closepath
  665.        0 -1 translate
  666.  
  667.        Linewidth 0 ne
  668.           { stroke }
  669.           { fill }
  670.        ifelse
  671.  
  672.       end
  673.      } def
  674.    end
  675.  
  676.    /pntsize 1000 Frequency div def
  677.    /FillFont newfont definefont pop
  678.    /FillFont findfont pntsize scalefont setfont
  679.  
  680.    eoclip
  681.    BackgroundGray 0 ge
  682.       { BackgroundGray 100 div 1 exch sub setgray fill }
  683.       { newpath } ifelse
  684.  
  685.    ForegroundGray 100 div 1 exch sub setgray
  686.  
  687.    Bblly pntsize Bbury
  688.      { Bbllx pntsize Bburx
  689.        { 1 index moveto
  690.        (a) show
  691.        } for
  692.      pop
  693.      } for
  694.    } bind def
  695.  
  696.  
  697. %@Fill
  698. /Lineargray %Lineargray,5, Levels=256, Cycles=1, Angle=0.0, ForegroundGray=100, BackgroundGray=0
  699.    {
  700.    /BackgroundGray exch 0 100 Rangefilter def
  701.    /ForegroundGray exch 0 100 Rangefilter def
  702.    /Angle exch def
  703.    /Cycles exch 1 8 Rangefilter def
  704.    /Levels exch 2 256 Rangefilter def
  705.    /SetXbb {
  706.       /Y exch def
  707.       /X exch def
  708.       X Xbbllx lt {/Xbbllx X def} if
  709.       Y Xbblly lt {/Xbblly Y def} if
  710.       X Xbburx gt {/Xbburx X def} if
  711.       Y Xbbury gt {/Xbbury Y def} if
  712.    } bind def
  713.  
  714.    /GrayConv { 100 div 1 exch sub } bind def
  715.    /GrayIncr ForegroundGray GrayConv BackgroundGray GrayConv 
  716.        sub Levels 1 sub div def
  717.  
  718.    Angle rotate
  719.    flattenpath
  720.  
  721.    currentpoint
  722.    dup /Xbbury exch def /Xbblly exch def
  723.    dup /Xbburx exch def /Xbbllx exch def
  724.    {SetXbb} {SetXbb} {1 1 3 {pop SetXbb} for} {} pathforall
  725.  
  726.    Xbbllx Xbblly translate
  727.    /Width Xbbury Xbblly sub def
  728.    /Incr Xbburx Xbbllx sub dup /Length exch def Levels div Cycles div def
  729.  
  730.    clip
  731.    ForegroundGray GrayConv setgray
  732.    1 1 Cycles {
  733.       1 ne {Length Cycles div 0 translate} if
  734.       0 Incr Length {
  735.          newpath 0 moveto
  736.          Incr 0 rlineto 0 Width rlineto Incr neg 0 rlineto fill
  737.          currentgray GrayIncr sub setgray
  738.       } for
  739.    /GrayIncr GrayIncr neg def
  740.    } for
  741. } bind def
  742.  
  743. %@Fill
  744. /Radialgray %Radialgray,3, Levels=256, ForegroundGray=0, BackgroundGray=100
  745. {
  746.    /BackgroundGray exch 0 100 Rangefilter def
  747.    /ForegroundGray exch 0 100 Rangefilter def
  748.    /Levels exch 2 256 Rangefilter def
  749.    /sq {dup mul} bind def
  750.    /Ctr2pt {Ctry sub abs sq exch Ctrx sub abs sq add sqrt} bind def
  751.    /SetMaxrad {Ctr2pt dup Maxrad gt {/Maxrad exch def} {pop} ifelse} bind def
  752.  
  753.    /GrayConv { 100 div 1 exch sub } bind def
  754.    /Ctrx Bburx Bbllx add 2 div def
  755.    /Ctry Bbury Bblly add 2 div def
  756.    /Maxrad 0 def
  757.    flattenpath
  758.    {SetMaxrad} {SetMaxrad} {1 1 3 {pop SetMaxrad} for} {} pathforall
  759.    /Incr Maxrad Levels 1 add div def
  760.    /GrayIncr ForegroundGray GrayConv BackgroundGray GrayConv 
  761.        sub Levels 1 sub div def
  762.    /IRad 0 def
  763.  
  764.    clip
  765.    ForegroundGray GrayConv setgray
  766.     0 Incr Maxrad {
  767.       /ORad exch def
  768.       ORad 0 ne {
  769.       Maxrad ORad sub Incr lt {/ORad Maxrad def} if
  770.          IRad 0 ne {
  771.             Ctrx IRad add Ctry moveto
  772.             Ctrx Ctry IRad 0 360 arc
  773.             Ctrx ORad add Ctry moveto
  774.             Ctrx Ctry ORad 0 360 arc eofill
  775.          }{
  776.             Ctrx ORad add Ctry moveto
  777.             Ctrx Ctry ORad 0 360 arc fill
  778.          } ifelse
  779.          currentgray GrayIncr sub setgray
  780.          /IRad ORad def
  781.       } if
  782.    } for
  783. } bind def
  784.  
  785. %@Fill
  786. /Square %Square,5, Scale=1.0, Separation=25, LineWidth=1, ForegroundGray=100, BackgroundGray=0
  787.   {
  788.    /BackgroundGray exch -1 100 Rangefilter def
  789.    /ForegroundGray exch 0 100 Rangefilter def
  790.    /LineWidth exch 0 100 Rangefilter def
  791.    /Separation exch 0 100 Rangefilter def
  792.    /Scale exch 1 100 Rangefilter def
  793.    /ll Separation 100.0 div def
  794.    /ur 100 Separation sub 100.0 div def
  795.    /newfont 10 dict def
  796.    newfont begin
  797.       /FontMatrix [1  0  0  1  0  0] def
  798.       /FontType 3 def
  799.       /FontBBox [0 0 1 1] def
  800.       /Encoding 256 array def
  801.       0 1 255 {Encoding exch /.notdef put} for
  802.       Encoding 97 /Filled put
  803.       Encoding 98 /Lines put
  804.       /CharProcs 4 dict def
  805.       CharProcs begin
  806.          /.notdef {} def
  807.          /Filled {
  808.             newpath
  809.             ll ll moveto
  810.             ur ll lineto
  811.             ur ur lineto
  812.             ll ur lineto
  813.             closepath
  814.             fill
  815.          } def
  816.         /Lines {
  817.             newpath
  818.             ll ll moveto
  819.             ur ll lineto
  820.             ur ur lineto
  821.             ll ur lineto
  822.             closepath
  823.             LineWidth 100 div setlinewidth
  824.             stroke
  825.         } def
  826.       end
  827.  
  828.      /BuildChar { 1 0 0 0 1 1 setcachedevice exch
  829.        begin
  830.          Encoding exch get
  831.          CharProcs exch get
  832.        end
  833.        exec
  834.      } def
  835.    end
  836.    /pntsize 1000 Scale mul def
  837.    /FillFont newfont definefont pop
  838.    /FillFont findfont pntsize scalefont setfont
  839.    eoclip
  840.    BackgroundGray 100 div 1 exch sub setgray fill
  841.    ForegroundGray 100 div 1 exch sub setgray fill
  842.    Bblly pntsize Bbury
  843.      { Bbllx pntsize Bburx
  844.        { 1 index moveto
  845.        (a) show
  846.        } for
  847.      pop
  848.      } for
  849.    0 setgray
  850.    Bblly pntsize Bbury
  851.      { Bbllx pntsize Bburx
  852.        { 1 index moveto
  853.        (b) show
  854.        } for
  855.      pop
  856.      } for
  857.    } bind def
  858.  
  859. %@Fill
  860. /Waffle %Waffle,6, Scale=1.0, Proportion=30, LineWidth=1, UpLeftGray=100, BotRightGray=50, TopGray=0
  861.    {
  862.    /TGray exch 0 100 Rangefilter def
  863.    /BRGray exch 0 100 Rangefilter def
  864.    /ULGray exch 0 100 Rangefilter def
  865.    /LineWidth exch 0 100 Rangefilter def
  866.    /Proportion exch 0 50 Rangefilter def
  867.    /Scale exch 1 10000 Rangefilter def
  868.    /ll Proportion 100.0 div def
  869.    /ur 100 Proportion sub 100.0 div def
  870.    /newfont 10 dict def
  871.    newfont begin
  872.    /FontMatrix [1  0  0  1  0  0] def
  873.    /FontType 3 def
  874.    /FontBBox [0 0 1 1] def
  875.    /Encoding 256 array def
  876.    0 1 255 {Encoding exch /.notdef put} for
  877.    Encoding 97 /Fill1 put
  878.    Encoding 98 /Fill2 put
  879.    Encoding 99 /Lines put
  880.    /CharProcs 4 dict def
  881.    CharProcs begin
  882.    /.notdef {} def
  883.    /Fill1
  884.       {
  885.       newpath
  886.       0 0 moveto
  887.       0 1 lineto
  888.       1 1 lineto
  889.       ur ur lineto
  890.       ll ur lineto
  891.       ll ll lineto
  892.       closepath
  893.       fill
  894.       } def
  895.    /Fill2
  896.       {
  897.       newpath
  898.       0 0 moveto
  899.       1 0 lineto
  900.       1 1 lineto
  901.       ur ur lineto
  902.       ur ll lineto
  903.       ll ll lineto
  904.       closepath
  905.       fill
  906.       } def
  907.    /Lines
  908.       {
  909.       newpath
  910.       0 0 moveto
  911.       0 1 lineto
  912.       1 1 lineto
  913.       1 0 lineto
  914.       0 0 lineto
  915.       ll ll lineto
  916.       ll ur lineto
  917.       ur ur lineto
  918.       ur ll lineto
  919.       ll ll lineto
  920.       0 1 moveto
  921.       ll ur lineto
  922.       1 1 moveto
  923.       ur ur lineto
  924.       1 0 moveto
  925.       ur ll lineto
  926.       LineWidth 100 div setlinewidth
  927.       stroke
  928.       } def
  929.    end
  930.  
  931.    /BuildChar
  932.      { 1  0
  933.        0 0 1 1
  934.        setcachedevice
  935.        exch begin
  936.        Encoding exch get
  937.        CharProcs exch get
  938.        end
  939.        exec
  940.      } def
  941.    end
  942.    /pntsize 1000 Scale mul def
  943.    /FillFont newfont definefont pop
  944.    /FillFont findfont pntsize scalefont setfont
  945.    eoclip
  946.    TGray 0 ge
  947.       { TGray 100 div 1 exch sub setgray fill }
  948.       { 0 setgray fill newpath } ifelse
  949.  
  950.    ULGray 100 div 1 exch sub setgray
  951.    Bblly pntsize Bbury
  952.      { Bbllx pntsize Bburx
  953.        { 1 index moveto
  954.        (a) show
  955.        } for
  956.      pop
  957.      } for
  958.    BRGray 100 div 1 exch sub setgray
  959.    Bblly pntsize Bbury
  960.      { Bbllx pntsize Bburx
  961.        { 1 index moveto
  962.        (b) show
  963.        } for
  964.      pop
  965.      } for
  966.    0 setgray
  967.    Bblly pntsize Bbury
  968.      { Bbllx pntsize Bburx
  969.        { 1 index moveto
  970.        (c) show
  971.        } for
  972.      pop
  973.      } for
  974.    } bind def
  975. %@Fill
  976. /Zigzag %Zigzag,4, Scale=1.0, LineWidth=1, ForeGroundGray=50, BackGroundGray=0
  977.    {
  978.    /BackGroundGray exch 0 100 Rangefilter def
  979.    /ForeGroundGray exch 0 100 Rangefilter def
  980.    /LineWidth exch 0 100 Rangefilter def
  981.    /Scale exch 1 10000 Rangefilter def
  982.    /newfont 10 dict def
  983.    newfont begin
  984.    /FontMatrix [1  0  0  1  0  0] def
  985.    /FontType 3 def
  986.    /FontBBox [0 0 1 1] def
  987.    /Encoding 256 array def
  988.    0 1 255 {Encoding exch /.notdef put} for
  989.    Encoding 97 /Fill1 put
  990.    Encoding 98 /Lines put
  991.    /CharProcs 3 dict def
  992.    CharProcs begin
  993.    /.notdef {} def
  994.    /Fill1
  995.       {
  996.       newpath
  997.       .000 1.000 moveto
  998.       1.000 1.000 lineto
  999.       1.000 .625 lineto
  1000.       .875 .500 lineto
  1001.       .750 .625 lineto
  1002.       .750 .875 lineto
  1003.       .625 1.000 lineto
  1004.       .500 .875 lineto
  1005.       .500 .625 lineto
  1006.       .375 .500 lineto
  1007.       .250 .625 lineto
  1008.       .250 .875 lineto
  1009.       .125 1.000 lineto
  1010.       .000 .875 lineto
  1011.  
  1012.       .000 .000 moveto
  1013.       1.000 .000 lineto
  1014.       1.000 .125 lineto
  1015.       .875 .000 lineto
  1016.       .750 .125 lineto
  1017.       .750 .375 lineto
  1018.       .625 .500 lineto
  1019.       .500 .375 lineto
  1020.       .500 .125 lineto
  1021.       .375 .000 lineto
  1022.       .250 .125 lineto
  1023.       .250 .375 lineto
  1024.       .125 .500 lineto
  1025.       .000 .375 lineto
  1026.       closepath
  1027.       fill
  1028.       } def
  1029.    /Lines
  1030.       {
  1031.       newpath
  1032.       1.000 .125 moveto
  1033.       .875 .000 lineto
  1034.       .750 .125 lineto
  1035.       .750 .375 lineto
  1036.       .625 .500 lineto
  1037.       .500 .375 lineto
  1038.       .500 .125 lineto
  1039.       .375 .000 lineto
  1040.       .250 .125 lineto
  1041.       .250 .375 lineto
  1042.       .125 .500 lineto
  1043.       .000 .375 lineto
  1044.       .000 .125 lineto
  1045.  
  1046.       1.000 .875 moveto
  1047.       1.000 .625 lineto
  1048.       .875 .500 lineto
  1049.       .750 .625 lineto
  1050.       .750 .875 lineto
  1051.       .625 1.000 lineto
  1052.       .500 .875 lineto
  1053.       .500 .625 lineto
  1054.       .375 .500 lineto
  1055.       .250 .625 lineto
  1056.       .250 .875 lineto
  1057.       .125 1.000 lineto
  1058.       .000 .875 lineto
  1059.       LineWidth 100 div setlinewidth
  1060.       stroke
  1061.       } def
  1062.    end
  1063.  
  1064.    /BuildChar
  1065.      { 1  0
  1066.        0 0 1 1
  1067.        setcachedevice
  1068.        exch begin
  1069.        Encoding exch get
  1070.        CharProcs exch get
  1071.        end
  1072.        exec
  1073.      } def
  1074.    end
  1075.    /pntsize 1000 Scale mul def
  1076.    /FillFont newfont definefont pop
  1077.    /FillFont findfont pntsize scalefont setfont
  1078.    eoclip
  1079.    BackGroundGray 100 div 1 exch sub setgray fill
  1080.    ForeGroundGray 100 div 1 exch sub setgray
  1081.    Bblly pntsize Bbury
  1082.      { Bbllx pntsize Bburx
  1083.        { 1 index moveto
  1084.        (a) show
  1085.        } for
  1086.      pop
  1087.      } for
  1088.    0 setgray
  1089.    Bblly pntsize Bbury
  1090.      { Bbllx pntsize Bburx
  1091.        { 1 index moveto
  1092.        (b) show
  1093.        } for
  1094.      pop
  1095.      } for
  1096.    } bind def
  1097.  
  1098. %@Fill
  1099. /Stars %Stars,4, Scale=1.0, LineWidth=1, ForegroundGray=100, BackgroundGray=0
  1100.    {
  1101.    /Bgray exch 0 100 Rangefilter def
  1102.    /Fgray exch 0 100 Rangefilter def
  1103.    /LineWidth exch 0 100 Rangefilter def
  1104.    /Scale exch 1 10000 Rangefilter def
  1105.    /newfont 10 dict def
  1106.    newfont begin
  1107.    /FontMatrix [1  0  0  1  0  0] def
  1108.    /FontType 3 def
  1109.    /FontBBox [0 0 1 1] def
  1110.    /Encoding 256 array def
  1111.    0 1 255 {Encoding exch /.notdef put} for
  1112.    Encoding 97 /Filled put
  1113.    Encoding 98 /Lines put
  1114.    /CharProcs 3 dict def
  1115.    CharProcs begin
  1116.    /.notdef {} def
  1117.    /Filled
  1118.       {
  1119.       newpath
  1120.       .500 .350 moveto
  1121.       .025 .075 lineto
  1122.       .381 .495 lineto
  1123.       .275 .625 lineto
  1124.       .492 .625 lineto
  1125.       .725 .900 lineto
  1126.       .725 .625 lineto
  1127.       .975 .625 lineto
  1128.       .725 .480 lineto
  1129.       .725 .075 lineto
  1130.       closepath
  1131.       fill
  1132.       } def
  1133.    /Lines
  1134.       {
  1135.       newpath
  1136.       .500 .350 moveto
  1137.       .025 .075 lineto
  1138.       .381 .495 lineto
  1139.       .275 .625 lineto
  1140.       .492 .625 lineto
  1141.       .725 .900 lineto
  1142.       .725 .625 lineto
  1143.       .975 .625 lineto
  1144.       .725 .480 lineto
  1145.       .725 .075 lineto
  1146.       closepath
  1147.       LineWidth 100 div setlinewidth
  1148.       stroke
  1149.       } def
  1150.    end
  1151.  
  1152.    /BuildChar
  1153.      { 1  0
  1154.        0 0 1 1
  1155.        setcachedevice
  1156.        exch begin
  1157.        Encoding exch get
  1158.        CharProcs exch get
  1159.        end
  1160.        exec
  1161.      } def
  1162.    end
  1163.    /pntsize 1000 Scale mul def
  1164.    /FillFont newfont definefont pop
  1165.    /FillFont findfont pntsize scalefont setfont
  1166.    eoclip
  1167.    Bgray 100 div 1 exch sub setgray fill
  1168.    Fgray 100 div 1 exch sub setgray
  1169.    Bblly pntsize Bbury
  1170.      { Bbllx pntsize Bburx
  1171.        { 1 index moveto
  1172.        (a) show
  1173.        } for
  1174.      pop
  1175.      } for
  1176.    0 setgray
  1177.    Bblly pntsize Bbury
  1178.      { Bbllx pntsize Bburx
  1179.        { 1 index moveto
  1180.        (b) show
  1181.        } for
  1182.      pop
  1183.      } for
  1184.    } bind def
  1185.  
  1186. %@Fill
  1187. /Brick %Brick,5, Scale=1.0, LineWidth=1, BrickGray1=100, BrickGray2=50, BackGroundGray=0
  1188.    {
  1189.    /Bgray exch 0 100 Rangefilter def
  1190.    /Fgray2 exch 0 100 Rangefilter def
  1191.    /Fgray1 exch 0 100 Rangefilter def
  1192.    /LineWidth exch 0 100 Rangefilter def
  1193.    /Scale exch 1 10000 Rangefilter def
  1194.    /newfont 10 dict def
  1195.    newfont begin
  1196.    /FontMatrix [1  0  0  1  0  0] def
  1197.    /FontType 3 def
  1198.    /FontBBox [0 0 1 1] def
  1199.    /Encoding 256 array def
  1200.    0 1 255 {Encoding exch /.notdef put} for
  1201.    Encoding 97 /Fill1 put
  1202.    Encoding 98 /Fill2 put
  1203.    Encoding 99 /Lines put
  1204.    /CharProcs 4 dict def
  1205.    CharProcs begin
  1206.    /.notdef {} def
  1207.    /Fill1
  1208.       {
  1209.       .025 .975 moveto
  1210.       .025 .525 lineto
  1211.       .975 .525 lineto
  1212.       .975 .975 lineto
  1213.       .025 .975 lineto
  1214.       closepath
  1215.       fill
  1216.       } def
  1217.    /Fill2
  1218.       {
  1219.       .000 .475 moveto
  1220.       .000 .025 lineto
  1221.       .475 .025 lineto
  1222.       .475 .475 lineto
  1223.       .000 .475 lineto
  1224.       1.000 .475 moveto
  1225.       1.000 .025 lineto
  1226.       .525 .025 lineto
  1227.       .525 .475 lineto
  1228.       1.000 .475 lineto
  1229.       closepath
  1230.       fill
  1231.       } def
  1232.    /Lines
  1233.       {
  1234.       newpath
  1235.       1.000 .025 moveto
  1236.       .525 .025 lineto
  1237.       .525 .475 lineto
  1238.       1.000 .475 lineto
  1239.       .000 .025 moveto
  1240.       .475 .025 lineto
  1241.       .475 .475 lineto
  1242.       .000 .475 lineto
  1243.       .025 .975 moveto
  1244.       .025 .525 lineto
  1245.       .975 .525 lineto
  1246.       .975 .975 lineto
  1247.       .025 .975 lineto
  1248.       LineWidth 100 div setlinewidth
  1249.       stroke
  1250.       } def
  1251.    end
  1252.  
  1253.    /BuildChar
  1254.      { 1  0
  1255.        0 0 1 1
  1256.        setcachedevice
  1257.        exch begin
  1258.        Encoding exch get
  1259.        CharProcs exch get
  1260.        end
  1261.        exec
  1262.      } def
  1263.    end
  1264.    /pntsize 1000 Scale mul def
  1265.    /FillFont newfont definefont pop
  1266.    /FillFont findfont pntsize scalefont setfont
  1267.    eoclip
  1268.    Bgray 100 div 1 exch sub setgray fill
  1269.    Fgray1 100 div 1 exch sub setgray
  1270.    Bblly pntsize Bbury
  1271.      { Bbllx pntsize Bburx
  1272.        { 1 index moveto
  1273.        (a) show
  1274.        } for
  1275.      pop
  1276.      } for
  1277.    Fgray2 100 div 1 exch sub setgray
  1278.    Bblly pntsize Bbury
  1279.      { Bbllx pntsize Bburx
  1280.        { 1 index moveto
  1281.        (b) show
  1282.        } for
  1283.      pop
  1284.      } for
  1285.    0 setgray
  1286.    Bblly pntsize Bbury
  1287.      { Bbllx pntsize Bburx
  1288.        { 1 index moveto
  1289.        (c) show
  1290.        } for
  1291.      pop
  1292.      } for
  1293.    } bind def
  1294.  
  1295. %@Fill
  1296. /Specks %Specks,3, Scale=1.0, ForeGroundGray=100, BackGroundGray=0
  1297.    {
  1298.    /Bgray exch 0 100 Rangefilter def
  1299.    /Fgray exch 0 100 Rangefilter def
  1300.    /Scale exch 1 10000 Rangefilter def
  1301.    /newfont 10 dict def
  1302.    newfont begin
  1303.    /FontMatrix [1  0  0  1  0  0] def
  1304.    /FontType 3 def
  1305.    /FontBBox [0 0 1 1] def
  1306.    /Encoding 256 array def
  1307.    0 1 255 {Encoding exch /.notdef put} for
  1308.    Encoding 97 /Filled put
  1309.    /CharProcs 2 dict def
  1310.    CharProcs begin
  1311.    /.notdef {} def
  1312.    /Filled
  1313.       {
  1314.       newpath
  1315.       .125 1.000 moveto
  1316.       .125 .875 lineto
  1317.       .000 .875 lineto
  1318.       .000 1.000 lineto
  1319.  
  1320.       .500 1.000 moveto
  1321.       .500 .750 lineto
  1322.       .250 .750 lineto
  1323.       .250 1.000 lineto
  1324.  
  1325.       1.000 .875 moveto
  1326.       .875 .875 lineto
  1327.       .875 1.000 lineto
  1328.       1.000 1.000 lineto
  1329.  
  1330.       .000 .500 moveto
  1331.       .250 .500 lineto
  1332.       .250 .250 lineto
  1333.       .000 .250 lineto
  1334.  
  1335.       .625 .625 moveto
  1336.       .625 .375 lineto
  1337.       .375 .375 lineto
  1338.       .375 .625 lineto
  1339.  
  1340.       1.000 .500 moveto
  1341.       .750 .500 lineto
  1342.       .750 .750 lineto
  1343.       1.000 .750 lineto
  1344.  
  1345.       .000 .125 moveto
  1346.       .125 .125 lineto
  1347.       .125 .000 lineto
  1348.       .000 .000 lineto
  1349.  
  1350.       .500 .000 moveto
  1351.       .500 .250 lineto
  1352.       .750 .250 lineto
  1353.       .750 .000 lineto
  1354.  
  1355.       .875 .000 moveto
  1356.       .875 .125 lineto
  1357.       1.000 .125 lineto
  1358.       1.000 .000 lineto
  1359.       closepath
  1360.       fill
  1361.       } def
  1362.    end
  1363.    /BuildChar
  1364.      { 1  0
  1365.        0 0 1 1
  1366.        setcachedevice
  1367.        exch begin
  1368.        Encoding exch get
  1369.        CharProcs exch get
  1370.        end
  1371.        exec
  1372.      } def
  1373.    end
  1374.    /pntsize 1000 Scale mul def
  1375.    /FillFont newfont definefont pop
  1376.    /FillFont findfont pntsize scalefont setfont
  1377.    eoclip
  1378.    Bgray 100 div 1 exch sub setgray fill
  1379.    Fgray 100 div 1 exch sub setgray fill
  1380.    Bblly pntsize Bbury
  1381.      { Bbllx pntsize Bburx
  1382.        { 1 index moveto
  1383.        (a) show
  1384.        } for
  1385.      pop
  1386.      } for
  1387.    } bind def
  1388.