%!PS % POSTSCRIPT/ACROBAT TO .BMP BITMAP GENERATOR AND "BITMAP TYPEWRITER" V1.2 % ================================================================= % Copyright c 2001 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.5 % This utility shows how to programatically generate a .BMP file from PostScript. % It also acts as a "bitmap typewriter" that lets you force ultrasmall but TOTALLY % CONTROLLED lettering onto a bitmap image. I have found this especially useful % in eBay image prep of oscilloscopes and similar test instruments. % Other possible extensions would allow watermarking, steganography, or the blending % of two bitmaps. Such as a map and an aerial photo. % The code has purposely been kept simple for easy mods. % Current format is 24 bit color, uncompressed. While a simple lettering bitmap could % be much shorter, this has to match the main .BMP full image format being adjusted. % To use, read and edit this file in a suitable ASCII editor or word processor. % Then distill the new file using Adobe Acrobat or GhostScript. Then pull up the % generated .BMP file in Paint or wherever, position and paste. % A "WARNING: No PDF File Produced" error message is normal and expected. % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is reccomended to enhance this program. % After obvious location mods, uncomment ONE of the following two lines: % (C:\\windows\\desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990,1996,2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. %%%%%%%%%%%%%%%% CONTROL VARIABLES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /hbits 356 def % horizontal bits in BMP bitmap /vbits 256 def % vertical bits in BMP bitmap /bkgcolor [255 255 255 ] def % background color (best used WHITE} /color1 [67 67 97] def % chosen font or other color /color2 [0 255 0] def % chosen font or other color /color3 [0 0 255] def % chosen font or other color /color4 [250 150 250] def /color5 [0 255 255] def /curcolor color1 store % current color variable /targetfilename (test01.bmp) def % short name of file to be generated /targetfilenameprefix % full filename prefix to be appended (C:\\WINDOWS\\desktop\\psbits\\) def /autochar true store % automatic drop to next line? /yincr 14 def % vertical spacing between characters /zz (x) 0 get def % font marker lower case "x" for font color /usekernchars true def % allow kerning? /kern+char (~) 0 get def % define positive kerning character /kern-char (`) 0 get def % define negative kerning character %%%%%%%%%%%%%%%%% CUSTOM MINIMAL FIXED BITMAP FONTS %%%%%%%%%%% % These fonts are intended for use at ONE size only. Their primary use % is when utmost legibility is demanded in the minimum possible size. % Best application is with a latter 2:1 image reduction for auto antialiasing. % /font203 is beneath legibility, but you can "suggest" or "greek" tiny wording % with it, and you acually can spell out the word "PULL". More or less. % XX % XX % XX /font203 { /ff [ 256 {[(.)]} repeat ] store [(..) (..) (..)] ff exch 32 exch put % full space slightly shortened [(.) (.) (x)] ff exch 46 exch put % legible period or decimal point [(xx) (xx) (xx)] ff exch 48 exch put % illegible numeral zero same as capital O [(x) (x) (x)] ff exch 49 exch put % numeral 1 [(xx) (xx) (xx)] ff exch 50 exch put % illegible numeral two [(xx) (xx) (xx)] ff exch 51 exch put % illegible numeral three [(xx) (xx) (.x)] ff exch 52 exch put % numeral four [(xx) (xx) (xx)]ff exch 53 exch put % illegible numeral five [(xx) (xx) (xx)] ff exch 54 exch put % illegible numeral six [(xx) (.x) (.x)] ff exch 55 exch put % numeral seven [(xx) (xx) (xx)] ff exch 56 exch put % illegible numeral eight [(xx) (xx) (xx)] ff exch 57 exch put % illegible numeral nine [(xx) (xx) (xx)] ff exch 65 exch put % illegible upper case "A" [(xx) (xx) (xx)] ff exch 66 exch put % illegible upper case "B" [(xx) (x.) (xx)] ff exch 67 exch put % upper case "C" [(xx) (xx) (xx)] ff exch 68 exch put % illegible upper case "D" [(xx) (xx) (xx)] ff exch 69 exch put % illegible upper case "E" [(xx) (xx) (xx)] ff exch 70 exch put % illegible upper case "F" [(xx) (xx) (xx)] ff exch 71 exch put % illegible upper case "G" [(xx) (xx) (xx)] ff exch 72 exch put % illegible upper case "H" [(x) (x) (x)] ff exch 73 exch put % upper case "I" [(.x) (.x) (xx)] ff exch 74 exch put % upper case "J" [(xx) (xx) (xx)] ff exch 75 exch put % illegible pper case "K" [(x.) (x.) (xx)] ff exch 76 exch put % upper case "L" [(x.x) (xxx) (xxx)] ff exch 77 exch put % upper case "M" [(xx) (xx) (xx)] ff exch 78 exch put % illegible upper case "N" [(xx) (xx) (xx)] ff exch 79 exch put % illegible upper case "O" [(xx) (xx) (x.)] ff exch 80 exch put % upper case "P" [(xx) (xx) (xx) (.x)] ff exch 81 exch put % upper case "Q" should auto descend [(xx) (xx) (xx)] ff exch 82 exch put % illegible upper case "R" [(xx) (xx) (xx)] ff exch 83 exch put % illegible upper case "S" [(xx) (xx) (xx)] ff exch 84 exch put % illegible upper case "T" [(xx) (xx) (xx)] ff exch 85 exch put % illegible upper case "U" [(xx) (xx) (xx)] ff exch 86 exch put % illegible upper case "V" [(xxx) (xxx) (x.x)] ff exch 87 exch put % upper case "W" [(xx) (xx) (xx)] ff exch 88 exch put % illegible upper case "X" [(xx) (xx) (xx)] ff exch 89 exch put % illegible upper case "Y" [(xx) (xx) (xx)] ff exch 90 exch put % illegible upper case "Z" ff } def % /font303 is beneath legibility, but you can "suggest" or "greek" tiny wording % with it, and at least several characters are recognizible. % XXX % XXX % XXX /font303 { /ff [ 256 {[(.)]} repeat ] store [(..) (..) (..)] ff exch 32 exch put % full space slightly shortened [(.) (.) (x)] ff exch 46 exch put % legible period or decimal point [(xxx) (x.x) (xxx)] ff exch 48 exch put % numeral zero same as capital O [(xx.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(xxx) (.x.) (xxx)] ff exch 50 exch put % redundant numeral two [(xxx) (.xx) (xxx)] ff exch 51 exch put % illegible numeral three [(x.x) (xxx) (..x)] ff exch 52 exch put % numeral four [(xxx) (.x.) (xxx)]ff exch 53 exch put % redundant numeral five [(xx.) (xxx) (xxx)] ff exch 54 exch put % illegible numeral six [(xxx) (..x) (.x.)] ff exch 55 exch put % numeral seven [(xxx) (xxx) (xxx)] ff exch 56 exch put % illegible numeral eight [(xxx) (xxx) (.xx)] ff exch 57 exch put % illegible numeral nine [(.x.) (xxx) (xxx)] ff exch 65 exch put % illegible upper case "A" [(xxx) (xxx) (xxx)] ff exch 66 exch put % illegible upper case "B" [(xxx) (x..) (xxx)] ff exch 67 exch put % upper case "C" [(xx.) (x.x) (xx.)] ff exch 68 exch put % upper case "D" [(xxx) (xx) (xxx)] ff exch 69 exch put % upper case "E" [(xxx) (xx.) (x..)] ff exch 70 exch put % upper case "F" [(xx.) (x.x) (xxx)] ff exch 71 exch put % illegible upper case "G" [(x.x) (xxx) (x.x)] ff exch 72 exch put % redundant upper case "H" [(x) (x) (x)] ff exch 73 exch put % upper case "I" [(..x) (x.x) (xxx)] ff exch 74 exch put % upper case "J" [(xxx) (xx.) (xxx)] ff exch 75 exch put % illegible upper case "K" [(x..) (x..) (xxx)] ff exch 76 exch put % upper case "L" [(x..x) (xxxx) (xxxx)] ff exch 77 exch put % upper case "M" [(x.x) (xxx) (x.x)] ff exch 78 exch put % illegible upper case "N" [(xxx) (x.x) (xxx)] ff exch 79 exch put % upper case "O" [(xxx) (xxx) (x..)] ff exch 80 exch put % upper case "P" [(xxx) (x.x) (xxx) (..x)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx) (xxx) (x.x)] ff exch 82 exch put % illegible upper case "R" [(xxx) (xxx) (xxx)] ff exch 83 exch put % illegible upper case "S" [(xxx) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x.x) (x.x) (xxx)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (.x.)] ff exch 86 exch put % illegible upper case "V" [(x..x) (xxxx) (.xx.)] ff exch 87 exch put % upper case "W" [(x.x) (xxx) (x.x)] ff exch 88 exch put % redundant upper case "X" [(x.x) (xxx) (.x.)] ff exch 89 exch put % upper case "Y" [(xxx) (.x.) (xxx)] ff exch 90 exch put % redundant upper case "Z" ff } def % /font305 is the smallest, nonbold, regular font you can get with reasonable % legibility. "blocky" is chosen over "angled" for extra boldness. % XXX % X X % XXX % X X % XXX /font305 { /ff [ 256 {[(.)]} repeat ] store [(..) (..) (..) (..) (..)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (x)] ff exch 46 exch put % legible period or decimal point [(xxx) (x.x) (x.x) (x.x) (xxx)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(xxx) (..x) (xxx) (x..) (xxx)] ff exch 50 exch put % numeral two [(xxx) (..x) (xxx) (..x) (xxx)] ff exch 51 exch put % numeral three [(x.x) (x.x) (xxx) (..x) (..x)] ff exch 52 exch put % numeral four [(xxx) (x..) (xxx) (..x) (xxx)] ff exch 53 exch put % redundant numeral five [(xxx) (x..) (xxx) (x.x) (xxx)] ff exch 54 exch put % numeral six [(xxx) (..x) (.xx) (.x.) (.x.)] ff exch 55 exch put % numeral seven [(xxx) (x.x) (xxx) (x.x) (xxx)] ff exch 56 exch put % numeral eight [(xxx) (x.x) (xxx) (..x) (xxx)] ff exch 57 exch put % numeral nine [(.x.) (x.x) (x.x) (xxx) (x.x)] ff exch 65 exch put % upper case "A" [(xx.) (x.x) (xxx) (x.x) (xx.)] ff exch 66 exch put % upper case "B" [(.xx) (x..) (x..) (x..) (.xx)] ff exch 67 exch put % upper case "C" [(xx.) (x.x) (x.x) (x.x) (xx.)] ff exch 68 exch put % upper case "D" [(xxx) (x..) (xx.) (x..) (xxx)]ff exch 69 exch put % upper case "E" [(xxx) (x..) (xx.) (x..) (x..)] ff exch 70 exch put % upper case "F" [(.xx) (x..) (x.x) (x.x) (.xx)] ff exch 71 exch put % upper case "G" [(x.x) (x.x) (xxx) (x.x) (x.x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(..x) (..x) (..x) (x.x) (xxx)] ff exch 74 exch put % upper case "J" [(x.x) (xxx) (xx.) (xxx) (x.x)]ff exch 75 exch put % upper case "K" [(x..) (x..) (x..) (x..) (xxx)] ff exch 76 exch put % upper case "L" [(x...x) (xx.xx) (xx.xx) (x.x.x) (x.x.x)] ff exch 77 exch put % upper case "M" [(x.x) (xxx) (xxx) (xxx) (x.x)]ff exch 78 exch put % redundant upper case "N" [(xxx) (x.x) (x.x) (x.x) (xxx)] ff exch 79 exch put % upper case "O" [(xxx) (x.x) (xxx) (x..) (x..)] ff exch 80 exch put % upper case "P" [(xxx) (x.x) (x.x) (x.x) (xxx) (..x)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx) (x.x) (xxx) (xx.) (x.x)] ff exch 82 exch put % upper case "R" [(xxx) (x..) (xxx) (..x) (xxx)] ff exch 83 exch put % upper case "S" [(xxx) (.x.) (.x.) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (x.x) (x.x) (.x.)] ff exch 86 exch put % upper case "V" [(x...x) (x...x) (x.x.x) (x.x.x) (xx.xx)] ff exch 87 exch put % upper case "W" [(x.x) (x.x) (.x.) (x.x) (x.x)] ff exch 88 exch put % upper case "X" [(x.x) (x.x) (xxx) (.x.) (.x.)] ff exch 89 exch put % upper case "Y" [(xxx) (..x) (.x.) (x..) (xxx)] ff exch 90 exch put % upper case "Z" ff } def % /font306 is a compressed font305. It is the smallest font with a distinct style. % XXX % X X % X X % XXX % X X % XXX /font306 { /ff [ 256 {[(.)]} repeat ] store [(..) (..) (..) (..) (..) (..) (..)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (.) (.) (x)] ff exch 46 exch put % legible period or decimal point [(xxx) (x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(xxx) (x.x) (..x) (.x.) (x..) (xxx)] ff exch 50 exch put % numeral two [(xxx) (..x) (..x) (xxx) (..x) (xxx)] ff exch 51 exch put % numeral three [(x.x) (x.x) (x.x) (xxx) (..x) (..x)] ff exch 52 exch put % numeral four [(xxx) (x..) (x..) (xxx) (..x) (xxx)] ff exch 53 exch put % numeral five [(xxx) (x..) (x..) (xxx) (x.x) (xxx)] ff exch 54 exch put % numeral six [(xxx) (..x) (..x) (.xx) (.x.) (.x.)] ff exch 55 exch put % numeral seven [(xxx) (x.x) (x.x) (xxx) (x.x) (xxx)] ff exch 56 exch put % numeral eight [(xxx) (x.x) (x.x) (xxx) (..x) (xxx)] ff exch 57 exch put % numeral nine [(.x.) (x.x) (x.x) (x.x) (xxx) (x.x)] ff exch 65 exch put % upper case "A" [(xxx) (x.x) (x.x) (xx.) (x.x) (xxx)] ff exch 66 exch put % upper case "B" [(xxx) (x..) (x..) (x..) (x..) (xxx)] ff exch 67 exch put % upper case "C" [(xx.) (x.x) (x.x) (x.x) (x.x) (xx.)] ff exch 68 exch put % upper case "D" [(xxx) (x..) (x..) (xx.) (x..) (xxx)]ff exch 69 exch put % upper case "E" [(xxx) (x..) (x..) (xx.) (x..) (x..)] ff exch 70 exch put % upper case "F" [(.xx) (x..) (x..) (x.x) (x.x) (xxx)] ff exch 71 exch put % upper case "G" [(x.x) (x.x) (x.x) (xxx) (x.x) (x.x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(..x) (..x) (..x) (..x) (x.x) (xxx)] ff exch 74 exch put % upper case "J" [(x.x) (xxx) (xx.) (xxx) (x.x) (x.x)]ff exch 75 exch put % upper case "K" [(x..) (x..) (x..) (x..) (x..) (xxx)] ff exch 76 exch put % upper case "L" [(x...x) (xx.xx) (xx.xx) (x.x.x) (x.x.x) (x.x.x)] ff exch 77 exch put % upper case "M" [(x.x) (x.x) (xxx) (xxx) (x.x) (x.x)]ff exch 78 exch put % poor upper case "N" [(xxx) (x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 79 exch put % upper case "O" [(xxx) (x.x) (xxx) (x..) (x..) (x..)] ff exch 80 exch put % upper case "P" [(xxx) (x.x) (x.x) (x.x) (x.x) (xxx) (..x)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx) (x.x) (xxx) (xx.) (x.x) (x.x)] ff exch 82 exch put % upper case "R" [(xxx) (x..) (xxx) (..x) (..x) (xxx)] ff exch 83 exch put % upper case "S" [(xxx) (.x.) (.x.) (.x.) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x.x) (x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (x.x) (x.x) (x.x) (.x.)] ff exch 86 exch put % upper case "V" [(x...x) (x.x.x) (x.x.x) (x.x.x) (xxxxx) (.x.x.)] ff exch 87 exch put % upper case "W" [(x.x) (x.x) (.x.) (.x.) (x.x) (x.x)] ff exch 88 exch put % upper case "X" [(x.x) (x.x) (x.x) (xxx) (.x.) (.x.)] ff exch 89 exch put % upper case "Y" [(xxx) (..x) (.x.) (.x.) (x..) (xxx)] ff exch 90 exch put % upper case "Z" ff } def % /font307 is a greatly compressed font305. % XXX % X X % X X % XXX % X X % X X % XXX /font307 { /ff [ 256 {[(.)]} repeat ] store [(..) (..) (..) (..) (..) (..) (..)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (.) (.) (x)] ff exch 46 exch put % legible period or decimal point [(xxx) (x.x) (x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(xxx) (x.x) (..x) (.x.) (x..) (x..) (xxx)] ff exch 50 exch put % numeral two [(xxx) (x.x) (..x) (.xx) (..x) (x.x) (xxx)] ff exch 51 exch put % numeral three [(x.x) (x.x) (x.x) (xxx) (..x) (..x) (..x)] ff exch 52 exch put % numeral four [(xxx) (x..) (x..) (xxx) (..x) (x.x) (xxx)] ff exch 53 exch put % numeral five [(xxx) (x..) (x..) (xxx) (x.x) (x.x) (xxx)] ff exch 54 exch put % numeral six [(xxx) (..x) (..x) (.xx) (.x.) (.x.) (.x.)] ff exch 55 exch put % numeral seven [(xxx) (x.x) (x.x) (xxx) (x.x) (x.x) (xxx)] ff exch 56 exch put % numeral eight [(xxx) (x.x) (x.x) (xxx) (..x) (x.x) (xxx)] ff exch 57 exch put % numeral nine [(.x.) (x.x) (x.x) (x.x) (xxx) (x.x) (x.x)] ff exch 65 exch put % upper case "A" [(xx.) (x.x) (x.x) (xxx) (x.x) (x.x) (xx.)] ff exch 66 exch put % upper case "B" [(.xx) (x..) (x..) (x..) (x..) (x..) (.xx)] ff exch 67 exch put % upper case "C" [(xx.) (x.x) (x.x) (x.x) (x.x) (x.x) (xx.)] ff exch 68 exch put % upper case "D" [(xxx) (x..) (x..) (xx.) (x..) (x..) (xxx)]ff exch 69 exch put % upper case "E" [(xxx) (x..) (x..) (xx.) (x..) (x..) (x..)] ff exch 70 exch put % upper case "F" [(.xx) (x..) (x..) (x..) (x.x) (x.x) (xxx)] ff exch 71 exch put % upper case "G" [(x.x) (x.x) (x.x) (xxx) (x.x) (x.x) (x.x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(..x) (..x) (..x) (..x) (..x) (x.x) (xxx)] ff exch 74 exch put % upper case "J" [(x.x) (x.x) (xxx) (xx.) (xxx) (x.x) (x.x)]ff exch 75 exch put % upper case "K" [(x..) (x..) (x..) (x..) (x..) (x..) (xxx)] ff exch 76 exch put % upper case "L" [(x...x) (xx.xx) (xx.xx) (xx.xx) (x.x.x) (x.x.x) (x.x.x)] ff exch 77 exch put % upper case "M" [(x.x) (x.x) (xxx) (xxx) (xxx) (x.x) (x.x)]ff exch 78 exch put % poor upper case "N" [(xxx) (x.x) (x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 79 exch put % upper case "O" [(xxx) (x.x) (x.x) (xxx) (x..) (x..) (x..)] ff exch 80 exch put % upper case "P" [(xxx) (x.x) (x.x) (x.x) (x.x) (x.x) (xxx) (..x)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx) (x.x) (x.x) (xxx) (xx.) (x.x) (x.x)] ff exch 82 exch put % upper case "R" [(xxx) (x.x) (x..) (xxx) (..x) (x.x) (xxx)] ff exch 83 exch put % upper case "S" [(xxx) (.x.) (.x.) (.x.) (.x.) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x.x) (x.x) (x.x) (x.x) (x.x) (x.x) (xxx)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (x.x) (x.x) (x.x) (.x.) (.x.)] ff exch 86 exch put % upper case "V" [(x...x) (x...x) (x.x.x) (x.x.x) (x.x.x) (xxxxx) (.x.x.)] ff exch 87 exch put % upper case "W" [(x.x) (x.x) (.x.) (.x.) (.x.) (x.x) (x.x)] ff exch 88 exch put % upper case "X" [(x.x) (x.x) (x.x) (xxx) (.x.) (.x.) (.x.)] ff exch 89 exch put % upper case "Y" [(xxx) (..x) (..x) (.x.) (x..) (x..) (xxx)] ff exch 90 exch put % upper case "Z" ff } def % /font405 is a normal font just under full legibility. % XXXX % X X % XXXX % X X % XXXX /font405 { /ff [ 256 {[(.)]} repeat ] store [(...) (...) (...) (...) (...)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (x)] ff exch 46 exch put % period or decimal point [(.xx.) (x..x) (x..x) (x..x) (.xx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xx.) (x..x) (..x.) (.x..) (xxxx)] ff exch 50 exch put % numeral two [(xxx.) (...x) (.xx.) (...x) (xxx.)] ff exch 51 exch put % numeral three [(..xx) (.x.x) (x..x) (xxxx) (...x)] ff exch 52 exch put % numeral four [(xxxx) (x...) (.xx.) (...x) (xxxx)] ff exch 53 exch put % numeral five [(.xxx) (x...) (xxx.) (x..x) (.xx.)] ff exch 54 exch put % numeral six [(xxxx) (...x) (..x.) (.xx.) (.x..)] ff exch 55 exch put % numeral seven [(.xx.) (x..x) (xxxx) (x..x) (.xx.)] ff exch 56 exch put % numeral eight [(.xx.) (x..x) (.xxx) (...x) (xxx.)] ff exch 57 exch put % numeral nine [(.xx.) (x..x) (x..x) (xxxx) (x..x)] ff exch 65 exch put % upper case "A" [(xxx.) (x..x) (xxx.) (x..x) (xxx.)] ff exch 66 exch put % upper case "B" [(.xx.) (x..x) (x...) (x..x) (.xx.)] ff exch 67 exch put % upper case "C" [(xxx.) (x..x) (x..x) (x..x) (xxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (xxx.) (x...) (xxxx)]ff exch 69 exch put % upper case "E" [(xxxx) (x...) (xxx.) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xx,) (x..x) (x...) (x..x) (xxxx)] ff exch 71 exch put % upper case "G" [(x..x) (x..x) (xxxx) (x..x) (x..x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x..x) (x.x.) (xx..) (x.x.) (x..x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" [(x...x) (xx.xx) (xx.xx) (x.x.x) (x.x.x)] ff exch 77 exch put % upper case "M" [(xx.x) (xx.x) (x.xx) (x.xx) (x..x)]ff exch 78 exch put % upper case "N" [(.xx.) (x..x) (x..x) (x..x) (.xx.)] ff exch 79 exch put % upper case "O" [(xxx.) (x..x) (xxx.) (x..) (x..)] ff exch 80 exch put % upper case "P" [(.xx.) (x..x) (x..x) (x.xx) (.xxx) (...xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx.) (x..x) (xxx.) (x.x.) (x..x)] ff exch 82 exch put % upper case "R" [(.xxx) (x...) (.xx.) (...x) (.xx.)] ff exch 83 exch put % upper case "S" [(xxx) (.x.) (.x.) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x..x) (x..x) (x..x) (x..x) (xxxx)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (x.x) (x.x) (.x.)] ff exch 86 exch put % upper case "V" [(x...x) (x...x) (x.x.x) (xxxxx) (.x.x.)] ff exch 87 exch put % upper case "W" [(x..x) (x..x) (.xx.) (x..x) (x..x)] ff exch 88 exch put % upper case "X" [(x..x) (x..x) (xxxx) (.xx.) (.xx.)] ff exch 89 exch put % upper case "Y" [(xxxx) (...x) (.xx.) (x...) (xxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font406 is a compressed font405 with some character. % XXXX % X X % X X % XXXX % X X % XXXX /font406 { /ff [ 256 {[(.)]} repeat ] store [(...) (...) (...) (...) (...) (...)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (.) (x)] ff exch 46 exch put % period or decimal point [(.xx.) (x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xx.) (x..x) (..x.) (.x..) (x...) (xxxx)] ff exch 50 exch put % numeral two [(xxx.) (...x) (.xx.) (...x) (x..x) (.xx.)] ff exch 51 exch put % numeral three [(...x) (..xx) (.x.x) (x..x) (xxxx) (...x)] ff exch 52 exch put % numeral four [(xxxx) (x...) (.xx.) (...x) (x..x) (.xx.)] ff exch 53 exch put % numeral five [(.xx.) (x...) (xxx.) (x..x) (x..x) (.xx.)] ff exch 54 exch put % numeral six [(xxxx) (...x) (..x.) (.xx.) (.x..) (.x..)] ff exch 55 exch put % numeral seven [(.xx.) (x..x) (x..x) (xxxx) (x..x) (.xx.)] ff exch 56 exch put % numeral eight [(.xx.) (x..x) (x..x) (.xxx) (...x) (xxx.)] ff exch 57 exch put % numeral nine [(.xx.) (x..x) (x..x) (xxxx) (x..x) (x..x)] ff exch 65 exch put % upper case "A" [(xxx.) (x..x) (xxx.) (x..x) (x..x) (xxx.)] ff exch 66 exch put % upper case "B" [(.xx.) (x..x) (x...) (x...) (x..x) (.xx.)] ff exch 67 exch put % upper case "C" [(xxx.) (x..x) (x..x) (x..x) (x..x) (xxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (xxx.) (x...) (xxxx)]ff exch 69 exch put % upper case "E" [(xxxx) (x...) (x...) (xxx.) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xx,) (x..x) (x...) (x.xx) (x..x) (.xxx)] ff exch 71 exch put % upper case "G" [(x..x) (x..x) (x..x) (xxxx) (x..x) (x..x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x..x) (x..x) (x.x.) (xx..) (x.x.) (x..x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" [(x...x) (xx.xx) (xx.xx) (xx.xx) (x.x.x) (x.x.x)] ff exch 77 exch put % upper case "M" [(x..x) (xx.x) (xx.x) (x.xx) (x.xx) (x..x)]ff exch 78 exch put % upper case "N" [(.xx.) (x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 79 exch put % upper case "O" [(xxx.) (x..x) (x..x) (xxx.) (x..) (x..)] ff exch 80 exch put % upper case "P" [(.xx.) (x..x) (x..x) (x..x) (x.xx) (.xxx) (...xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx.) (x..x) (x..x) (xxx.) (x.x.) (x..x)] ff exch 82 exch put % upper case "R" [(.xxx) (x...) (.xx.) (...x) (x..x) (.xx.)] ff exch 83 exch put % upper case "S" [(xxx) (.x.) (.x.) (.x.) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x..x) (x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (x.x) (x.x) (.x.) (.x.)] ff exch 86 exch put % upper case "V" [(x...x) (x...x) (x.x.x) (x.x.x) (xxxxx) (.x.x.)] ff exch 87 exch put % upper case "W" [(x..x) (x..x) (.xx.) (.xx.) (x..x) (x..x)] ff exch 88 exch put % upper case "X" [(x..x) (x..x) (x..x) (xxxx) (.xx.) (.xx.)] ff exch 89 exch put % upper case "Y" [(xxxx) (...x) (...x) (.xx.) (x...) (xxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font407 is a compressed font405. % XXXX % X X % X X % XXXX % X X % XXXX % /font407 { /ff [ 256 {[(.)]} repeat ] store [(...) (...) (...) (...) (...) (...) (...)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (.) (.) (x)] ff exch 46 exch put % period or decimal point [(.xx.) (x..x) (x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xx.) (x..x) (...x) (..x.) (.x..) (x...) (xxxx)] ff exch 50 exch put % numeral two [(.xx.) (x..x) (...x) (.xx.) (...x) (x..x) (.xx.)] ff exch 51 exch put % numeral three [(...x) (..xx) (.x.x) (.x.x) (x..x) (xxxx) (...x)] ff exch 52 exch put % numeral four [(xxxx) (x...) (x...) (.xx.) (...x) (x..x) (.xx.)] ff exch 53 exch put % numeral five [(.xx.) (x...) (x...) (xxx.) (x..x) (x..x) (.xx.)] ff exch 54 exch put % numeral six [(xxxx) (...x) (..x.) (.xx.) (.x..) (.x..) (.x..)] ff exch 55 exch put % numeral seven [(.xx.) (x..x) (x..x) (.xx.) (x..x) (x..x) (.xx.)] ff exch 56 exch put % numeral eight [(.xx.) (x..x) (x..x) (.xxx) (...x) (x..x) (.xx.)] ff exch 57 exch put % numeral nine [(.xx.) (x..x) (x..x) (x..x) (xxxx) (x..x) (x..x)] ff exch 65 exch put % upper case "A" [(xxx.) (x..x) (x..x) (xxx.) (x..x) (x..x) (xxx.)] ff exch 66 exch put % upper case "B" [(.xx.) (x..x) (x...) (x...) (x...) (x..x) (.xx.)] ff exch 67 exch put % upper case "C" [(xxx.) (x..x) (x..x) (x..x) (x..x) (x..x) (xxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (xxx.) (x...) (x...) (xxxx)]ff exch 69 exch put % upper case "E" [(xxxx) (x...) (x...) (xxx.) (x...) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xx,) (x..x) (x...) (x...) (x.xx) (x..x) (.xxx)] ff exch 71 exch put % upper case "G" [(x..x) (x..x) (x..x) (xxxx) (x..x) (x..x) (x..x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x..x) (x..x) (x.x.) (xx..) (x.x.) (x..x) (x..x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" [(x...x) (xx.xx) (xx.xx) (xx.xx) (x.x.x) (x.x.x) (x.x.x)] ff exch 77 exch put % upper case "M" [(x..x) (xx.x) (xx.x) (x.xx) (x.xx) (x.xx) (x..x)]ff exch 78 exch put % upper case "N" [(.xx.) (x..x) (x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 79 exch put % upper case "O" [(xxx.) (x..x) (x..x) (xxx.) (x..) (x..) (x..)] ff exch 80 exch put % upper case "P" [(.xx.) (x..x) (x..x) (x..x) (x..x) (x.xx) (.xxx) (...xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxx.) (x..x) (x..x) (xxx.) (xx..) (x.x.) (x..x)] ff exch 82 exch put % upper case "R" [(.xx.) (x..x) (x...) (.xx.) (...x) (x..x) (.xx.)] ff exch 83 exch put % upper case "S" [(xxx) (.x.) (.x.) (.x.) (.x.) (.x.) (.x.)] ff exch 84 exch put % upper case "T" [(x..x) (x..x) (x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 85 exch put % upper case "U" [(x.x) (x.x) (x.x) (x.x) (x.x) (.x.) (.x.)] ff exch 86 exch put % upper case "V" [(x...x) (x...x) (x.x.x) (x.x.x) (x.x.x) (xxxxx) (.x.x.)] ff exch 87 exch put % upper case "W" [(x..x) (x..x) (.xx.) (.xx.) (.xx.) (x..x) (x..x)] ff exch 88 exch put % upper case "X" [(x..x) (x..x) (x..x) (xxxx) (.xx.) (.xx.) (.xx.)] ff exch 89 exch put % upper case "Y" [(xxxx) (...x) (...x) (.xx.) (x...) (x...) (xxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font507 is a normal and the smallest full legibility font. % XXXXX % X X % X X % XXXXX % X X % X X % XXXXX % /font507 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(..) (..) (..) (..) (..) (xx) (xx)] ff exch 46 exch put % period or decimal point [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xxx.) (x...x) (...x.) (..x..) (.x...) (x....) (xxxxx)] ff exch 50 exch put % numeral two [(.xxx.) (x...x) (....x) (..xx.) (....x) (x...x) (.xxx.)] ff exch 51 exch put % numeral three [(...x.) (..xx.) (.x.x.) (.x.x.) (x..x.) (xxxxx) (...x.)] ff exch 52 exch put % numeral four [(xxxxx) (x....) (x....) (.xxx.) (....x) (x...x) (.xxx.)] ff exch 53 exch put % numeral five [(.xxx.) (x....) (x....) (xxxx.) (x...x) (x...x) (.xxx.)] ff exch 54 exch put % numeral six [(xxxxx) (....x) (...x.) (..x..) (.x..) (.x..) (.x..)] ff exch 55 exch put % numeral seven [(.xxx.) (x...x) (x...x) (.xxx.) (x...x) (x...x) (.xxx.)] ff exch 56 exch put % numeral eight [(.xxx.) (x...x) (x...x) (.xxxx) (....x) (x...x) (.xxx.)] ff exch 57 exch put % numeral nine [(..x..) (.xxx.) (x...x) (x...x) (xxxxx) (x...x) (x...x)] ff exch 65 exch put % upper case "A" [(xxxx.) (x...x) (x...x) (xxxx.) (x...x) (x...x) (xxxx.)] ff exch 66 exch put % upper case "B" [(.xxx.) (x...x) (x....) (x....) (x....) (x...x) (.xxx.)] ff exch 67 exch put % upper case "C" [(xxxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (xxxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (xxx.) (x...) (x...) (xxxx)]ff exch 69 exch put % upper case "E" narrower [(xxxx) (x...) (x...) (xxx.) (x...) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xxx.) (x...x) (x....) (x....) (x..xx) (x...x) (.xxxx)] ff exch 71 exch put % upper case "G" [(x...x) (x...x) (x...x) (xxxxx) (x...x) (x...x) (x...x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x...x) (x..x.) (x.x..) (xx...) (x.x..) (x..x.) (x...x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" narrower [(x.....x) (xx...xx) (xx...xx) (x.x.x.x) (x.x.x.x) (x..x..x) (x..x..x)] ff exch 77 exch put % upper case "M" [(x...x) (xx..x) (xx..x) (x.x.x) (x..xx) (x..xx) (x...x)]ff exch 78 exch put % upper case "N" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 79 exch put % upper case "O" [(xxxx.) (x...x) (x...x) (xxxx.) (x....) (x....) (x....)] ff exch 80 exch put % upper case "P" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x..xx) (.xxxx) (....xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxx.) (x...x) (x...x) (xxxx.) (x.x..) (x..x.) (x...x)] ff exch 82 exch put % upper case "R" [(.xxx.) (x...x) (x....) (.xxx.) (....x) (x...x) (.xxx.)] ff exch 83 exch put % upper case "S" [(xxxxx) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..)] ff exch 84 exch put % upper case "T" [(x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 85 exch put % upper case "U" [(x...x) (x...x) (x...x) (x...x) (xx.xx) (.xxx.) (..x..)] ff exch 86 exch put % upper case "V" [(x.....x) (x.....x) (x..x..x) (x..x..x) (x.x.x.x) (xxx.xxx) (.x...x.)] ff exch 87 exch put % upper case "W" [(x...x) (x...x) (.x.x.) (..x..) (.x.x.) (x...x) (x...x)] ff exch 88 exch put % upper case "X" [(x...x) (x...x) (x...x) (.xxx.) (..x..) (..x..) (..x..)] ff exch 89 exch put % upper case "Y" [(xxxxx) (....x) (...x.) (..x..) (.x...) (x....) (xxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font508 is a compressed and stylized font507. % XXXXX % X X % X X % X X % XXXXX % X X % X X % XXXXX % /font508 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(..) (..) (..) (..) (..) (..) (xx) (xx)] ff exch 46 exch put % period or decimal point [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xxx.) (x...x) (...x.) (..x..) (.x...) (x....) (x....) (xxxxx)] ff exch 50 exch put % numeral two [(.xxx.) (x...x) (....x) (....x) (..xx.) (....x) (x...x) (.xxx.)] ff exch 51 exch put % numeral three [(...x.) (..xx.) (.x.x.) (.x.x.) (x..x.) (x..x.) (xxxxx) (...x.)] ff exch 52 exch put % numeral four [(xxxxx) (x....) (x....) (x....) (.xxx.) (....x) (x...x) (.xxx.)] ff exch 53 exch put % numeral five [(.xxx.) (x....) (x....) (x....) (xxxx.) (x...x) (x...x) (.xxx.)] ff exch 54 exch put % numeral six [(xxxxx) (....x) (...x.) (..x..) (..x..) (.x..) (.x..) (.x..)] ff exch 55 exch put % numeral seven [(.xxx.) (x...x) (x...x) (x...x) (.xxx.) (x...x) (x...x) (.xxx.)] ff exch 56 exch put % numeral eight [(.xxx.) (x...x) (x...x) (x...x) (.xxxx) (....x) (x...x) (.xxx.)] ff exch 57 exch put % numeral nine [(..x..) (.xxx.) (xx.xx) (x...x) (x...x) (xxxxx) (x...x) (x...x)] ff exch 65 exch put % upper case "A" [(xxxx.) (x...x) (x...x) (x...x) (xxxx.) (x...x) (x...x) (xxxx.)] ff exch 66 exch put % upper case "B" [(.xxx.) (x...x) (x....) (x....) (x....) (x....) (x...x) (.xxx.)] ff exch 67 exch put % upper case "C" [(xxxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (xxxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (x...) (xxx.) (x...) (x...) (xxxx)]ff exch 69 exch put % upper case "E" narrower [(xxxx) (x...) (x...) (x...) (xxx.) (x...) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xxx.) (x...x) (x....) (x....) (x....) (x..xx) (x...x) (.xxxx)] ff exch 71 exch put % upper case "G" [(x...x) (x...x) (x...x) (x...x) (xxxxx) (x...x) (x...x) (x...x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x...x) (x..x.) (x.x..) (xx...) (xx...) (x.x..) (x..x.) (x...x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" narrower [(x.....x) (x.....x) (xx...xx) (xx...xx) (x.x.x.x) (x.x.x.x) (x..x..x) (x..x..x)] ff exch 77 exch put % upper case "M" [(x...x) (xx..x) (xx..x) (x.x.x) (x.x.x) (x..xx) (x..xx) (x...x)]ff exch 78 exch put % upper case "N" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 79 exch put % upper case "O" [(xxxx.) (x...x) (x...x) (x...x) (xxxx.) (x....) (x....) (x....)] ff exch 80 exch put % upper case "P" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x..xx) (.xxxx) (....xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxx.) (x...x) (x...x) (x...x) (xxxx.) (x.x..) (x..x.) (x...x)] ff exch 82 exch put % upper case "R" [(.xxx.) (x...x) (x....) (x....) (.xxx.) (....x) (x...x) (.xxx.)] ff exch 83 exch put % upper case "S" [(xxxxx) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..)] ff exch 84 exch put % upper case "T" [(x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 85 exch put % upper case "U" [(x...x) (x...x) (x...x) (x...x) (xx.xx) (xx.xx) (.xxx.) (..x..)] ff exch 86 exch put % upper case "V" [(x.....x) (x.....x) (x..x..x) (x..x..x) (x.xxx.x) (x.x.x.x) (xxx.xxx) (.x...x.)] ff exch 87 exch put % upper case "W" [(x...x) (x...x) (.x.x.) (..x..) (..x..) (.x.x.) (x...x) (x...x)] ff exch 88 exch put % upper case "X" [(x...x) (x...x) (x...x) (x...x) (.xxx.) (..x..) (..x..) (..x..)] ff exch 89 exch put % upper case "Y" [(xxxxx) (....x) (...x.) (..x..) (..x..) (.x...) (x....) (xxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font505 is an expanded variant on font 507 % XXXXX % X X % XXXXX % X X % XXXXX % /font505 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(.) (.) (.) (.) (x)] ff exch 46 exch put % period or decimal point [(.xxx.) (x...x) (x...x) (x...x) (.xxx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xxx.) (x...x) (..xx.) (.x...) (xxxxx)] ff exch 50 exch put % numeral two [(.xxx.) (x...x) (..xx.) (x...x) (.xxx.)] ff exch 51 exch put % numeral three [(..xx.) (.x.x.) (x..x.) (xxxxx) (...x.)] ff exch 52 exch put % numeral four [(xxxxx) (x....) (.xxx.) (....x) (xxxx.)] ff exch 53 exch put % numeral five [(.xxx.) (x....) (xxxx.) (x...x) (.xxx.)] ff exch 54 exch put % numeral six [(xxxxx) (....x) (...x.) (..x..) (.x...)] ff exch 55 exch put % numeral seven [(.xxx.) (x...x) (.xxx.) (x...x) (.xxx.)] ff exch 56 exch put % numeral eight [(.xxx.) (x...x) (.xxxx) (....x) (.xxx.)] ff exch 57 exch put % numeral nine [(..x..) (.x.x.) (x...x) (xxxxx) (x...x)] ff exch 65 exch put % upper case "A" [(xxxx.) (x...x) (xxxx.) (x...x) (xxxx.)] ff exch 66 exch put % upper case "B" [(.xxx) (x...) (x...) (x...) (.xxx)] ff exch 67 exch put % narrower upper case "C" [(xxxx.) (x...x) (x...x) (x...x) (xxxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (xxx.) (x...) (xxxx)]ff exch 69 exch put % upper case "E" narrower [(xxxx) (x...) (xxx.) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xxx.) (x...x) (x....) (x...x) (.xxxx)] ff exch 71 exch put % upper case "G" [(x..x) (x..x) (xxxx) (x..x) (x..x)] ff exch 72 exch put % narrow upper case "H" [(x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x..x) (x.x.) (xx..) (x.x.) (x..x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" narrower [(x.....x) (xx...xx) (xx...xx) (x.x.x.x) (x..x..x)] ff exch 77 exch put % upper case "M" [(x...x) (xx..x) (x.x.x) (x..xx) (x...x)]ff exch 78 exch put % upper case "N" [(.xxx.) (x...x) (x...x) (x...x) (.xxx.)] ff exch 79 exch put % upper case "O" [(xxxx.) (x...x) (xxxx.) (x....) (x....)] ff exch 80 exch put % upper case "P" [(.xxx.) (x...x) (x...x) (x..xx) (.xxxx) (....xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxx.) (x...x) (xxxx.) (x..x.) (x...x)] ff exch 82 exch put % upper case "R" [(.xxx.) (x....) (.xxx.) (....x) (.xxx.)] ff exch 83 exch put % upper case "S" [(xxxxx) (..x..) (..x..) (..x..) (..x..)] ff exch 84 exch put % upper case "T" [(x..x) (x..x) (x..x) (x..x) (.xx.)] ff exch 85 exch put % upper case "U" [(x...x) (x...x) (xx.xx) (.xxx.) (..x..)] ff exch 86 exch put % upper case "V" [(x.....x) (x..x..x) (x.xxx.x) (xxx.xxx) (.x...x.)] ff exch 87 exch put % upper case "W" [(x...x) (.x.x.) (..x..) (.x.x.) (x...x)] ff exch 88 exch put % upper case "X" [(x...x) (x...x) (.xxx.) (..x..) (..x..)] ff exch 89 exch put % upper case "Y" [(xxxxx) (...x.) (..x..) (.x...) (xxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font506 is an expanded variant on font 507 It has a personality. % XXXXX % X X % X X % XXXXX % X X % XXXXX % /font506 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(..) (..) (..) (..) (xx) (xx)] ff exch 46 exch put % period or decimal point [(.xxx.) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xxx.) (x...x) (...x.) (..x..) (.x...) (xxxxx)] ff exch 50 exch put % numeral two [(.xxx.) (x...x) (....x) (..xx.) (x...x) (.xxx.)] ff exch 51 exch put % numeral three [(...x.) (..xx.) (.x.x.) (x..x.) (xxxxx) (...x.)] ff exch 52 exch put % numeral four [(xxxxx) (x....) (x....) (.xxx.) (....x) (xxxx.)] ff exch 53 exch put % numeral five [(.xxx.) (x....) (x....) (xxxx.) (x...x) (.xxx.)] ff exch 54 exch put % numeral six [(xxxxx) (....x) (...x.) (..x..) (.x..) (.x..)] ff exch 55 exch put % numeral seven [(.xxx.) (x...x) (x...x) (.xxx.) (x...x) (.xxx.)] ff exch 56 exch put % numeral eight [(.xxx.) (x...x) (x...x) (.xxxx) (....x) (xxxx.)] ff exch 57 exch put % numeral nine [(..x..) (.xxx.) (x...x) (x...x) (xxxxx) (x...x)] ff exch 65 exch put % upper case "A" [(xxxx.) (x...x) (x...x) (xxxx.) (x...x) (xxxx.)] ff exch 66 exch put % upper case "B" [(.xxx.) (x...x) (x....) (x....) (x...x) (.xxx.)] ff exch 67 exch put % upper case "C" [(xxxx.) (x...x) (x...x) (x...x) (x...x) (xxxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (xxx.) (x...) (xxxx)]ff exch 69 exch put % upper case "E" narrower [(xxxx) (x...) (x...) (xxx.) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xxx.) (x...x) (x....) (x..xx) (x...x) (.xxxx)] ff exch 71 exch put % upper case "G" [(x...x) (x...x) (x...x) (xxxxx) (x...x) (x...x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x...x) (x..x.) (x.x..) (xx...) (x.xx.) (x...x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" narrower [(x.....x) (xx...xx) (xx...xx) (x.x.x.x) (x.x.x.x) (x..x..x)] ff exch 77 exch put % upper case "M" [(x...x) (xx..x) (xx..x) (x.x.x) (x..xx) (x...x)]ff exch 78 exch put % upper case "N" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 79 exch put % upper case "O" [(xxxx.) (x...x) (x...x) (xxxx.) (x....) (x....)] ff exch 80 exch put % upper case "P" [(.xxx.) (x...x) (x...x) (x...x) (x..xx) (.xxxx) (....xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxx.) (x...x) (x...x) (xxxx.) (x..x.) (x...x)] ff exch 82 exch put % upper case "R" [(.xxx.) (x....) (x....) (.xxx.) (....x) (xxxx.)] ff exch 83 exch put % upper case "S" [(xxxxx) (..x..) (..x..) (..x..) (..x..) (..x..)] ff exch 84 exch put % upper case "T" [(x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 85 exch put % upper case "U" [(x...x) (x...x) (x...x) (xx.xx) (.xxx.) (..x..)] ff exch 86 exch put % upper case "V" [(x.....x) (x.....x) (x..x..x) (x.xxx.x) (xxx.xxx) (.x...x.)] ff exch 87 exch put % upper case "W" [(x...x) (.x.x.) (..x..) (..x..) (.x.x.) (x...x)] ff exch 88 exch put % upper case "X" [(x...x) (x...x) (x...x) (.xxx.) (..x..) (..x..)] ff exch 89 exch put % upper case "Y" [(xxxxx) (....x) (...x.) (..x..) (.x...) (xxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font507 is a normal and the smallest full legibility font. % XXXXX % X X % X X % XXXXX % X X % X X % XXXXX % /font507 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(..) (..) (..) (..) (..) (xx) (xx)] ff exch 46 exch put % period or decimal point [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xxx.) (x...x) (...x.) (..x..) (.x...) (x....) (xxxxx)] ff exch 50 exch put % numeral two [(.xxx.) (x...x) (....x) (..xx.) (....x) (x...x) (.xxx.)] ff exch 51 exch put % numeral three [(...x.) (..xx.) (.x.x.) (.x.x.) (x..x.) (xxxxx) (...x.)] ff exch 52 exch put % numeral four [(xxxxx) (x....) (x....) (.xxx.) (....x) (x...x) (.xxx.)] ff exch 53 exch put % numeral five [(.xxx.) (x....) (x....) (xxxx.) (x...x) (x...x) (.xxx.)] ff exch 54 exch put % numeral six [(xxxxx) (....x) (...x.) (..x..) (.x..) (.x..) (.x..)] ff exch 55 exch put % numeral seven [(.xxx.) (x...x) (x...x) (.xxx.) (x...x) (x...x) (.xxx.)] ff exch 56 exch put % numeral eight [(.xxx.) (x...x) (x...x) (.xxxx) (....x) (x...x) (.xxx.)] ff exch 57 exch put % numeral nine [(..x..) (.xxx.) (x...x) (x...x) (xxxxx) (x...x) (x...x)] ff exch 65 exch put % upper case "A" [(xxxx.) (x...x) (x...x) (xxxx.) (x...x) (x...x) (xxxx.)] ff exch 66 exch put % upper case "B" [(.xxx.) (x...x) (x....) (x....) (x....) (x...x) (.xxx.)] ff exch 67 exch put % upper case "C" [(xxxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (xxxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (xxx.) (x...) (x...) (xxxx)]ff exch 69 exch put % upper case "E" narrower [(xxxx) (x...) (x...) (xxx.) (x...) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xxx.) (x...x) (x....) (x....) (x..xx) (x...x) (.xxxx)] ff exch 71 exch put % upper case "G" [(x...x) (x...x) (x...x) (xxxxx) (x...x) (x...x) (x...x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (...x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x...x) (x..x.) (x.x..) (xx...) (x.x..) (x..x.) (x...x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" narrower [(x.....x) (xx...xx) (xx...xx) (x.x.x.x) (x.x.x.x) (x..x..x) (x..x..x)] ff exch 77 exch put % upper case "M" [(x...x) (xx..x) (xx..x) (x.x.x) (x..xx) (x..xx) (x...x)]ff exch 78 exch put % upper case "N" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 79 exch put % upper case "O" [(xxxx.) (x...x) (x...x) (xxxx.) (x....) (x....) (x....)] ff exch 80 exch put % upper case "P" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x..xx) (.xxxx) (....xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxx.) (x...x) (x...x) (xxxx.) (x.x..) (x..x.) (x...x)] ff exch 82 exch put % upper case "R" [(.xxx.) (x...x) (x....) (.xxx.) (....x) (x...x) (.xxx.)] ff exch 83 exch put % upper case "S" [(xxxxx) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..)] ff exch 84 exch put % upper case "T" [(x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 85 exch put % upper case "U" [(x...x) (x...x) (x...x) (x...x) (xx.xx) (.xxx.) (..x..)] ff exch 86 exch put % upper case "V" [(x.....x) (x.....x) (x..x..x) (x..x..x) (x.x.x.x) (xxx.xxx) (.x...x.)] ff exch 87 exch put % upper case "W" [(x...x) (x...x) (.x.x.) (..x..) (.x.x.) (x...x) (x...x)] ff exch 88 exch put % upper case "X" [(x...x) (x...x) (x...x) (.xxx.) (..x..) (..x..) (..x..)] ff exch 89 exch put % upper case "Y" [(xxxxx) (....x) (...x.) (..x..) (.x...) (x....) (xxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font509 is a highly compressed font507. % XXXXX % X X % X X % X X % XXXXX % X X % X X % X X % XXXXX % /font509 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(..) (..) (..) (..) (..) (..) (..) (xx) (xx)] ff exch 46 exch put % period or decimal point [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 48 exch put % numeral zero same as capital O [(.x.) (xx.) (.x.) (.x.) (.x.) (.x.) (.x.) (.x.) (xxx)] ff exch 49 exch put % numeral 1 [(.xxx.) (x...x) (....x) (...x.) (..x..) (.x...) (x....) (x....) (xxxxx)] ff exch 50 exch put % numeral two [(.xxx.) (x...x) (....x) (....x) (..xx.) (....x) (....x) (x...x) (.xxx.)] ff exch 51 exch put % numeral three [(...x.) (..xx.) (..xx.) (.x.x.) (.x.x.) (x..x.) (x..x.) (xxxxx) (...x.)] ff exch 52 exch put % numeral four [(xxxxx) (x....) (x....) (x....) (.xxx.) (....x) (....x) (x...x) (.xxx.)] ff exch 53 exch put % numeral five [(.xxx.) (x....) (x....) (x....) (xxxx.) (x...x) (x...x) (x...x) (.xxx.)] ff exch 54 exch put % numeral six [(xxxxx) (....x) (....x) (...x.) (...x.) (..x..) (..x..) (.x...) (.x...)] ff exch 55 exch put % numeral seven [(.xxx.) (x...x) (x...x) (x...x) (.xxx.) (x...x) (x...x) (x...x) (.xxx.)] ff exch 56 exch put % numeral eight [(.xxx.) (x...x) (x...x) (x...x) (.xxxx) (....x) (....x) (x...x) (.xxx.)] ff exch 57 exch put % numeral nine [(..x..) (.xxx.) (xx.xx) (x...x) (x...x) (x...x) (xxxxx) (x...x) (x...x)] ff exch 65 exch put % upper case "A" [(xxxx.) (x...x) (x...x) (x...x) (xxxx.) (x...x) (x...x) (x...x) (xxxx.)] ff exch 66 exch put % upper case "B" [(.xxx.) (x...x) (x....) (x....) (x....) (x....) (x....) (x...x) (.xxx.)] ff exch 67 exch put % upper case "C" [(xxxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (xxxx.)] ff exch 68 exch put % upper case "D" [(xxxx) (x...) (x...) (x...) (xxx.) (x...) (x...) (x...) (xxxx)]ff exch 69 exch put % upper case "E" narrower [(xxxx) (x...) (x...) (x...) (xxx.) (x...) (x...) (x...) (x...)] ff exch 70 exch put % upper case "F" [(.xxx.) (x...x) (x....) (x....) (x....) (x....) (x..xx) (x...x) (.xxxx)] ff exch 71 exch put % upper case "G" [(x...x) (x...x) (x...x) (x...x) (xxxxx) (x...x) (x...x) (x...x) (x...x)] ff exch 72 exch put % upper case "H" [(x) (x) (x) (x) (x) (x) (x) (x) (x)] ff exch 73 exch put % upper case "I" [(...x) (...x) (...x) (...x) (...x) (...x) (x..x) (x..x) (.xx.)] ff exch 74 exch put % upper case "J" [(x...x) (x...x) (x..x.) (x.x..) (xx...) (x.x..) (x..x.) (x...x) (x...x)]ff exch 75 exch put % upper case "K" [(x...) (x...) (x...) (x...) (x...) (x...) (x...) (x...) (xxxx)] ff exch 76 exch put % upper case "L" narrower [(x.....x) (x.....x) (xx...xx) (xx...xx) (x.x.x.x) (x.x.x.x) (x..x..x) (x..x..x) (x..x..x)] ff exch 77 exch put % upper case "M" [(x...x) (xx..x) (xx..x) (x.x.x) (x.x.x) (x.x.x) (x..xx) (x..xx) (x...x)]ff exch 78 exch put % upper case "N" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 79 exch put % upper case "O" [(xxxx.) (x...x) (x...x) (x...x) (xxxx.) (x....) (x....) (x....) (x....)] ff exch 80 exch put % upper case "P" [(.xxx.) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x..xx) (.xxxxx) (....xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxx.) (x...x) (x...x) (x...x) (xxxx.) (xx...) (x.x..) (x..x.) (x...x)] ff exch 82 exch put % upper case "R" [(.xxx.) (x...x) (x....) (x....) (.xxx.) (....x) (....x) (x...x) (.xxx.)] ff exch 83 exch put % upper case "S" [(xxxxx) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..) (..x..)] ff exch 84 exch put % upper case "T" [(x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (x...x) (.xxx.)] ff exch 85 exch put % upper case "U" [(x...x) (x...x) (x...x) (x...x) (x...x) (xx.xx) (.xxx.) (.xxx.) (..x..)] ff exch 86 exch put % upper case "V" [(x.....x) (x.....x) (x..x..x) (x..x..x) (x.xxx.x) (x.x.x.x) (xxx.xxx) (.x...x.) (.x...x.) ] ff exch 87 exch put % upper case "W" [(x...x) (x...x) (.x.x.) (.x.x.) (..x..) (.x.x.) (.x.x.) (x...x) (x...x)] ff exch 88 exch put % upper case "X" [(x...x) (x...x) (x...x) (x...x) (.xxx.) (..x..) (..x..) (..x..) (..x..)] ff exch 89 exch put % upper case "Y" [(xxxxx) (....x) (...x.) (..x..) (..x..) (.x...) (.x...) (x....) (xxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font708 is small, normal, and bold, but remains fairly legible. % Base area is 7 pixels wide by 10 high and looks "Tektronix panel". % XXXXX % XXXXXXX % XX XX % XXXXXXX % XXXXXXX % XX XX % XXXXXXX % XXXXX /font708 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 48 exch put % numeral zero same as capital O [(..xx..) (.xxx..) (xxxx..) (..xx..) (..xx..) (..xx..) (xxxxxx) (xxxxxx)] ff exch 49 exch put % numeral 1 narrower [(.xxxxx.) (xxxxxxx) (xx...xx) (....xxx) (..xxx..) (.xxx...) (xxxxxxx) (xxxxxxx)] ff exch 50 exch put % numeral two [(...) (...) (...) (...) (...) (xxx) (xxx) (xxx)] ff exch 46 exch put % period or decimal point [(xxxxxx.) (xxxxxxx) (.....xx) (..xxxx.) (..xxxx.) (.....xx) (xxxxxxx) (xxxxxx.)] ff exch 51 exch put % numeral three [(....xx.) (...xxx.) (..xxxx.) (.xx.xx.) (xx..xx.) (xxxxxxx) (xxxxxxx) (....xx.)] ff exch 52 exch put % numeral four [(xxxxxxx) (xxxxxxx) (xx.....) (xxxxxx.) (.xxxxxx) (.....xx) (xxxxxxx) (xxxxxxx)] ff exch 53 exch put % numeral five [(.xxxxxx) (xxxxxxx) (xx.....) (xxxxxx.) (xxxxxxx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 54 exch put % numeral six [(xxxxxxx) (xxxxxxx) (.....xx) (....xxx) (...xxx.) (..xxx..) (..xx...) (..xx...)] ff exch 55 exch put % numeral seven [(.xxxxx.) (xxxxxxx) (xx...xx) (.xxxxx.) (.xxxxx.) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 56 exch put % numeral eight [(.xxxxx.) (xxxxxxx) (xx...xx) (xxxxxxx) (.xxxxxx) (.....xx) (xxxxxxx) (xxxxxx.)] ff exch 57 exch put % numeral nine [(......) (......) (xxxxxx) (xxxxxx) (......) (xxxxxx) (xxxxxx) (......)] ff exch 61 exch put % equals sign [(..xxx..) (.xxxxx.) (.xx.xx.) (xxx.xxx) (xx...xx) (xxxxxxx) (xxxxxxx) (xx...xx)] ff exch 65 exch put % upper case "A" [(xxxxxx.) (xxxxxxx) (xx...xx) (xxxxxx.) (xxxxxx.) (xx...xx) (xxxxxxx) (xxxxxx.)] ff exch 66 exch put % upper case "B" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx.....) (xx.....) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 67 exch put % upper case "C" [(xxxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxx.)] ff exch 68 exch put % upper case "D" [(xxxxxxx) (xxxxxxx) (xx.....) (xxxxx..) (xxxxx..) (xx.....) (xxxxxxx) (xxxxxxx)] ff exch 69 exch put % upper case "E" [(xxxxxxx) (xxxxxxx) (xx.....) (xxxxx..) (xxxxx..) (xx.....) (xx.....) (xx.....)] ff exch 70 exch put % upper case "F" [(.xxxxxx) (xxxxxxx) (xx.....) (xx..xxx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxxx)] ff exch 71 exch put % upper case "G" [(xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx)] ff exch 72 exch put % upper case "H" [(xx) (xx) (xx) (xx) (xx) (xx) (xx) (xx)] ff exch 73 exch put % upper case "I" [(....xx) (....xx) (....xx) (....xx) (....xx) (xx..xx) (xxxxxx) (.xxxx.)] ff exch 74 exch put % upper case "J" [(xx...xx) (xx..xxx) (xx.xxx.) (xxxxx..) (xxxxx..) (xx.xxx.) (xx..xxx) (xx...xx)] ff exch 75 exch put % upper case "K" [(xx....) (xx....) (xx....) (xx....) (xx....) (xx....) (xxxxxx) (xxxxxx)] ff exch 76 exch put % shy upper case "L" [(xx......xx) (xxx....xxx) (xxxx..xxxx) (xxxx..xxxx) (xx.xxxx.xx) (xx.xxxx.xx) (xx..xx..xx) (xx..xx..xx)] ff exch 77 exch put % upper case "M" [(xx...xx) (xxx..xx) (xxxx.xx) (xxxx.xx) (xx.xxxx) (xx.xxxx) (xx..xxx) (xx...xx)] ff exch 78 exch put % upper case "N" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 79 exch put % upper case "O" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxx.) (xx.....) (xx.....)] ff exch 80 exch put % upper case "P" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx..xxx) (xxxxxxx) (.xxxxxxx) (......xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxxxx.) (xxxxxxx) (xx...xx) (xxxxxxx) (xxxxxx.) (xxxxx..) (xx.xxx.) (xx..xxx)] ff exch 82 exch put % upper case "R" [(.xxxxxx) (xxxxxxx) (xx.....) (xxxxxx.) (.xxxxxx) (.....xx) (xxxxxxx) (xxxxxx.)] ff exch 83 exch put % upper case "S" [(xxxxxx) (xxxxxx) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..)] ff exch 84 exch put % upper case "T" [(xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 85 exch put % upper case "U" [(xx...xx) (xx...xx) (.xx.xx.) (.xx.xx.) (.xx.xx.) (..xxx..) (..xxx..) (...x...)] ff exch 86 exch put % upper case "V" [(xx.....xx) (xx.....xx) (xx..x..xx) (xx.xxx.xx) (xx.xxx.xx) (.xxx.xxx.) (.xxx.xxx.) (..x...x..)] ff exch 87 exch put % upper case "W" [(xx....xx) (xxx..xxx) (.xx..xx.) (..xxxx..) (..xxxx..) (.xx..xx.) (xxx..xxx) (xx....xx)] ff exch 88 exch put % upper case "X" is slightly wide [(xx....xx) (xxx..xxx) (.xx..xx.) (.xxxxxx.) (..xxxx..) (...xx...) (...xx...) (...xx...)] ff exch 89 exch put % upper case "Y" is slightly wide [(xxxxxxx) (xxxxxxx) (....xxx) (...xxx.) (.xxx...) (xxx....) (xxxxxxx) (xxxxxxx)] ff exch 90 exch put % upper case "Z" ff } def % /font710 is small, compressed, and bold, but remains highly legible. % Base area is 7 pixels wide by 10 high and looks "Tektronix panel". % XXXXX % XXXXXXX % XX XX % XX XX % XXXXXXX % XXXXXXX % XX XX % XX XX % XXXXXXX % XXXXX /font710 { /ff [ 256 {[(.)]} repeat ] store [(....) (....) (....) (....) (....) (....) (....) (....) (....) (....)] ff exch 32 exch put % full space slightly shortened [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 48 exch put % numeral zero same as capital O [(..xx..) (.xxx..) (xxxx..) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..) (xxxxxx) (xxxxxx)] ff exch 49 exch put % numeral 1 narrower [(.xxxxx.) (xxxxxxx) (xx...xx) (....xxx) (...xxx.) (..xxx..) (.xxx...) (xxx....) (xxxxxxx) (xxxxxxx)] ff exch 50 exch put % numeral two [(...) (...) (...) (...) (...) (...) (...) (xxx) (xxx) (xxx)] ff exch 46 exch put % period or decimal point [(.xxxxx.) (xxxxxxx) (xx...xx) (.....xx) (..xxxx.) (..xxxx.) (.....xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 51 exch put % numeral three [(....xx.) (...xxx.) (..xxxx.) (.xx.xx.) (xxx.xx.) (xx..xx.) (xxxxxxx) (xxxxxxx) (....xx.) (....xx.)] ff exch 52 exch put % numeral four [(xxxxxxx) (xxxxxxx) (xx.....) (xx.....) (xxxxxx.) (.xxxxxx) (.....xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 53 exch put % numeral five [(..xxxxx) (.xxxxxx) (xx.....) (xx.....) (xxxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 54 exch put % numeral six [(xxxxxxx) (xxxxxxx) (.....xx) (....xxx) (...xxx.) (..xxx..) (..xx...) (..xx...) (..xx...) (..xx...)] ff exch 55 exch put % numeral seven [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (.xxxxx.) (.xxxxx.) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 56 exch put % numeral eight [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxxx) (.....xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 57 exch put % numeral nine [(...x...) (..xxx..) (.xxxxx.) (.xx.xx.) (xxx.xxx) (xx...xx) (xxxxxxx) (xxxxxxx) (xx...xx) (xx...xx)] ff exch 65 exch put % upper case "A" [(xxxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xxxxxx.) (xxxxxx.) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxx.)] ff exch 66 exch put % upper case "B" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx.....) (xx.....) (xx.....) (xx.....) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 67 exch put % upper case "C" [(xxxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxx.)] ff exch 68 exch put % upper case "D" [(xxxxxxx) (xxxxxxx) (xx.....) (xx.....) (xxxxx..) (xxxxx..) (xx.....) (xx.....) (xxxxxxx) (xxxxxxx)] ff exch 69 exch put % upper case "E" [(xxxxxxx) (xxxxxxx) (xx.....) (xx.....) (xxxxx..) (xxxxx..) (xx.....) (xx.....) (xx.....) (xx.....)] ff exch 70 exch put % upper case "F" [(.xxxxxx) (xxxxxxx) (xx.....) (xx.....) (xx..xxx) (xx..xxx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxxx)] ff exch 71 exch put % upper case "G" [(xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx)] ff exch 72 exch put % upper case "H" [(xx) (xx) (xx) (xx) (xx) (xx) (xx) (xx) (xx) (xx)] ff exch 73 exch put % upper case "I" [(....xx) (....xx) (....xx) (....xx) (....xx) (....xx) (xx..xx) (xx..xx) (xxxxxx) (.xxxx.)] ff exch 74 exch put % upper case "J" [(xx...xx) (xx...xx) (xx..xxx) (xx.xxx.) (xxxxx..) (xxxxx..) (xx.xxx.) (xx..xxx) (xx...xx) (xx...xx)] ff exch 75 exch put % upper case "K" [(xx....) (xx....) (xx....) (xx....) (xx....) (xx....) (xx....) (xx....) (xxxxxx) (xxxxxx)] ff exch 76 exch put % thin upper case "L" [(xx......xx) (xxx....xxx) (xxx....xxx) (xxxx..xxxx) (xxxx..xxxx) (xx.xxxx.xx) (xx.xxxx.xx) (xx..xx..xx) (xx..xx..xx) (xx......xx)] ff exch 77 exch put % upper case "M" [(xx...xx) (xxx..xx) (xxx..xx) (xxxx.xx) (xxxx.xx) (xx.xxxx) (xx.xxxx) (xx..xxx) (xx..xxx) (xx...xx)] ff exch 78 exch put % upper case "N" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 79 exch put % upper case "O" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxx.) (xx.....) (xx.....) (xx.....)] ff exch 80 exch put % upper case "P" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx..xxx) (xxxxxxx) (.xxxxxxx) (......xx)] ff exch 81 exch put % upper case "Q" should auto descend [(xxxxxx.) (xxxxxxx) (xx...xx) (xx...xx) (xxxxxxx) (xxxxxx.) (xxxxx..) (xx.xxx.) (xx..xxx) (xx...xx)] ff exch 82 exch put % upper case "R" [(.xxxxx.) (xxxxxxx) (xx...xx) (xx.....) (xxxxxx.) (.xxxxxx) (.....xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 83 exch put % upper case "S" [(xxxxxx) (xxxxxx) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..) (..xx..)] ff exch 84 exch put % upper case "T" [(xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xx...xx) (xxxxxxx) (.xxxxx.)] ff exch 85 exch put % upper case "U" [(xx...xx) (xx...xx) (xx...xx) (.xx.xx.) (.xx.xx.) (.xx.xx.) (..xxx..) (..xxx..) (..xxx..) (...x...)] ff exch 86 exch put % upper case "V" [(xx.......xx) (xx.......xx) (xx.......xx) (xx...x...xx) (xx..xxx..xx) (xx..xxx..xx) (.xxxx.xxxx.) (.xxxx.xxxx.) (..xxx.xxx..) (...x...x...)] ff exch 87 exch put % upper case "W" [(xx....xx) (xx....xx) (.xx..xx.) (.xx..xx.) (..xxxx..) (..xxxx..) (.xx..xx.) (.xx..xx.) (xx....xx) (xx....xx)] ff exch 88 exch put % upper case "X" is slightly wide [(xx....xx) (xx....xx) (.xx..xx.) (.xx..xx.) (..xxxx..) (..xxxx..) (...xx...) (...xx,..) (...xx...) (...xx...)] ff exch 89 exch put % upper case "Y" is slightly wide [(xxxxxxx) (xxxxxxx) (....xxx) (...xxx.) (..xxx..) (..xxx..) (.xxx...) (xxx....) (xxxxxxx) (xxxxxxx)] ff exch 90 exch put % upper case "Z" ff } def /curfont font710 store %%%%%%%%%%%%%%%% CUSTOM INTEGRAL ANTIALIASED GRAY FONTS %%%%%%%%%%%% % /font507BG is a full integral grayscale antialiased Helvetica-Bold seven % point font. It is amazingly legible but requires special grayscale % procs or glyphs for use... % GGGGG % GGGGG % GGGGG % GGGGG % GGGGG /font507BG { /ff [ 256 {[ [.999 ]]} repeat ] store [ [0.999 0.999 ] [0.999 0.999 ] [0.999 0.999 ] [0.999 0.999 ] [0.999 0.999 ] [0.999 0.999 ] [0.999 0.999 ] ] ff exch 32 exch put % full space slightly shortened [ % fake and oversize [0.999 0.999 0.999] [0.999 0.999 0.999] [0.999 0.999 0.999] [0.333 0.333 0.333] [0.333 0.333 0.333] [0.999 0.999 0.999] [0.999 0.999 0.999] ] ff exch 45 exch put % minue or hyphen [ % fake and oversize [0.999 0.999] [0.999 0.999] [0.999 0.999] [0.999 0.999] [0.999 0.999] [0.0 0.0] [0.0 0.0] ] ff exch 46 exch put % period or decimal point [ % 86.1 97.7 -3.8 [0.719 0.089 0.084 0.692] [0.157 0.524 0.557 0.129] [0.000 0.824 0.852 0.000] [0.000 0.849 0.899 0.000] [0.000 0.834 0.864 0.000] [0.114 0.634 0.662 0.089] [0.617 0.022 0.019 0.589] ] ff exch 48 exch put % numeral zero narrower than capital O % Numeral one is THREE WIDE and looks best in text; needs one point of % kerning for math columns. [ % 90.3 97.7 -6.8 expanded and modified [0.999 0.567 0.000 ] [0.217 0.009 0.000 ] [0.799 0.559 0.000 ] [0.999 0.999 0.000 ] [0.999 0.999 0.000 ] [0.999 0.999 0.000 ] [0.999 0.999 0.000 ] ] ff exch 49 exch put % numeral 1 [ % 86.7 97.7 -3.7 [0.669 0.122 0.144 0.702 ] [0.072 0.529 0.489 0.077 ] [0.499 0.944 0.782 0.004 ] [0.999 0.924 0.219 0.297 ] [0.869 0.139 0.284 0.939 ] [0.214 0.242 0.792 0.799 ] [0.000 0.000 0.000 0.000 ] ] ff exch 50 exch put % numeral two [ % 86.7 97.7 -4.0 [0.607 0.069 0.097 0.694 ] [0.049 0.677 0.464 0.169 ] [0.749 0.952 0.474 0.239 ] [0.999 0.494 0.007 0.462 ] [0.799 0.999 0.692 0.012 ] [0.002 0.819 0.652 0.032 ] [0.424 0.014 0.017 0.557 ] ] ff exch 51 exch put % numeral three [ % 78.8 97.7 -1.7 modified [0.999 0.867 0.059 0.999 ] [0.999 0.399 0.074 0.999 ] [0.687 0.272 0.249 0.999 ] [0.424 0.889 0.249 0.999 ] [0.087 0.397 0.099 0.259 ] [0.572 0.549 0.137 0.357 ] [0.999 0.999 0.249 0.999 ] ] ff exch 52 exch put % numeral four [ % 84.8 97.7 -4.4 [0.407 0.099 0.099 0.369 ] [0.242 0.599 0.749 0.824 ] [0.132 0.452 0.464 0.917 ] [0.072 0.392 0.194 0.304 ] [0.999 0.999 0.677 0.072 ] [0.049 0.864 0.507 0.194 ] [0.384 0.000 0.049 0.724 ] ] ff exch 53 exch put % numeral five [ % 86.1 97.7 -4.5 [0.717 0.099 0.074 0.657 ] [0.114 0.572 0.614 0.377 ] [0.000 0.602 0.512 0.917 ] [0.000 0.267 0.202 0.244 ] [0.000 0.934 0.774 0.002 ] [0.057 0.767 0.642 0.092 ] [0.569 0.019 0.022 0.614 ] ] ff exch 54 exch put % numeral six [ % 84.5 99.3 -3.7 [0.049 0.049 0.049 0.049 ] [0.699 0.699 0.399 0.194 ] [0.999 0.949 0.094 0.794 ] [0.999 0.539 0.284 0.999 ] [0.999 0.157 0.652 0.999 ] [0.887 0.0 0.909 0.999 ] [0.727 0.057 0.999 0.999 ] ] ff exch 55 exch put % numeral seven [ % 86.1 97.7 -4.0 forced cleaner [0.659 0.082 0.084 0.664 ] [0.119 0.724 0.707 0.139 ] [0.192 0.784 0.707 0.239 ] [0.432 0.047 0.042 0.407 ] [0.004 0.784 0.762 0.002 ] [0.007 0.724 0.707 0.024 ] [0.457 0.012 0.014 0.522 ] ] ff exch 56 exch put % numeral eight [ % 86.7 97.7 -3.5 [0.652 0.082 0.084 0.687 ] [0.067 0.567 0.597 0.104 ] [0.000 0.847 0.899 0.000 ] [0.124 0.334 0.347 0.000 ] [0.822 0.377 0.482 0.000 ] [0.409 0.757 0.654 0.104 ] [0.534 0.014 0.034 0.659 ] ] ff exch 57 exch put % numeral nine [ % 73.3 97.7 -1.43 [0.999 0.714 0.000 0.742 0.999] [0.999 0.452 0.049 0.474 0.999] [0.999 0.184 0.459 0.207 0.999] [0.917 0.019 0.904 0.029 0.929] [0.657 0.042 0.349 0.047 0.672] [0.392 0.234 0.449 0.239 0.404] [0.129 0.692 0.999 0.712 0.134] ] ff exch 65 exch put % upper case "A" [ % 83.7 97.7 -6.2 [0.0 0.0 0.0 0.072 0.702] [0.0 0.999 0.899 0.364 0.244] [0.0 0.999 0.839 0.304 0.354] [0.0 0.079 0.099 0.009 0.532] [0.0 0.999 0.999 0.619 0.062] [0.0 0.999 0.897 0.407 0.117] [0.0 0.0 0.0 0.092 0.682] ] ff exch 66 exch put % upper case "B" [ % 83.7 97.7 -5.1 slightly cropped [0.817 0.102 0.000 0.022 0.602] [0.222 0.269 0.887 0.539 0.029] [0.002 0.747 0.999 0.977 0.699] [0.000 0.849 0.999 0.999 0.999] [0.002 0.747 0.999 0.964 0.599] [0.217 0.274 0.872 0.494 0.069] [0.812 0.097 0.000 0.039 0.674] ] ff exch 67 exch put % upper case "C" [ % 83.0 97.7 -6.2 retouched [0.000 0.000 0.000 0.154 0.827] [0.000 0.599 0.782 0.259 0.252] [0.000 0.999 0.999 0.709 0.014] [0.000 0.999 0.999 0.794 0.000] [0.000 0.999 0.999 0.669 0.047] [0.000 0.599 0.767 0.199 0.339] [0.000 0.000 0.002 0.212 0.892] ] ff exch 68 exch put % upper case "D" [ % 75.7 97.7 -6.2 compressed to 4 forced clean [0.000 0.000 0.000 0.049 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.000 0.000 0.999 ] [0.000 0.949 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.000 0.000 0.000 ] ] ff exch 69 exch put % upper case "E" [ % 75.7 97.7 -6.2 compressed to 4 forced clean [0.000 0.000 0.000 0.049 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.000 0.000 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] ] ff exch 70 exch put % upper case "F" [ % 75.7 97.7 -3.9 slightly cropped [0.854 0.112 0.000 0.042 0.717] [0.309 0.317 0.942 0.502 0.157] [0.037 0.779 0.999 0.977 0.852] [0.000 0.899 0.799 0.199 0.199] [0.029 0.794 0.899 0.559 0.000] [0.289 0.322 0.904 0.492 0.000] [0.837 0.102 0.000 0.209 0.157] ] ff exch 71 exch put % upper case "G" [ % 70.3 97.7 -5.2 comp to four [0.0 0.999 0.999 0.0 ] [0.0 0.999 0.999 0.0 ] [0.0 0.999 0.999 0.0 ] [0.0 0.142 0.149 0.0 ] [0.0 0.999 0.999 0.0 ] [0.0 0.999 0.999 0.0 ] [0.0 0.999 0.999 0.0 ] ] ff exch 72 exch put % upper case "H" [ % faked [0.0 ] [0.0 ] [0.0 ] [0.0 ] [0.0 ] [0.0 ] [0.0 ] ] ff exch 73 exch put % upper case "I" [ % 69.1 97.7 -2.2 slight crop [0.999 0.999 0.000 ] [0.999 0.999 0.000 ] [0.999 0.999 0.000 ] [0.999 0.999 0.000 ] [0.414 0.999 0.000 ] [0.039 0.904 0.047 ] [0.294 0.000 0.234 ] ] ff exch 74 exch put % upper case "J" [ % 76.9 97.7 -5.7 [0.099 0.999 0.897 0.082 0.552] [0.099 0.999 0.249 0.337 0.997] [0.099 0.259 0.154 0.954 0.999] [0.099 0.002 0.087 0.942 0.999] [0.099 0.572 0.132 0.457 0.999] [0.099 0.999 0.664 0.022 0.854] [0.099 0.999 0.997 0.222 0.307] ] ff exch 75 exch put % upper case "K" [ % 78.7 97.7 -5.8 set to 4 forced cleaner [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.999 0.999 0.999 ] [0.000 0.000 0.000 0.000 ] ] ff exch 76 exch put % upper case "L" [ % 86.4 97.7 -6.1 set six wide [0.000 0.032 0.982 0.987 0.037 0.000] [0.000 0.082 0.814 0.824 0.094 0.000] [0.000 0.274 0.609 0.624 0.294 0.000] [0.000 0.467 0.404 0.424 0.494 0.000] [0.000 0.662 0.204 0.224 0.689 0.000] [0.000 0.794 0.087 0.122 0.799 0.000] [0.000 0.799 0.247 0.284 0.799 0.000] ] ff exch 77 exch put % upper case "M" [ % 88.3 97.7 -7.1 retouched [0.000 0.442 0.999 0.999 0.000] [0.000 0.029 0.894 0.999 0.000] [0.000 0.259 0.404 0.849 0.000] [0.000 0.744 0.054 0.727 0.000] [0.000 0.849 0.449 0.222 0.000] [0.000 0.999 0.912 0.049 0.000] [0.000 0.999 0.999 0.479 0.000] ] ff exch 78 exch put % upper case "N" [ % 75.3 97.7 -4.1 clipped slightly [0.817 0.097 0.000 0.082 0.789] [0.252 0.372 0.919 0.404 0.209] [0.014 0.842 0.999 0.884 0.004] [0.000 0.949 0.999 0.989 0.000] [0.014 0.837 0.999 0.877 0.004] [0.254 0.362 0.909 0.387 0.219] [0.824 0.102 0.000 0.089 0.797] ] ff exch 79 exch put % upper case "O" [ % 74.0 97.7 -5.9 [0.000 0.000 0.014 0.522 0.999] [0.000 0.919 0.609 0.039 0.987] [0.000 0.899 0.897 0.004 0.969] [0.000 0.224 0.142 0.244 0.999] [0.000 0.694 0.767 0.909 0.999] [0.000 0.999 0.999 0.999 0.999] [0.000 0.999 0.999 0.999 0.999] ] ff exch 80 exch put % upper case "P" [ % 72.5 97.7 -3.3 retouched tail [0.879 0.159 0.0 0.177 0.892] [0.342 0.304 0.824 0.292 0.359] [0.069 0.799 0.999 0.779 0.092] [0.0 0.899 0.999 0.899 0.002] [0.044 0.839 0.929 0.604 0.069] [0.274 0.412 0.787 0.009 0.299] [0.802 0.062 0.012 0.039 0.247] [0.999 0.932 0.852 0.934 0.529] ] ff exch 81 exch put % upper case "Q" should auto descend [ % 76.7 97.7 -6.2 slight stretch [0.000 0.000 0.000 0.177 0.919] [0.000 0.719 0.782 0.147 0.579] [0.000 0.899 0.997 0.247 0.589] [0.000 0.044 0.039 0.084 0.942] [0.000 0.674 0.707 0.054 0.759] [0.000 0.899 0.999 0.182 0.657] [0.000 0.899 0.999 0.224 0.589] ] ff exch 82 exch put % upper case "R" [ % 86.0 97.7 -3.7 slight clip/expand/retouch [0.609 0.014 0.000 0.054 0.749] [0.117 0.564 0.999 0.362 0.247] [0.124 0.317 0.747 0.957 0.957] [0.697 0.132 0.000 0.054 0.569] [0.849 0.969 0.852 0.412 0.022] [0.062 0.509 0.999 0.584 0.049] [0.614 0.029 0.000 0.024 0.584] ] ff exch 83 exch put % upper case "S" % T is a compromise extra width to avoid double vertical [ % 87.5 97.7 -1.7 [0.300 0.000 0.000 0.000 0.300] [0.999 0.999 0.0 0.999 0.999] [0.999 0.949 0.0 0.949 0.999] [0.999 0.949 0.0 0.949 0.999] [0.999 0.949 0.0 0.949 0.999] [0.999 0.949 0.0 0.949 0.999] [0.999 0.949 0.0 0.949 0.999] ] ff exch 84 exch put % upper case "T" [ % 70.0 97.7 -5.2 wide is ugly narrow smears [0.000 0.999 0.999 0.000 ] [0.000 0.999 0.999 0.000 ] [0.000 0.999 0.999 0.000 ] [0.000 0.999 0.999 0.000 ] [0.000 0.999 0.999 0.000 ] [0.077 0.712 0.712 0.064 ] [0.539 0.002 0.002 0.522 ] ] ff exch 85 exch put % upper case "U" [ % 76.7 97.7 -0.8 slight expansion [0.202 0.584 0.999 0.577 0.244] [0.467 0.359 0.999 0.352 0.514] [0.729 0.139 0.999 0.127 0.779] [0.964 0.029 0.817 0.059 0.984] [0.999 0.259 0.372 0.314 0.999] [0.999 0.524 0.022 0.579 0.999] [0.999 0.789 0.000 0.844 0.999] ] ff exch 86 exch put % upper case "V" [ % 76.9 97.7 -1.3 widened for clairty [0.104 0.850 0.999 0.000 0.999 0.850 0.099] [0.327 0.499 0.742 0.034 0.739 0.564 0.322] [0.549 0.319 0.492 0.279 0.474 0.379 0.544] [0.772 0.142 0.339 0.582 0.309 0.202 0.762] [0.969 0.034 0.174 0.894 0.149 0.059 0.964] [0.999 0.214 0.127 0.999 0.109 0.204 0.999] [0.999 0.439 0.284 0.999 0.267 0.427 0.999] ] ff exch 87 exch put % upper case "W" [ % 76.7 97.7 -0.6 slight expand [0.399 0.252 0.999 0.277 0.424] [0.874 0.017 0.649 0.032 0.894] [0.999 0.374 0.027 0.424 0.999] [0.999 0.694 0.000 0.714 0.999] [0.999 0.289 0.069 0.274 0.999] [0.797 0.024 0.767 0.014 0.792] [0.299 0.377 0.999 0.324 0.299] ] ff exch 88 exch put % upper case "X" [ % 76.7 97.7 -0.6 slight expand [0.277 0.392 0.999 0.462 0.264] [0.712 0.057 0.954 0.109 0.687] [0.994 0.154 0.389 0.117 0.987] [0.999 0.587 0.000 0.522 0.999] [0.999 0.924 0.000 0.999 0.999] [0.999 0.949 0.000 0.999 0.999] [0.999 0.949 0.000 0.999 0.999] ] ff exch 89 exch put %upper case "Y" [ % 86.3 97.7 -1.2 [0.199 0.000 0.000 0.000 0.099] [0.799 0.749 0.704 0.054 0.344] [0.999 0.999 0.397 0.104 0.929] [0.999 0.689 0.007 0.729 0.999] [0.904 0.079 0.439 0.999 0.999] [0.297 0.069 0.719 0.749 0.762] [0.099 0.000 0.000 0.000 0.049] ] ff exch 90 exch put % upper case "Z" ff } def % /f710bg is a full integral grayscale antialiased Helvetica-Bold ten % point font. It is superbly legible but requires special grayscale procs or % glyphs for use... % % GGGGGGG % GGGGGGG % GG GG % GG GG % GGGGGGG % GGGGGGG % GG GG % GG GG % GGGGGGG % GGGGGGG /f710bg { /ff [ 256 {[ [.999 ]]} repeat ] store % -0.8 0 100.9 139.8 [ % 0.0 0 1.0 1.0 0 [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] ] ff exch 32 exch put % space " " [ % -6.9 0 1.256 1.0 0 [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.952 0.952 ] [ 0.049 0.049 ] [ 0.049 0.049 ] ] ff exch 46 exch put % punctuation "." [ % -5.7 0.8 1.306 1.0 0 all numerals widened [ 0.962 0.369 0.034 0.034 0.349 0.947 ] [ 0.427 0.000 0.277 0.292 0.000 0.404 ] [ 0.059 0.092 0.984 0.989 0.112 0.044 ] [ 0.000 0.267 0.999 0.999 0.294 0.000 ] [ 0.000 0.322 0.999 0.999 0.349 0.000 ] [ 0.000 0.329 0.999 0.999 0.349 0.000 ] [ 0.000 0.282 0.999 0.999 0.309 0.000 ] [ 0.032 0.132 0.999 0.999 0.157 0.019 ] [ 0.344 0.000 0.437 0.454 0.000 0.314 ] [ 0.897 0.189 0.000 0.000 0.177 0.892 ] ] ff exch 48 exch put % numeral "0" [ % -5.7 0 1.386 0.995 0 thin one for text [ 0.999 0.999 0.929 0.102 0.414 ] [ 0.889 0.727 0.249 0.000 0.349 ] [ 0.299 0.000 0.000 0.000 0.349 ] [ 0.859 0.799 0.559 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] ] ff exch 49 exch put % numeral "1" [ % -3.7 0 1.276 1.0 0 [ 0.974 0.439 0.119 0.124 0.422 0.949 ] [ 0.442 0.000 0.144 0.157 0.000 0.327 ] [ 0.092 0.107 0.974 0.984 0.164 0.007 ] [ 0.399 0.549 0.999 0.999 0.259 0.000 ] [ 0.999 0.999 0.999 0.759 0.014 0.129 ] [ 0.999 0.999 0.662 0.039 0.024 0.729 ] [ 0.999 0.497 0.002 0.107 0.764 0.999 ] [ 0.617 0.000 0.222 0.914 0.999 0.999 ] [ 0.119 0.000 0.187 0.249 0.249 0.249 ] [ 0.000 0.000 0.000 0.000 0.000 0.000 ] ] ff exch 50 exch put % numeral "2" [ % -5.7 0.5 1.306 1.0 0 [ 0.894 0.319 0.057 0.079 0.402 0.962 ] [ 0.244 0.007 0.334 0.204 0.000 0.429 ] [ 0.000 0.312 0.999 0.939 0.000 0.164 ] [ 0.799 0.879 0.999 0.852 0.000 0.267 ] [ 0.999 0.999 0.314 0.042 0.037 0.819 ] [ 0.999 0.999 0.477 0.182 0.000 0.282 ] [ 0.899 0.949 0.999 0.989 0.149 0.000 ] [ 0.000 0.427 0.999 0.999 0.182 0.000 ] [ 0.052 0.054 0.572 0.449 0.000 0.187 ] [ 0.689 0.074 0.000 0.000 0.157 0.837 ] ] ff exch 51 exch put % numeral "3" [ % -1.7 0 1.174 1.0 0 [ 0.999 0.999 0.907 0.079 0.049 0.952 ] [ 0.999 0.999 0.424 0.000 0.000 0.949 ] [ 0.999 0.894 0.034 0.237 0.000 0.949 ] [ 0.999 0.399 0.324 0.399 0.000 0.949 ] [ 0.877 0.027 0.819 0.399 0.000 0.949 ] [ 0.377 0.324 0.999 0.399 0.000 0.949 ] [ 0.054 0.194 0.299 0.119 0.000 0.284 ] [ 0.239 0.199 0.199 0.079 0.000 0.189 ] [ 0.999 0.999 0.999 0.399 0.000 0.949 ] [ 0.999 0.999 0.999 0.399 0.000 0.949 ] ] ff exch 52 exch put % numeral "4" [ % -6.7 1.1 1.296 1.005 0 [ 0.529 0.099 0.099 0.099 0.099 0.414 ] [ 0.362 0.039 0.249 0.249 0.249 0.512 ] [ 0.247 0.262 0.999 0.999 0.999 0.999 ] [ 0.132 0.287 0.439 0.387 0.719 0.999 ] [ 0.019 0.000 0.032 0.004 0.002 0.622 ] [ 0.404 0.504 0.987 0.739 0.000 0.147 ] [ 0.999 0.999 0.999 0.999 0.087 0.004 ] [ 0.199 0.587 0.999 0.957 0.032 0.104 ] [ 0.024 0.072 0.534 0.279 0.000 0.462 ] [ 0.667 0.077 0.000 0.007 0.347 0.962 ] ] ff exch 53 exch put % numeral "5" [ % -6.7 0.6 1.306 1.0 0 [ 0.962 0.417 0.069 0.049 0.322 0.929 ] [ 0.402 0.000 0.267 0.272 0.000 0.369 ] [ 0.027 0.184 0.994 0.994 0.469 0.522 ] [ 0.000 0.434 0.644 0.547 0.807 0.999 ] [ 0.000 0.052 0.000 0.000 0.007 0.622 ] [ 0.000 0.124 0.814 0.717 0.022 0.087 ] [ 0.000 0.469 0.999 0.999 0.227 0.000 ] [ 0.000 0.382 0.999 0.999 0.162 0.017 ] [ 0.234 0.022 0.522 0.449 0.000 0.309 ] [ 0.849 0.152 0.000 0.000 0.189 0.894 ] ] ff exch 54 exch put % numeral "6" [ % -4.9 0 1.271 1.017 0 [ 0.099 0.099 0.099 0.099 0.099 0.099 ] [ 0.149 0.149 0.149 0.149 0.029 0.007 ] [ 0.999 0.999 0.999 0.759 0.012 0.472 ] [ 0.999 0.999 0.972 0.144 0.147 0.974 ] [ 0.999 0.999 0.562 0.000 0.669 0.999 ] [ 0.999 0.984 0.112 0.127 0.989 0.999 ] [ 0.999 0.717 0.000 0.472 0.999 0.999 ] [ 0.999 0.419 0.000 0.757 0.999 0.999 ] [ 0.999 0.204 0.002 0.952 0.999 0.999 ] [ 0.999 0.069 0.079 0.999 0.999 0.999 ] ] ff exch 55 exch put % numeral "7" [ % -5.7 0.9 1.306 1.0 0 [ 0.929 0.324 0.027 0.029 0.317 0.909 ] [ 0.334 0.000 0.297 0.314 0.000 0.317 ] [ 0.072 0.109 0.997 0.997 0.109 0.072 ] [ 0.207 0.037 0.839 0.867 0.044 0.237 ] [ 0.787 0.019 0.000 0.000 0.012 0.769 ] [ 0.222 0.000 0.377 0.379 0.002 0.137 ] [ 0.000 0.237 0.999 0.999 0.259 0.000 ] [ 0.000 0.262 0.999 0.999 0.277 0.000 ] [ 0.097 0.007 0.464 0.479 0.007 0.129 ] [ 0.774 0.124 0.000 0.000 0.144 0.807 ] ] ff exch 56 exch put % numeral "8" [ % -4.8 0.9 1.306 1.0 0 [ 0.922 0.327 0.029 0.027 0.339 0.947 ] [ 0.297 0.000 0.262 0.292 0.000 0.364 ] [ 0.004 0.184 0.997 0.999 0.257 0.017 ] [ 0.000 0.292 0.999 0.999 0.394 0.000 ] [ 0.019 0.089 0.922 0.937 0.144 0.000 ] [ 0.427 0.000 0.027 0.034 0.012 0.000 ] [ 0.992 0.604 0.362 0.489 0.379 0.000 ] [ 0.617 0.642 0.999 0.999 0.212 0.029 ] [ 0.249 0.002 0.484 0.407 0.000 0.384 ] [ 0.844 0.159 0.000 0.000 0.279 0.942 ] ] ff exch 57 exch put % numeral "9" [ % -3.5 -4.2 1.0 1.0 0 [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.549 0.549 0.549 0.549 0.549 ] [ 0.000 0.000 0.000 0.000 0.000 ] [ 0.849 0.849 0.849 0.849 0.849 ] [ 0.649 0.649 0.649 0.649 0.649 ] [ 0.000 0.000 0.000 0.000 0.000 ] [ 0.799 0.799 0.799 0.799 0.799 ] ] ff exch 61 exch put % punctuation "=" [ % 0.0 0 1.0 1.0 0 [ 0.999 0.999 0.562 0.000 0.412 0.999 0.999 ] [ 0.999 0.999 0.309 0.000 0.159 0.999 0.999 ] [ 0.999 0.989 0.059 0.149 0.000 0.899 0.999 ] [ 0.999 0.792 0.000 0.602 0.000 0.649 0.999 ] [ 0.999 0.537 0.019 0.959 0.084 0.394 0.999 ] [ 0.999 0.277 0.209 0.999 0.309 0.137 0.999 ] [ 0.977 0.044 0.069 0.199 0.089 0.000 0.887 ] [ 0.762 0.000 0.039 0.049 0.044 0.000 0.632 ] [ 0.507 0.002 0.912 0.999 0.982 0.039 0.374 ] [ 0.249 0.162 0.999 0.999 0.999 0.244 0.124 ] ] ff exch 65 exch put % upper case "A" [ % -8.1 0 1.165 1.0 0 [ 0.000 0.000 0.000 0.000 0.009 0.307 0.949 ] [ 0.000 0.089 0.299 0.299 0.147 0.000 0.489 ] [ 0.000 0.299 0.999 0.999 0.949 0.000 0.304 ] [ 0.000 0.269 0.899 0.899 0.649 0.000 0.447 ] [ 0.000 0.000 0.000 0.000 0.000 0.057 0.897 ] [ 0.000 0.119 0.399 0.399 0.277 0.000 0.372 ] [ 0.000 0.299 0.999 0.999 0.997 0.147 0.072 ] [ 0.000 0.299 0.999 0.999 0.972 0.099 0.077 ] [ 0.000 0.074 0.249 0.249 0.132 0.000 0.387 ] [ 0.000 0.000 0.000 0.000 0.047 0.324 0.939 ] ] ff exch 66 exch put % upper case "B" [ % -5.5 0 1.146 1.0 0 [ 0.999 0.512 0.014 0.000 0.000 0.182 0.887 ] [ 0.684 0.000 0.077 0.444 0.297 0.000 0.237 ] [ 0.237 0.004 0.794 0.999 0.999 0.282 0.000 ] [ 0.017 0.192 0.999 0.999 0.999 0.879 0.749 ] [ 0.000 0.332 0.999 0.999 0.999 0.999 0.999 ] [ 0.000 0.332 0.999 0.999 0.999 0.999 0.999 ] [ 0.017 0.189 0.999 0.999 0.999 0.774 0.549 ] [ 0.232 0.002 0.794 0.999 0.992 0.222 0.017 ] [ 0.672 0.000 0.072 0.417 0.229 0.000 0.362 ] [ 0.999 0.514 0.022 0.000 0.000 0.259 0.937 ] ] ff exch 67 exch put % upper case "C" [ % -8.2 0 1.166 1.0 0 [ 0.000 0.000 0.000 0.000 0.059 0.497 0.997 ] [ 0.000 0.089 0.299 0.289 0.059 0.000 0.584 ] [ 0.000 0.299 0.999 0.999 0.844 0.017 0.149 ] [ 0.000 0.299 0.999 0.999 0.999 0.232 0.000 ] [ 0.000 0.299 0.999 0.999 0.999 0.344 0.000 ] [ 0.000 0.299 0.999 0.999 0.999 0.329 0.000 ] [ 0.000 0.299 0.999 0.999 0.999 0.169 0.027 ] [ 0.000 0.299 0.999 0.999 0.732 0.000 0.272 ] [ 0.000 0.074 0.249 0.237 0.027 0.004 0.732 ] [ 0.000 0.000 0.000 0.000 0.124 0.632 0.999 ] ] ff exch 68 exch put % upper case "D" [ % -7.9 0 1.111 1.0 0 [ 0.000 0.000 0.000 0.000 0.000 0.099 ] [ 0.000 0.087 0.249 0.249 0.249 0.324 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.297 0.849 0.849 0.849 0.917 ] [ 0.000 0.000 0.000 0.000 0.000 0.449 ] [ 0.000 0.122 0.349 0.349 0.349 0.642 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.069 0.199 0.199 0.199 0.199 ] [ 0.000 0.000 0.000 0.000 0.000 0.000 ] ] ff exch 69 exch put % upper case "E" [ % -7.9 0 1.161 1.0 0 [ 0.000 0.000 0.000 0.000 0.000 0.000 ] [ 0.000 0.049 0.249 0.249 0.249 0.249 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.000 0.000 0.000 0.000 0.499 ] [ 0.000 0.039 0.199 0.199 0.199 0.599 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] ] ff exch 70 exch put % upper case "F" [ % -4.1 0 1.052 1.0 0 [ 0.999 0.567 0.022 0.000 0.000 0.232 0.937 ] [ 0.779 0.007 0.109 0.514 0.339 0.000 0.394 ] [ 0.347 0.012 0.839 0.999 0.997 0.254 0.049 ] [ 0.104 0.229 0.999 0.999 0.999 0.944 0.899 ] [ 0.002 0.379 0.999 0.959 0.599 0.599 0.599 ] [ 0.000 0.382 0.999 0.899 0.000 0.000 0.000 ] [ 0.097 0.252 0.999 0.969 0.699 0.409 0.000 ] [ 0.329 0.017 0.847 0.999 0.997 0.254 0.000 ] [ 0.759 0.002 0.089 0.452 0.269 0.024 0.000 ] [ 0.999 0.554 0.022 0.000 0.039 0.664 0.000 ] ] ff exch 71 exch put % upper case "G" [ % -7.1 0 1.049 1.0 0 [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.337 0.749 0.749 0.374 0.000 ] [ 0.000 0.000 0.000 0.000 0.000 0.000 ] [ 0.000 0.224 0.499 0.499 0.249 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] ] ff exch 72 exch put % upper case "H" [ % -4.0 0 1.049 1.0 0 [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] ] ff exch 73 exch put % upper case "I" [ % -2.0 0 1.053 1.0 0 [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.199 0.639 0.999 0.249 0.149 ] [ 0.002 0.494 0.999 0.239 0.157 ] [ 0.137 0.124 0.509 0.032 0.307 ] [ 0.629 0.012 0.000 0.044 0.779 ] ] ff exch 74 exch put % upper case "J" [ % -7.0 0 1.068 1.0 0 [ 0.149 0.249 0.999 0.999 0.337 0.000 0.592 ] [ 0.149 0.249 0.999 0.612 0.000 0.362 0.999 ] [ 0.149 0.249 0.847 0.042 0.172 0.957 0.999 ] [ 0.149 0.222 0.192 0.052 0.847 0.999 0.999 ] [ 0.149 0.002 0.000 0.124 0.969 0.999 0.999 ] [ 0.149 0.000 0.104 0.000 0.532 0.999 0.999 ] [ 0.149 0.132 0.907 0.077 0.057 0.914 0.999 ] [ 0.149 0.249 0.999 0.559 0.000 0.404 0.999 ] [ 0.149 0.249 0.999 0.974 0.129 0.014 0.829 ] [ 0.149 0.249 0.999 0.999 0.647 0.000 0.277 ] ] ff exch 75 exch put % upper case "K" [ % -6.1 0 1.142 1.0 0 [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.019 0.199 0.199 0.199 0.199 ] [ 0.199 0.000 0.000 0.000 0.000 0.000 ] ] ff exch 76 exch put % upper case "L" [ % -8.1 0 1.281 1.0 0 widened [ 0.000 0.000 0.059 0.992 0.999 0.999 0.079 0.000 0.000 ] [ 0.000 0.029 0.000 0.839 0.999 0.869 0.000 0.029 0.000 ] [ 0.000 0.182 0.032 0.629 0.999 0.659 0.034 0.182 0.000 ] [ 0.000 0.199 0.214 0.412 0.999 0.452 0.224 0.199 0.000 ] [ 0.000 0.199 0.414 0.202 0.999 0.244 0.434 0.199 0.000 ] [ 0.000 0.199 0.622 0.022 0.957 0.044 0.639 0.199 0.000 ] [ 0.000 0.199 0.824 0.000 0.604 0.000 0.844 0.199 0.000 ] [ 0.000 0.199 0.987 0.037 0.177 0.059 0.992 0.199 0.000 ] [ 0.000 0.199 0.999 0.224 0.000 0.257 0.999 0.199 0.000 ] [ 0.000 0.199 0.999 0.424 0.000 0.464 0.999 0.199 0.000 ] ] ff exch 77 exch put % upper case "M" [ % -9.1 0 1.224 1.0 0 [ 0.000 0.029 0.894 0.999 0.999 0.349 0.000 ] [ 0.000 0.000 0.399 0.999 0.999 0.349 0.000 ] [ 0.000 0.009 0.022 0.877 0.999 0.349 0.000 ] [ 0.000 0.309 0.039 0.399 0.999 0.349 0.000 ] [ 0.000 0.399 0.449 0.022 0.877 0.349 0.000 ] [ 0.000 0.399 0.909 0.039 0.399 0.349 0.000 ] [ 0.000 0.399 0.999 0.467 0.022 0.227 0.000 ] [ 0.000 0.399 0.999 0.924 0.049 0.000 0.000 ] [ 0.000 0.399 0.999 0.999 0.474 0.000 0.000 ] [ 0.000 0.399 0.999 0.999 0.924 0.049 0.000 ] ] ff exch 78 exch put % upper case "N" [ % -4.7 0 1.036 1.0 0 [ 0.997 0.462 0.009 0.000 0.004 0.424 0.997 ] [ 0.644 0.000 0.174 0.497 0.187 0.000 0.612 ] [ 0.229 0.072 0.932 0.999 0.947 0.092 0.199 ] [ 0.024 0.372 0.999 0.999 0.999 0.404 0.009 ] [ 0.000 0.494 0.999 0.999 0.999 0.537 0.000 ] [ 0.000 0.492 0.999 0.999 0.999 0.534 0.000 ] [ 0.029 0.364 0.999 0.999 0.999 0.397 0.012 ] [ 0.242 0.059 0.919 0.999 0.934 0.084 0.214 ] [ 0.667 0.000 0.147 0.462 0.162 0.000 0.637 ] [ 0.999 0.497 0.014 0.000 0.009 0.472 0.997 ] ] ff exch 79 exch put % upper case "O" [ % -7.5 0 1.091 1.0 0 [ 0.000 0.000 0.000 0.000 0.149 0.819 ] [ 0.000 0.104 0.299 0.227 0.000 0.224 ] [ 0.000 0.349 0.999 0.999 0.314 0.007 ] [ 0.000 0.349 0.999 0.999 0.377 0.000 ] [ 0.000 0.227 0.649 0.587 0.059 0.144 ] [ 0.000 0.000 0.000 0.000 0.007 0.659 ] [ 0.000 0.209 0.599 0.614 0.819 0.999 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] ] ff exch 80 exch put % upper case "P" [ % -6.5 0 1.051 1.0 1 tail needs darkened manually [ 0.974 0.344 0.000 0.000 0.014 0.509 0.999 ] [ 0.487 0.000 0.232 0.492 0.139 0.000 0.692 ] [ 0.074 0.172 0.979 0.999 0.894 0.039 0.272 ] [ 0.000 0.519 0.999 0.999 0.999 0.312 0.049 ] [ 0.000 0.644 0.999 0.999 0.999 0.439 0.000 ] [ 0.000 0.642 0.999 0.999 0.999 0.439 0.000 ] [ 0.000 0.514 0.999 0.932 0.499 0.299 0.057 ] [ 0.082 0.152 0.972 0.722 0.002 0.009 0.287 ] [ 0.504 0.000 0.204 0.459 0.054 0.000 0.579 ] [ 0.982 0.369 0.002 0.000 0.029 0.162 0.124 ] [ 0.999 0.999 0.874 0.754 0.924 0.532 0.264 ] ] ff exch 81 exch put % upper case "Q" [ % -7.5 0 1.101 1.0 0 [ 0.000 0.000 0.000 0.000 0.024 0.434 0.997 ] [ 0.000 0.104 0.299 0.299 0.092 0.000 0.699 ] [ 0.000 0.349 0.999 0.999 0.792 0.000 0.467 ] [ 0.000 0.349 0.999 0.999 0.822 0.000 0.517 ] [ 0.000 0.139 0.399 0.387 0.139 0.052 0.864 ] [ 0.000 0.000 0.000 0.000 0.000 0.252 0.984 ] [ 0.000 0.332 0.949 0.919 0.389 0.000 0.757 ] [ 0.000 0.349 0.999 0.999 0.649 0.000 0.659 ] [ 0.000 0.349 0.999 0.999 0.674 0.000 0.649 ] [ 0.000 0.349 0.999 0.999 0.757 0.000 0.487 ] ] ff exch 82 exch put % upper case "R" [ % -5.5 0 1.101 1.0 0 [ 0.749 0.059 0.000 0.000 0.087 0.799 ] [ 0.157 0.069 0.504 0.454 0.024 0.202 ] [ 0.000 0.474 0.999 0.999 0.427 0.049 ] [ 0.014 0.172 0.732 0.979 0.999 0.999 ] [ 0.367 0.000 0.000 0.062 0.364 0.847 ] [ 0.979 0.594 0.252 0.017 0.000 0.074 ] [ 0.899 0.959 0.999 0.934 0.387 0.000 ] [ 0.000 0.474 0.999 0.999 0.704 0.000 ] [ 0.129 0.024 0.434 0.494 0.122 0.022 ] [ 0.777 0.099 0.000 0.000 0.039 0.634 ] ] ff exch 83 exch put % upper case "S" [ % -1.5 0 1.051 1.0 0 [ 0.000 0.000 0.000 0.000 0.000 0.000 ] [ 0.249 0.249 0.049 0.049 0.249 0.249 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] ] ff exch 84 exch put % upper case "T" [ % -7.3 0 1.045 1.0 0 [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.439 0.999 0.999 0.444 0.000 ] [ 0.024 0.274 0.999 0.999 0.299 0.027 ] [ 0.274 0.000 0.374 0.362 0.002 0.279 ] [ 0.844 0.122 0.000 0.000 0.117 0.847 ] ] ff exch 85 exch put % upper case "U" [ % 0.7 0 1.04 1.0 0 [ 0.324 0.027 0.977 0.999 0.989 0.047 0.347 ] [ 0.574 0.000 0.792 0.999 0.819 0.000 0.599 ] [ 0.824 0.000 0.582 0.999 0.604 0.000 0.857 ] [ 0.997 0.089 0.367 0.999 0.389 0.112 0.999 ] [ 0.999 0.337 0.154 0.999 0.174 0.362 0.999 ] [ 0.999 0.587 0.004 0.887 0.009 0.624 0.999 ] [ 0.999 0.837 0.000 0.477 0.000 0.874 0.999 ] [ 0.999 0.997 0.099 0.077 0.132 0.999 0.999 ] [ 0.999 0.999 0.349 0.000 0.387 0.999 0.999 ] [ 0.999 0.999 0.599 0.000 0.637 0.999 0.999 ] ] ff exch 86 exch put % upper case "V" [ % -0.5 0 0.97 1.0 0 widened [ 0.134 0.317 0.999 0.632 0.000 0.654 0.999 0.382 0.144 ] [ 0.327 0.157 0.999 0.489 0.000 0.507 0.999 0.219 0.337 ] [ 0.524 0.014 0.974 0.349 0.094 0.359 0.999 0.059 0.534 ] [ 0.724 0.000 0.832 0.212 0.342 0.209 0.894 0.000 0.734 ] [ 0.924 0.000 0.674 0.079 0.602 0.067 0.734 0.000 0.929 ] [ 0.999 0.124 0.474 0.002 0.882 0.000 0.502 0.124 0.999 ] [ 0.999 0.317 0.214 0.102 0.999 0.067 0.224 0.324 0.999 ] [ 0.999 0.514 0.014 0.249 0.999 0.209 0.014 0.524 0.999 ] [ 0.999 0.714 0.000 0.397 0.999 0.352 0.000 0.714 0.999 ] [ 0.999 0.914 0.000 0.542 0.999 0.502 0.000 0.914 0.999 ] ] ff exch 87 exch put % upper case "W" [ % -0.2 0 1.059 1.0 0 [ 0.442 0.000 0.669 0.999 0.634 0.000 0.544 ] [ 0.894 0.027 0.249 0.999 0.202 0.074 0.949 ] [ 0.999 0.397 0.002 0.597 0.000 0.512 0.999 ] [ 0.999 0.859 0.014 0.017 0.062 0.937 0.999 ] [ 0.999 0.999 0.339 0.000 0.459 0.999 0.999 ] [ 0.999 0.999 0.224 0.000 0.274 0.999 0.999 ] [ 0.999 0.739 0.000 0.074 0.002 0.797 0.999 ] [ 0.999 0.252 0.032 0.769 0.004 0.322 0.999 ] [ 0.774 0.000 0.399 0.999 0.284 0.004 0.834 ] [ 0.289 0.004 0.847 0.999 0.709 0.000 0.359 ] ] ff exch 88 exch put % upper case "X" [ % -0.2 0 1.208 1.0 0 widened [ 0.342 0.000 0.534 0.999 0.999 0.569 0.000 0.387 ] [ 0.819 0.004 0.124 0.989 0.999 0.177 0.009 0.847 ] [ 0.999 0.307 0.000 0.699 0.779 0.000 0.319 0.999 ] [ 0.999 0.794 0.000 0.284 0.379 0.000 0.787 0.999 ] [ 0.999 0.999 0.274 0.007 0.032 0.257 0.999 0.999 ] [ 0.999 0.999 0.759 0.000 0.000 0.717 0.999 0.999 ] [ 0.999 0.999 0.999 0.089 0.042 0.997 0.999 0.999 ] [ 0.999 0.999 0.999 0.099 0.049 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.099 0.049 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.099 0.049 0.999 0.999 0.999 ] ] ff exch 89 exch put % upper case "Y" [ % -0.8 0.0 1.03 1.0 0 [ 0.199 0.000 0.000 0.000 0.000 0.099 ] [ 0.399 0.249 0.249 0.217 0.000 0.139 ] [ 0.999 0.999 0.999 0.502 0.000 0.614 ] [ 0.999 0.999 0.869 0.034 0.212 0.992 ] [ 0.999 0.999 0.314 0.007 0.787 0.999 ] [ 0.999 0.714 0.000 0.384 0.999 0.999 ] [ 0.974 0.149 0.062 0.914 0.999 0.999 ] [ 0.527 0.000 0.567 0.999 0.999 0.999 ] [ 0.114 0.000 0.184 0.199 0.199 0.239 ] [ 0.099 0.000 0.000 0.000 0.000 0.049 ] ] ff exch 90 exch put % upper case "Z" ff } def % /f708bg is a full integral grayscale antialiased Helvetica-Bold ten % point font. It is superbly legible but requires special grayscale procs or % glyphs for use... % % GGGGGGG % GGGGGGG % GG GG % GGGGGGG % GGGGGGG % GG GG % GGGGGGG % GGGGGGG /f708bg { /ff [ 256 {[ [.999 ]]} repeat ] store % -0.8 0 100.9 111.84 [ % 0.0 0 1.0 1.0 0 [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 ] ] ff exch 32 exch put % space " " [ % -6.9 0 1.256 1.0 0 [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.999 0.999 ] [ 0.382 0.382 ] [ 0.049 0.049 ] ] ff exch 46 exch put % punctuation "." [ % -5.7 0.8 1.306 1.0 0 all numerals widened [ 0.887 0.274 0.019 0.017 0.267 0.874 ] [ 0.252 0.012 0.617 0.639 0.019 0.224 ] [ 0.002 0.222 0.999 0.999 0.244 0.000 ] [ 0.000 0.317 0.999 0.999 0.347 0.000 ] [ 0.000 0.322 0.999 0.999 0.349 0.000 ] [ 0.000 0.239 0.999 0.999 0.262 0.000 ] [ 0.202 0.027 0.737 0.749 0.034 0.174 ] [ 0.837 0.169 0.000 0.000 0.152 0.817 ] ] ff exch 48 exch put % numeral "0" [ % -5.7 0 1.386 0.995 0 thin one for text [ 0.999 0.999 0.869 0.099 0.414 ] [ 0.614 0.382 0.072 0.000 0.349 ] [ 0.614 0.449 0.314 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] [ 0.999 0.999 0.699 0.000 0.349 ] ] ff exch 49 exch put % numeral "1" [ % -3.7 0 1.276 1.0 0 [ 0.912 0.352 0.089 0.089 0.339 0.874 ] [ 0.279 0.012 0.502 0.517 0.029 0.157 ] [ 0.167 0.334 0.999 0.999 0.274 0.000 ] [ 0.999 0.999 0.999 0.802 0.047 0.107 ] [ 0.999 0.982 0.532 0.029 0.094 0.779 ] [ 0.909 0.217 0.007 0.414 0.937 0.999 ] [ 0.274 0.000 0.324 0.599 0.599 0.599 ] [ 0.002 0.000 0.000 0.000 0.000 0.000 ] ] ff exch 50 exch put % numeral "2" [ % -5.7 0.5 1.306 1.0 0 [ 0.799 0.239 0.032 0.047 0.314 0.889 ] [ 0.104 0.107 0.684 0.524 0.000 0.284 ] [ 0.449 0.664 0.999 0.952 0.000 0.194 ] [ 0.999 0.999 0.444 0.152 0.029 0.742 ] [ 0.999 0.999 0.587 0.349 0.002 0.217 ] [ 0.499 0.742 0.999 0.999 0.212 0.000 ] [ 0.009 0.184 0.844 0.749 0.049 0.077 ] [ 0.599 0.062 0.000 0.000 0.129 0.754 ] ] ff exch 51 exch put % numeral "3" [ % -1.7 0 1.174 1.0 0 [ 0.999 0.999 0.847 0.069 0.049 0.952 ] [ 0.999 0.994 0.244 0.044 0.000 0.949 ] [ 0.999 0.597 0.167 0.379 0.000 0.949 ] [ 0.897 0.064 0.759 0.399 0.000 0.949 ] [ 0.319 0.384 0.999 0.399 0.000 0.949 ] [ 0.049 0.000 0.000 0.000 0.000 0.000 ] [ 0.762 0.749 0.749 0.299 0.000 0.712 ] [ 0.999 0.999 0.999 0.399 0.000 0.949 ] ] ff exch 52 exch put % numeral "4" [ % -6.7 1.1 1.296 1.005 0 [ 0.484 0.049 0.049 0.049 0.049 0.382 ] [ 0.317 0.132 0.649 0.649 0.649 0.772 ] [ 0.172 0.337 0.732 0.687 0.917 0.999 ] [ 0.032 0.004 0.047 0.007 0.037 0.684 ] [ 0.549 0.619 0.994 0.812 0.009 0.114 ] [ 0.749 0.884 0.999 0.999 0.084 0.024 ] [ 0.000 0.224 0.809 0.564 0.000 0.304 ] [ 0.577 0.074 0.000 0.009 0.297 0.909 ] ] ff exch 53 exch put % numeral "5" [ % -6.7 0.6 1.306 1.0 0 [ 0.892 0.319 0.042 0.027 0.239 0.844 ] [ 0.209 0.034 0.622 0.629 0.012 0.229 ] [ 0.000 0.377 0.897 0.817 0.969 0.999 ] [ 0.000 0.122 0.002 0.000 0.064 0.689 ] [ 0.000 0.184 0.864 0.787 0.057 0.064 ] [ 0.000 0.472 0.999 0.999 0.237 0.000 ] [ 0.107 0.134 0.802 0.749 0.037 0.169 ] [ 0.779 0.132 0.000 0.000 0.164 0.824 ] ] ff exch 54 exch put % numeral "6" [ % -4.9 0 1.271 1.017 0 [ 0.049 0.049 0.049 0.049 0.049 0.049 ] [ 0.549 0.549 0.549 0.522 0.037 0.124 ] [ 0.999 0.999 0.999 0.352 0.049 0.839 ] [ 0.999 0.999 0.629 0.000 0.599 0.999 ] [ 0.999 0.959 0.089 0.172 0.989 0.999 ] [ 0.999 0.597 0.000 0.587 0.999 0.999 ] [ 0.999 0.277 0.000 0.889 0.999 0.999 ] [ 0.999 0.087 0.067 0.999 0.999 0.999 ] ] ff exch 55 exch put % numeral "7" [ % -5.7 0.9 1.306 1.0 0 [ 0.839 0.247 0.012 0.012 0.237 0.822 ] [ 0.194 0.029 0.649 0.664 0.029 0.169 ] [ 0.124 0.089 0.962 0.974 0.094 0.137 ] [ 0.707 0.014 0.089 0.102 0.007 0.699 ] [ 0.169 0.029 0.514 0.517 0.032 0.102 ] [ 0.000 0.299 0.999 0.999 0.317 0.000 ] [ 0.029 0.079 0.752 0.762 0.089 0.047 ] [ 0.684 0.112 0.000 0.000 0.132 0.719 ] ] ff exch 56 exch put % numeral "8" [ % -4.8 0.9 1.306 1.0 0 [ 0.827 0.247 0.012 0.012 0.254 0.864 ] [ 0.132 0.042 0.629 0.654 0.072 0.174 ] [ 0.000 0.289 0.999 0.999 0.382 0.000 ] [ 0.017 0.119 0.927 0.942 0.182 0.000 ] [ 0.554 0.012 0.014 0.017 0.072 0.000 ] [ 0.999 0.892 0.709 0.807 0.374 0.000 ] [ 0.189 0.087 0.762 0.709 0.044 0.217 ] [ 0.779 0.144 0.000 0.000 0.242 0.887 ] ] ff exch 57 exch put % numeral "9" [ % -3.5 -4.2 1.0 1.0 0 [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.749 0.749 0.749 0.749 0.749 ] [ 0.000 0.000 0.000 0.000 0.000 ] [ 0.999 0.999 0.999 0.999 0.999 ] [ 0.199 0.199 0.199 0.199 0.199 ] [ 0.549 0.549 0.549 0.549 0.549 ] ] ff exch 61 exch put % punctuation "=" [ % 0.0 0 1.0 1.0 0 [ 0.999 0.999 0.532 0.000 0.379 0.999 0.999 ] [ 0.999 0.999 0.207 0.017 0.074 0.984 0.999 ] [ 0.999 0.887 0.004 0.429 0.000 0.742 0.999 ] [ 0.999 0.567 0.014 0.919 0.069 0.427 0.999 ] [ 0.999 0.244 0.219 0.949 0.317 0.112 0.994 ] [ 0.912 0.012 0.000 0.000 0.000 0.000 0.792 ] [ 0.604 0.000 0.569 0.649 0.629 0.009 0.472 ] [ 0.282 0.132 0.999 0.999 0.999 0.217 0.154 ] ] ff exch 65 exch put % upper case "A" [ % -8.1 0 1.165 1.0 0 [ 0.000 0.000 0.000 0.000 0.009 0.244 0.892 ] [ 0.000 0.194 0.649 0.649 0.477 0.000 0.387 ] [ 0.000 0.299 0.999 0.999 0.892 0.000 0.362 ] [ 0.000 0.029 0.099 0.099 0.029 0.052 0.837 ] [ 0.000 0.164 0.549 0.549 0.419 0.007 0.317 ] [ 0.000 0.299 0.999 0.999 0.999 0.177 0.054 ] [ 0.000 0.179 0.599 0.599 0.479 0.009 0.232 ] [ 0.000 0.000 0.000 0.000 0.037 0.262 0.867 ] ] ff exch 66 exch put % upper case "B" [ % -5.5 0 1.146 1.0 0 [ 0.984 0.412 0.012 0.000 0.000 0.147 0.799 ] [ 0.492 0.000 0.327 0.762 0.637 0.064 0.099 ] [ 0.077 0.102 0.977 0.999 0.999 0.659 0.399 ] [ 0.000 0.319 0.999 0.999 0.999 0.999 0.999 ] [ 0.000 0.319 0.999 0.999 0.999 0.999 0.999 ] [ 0.077 0.097 0.974 0.999 0.999 0.564 0.249 ] [ 0.484 0.000 0.322 0.729 0.579 0.034 0.189 ] [ 0.982 0.417 0.017 0.000 0.000 0.212 0.864 ] ] ff exch 67 exch put % upper case "C" [ % -8.2 0 1.166 1.0 0 [ 0.000 0.000 0.000 0.000 0.047 0.394 0.962 ] [ 0.000 0.194 0.649 0.637 0.334 0.000 0.392 ] [ 0.000 0.299 0.999 0.999 0.992 0.139 0.029 ] [ 0.000 0.299 0.999 0.999 0.999 0.334 0.000 ] [ 0.000 0.299 0.999 0.999 0.999 0.314 0.000 ] [ 0.000 0.299 0.999 0.999 0.964 0.084 0.092 ] [ 0.000 0.179 0.599 0.592 0.244 0.000 0.537 ] [ 0.000 0.000 0.000 0.000 0.097 0.509 0.992 ] ] ff exch 68 exch put % upper case "D" [ % -7.9 0 1.111 1.0 0 [ 0.000 0.000 0.000 0.000 0.000 0.099 ] [ 0.000 0.209 0.599 0.599 0.599 0.639 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.034 0.099 0.099 0.099 0.504 ] [ 0.000 0.174 0.499 0.499 0.499 0.724 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.209 0.599 0.599 0.599 0.599 ] [ 0.000 0.000 0.000 0.000 0.000 0.000 ] ] ff exch 69 exch put % upper case "E" [ % -7.9 0 1.161 1.0 0 [ 0.000 0.000 0.000 0.000 0.000 0.000 ] [ 0.000 0.119 0.599 0.599 0.599 0.599 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.039 0.199 0.199 0.199 0.599 ] [ 0.000 0.079 0.399 0.399 0.399 0.699 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] [ 0.000 0.199 0.999 0.999 0.999 0.999 ] ] ff exch 70 exch put % upper case "F" [ % -4.1 0 1.052 1.0 0 [ 0.997 0.459 0.014 0.000 0.000 0.192 0.867 ] [ 0.594 0.000 0.369 0.814 0.667 0.054 0.237 ] [ 0.187 0.132 0.987 0.999 0.999 0.722 0.552 ] [ 0.012 0.364 0.999 0.964 0.649 0.649 0.649 ] [ 0.009 0.372 0.999 0.899 0.000 0.000 0.000 ] [ 0.164 0.149 0.992 0.994 0.949 0.477 0.000 ] [ 0.572 0.000 0.359 0.762 0.617 0.047 0.000 ] [ 0.992 0.447 0.014 0.000 0.029 0.544 0.000 ] ] ff exch 71 exch put % upper case "G" [ % -7.1 0 1.049 1.0 0 [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.000 0.000 0.000 0.000 0.000 ] [ 0.000 0.269 0.599 0.599 0.299 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] [ 0.000 0.449 0.999 0.999 0.499 0.000 ] ] ff exch 72 exch put % upper case "H" [ % -4.0 0 1.049 1.0 0 [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] [ 0.199 0.199 ] ] ff exch 73 exch put % upper case "I" [ % -2.0 0 1.053 1.0 0 [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.999 0.999 0.999 0.249 0.149 ] [ 0.949 0.977 0.999 0.249 0.149 ] [ 0.000 0.542 0.999 0.249 0.149 ] [ 0.064 0.287 0.809 0.119 0.227 ] [ 0.549 0.009 0.000 0.032 0.702 ] ] ff exch 74 exch put % upper case "J" [ % -7.0 0 1.068 1.0 0 [ 0.149 0.249 0.999 0.974 0.269 0.014 0.672 ] [ 0.149 0.249 0.992 0.349 0.007 0.642 0.999 ] [ 0.149 0.249 0.437 0.002 0.609 0.999 0.999 ] [ 0.149 0.029 0.000 0.134 0.974 0.999 0.999 ] [ 0.149 0.000 0.219 0.000 0.464 0.999 0.999 ] [ 0.149 0.204 0.989 0.229 0.007 0.749 0.999 ] [ 0.149 0.249 0.999 0.859 0.039 0.117 0.937 ] [ 0.149 0.249 0.999 0.999 0.579 0.000 0.349 ] ] ff exch 75 exch put % upper case "K" [ % -6.1 0 1.142 1.0 0 [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.099 0.999 0.999 0.999 0.999 ] [ 0.199 0.054 0.549 0.549 0.549 0.549 ] [ 0.199 0.000 0.000 0.000 0.000 0.000 ] ] ff exch 76 exch put % upper case "L" [ % -8.1 0 1.281 1.0 0 widened [ 0.000 0.000 0.047 0.979 0.999 0.989 0.064 0.000 0.000 ] [ 0.000 0.087 0.000 0.759 0.999 0.789 0.000 0.087 0.000 ] [ 0.000 0.199 0.137 0.492 0.999 0.529 0.149 0.199 0.000 ] [ 0.000 0.199 0.392 0.229 0.999 0.269 0.407 0.199 0.000 ] [ 0.000 0.199 0.649 0.017 0.919 0.037 0.662 0.199 0.000 ] [ 0.000 0.199 0.899 0.000 0.442 0.004 0.919 0.199 0.000 ] [ 0.000 0.199 0.999 0.149 0.029 0.179 0.999 0.199 0.000 ] [ 0.000 0.199 0.999 0.399 0.000 0.437 0.999 0.199 0.000 ] ] ff exch 77 exch put % upper case "M" [ % -9.1 0 1.224 1.0 0 [ 0.000 0.019 0.829 0.999 0.999 0.349 0.000 ] [ 0.000 0.000 0.227 0.992 0.999 0.349 0.000 ] [ 0.000 0.172 0.004 0.592 0.999 0.349 0.000 ] [ 0.000 0.399 0.389 0.059 0.902 0.349 0.000 ] [ 0.000 0.399 0.929 0.089 0.334 0.349 0.000 ] [ 0.000 0.399 0.999 0.652 0.000 0.107 0.000 ] [ 0.000 0.399 0.999 0.999 0.284 0.000 0.000 ] [ 0.000 0.399 0.999 0.999 0.872 0.042 0.000 ] ] ff exch 78 exch put % upper case "N" [ % -4.7 0 1.036 1.0 0 [ 0.974 0.372 0.004 0.000 0.004 0.342 0.962 ] [ 0.464 0.000 0.484 0.792 0.507 0.002 0.437 ] [ 0.082 0.267 0.999 0.999 0.999 0.299 0.057 ] [ 0.000 0.487 0.999 0.999 0.999 0.527 0.000 ] [ 0.000 0.484 0.999 0.999 0.999 0.522 0.000 ] [ 0.089 0.252 0.999 0.999 0.999 0.289 0.062 ] [ 0.484 0.000 0.447 0.774 0.474 0.000 0.447 ] [ 0.977 0.397 0.012 0.000 0.009 0.374 0.974 ] ] ff exch 79 exch put % upper case "O" [ % -7.5 0 1.091 1.0 0 [ 0.000 0.000 0.000 0.000 0.117 0.734 ] [ 0.000 0.227 0.649 0.587 0.094 0.109 ] [ 0.000 0.349 0.999 0.999 0.392 0.000 ] [ 0.000 0.244 0.699 0.662 0.114 0.117 ] [ 0.000 0.000 0.000 0.000 0.077 0.724 ] [ 0.000 0.314 0.899 0.899 0.987 0.999 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] [ 0.000 0.349 0.999 0.999 0.999 0.999 ] ] ff exch 80 exch put % upper case "P" [ % -6.5 0 1.051 1.0 1 tail needs darkened manually [ 0.919 0.272 0.000 0.000 0.012 0.407 0.984 ] [ 0.299 0.019 0.572 0.789 0.434 0.000 0.512 ] [ 0.004 0.412 0.999 0.999 0.999 0.202 0.117 ] [ 0.000 0.637 0.999 0.999 0.999 0.429 0.000 ] [ 0.000 0.634 0.999 0.999 0.994 0.427 0.000 ] [ 0.004 0.399 0.999 0.779 0.199 0.169 0.129 ] [ 0.317 0.014 0.537 0.717 0.047 0.000 0.507 ] [ 0.929 0.297 0.002 0.000 0.022 0.129 0.189 ] [ 0.999 0.999 0.899 0.802 0.939 0.547 0.329 ] ] ff exch 81 exch put % upper case "Q" [ % -7.5 0 1.101 1.0 0 [ 0.000 0.000 0.000 0.000 0.019 0.344 0.969 ] [ 0.000 0.227 0.649 0.649 0.359 0.000 0.582 ] [ 0.000 0.349 0.999 0.999 0.864 0.000 0.472 ] [ 0.000 0.174 0.499 0.499 0.252 0.042 0.814 ] [ 0.000 0.052 0.149 0.137 0.012 0.197 0.952 ] [ 0.000 0.349 0.999 0.999 0.559 0.000 0.709 ] [ 0.000 0.349 0.999 0.999 0.659 0.000 0.649 ] [ 0.000 0.349 0.999 0.999 0.747 0.000 0.527 ] ] ff exch 82 exch put % upper case "R" [ % -5.5 0 1.101 1.0 0 [ 0.652 0.049 0.000 0.000 0.072 0.714 ] [ 0.064 0.237 0.807 0.764 0.152 0.089 ] [ 0.000 0.339 0.959 0.999 0.814 0.649 ] [ 0.304 0.000 0.024 0.237 0.492 0.874 ] [ 0.984 0.677 0.399 0.162 0.000 0.054 ] [ 0.549 0.804 0.999 0.999 0.612 0.000 ] [ 0.042 0.177 0.739 0.782 0.362 0.000 ] [ 0.682 0.079 0.000 0.000 0.032 0.522 ] ] ff exch 83 exch put % upper case "S" [ % -1.5 0 1.051 1.0 0 [ 0.000 0.000 0.000 0.000 0.000 0.000 ] [ 0.599 0.599 0.119 0.119 0.599 0.599 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] [ 0.999 0.999 0.199 0.199 0.999 0.999 ] ] ff exch 84 exch put % upper case "T" [ % -7.3 0 1.045 1.0 0 [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.449 0.999 0.999 0.449 0.000 ] [ 0.000 0.404 0.999 0.999 0.419 0.000 ] [ 0.149 0.074 0.697 0.694 0.089 0.159 ] [ 0.759 0.099 0.000 0.000 0.094 0.759 ] ] ff exch 85 exch put % upper case "U" [ % 0.7 0 1.04 1.0 0 [ 0.354 0.024 0.954 0.999 0.972 0.037 0.377 ] [ 0.669 0.000 0.714 0.999 0.739 0.000 0.694 ] [ 0.954 0.034 0.444 0.999 0.469 0.044 0.969 ] [ 0.999 0.304 0.182 0.999 0.202 0.334 0.999 ] [ 0.999 0.619 0.004 0.837 0.007 0.652 0.999 ] [ 0.999 0.924 0.012 0.314 0.027 0.944 0.999 ] [ 0.999 0.999 0.252 0.000 0.292 0.999 0.999 ] [ 0.999 0.999 0.567 0.000 0.607 0.999 0.999 ] ] ff exch 86 exch put % upper case "V" [ % -0.5 0 0.97 1.0 0 widened [ 0.157 0.294 0.999 0.614 0.000 0.637 0.999 0.364 0.162 ] [ 0.399 0.094 0.999 0.434 0.012 0.449 0.999 0.157 0.412 ] [ 0.649 0.000 0.894 0.267 0.247 0.267 0.947 0.007 0.662 ] [ 0.899 0.000 0.694 0.094 0.569 0.079 0.754 0.000 0.902 ] [ 0.999 0.149 0.437 0.012 0.902 0.000 0.467 0.149 0.999 ] [ 0.999 0.394 0.119 0.159 0.999 0.119 0.127 0.399 0.999 ] [ 0.999 0.637 0.000 0.339 0.999 0.299 0.000 0.644 0.999 ] [ 0.999 0.887 0.000 0.522 0.999 0.479 0.000 0.887 0.999 ] ] ff exch 87 exch put % upper case "W" [ % -0.2 0 1.059 1.0 0 [ 0.504 0.000 0.617 0.999 0.582 0.000 0.604 ] [ 0.967 0.129 0.119 0.919 0.089 0.214 0.992 ] [ 0.999 0.694 0.000 0.169 0.009 0.804 0.999 ] [ 0.999 0.999 0.287 0.000 0.404 0.999 0.999 ] [ 0.999 0.982 0.179 0.000 0.219 0.994 0.999 ] [ 0.999 0.554 0.000 0.299 0.000 0.614 0.999 ] [ 0.899 0.054 0.232 0.979 0.142 0.082 0.937 ] [ 0.349 0.004 0.792 0.999 0.654 0.000 0.424 ] ] ff exch 88 exch put % upper case "X" [ % -0.2 0 1.208 1.0 0 widened [ 0.404 0.000 0.482 0.999 0.999 0.524 0.000 0.447 ] [ 0.927 0.077 0.049 0.909 0.949 0.074 0.087 0.942 ] [ 0.999 0.612 0.000 0.442 0.524 0.000 0.612 0.999 ] [ 0.999 0.994 0.219 0.029 0.069 0.202 0.992 0.999 ] [ 0.999 0.999 0.809 0.012 0.004 0.774 0.999 0.999 ] [ 0.999 0.999 0.999 0.099 0.049 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.099 0.049 0.999 0.999 0.999 ] [ 0.999 0.999 0.999 0.099 0.049 0.999 0.999 0.999 ] ] ff exch 89 exch put % upper case "Y" [ % -0.8 0.0 1.03 1.0 0 [ 0.199 0.000 0.000 0.000 0.000 0.099 ] [ 0.679 0.599 0.599 0.434 0.000 0.277 ] [ 0.999 0.999 0.959 0.167 0.084 0.899 ] [ 0.999 0.999 0.387 0.004 0.714 0.999 ] [ 0.999 0.642 0.000 0.459 0.999 0.999 ] [ 0.849 0.049 0.219 0.979 0.999 0.999 ] [ 0.222 0.000 0.472 0.599 0.599 0.619 ] [ 0.099 0.000 0.000 0.000 0.000 0.049 ] ] ff exch 90 exch put % upper case "Z" ff } def %%%%%%%%%%%%%%%%% PROGRAM SUPPORT MODULES %%%%%%%%%%%%%%%%%%%%%%%%%% % [yourarray] makestring converts an array to a string... /makestring {dup length string dup % new string of right size /NullEncode filter % make a file out of string 3 -1 roll {1 index exch write} forall pop } def % mergestr merges the two top stack strings into one top stack string /mergestr {2 copy length exch length add string dup dup 4 3 roll 4 index length exch putinterval 3 1 roll exch 0 exch putinterval} def % /redden etc takes a character row (or other) string and replaces it with the % red color or background... /redden { /yy curcolor 0 get store /nn bkgcolor 0 get store mark exch % for postconverted array mark exch % for preconverted array {} forall ] % convert string to array {zz eq {yy}{nn} ifelse} forall % substitute colors ] makestring % return new string } def /greenen { /yy curcolor 1 get store /nn bkgcolor 1 get store mark exch % for postconverted array mark exch % for preconverted array {} forall ] % convert string to array {zz eq {yy}{nn} ifelse} forall % substitute colors ] makestring % return new string } def /blueen { /yy curcolor 2 get store /nn bkgcolor 2 get store mark exch % for postconverted array mark exch % for preconverted array {} forall ] % convert string to array {zz eq {yy}{nn} ifelse} forall % substitute colors ] makestring % return new string } def % /makeclonebitmap sets up an array of bitmap row strings. The LOWEST number % is at the BOTTOM of the .BMP bitmap. This can be sped up by reading % the generated array as a file. Note that BLUE goes first in the BMP data quads. /makeclonebitmap { /redmap mark vbits {mark bkgcolor 0 get hbits 1 sub {dup} repeat ] makestring } repeat ] def /greenmap mark vbits {mark bkgcolor 1 get hbits 1 sub {dup} repeat ] makestring} repeat ] def /bluemap mark vbits {mark bkgcolor 2 get hbits 1 sub {dup} repeat ] makestring } repeat ] def } def % x y /placechar adds a character whose lower left corner = x, y. /docr {/ypos ypos yincr sub store /xpos xpos1 store /advok false store} def /checkoverflow {dup 0 get curfont exch get % get glyph array 0 get length % width of char top xpos add 2 add hbits ge % true if overflow dup {autochar {docr pop exch pop exch pop xpos exch ypos exch % mess with stack false} if}if % ignore or autochar? } def /placechar { /realchar true store dup exch 0 get % test for positive kerning kern+char eq {/xpos xpos 1 add store /advok false store /realchar false store} if dup exch 0 get kern-char eq {/xpos % test for negative kerning xpos 1 sub store /advok false store /realchar false store} if realchar { % if not a kern command dup 0 get dup 10 eq exch 13 eq or % test for lfcr { pop pop pop docr }{placechar1 } ifelse } {pop pop pop} ifelse } def /placechar1 {checkoverflow not { % only if no overflow 0 get curfont exch get % get font glyph /curglyph exch store /ypos exch store % save positions /xpos exch store /advok true store 0 1 curglyph length 1 sub % for each dot row {/ii exch store % get the row curglyph ii get /mm ii neg store % positive ii = down on bitmap patterntobitmap /lastcharwidth curglyph 0 get length store % remember width } for } {/lastcharwidth 0 store pop pop pop} % if no char to print ifelse } def % /adjustbaseline shifts the character upwards by the height of the standard "8" /adjustbaseline { /ypos1 ypos1 curfont 48 get length add store} def % /setstring places a string of characters onto the bitmap... /setstring {/str exch store /ypos1 exch store /xpos1 exch store /advok true store adjustbaseline % correct vertical position /xpos xpos1 store /ypos ypos1 store 0 1 str length 1 sub {/kk exch store xpos ypos str kk 1 getinterval placechar % put character on screen advok { /xpos xpos lastcharwidth add % adjust horizontal cursor globalkern add store } if } for } def %%%%%%%%%%%%% BITFILL ROUTINES %%%%%%%%%%%%%%%%%%%% % /bitfill accepts xpos ypos width height and generates a color box. Unity (or low) % width boxes can be used for horizontal or vertical lines... /bitfill { /bhigh exch store /bwide exch store /ypos exch store /xpos exch store hbits xpos sub % h room on line bwide le {/bwide hbits xpos sub 1 sub store} if % limit to h edge vbits ypos sub % h room on line bhigh le {/bhigh vbits ypos sub 1 sub store} if % limit to h edge 0 1 bhigh 1 sub { /mm exch store mark (x) 0 get bwide 1 sub {dup} repeat ] makestring patterntobitmap % } for } def % /quartcirc0 generates the first quadrant of a unit pixel circle, given s, y, rad /quartcirc0 { /crad exch store /cypos exch store /cxpos exch store /oversamp 20 store /degincr 360 crad oversamp mul div store % set degrees increment 0 degincr 90 {/curcang exch store curcang cos crad mul round cxpos add cvi curcang sin crad mul round cypos add cvi 1 1 bitfill } for } def %%%%%%%%%%%% TRANSPARENCY AND ALPHA MODULES %%%%%%%%%%%%% % /patterntobitmap converts the (x) or (x.xxx.xx.x) string on stack into a desired % pattern in the xpos position of the ypos + mm selected bitmap row string. % There are currently three modes: normal, % transparent, or alpha. Uncomment ONE of the following... /patterntobitmap {ptbmnormal} def % normal opaque mode (fastest) % /patterntobitmap {ptbmtrans} def % transparent (x only writes) % /patterntobitmap {ptalpha} def % alpha (x only writes in alpha percent) /alpha 0.5 store % blend value 0=invisible 1=opaque % /pbtmnormal is opaque... /ptbmnormal { dup dup % copy for green and blue % generates character row redden redmap ypos mm add get % place red pixels exch xpos exch putinterval greenen greenmap ypos mm add get % place green pixels exch xpos exch putinterval blueen bluemap ypos mm add get % place blue pixels exch xpos exch putinterval } def % /ptbmtrans only writes the (x) portions of a (x.xx..x) data string... % it is significantly slower than normal, but possibly can be later optimized... /ptbmtrans { /curstr exch store 0 1 curstr length 1 sub {/nn exch store curstr nn get zz eq { redmap ypos mm add get % get red map line xpos nn add % get position curcolor 0 get put % get red value and place greenmap ypos mm add get % get green map line xpos nn add % get position curcolor 1 get put % get green value and place bluemap ypos mm add get % get blue map line xpos nn add % get position curcolor 2 get put % get blue value and place }if } for } def % /ptbmalpha only writes the (x) portions of a (x.xx..x) data string as an alpha % fraction of its color difference for transparency effects. % it is significantly slower than normal, but possibly can be later optimized... /ptbmalpha { /curstr exch store 0 1 curstr length 1 sub {/nn exch store curstr nn get zz eq { redmap ypos mm add get % get red map line xpos nn add % get position 2 copy get % get current value dup curcolor 0 get % get new value sub alpha mul floor cvi sub % calculate fractional change put % and place greenmap ypos mm add get % green map line xpos nn add % get position 2 copy get % get current value dup curcolor 1 get % get new value sub alpha mul floor cvi sub % calculate fractional change put % and place bluemap ypos mm add get % get blue map line xpos nn add % get position 2 copy get % get current value dup curcolor 2 get sub alpha mul floor cvi sub % calculate fractional change put % and place }if } for } def %%%%%%%%%%%%%%%%%%%% GRAYSCALE FONT ANTIALIASING %%%%%%%%%%%%%%%%% % Grayscaling is a form of anti-aliasing that is more legible than low pass filtering. % These routines are slow and take special font development, but they can significantly % improve the appearance of very small fonts. Font data consists of a list of % proportional gray alpha values for each equivalent font pixel... % zero = black %% /setgraychar accepts xpos ypos (x) and places the character into the bitmap string. /setgraychar { /realchar true store dup exch 0 get % test for positive kerning kern+char eq {/xpos xpos 1 add store /advok false store /realchar false store} if dup exch 0 get kern-char eq {/xpos % test for negative kerning xpos 1 sub store /advok false store /realchar false store} if realchar { % if not a kern command dup 0 get dup 10 eq exch 13 eq or % test for lfcr { pop pop pop docr }{setgraychar1 } ifelse } {pop pop pop} ifelse } def /grayonly true store /setgraychar1 { checkoverflow not { 0 get curfont exch get % get gray font glyph /curgrayglyph exch store /gypos exch store /gxpos exch store 0 1 curgrayglyph length 1 sub { /ss exch store curgrayglyph ss get /curgraygline exch store 0 1 curgraygline length 1 sub {/tt exch store curgraygline tt get % get gray character value grayonly { 256 mul floor cvi % convert to integer gray dup dup % copy gray for blue and green redmap gypos ss sub get % get current red line exch gxpos tt add exch put % and place bluemap gypos ss sub get % get current green line exch gxpos tt add exch put % and place greenmap gypos ss sub get % get current blue line exch gxpos tt add exch put % and place }{setgraywithalpha} ifelse } for % glyph line } for % entire glyph /advok true store /lastgraycharwidth curgrayglyph 0 get length store % remember width } {/lastgraycharwidth 0 store pop pop pop} % if no char to print ifelse } def % /setgraywithalpha does antialiased characters in color with optional alpha, % but is slower than grayonly. Activates on /grayonly false. /setgraywithalpha { 1 exch sub %%% why??? globalalpha mul /alpha exch store % gray value becomes alpha % (alpha is ) print alpha == redmap gypos ss sub get % get red map line gxpos tt add % get position 2 copy get % get current value dup curcolor 0 get % get new value sub alpha mul floor cvi sub % calculate fractional change put % and place greenmap gypos ss sub get % green map line gxpos tt add % get position 2 copy get % get current value dup curcolor 1 get % get new value sub alpha mul floor cvi sub % calculate fractional change put % and place bluemap gypos ss sub get % get blue map line gxpos tt add % get position 2 copy get % get current value dup curcolor 2 get % get new value sub alpha mul floor cvi sub % calculate fractional change put % and place } def % /setgraystring places a string of true antialiased characters onto the bitmap... /setgraystring {/str exch store /ypos1 exch store /xpos1 exch store /advok true store /globalalpha alpha store adjustbaseline % correct vertical position /xpos xpos1 store /ypos ypos1 store 0 1 str length 1 sub {/kk exch store xpos ypos str kk 1 getinterval setgraychar % put character on screen advok { /xpos xpos lastgraycharwidth add % adjust horizontal cursor globalkern add store } if } for } def %%%%%%%%%%%%% FILE WRITING UTILITIES %%%%%%%%%%%%%% % /ws is a housekeeping utility... /zzzz 0 def /ws {writefile exch %%%%dup zzzz 100 le { 0 get == /zzzz zzzz 1 add store }{pop} ifelse writestring} def % file writing utility /writenull {0 strx exch 0 exch put strx ws } def /strx (X) def % /writebmpbitmap creates the bitmap file on disk /writebmpbitmap { /targetbmpfilename targetfilenameprefix targetfilename mergestr def targetbmpfilename (w+) file /writefile exch def % make a .BMP file to write writeheader % write defined .BMP header writebitmap % write BGRX bitmap writefile closefile % close & complete file } def % /writeheader creates the header in standard .BMP format The format can be found at % http://www.fortunecity.com/skyscraper/windows/364/bmpffrmt.html and elsewhere on the web. /writeheader { % (writing bitmap header) == (BM) ws % ASCI BM identifier /filesize hbits vbits mul 3 mul 54 add cvi def % calculate file length filesize 256 mod 256 mod dup strx exch 0 exch put strx ws % LSB filesize exch sub 256 mod strx exch 0 exch put strx ws % next lsb filesize 65536 idiv strx exch 0 exch put strx ws % next ldb writenull % msb writenull writenull % reserved 2 bytes writenull writenull % reserved 2 bytes 54 strx exch 0 exch put strx ws % offset lsb writenull writenull writenull % high offset bytes 40 strx exch 0 exch put strx ws % begin infoheader (size) writenull writenull writenull hbits 256 mod strx exch 0 exch put strx ws % horizontal bytes lsb hbits 256 idiv strx exch 0 exch put strx ws % horizontal bytes lsb writenull writenull % high offset bytes vbits 256 mod strx exch 0 exch put strx ws % vertical bytes lsb vbits 256 idiv strx exch 0 exch put strx ws % vertical bytes lsb writenull writenull % high offset bytes 1 strx exch 0 exch put strx ws % planes = 1 writenull % and msb 24 strx exch 0 exch put strx ws % bits per pixel = 24 writenull % and msb writenull writenull writenull writenull % no compression writenull writenull writenull writenull % 0 size if no compression 0 strx exch 0 exch put strx ws writenull writenull writenull % writenull % 0 h display pixels per meter 0 strx exch 0 exch put strx ws writenull writenull writenull % writenull % 0 v display pixels per meter writenull writenull writenull writenull % Use BiBitCount for color count writenull writenull writenull writenull % All colors are important } def % /writebitmap writes the bitmap portion to the .BMP file /writebitmap { 0 1 vbits 1 sub {/vv exch store % working backwards from bottom /curred redmap vv get store % get current red row array /curgreen greenmap vv get store % get current green row array /curblue bluemap vv get store % get current blue row array 0 1 hbits 1 sub {/hh exch store % save pixel position curblue hh 1 getinterval ws % grab three pixels BLUE first curgreen hh 1 getinterval ws % grab three pixels then GREEN curred hh 1 getinterval ws % grab three pixels then RED } for } for } def %%%%%%%%%%%%% DEMO -- REMOVE OR ALTER BEFORE REUSE %%%%%%%%%%%%%%%%%%% makeclonebitmap % this sets the main demo displays to regular or special antialiased fonts.. /useantialiasedfonts true store /patterntobitmap {ptbmnormal} def /grayonly false store /yincr 13 store /alpha 1.0 store /curcolor color4 store 25 201 200 51 bitfill /curcolor color1 store 25 201 2 51 bitfill % left v line 25 201 200 2 bitfill % bot hline 25 198 add 201 2 51 bitfill % right vline 25 201 49 add 200 2 bitfill /curfont useantialiasedfonts {f710bg}{ font710} ifelse store /curcolor useantialiasedfonts {[0 0 0]}{color1}ifelse store /globalkern 2 store /bkgcolor color4 def 33 234 % note use of `~ kerning (THIS IS A DEMO OF ADOBE ~~~~ACROBA`T PDF `DIRECTL```Y ~~~~GENERA`TING A ``.BMP FILE.) useantialiasedfonts {setgraystring}{setstring} ifelse /bkgcolor [255 255 255 ] def /curfont useantialiasedfonts {f708bg}{font708} ifelse store /curcolor useantialiasedfonts {[0 105 105]}{color1}ifelse store /globalkern 1 store /yincr 12 store 9 198 ( USES INCLUDE RELETTERING OF IMAGES OR WATERMARKING, OR V`ARIABLE IMAGE OVERLA`YS.) useantialiasedfonts {setgraystring}{setstring} ifelse /curfont font708 store /curcolor color2 store 25 148 (COLOR CHANGE) setstring /curcolor color3 store /globalkern 1 store /curfont font305 store 128 152 (FONT CHANGE) setstring /curcolor color1 store /globalkern 1 store /curfont font203 store /yincr 6 store 5 138 (FONT203 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font303 store /yincr 6 store 5 129 (FONT303 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font305 store /yincr 6 store 5 122 (FONT305 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font306 store /yincr 6 store 5 113 (FONT306 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font307 store /yincr 6 store 5 103 (FONT307 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font405 store /yincr 6 store 5 90 (FONT405 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font406 store /yincr 6 store 5 81 (FONT406 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font407 store /yincr 70 store 5 71 (FONT407 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font505 store /yincr 10 store /globalkern 1 store 5 59 (FONT505 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font506 store /yincr 10 store /globalkern 1 store 5 50 (FONT506 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font507 store /yincr 12 store /globalkern 1 store 5 40 (FONT507 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font508 store /yincr 10 store /globalkern 1 store 5 19(FONT508 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curfont font509 store /yincr 10 store /globalkern 1 store 5 7 (FONT509 .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setstring /curcolor color4 store 195 105 50 quartcirc0 195 105 49 quartcirc0 195 105 48 quartcirc0 195 105 47 quartcirc0 195 105 46 quartcirc0 /curcolor color3 store 195 105 45 quartcirc0 195 105 44 quartcirc0 195 105 43 quartcirc0 195 105 42 quartcirc0 195 105 41 quartcirc0 /curcolor color2 store 195 105 40 quartcirc0 195 105 39 quartcirc0 195 105 38 quartcirc0 195 105 37 quartcirc0 195 105 36 quartcirc0 /curcolor color1 store 195 105 35 quartcirc0 195 105 34 quartcirc0 195 105 33 quartcirc0 195 105 32 quartcirc0 195 105 31 quartcirc0 /curcolor color2 store 195 105 30 quartcirc0 195 105 29 quartcirc0 195 105 28 quartcirc0 195 105 27 quartcirc0 195 105 26 quartcirc0 /curcolor color3 store 195 105 25 quartcirc0 195 105 24 quartcirc0 195 105 23 quartcirc0 195 105 22 quartcirc0 195 105 21 quartcirc0 /curcolor color4 store 195 105 20 quartcirc0 195 105 19 quartcirc0 195 105 18 quartcirc0 195 105 17 quartcirc0 195 105 16 quartcirc0 /patterntobitmap {ptbmtrans} def /curfont font708 store /curcolor color1 store /globalkern 1 store 150 141 (TRANSPARENCY) setstring /patterntobitmap {ptbmnormal} def /curcolor color4 store 257 152 84 83 bitfill /curcolor color2 store 257 28 add 152 84 28 sub 83 bitfill /curcolor color5 store 259 56 add 152 84 56 sub 83 bitfill /curfont font708 store /curcolor color3 store /patterntobitmap {ptbmalpha} def /alpha 1.0 store 263 156 (ALPHA = 1.0) setstring /alpha 0.8 store 263 169 (ALPHA = 0.8) setstring /alpha 0.6 store 263 182 (ALPHA = 0.6) setstring /alpha 0.4 store 263 195 (ALPHA = 0.4) setstring /alpha 0.2 store 263 208 (ALPHA = 0.2) setstring /alpha 0.1 store 263 221 (ALPHA = 0.1) setstring /patterntobitmap {ptbmtrans} def % needed for overlap on LY /curcolor color1 store /curfont font708 store /yincr 11 store /globalkern 1 store 277 130 (A`Y`A`7BL```Y\nKERNING) setstring /globalkern 2 store 277 3 sub 108 (A`Y`A`7BL``Y) setstring /grayonly true store /globalkern 1 store /yincr 10 store /curfont font507BG store /yincr 10 store /globalkern 1 store 5 30 (FONT507BG .1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ) setgraystring 273 91 (TRUE INTEGRAL\n~~~~~~~GRA`YSCALE\n~~ANTI-ALIASING) setgraystring /curcolor [0 250 230] def 272 8 78 54 bitfill / /alpha 0.55 store /grayonly false store /curcolor [0 0 256] def 280 45 (~~~~GRA`YSCALE\nANTI-ALIASING\n~~~~FULL COLOR\n~~~~~~AND ALPHA) setgraystring writebmpbitmap %% NOTE: "one click" of sharpening from Imageviewer32 is recommended. %%%%%%%%%%%%%%%%%%%%%%