%!PS % POSTSCRIPT/ACROBAT TO .BMP BITMAP GENERATOR AND "BITMAP TYPEWRITER" V2.2 % ================================================================= % Copyright c 2001, 2004 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 /alphax 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 alphax 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 alphax 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 alphax 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 %%%%%%%%%%%%%%%%%%% /useantialiasedfonts true store /grayonly false store /alpha 1.0 store false { 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 } if %%%%%%%%% WORDS PORTION STARTS HERE -- PREVIOUS IS BITS42B.PSL %%%%%%%%% %ZZZZZ /useantialiasedfonts true store /grayonly false store /alpha 1.0 store /globalkern 2 store /teklett [35 35 55] store % tek bluish black /tekgray [178 177 177] store % tek panel gray /tekbut [176 170 161] store % tek cream button /tekaqua [17 160 169] store % tek aqua /tekred [242 40 35] store % tek redlet /kikbeige [176 173 155 ] store % kikusi colors /kikwhite [183 186 175 ] store /kikburp [ 147 140 143 ] store /kikdark [47 43 43 ] store /kikdarker [25 22 22] store /kikwhiter [200 200 190] store /kikscreen [87 112 100] store /kiknotsodark [77 67 60 ] store /targetfilename (lett01.bmp) def % short name of file to be generated /targetfilenameprefix % full filename prefix to be appended (C:\\windows\\desktop\\image_tools\\reletter\\)def /fontprefix (C:\\windows\\desktop\\image_tools\\reletter\\gfonts) store /normtekfont (f810bg) store /bigtekfont (f1011bg) store fontprefix (\\f406bg\\f406bg.txt) mergestr run fontprefix (\\f405bg\\f405bg.txt) mergestr run fontprefix (\\f506bg\\f506bg.txt) mergestr run fontprefix (\\f810bg\\f810bg.txt) mergestr run fontprefix (\\f812bg\\f812bg.txt) mergestr run fontprefix (\\f910bg\\f910bg.txt) mergestr run fontprefix (\\f1011bg\\f1011bg.txt) mergestr run fontprefix (\\f610bg\\f610bg.txt) mergestr run fontprefix (\\f608bg\\f608bg.txt) mergestr run fontprefix (\\f607bg\\f607bg.txt) mergestr run fontprefix (\\f709bg\\f709bg.txt) mergestr run % fontprefix (\\f708bg\\f708bg.txt) mergestr run fontprefix (\\f911bg\\f911bg.txt) mergestr run fontprefix (\\f1007bg\\f1007bg.txt) mergestr run fontprefix (\\f1410bg\\f1410bg.txt) mergestr run /bkgcolor {kikwhite } store % start with panel background makeclonebitmap /curcolor kikburp store 0 0 350 150 bitfill /curcolor kikdark store 0 0 100 20 bitfill /curcolor kikscreen store 0 20 100 20 bitfill /curcolor kikdark store /curfont f910bg store 3 200 ( K`IK`USUI) setgraystring /curfont f1410bg store 100 200 (7101A) setgraystring /curfont f406bg store /curcolor kikdarker store /globalkern 1 store 3 230 (100 MHz DIGITAL OSCILLOSCOPE ) setgraystring /curcolor kikdark store /curfont f405bg store 3 150 (POSITION COUPLING LEVEL MODE SOURCE SRCE CPLG VERT HORIZ B) setgraystring 3 160 (PULL B MAG) setgraystring /curfont f607bg store /curcolor kiknotsodark store 3 170 (VOLTS DIV A B TIME DIV) setgraystring /curfont f405bg store /curcolor kikwhiter store 3 3 (VAR ) setgraystring 3 23 (AC DC GND 10X -5 .) setgraystring /curcolor kikdark store /curfont f1007bg store /globalkern 2 store 3 120 (CH1 CH2 CH3 CH4 TRIGGER) setgraystring /curfont f406bg store /globalkern 1 store 3 110 (POWER INTEN FOCUS 0.5V CAL CH1 CH2 CH3 X CH4 ) setgraystring /curfont f405bg store 3 100 (OFF ON BEAM FIND B INT SCAL READ OUT TRACE 1 MegO 20 PF 400V MAX 0.1 V DIV ) setgraystring 3 90 (BW LOCAL MODE RESPONSE TRIG POINT VIEW TIME REF MEMORY REAL PULSE PAUSE SAVE) setgraystring /curfont f506bg store 3 80 (VERT MODE HORIZ STORAGE FUNCTION GPIB READ OUT) setgraystring writebmpbitmap %% NOTE: "one click" of sharpening from Imageviewer32 is recommended. %%%%%%%%%%%%%%%%%%%%%%