%! /TimesSmallCaps << % see ASCIISmallCaps, comp.lang.postscript /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Times-Roman findfont /Times-SC /Times-Roman findfont dup length dict copy dup /FontName /Times-SC put dup /Encoding [65 1 90 {1 string dup 0 4 -1 roll put cvn} for] put % dup /Encoding [/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z] put definefont 0.8 scalefont /Times-end /Times-Roman findfont dup length dict copy dup /FontName /Times-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /TimesItalicSmallCaps << % see ASCIISmallCaps, comp.lang.postscript /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Times-Italic findfont /Times-ItalicSC /Times-Italic findfont dup length dict copy dup /FontName /Times-ItalicSC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /TimesItalic-end /Times-Italic findfont dup length dict copy dup /FontName /TimesItalic-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /TimesBoldSmallCaps << % see ASCIISmallCaps, comp.lang.postscript /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Times-Bold findfont /Times-BoldSC /Times-Bold findfont dup length dict copy dup /FontName /Times-BoldSC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /TimesBold-end /Times-Bold findfont dup length dict copy dup /FontName /TimesBold-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /TimesBoldItalicSmallCaps << % see ASCIISmallCaps, comp.lang.postscript /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Times-BoldItalic findfont /Times-BoldItalicSC /Times-BoldItalic findfont dup length dict copy dup /FontName /Times-BoldItalicSC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /TimesBoldItalic-end /Times-BoldItalic findfont dup length dict copy dup /FontName /TimesBoldItalic-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /HelveticaSmallCaps << % directly from TimesSmallCaps /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Helvetica findfont /Helvetica-SC /Helvetica findfont dup length dict copy dup /FontName /Helvetica-SC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /Helvetica-end /Helvetica findfont dup length dict copy dup /FontName /Helvetica-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /HelveticaItalicSmallCaps << /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Helvetica-Oblique findfont /Helvetica-Italic-SC /Helvetica-Oblique findfont dup length dict copy dup /FontName /Helvetica-Italic-SC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /Helvetica-Italic-end /Helvetica-Oblique findfont dup length dict copy dup /FontName /Helvetica-Italic-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /HelveticaBoldSmallCaps << /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Helvetica-Bold findfont /Helvetica-Bold-SC /Helvetica-Bold findfont dup length dict copy dup /FontName /Helvetica-Bold-SC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /Helvetica-Bold-end /Helvetica-Bold findfont dup length dict copy dup /FontName /Helvetica-Bold-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop /HelveticaBoldItalicSmallCaps << /FontType 0 % composite font, PLRM p286 /FontMatrix [ 1 0 0 1 0 0 ] /FMapType 6 /SubsVector <00 61 1a> /Encoding [ 0 1 2 ] /FDepVector [ /Helvetica-BoldOblique findfont /Helvetica-BoldItalic-SC /Helvetica-BoldOblique findfont dup length dict copy dup /FontName /Helvetica-BoldItalic-SC put dup /Encoding [ 65 1 90 { 1 string dup 0 4 -1 roll put cvn } for ] put definefont 0.8 scalefont /Helvetica-BoldItalic-end /Helvetica-BoldOblique findfont dup length dict copy dup /FontName /Helvetica-BoldItalic-end put dup /Encoding [ /bracketleft /bar /bracketright /tilde /.notdef ] put definefont ] >> definefont pop % From: a bitmap font: % https://github.com/luser-dr00g/xpost/blob/master/data/bitfont.ps % Could study: xterm -font 5x7 with a magnifying glass ... /Bitfont5x7 << /FontType 3 /FontMatrix [.012 0 0 -.012 0 .012] /FontBBox [ 0 0 50 70] % what does this do ? just for stringwidth ? /Encoding 128 array % /BitsPerComponent 1 % PJB: in aid of imagemask p.220 % /Decode [0 1] % PJB: in aid of imagemask p.231 % /_ (\377) /# (\0) /charprocs << % upside-down, and this gets corrected by the above FontMatrix... /.notdef {<50 A8 50 A8 50 A8 50>} % see imagemask PLRM2 p.216 % {} % see imagemask PLRM2 p.216 32 {<00 00 00 00 00 00 00>} % ' ' 33 {<20 20 20 20 00 20 00>} % ! 34 {<50 50 00 00 00 00 00>} % " 35 {<50 50 F8 50 F8 50 50>} % # 36 {<20 70 A0 70 28 F0 20>} % $ 37 {<48 08 30 60 80 90 00>} % % 38 {<20 50 60 90 B0 48 00>} % & 39 {<20 20 00 00 00 00 00>} % ' 42 {<00 50 A8 50 00 00 00>} % * not very convincing ... % 42 {<00 A8 70 F8 70 A8 00>} % * 43 {<00 20 20 F8 20 20 00>} % + 40 {<10 20 60 60 60 20 10>} % ( 41 {<40 20 30 30 30 20 40>} % ) 44 {<00 00 00 00 00 20 40>} % , 45 {<00 00 00 F0 00 00 00>} % - 46 {<00 00 00 00 00 20 00>} % . 47 {<08 18 30 60 C0 80 00>} % / 48 {<70 88 98 A8 C8 70 00>} % 0 49 {<20 60 20 20 20 70 00>} % 1 50 {<60 90 10 20 40 F0 00>} % 2 51 {<60 90 20 10 90 60 00>} % 3 52 {<20 60 A0 F0 20 20 00>} % 4 53 {} % 5 54 {<60 80 E0 90 90 60 00>} % 6 55 {} % 7 56 {<60 90 60 90 90 60 00>} % 8 57 {<60 90 90 70 10 60 00>} % 9 58 {<00 00 00 20 00 20 00>} % : 59 {<00 00 00 20 00 20 40>} % ; 60 {<00 40 20 10 20 40 00>} % < 61 {<00 00 F0 00 F0 00 00>} % = 62 {<00 10 20 40 20 10 00>} % > 63 {<70 88 10 20 00 20 00>} % ? 64 {<70 88 A8 B0 80 70 00>} % @ 65 {<70 88 88 F8 88 88 00>} % A 66 {} % B 67 {<78 80 80 80 80 78 00>} % C 68 {} % D 69 {} % E 70 {} % F 71 {<78 80 80 99 88 70 00>} % G 72 {<88 88 F8 88 88 88 00>} % H 73 {<70 20 20 20 20 70 00>} % I 74 {<78 10 10 10 10 E0 00>} % J 75 {<90 A0 C0 A0 90 88 00>} % K 76 {<80 80 80 80 80 F8 00>} % L 77 {<88 D8 A8 88 88 88 00>} % M 78 {<88 C8 A8 98 88 88 00>} % N 79 {<70 88 88 88 88 70 00>} % O 80 {} % P 81 {<70 88 88 98 B0 68 00>} % Q 82 {} % R 83 {<78 80 70 08 08 F0 00>} % S 84 {} % T 85 {<88 88 88 88 88 70 00>} % U 86 {<88 88 50 50 20 20 00>} % V 87 {<88 88 A8 A8 A8 D8 00>} % W 88 {<88 88 50 20 50 88 00>} % X 89 {<88 88 50 20 20 20 00>} % Y 90 {} % Z 91 {<30 20 20 20 20 20 30>} % [ 92 {<80 C0 60 30 18 08 00>} % \ 93 {<60 20 20 20 20 20 60>} % ] 94 {<20 50 88 00 00 00 00>} % ^ 95 {<00 00 00 00 00 00 F8>} % _ 97 {<00 68 98 88 98 68 00>} % a 98 {<80 F0 98 88 98 F0 00>} % b 99 {<00 78 80 80 80 78 00>} % c 100 {<08 68 98 88 98 68 00>} % d 101 {<00 70 88 F8 80 78 00>} % e 102 {<18 20 20 70 20 20 40>} % f 103 {<00 78 88 88 78 08 F0>} % g 104 {<80 80 F0 88 88 88 00>} % h % 105 {<00 20 00 20 20 20 00>} % i 105 {<20 00 20 20 20 20 00>} % i %106 {<00 10 00 10 10 10 60>} % j 106 {<10 00 10 10 10 10 60>} % j 107 {<40 40 50 60 50 48 00>} % k 108 {<60 20 20 20 20 20 00>} % l 109 {<00 70 A8 A8 88 88 00>} % m 110 {<00 F0 88 88 88 88 00>} % n 111 {<00 70 88 88 88 70 00>} % o 112 {<00 E0 90 90 E0 80 80>} % p 113 {<00 70 90 90 70 10 10>} % q 114 {<00 70 80 80 80 80 00>} % r 115 {<00 70 80 60 10 E0 00>} % s 116 {<00 80 E0 80 80 70 00>} % t 117 {<00 90 90 90 90 70 00>} % u 118 {<00 00 88 50 50 20 00>} % v 119 {<00 88 88 A8 A8 50 00>} % w 120 {<00 88 50 20 50 88 00>} % x 121 {<00 90 90 70 10 10 E0>} % y 122 {<00 F0 10 20 40 F0 00>} % z 123 {<30 20 20 40 20 20 30>} % { 124 {<20 20 20 20 20 20 20>} % | 125 {<60 20 20 10 20 20 60>} % } 126 {<00 00 40 A8 10 00 00>} % ~ >> /BuildChar { 70 0 setcharwidth exch begin charprocs exch 2 copy known not {pop /.notdef} if get exec % 5 7 8 [-.1 0 0 -.1 .1 .1] {} image 5 7 true [.1 0 0 .1 .1 6] 5 -1 roll imagemask % PJB p.435, 223 % 6 achieves horizontal alignment (with Helvetica etc); But Why ? % and how does this matrix interact with the FontMatrix, 62 lines up ? end } >> definefont pop pstack % prints out 76 numbers; 101 99 99 110 110 101 101 105 105 etc... % FatSimple see also ~/log/ps at 20160523 10 dict begin % PLRM2 p.290: "A composite font dictionary should be % large enough to have three additional entries - FID, MIDVector and % CurMID - added to it by definefont" but composite fonts are FontType 0 /FontType 3 def % PLRM p278 % /PaintType 0 def % p278 says this only works for FontType 0 :-( /FontMatrix [ 0.001 0 0 0.001 0 0 ] def % how to parameterise Italicity ? wrap this as a font-generator-function ? % but it's too easy to roll-your-own, see FatSimpleItalic below... /FontBBox [ 0 0 1000 1000 ] def /Encoding 256 array def % trivial encoding vector 0 1 255 { Encoding exch /.notdef put } for Encoding 9 /TAB put Encoding 32 /SPACE put Encoding 33 /EXCLAM put Encoding 34 /QUOTES put Encoding 39 /APOSTR put Encoding 40 /BRAK_L put Encoding 41 /BRAK_R put Encoding 43 /PLUS put Encoding 44 /COMMA put Encoding 45 /MINUS put Encoding 46 /DOT put Encoding 47 /SLASH put Encoding 48 /char_0 put Encoding 49 /char_1 put Encoding 50 /char_2 put Encoding 51 /char_3 put Encoding 52 /char_4 put Encoding 53 /char_5 put Encoding 54 /char_6 put Encoding 55 /char_7 put Encoding 56 /char_8 put Encoding 57 /char_9 put Encoding 58 /COLON put Encoding 59 /SEMICOLON put Encoding 61 /EQUALS put Encoding 63 /QUESTN put Encoding 65 /char_A put Encoding 66 /char_B put Encoding 67 /char_C put Encoding 68 /char_D put Encoding 69 /char_E put Encoding 70 /char_F put Encoding 71 /char_G put Encoding 72 /char_H put Encoding 73 /char_I put Encoding 74 /char_J put Encoding 75 /char_K put Encoding 76 /char_L put Encoding 77 /char_M put Encoding 78 /char_N put Encoding 79 /char_O put Encoding 80 /char_P put Encoding 81 /char_Q put Encoding 82 /char_R put Encoding 83 /char_S put Encoding 84 /char_T put Encoding 85 /char_U put Encoding 86 /char_V put Encoding 87 /char_W put Encoding 88 /char_X put Encoding 89 /char_Y put Encoding 90 /char_Z put Encoding 95 /USCORE put Encoding 97 /char_a put Encoding 98 /char_b put Encoding 99 /char_c put Encoding 100 /char_d put Encoding 101 /char_e put Encoding 102 /char_f put Encoding 103 /char_g put Encoding 104 /char_h put Encoding 105 /char_i put Encoding 106 /char_j put Encoding 107 /char_k put Encoding 108 /char_l put Encoding 109 /char_m put Encoding 110 /char_n put Encoding 111 /char_o put Encoding 112 /char_p put Encoding 113 /char_q put Encoding 114 /char_r put Encoding 115 /char_s put Encoding 116 /char_t put Encoding 117 /char_u put Encoding 118 /char_v put Encoding 119 /char_w put Encoding 120 /char_x put Encoding 121 /char_y put Encoding 122 /char_z put Encoding 124 /BAR put Encoding 192 /Agrave put Encoding 193 /Aacute put Encoding 194 /Acirc put Encoding 196 /Auml put Encoding 199 /Ccedil put Encoding 200 /Egrave put Encoding 201 /Eacute put Encoding 202 /Ecirc put Encoding 205 /Iacute put Encoding 207 /Iuml put Encoding 209 /Ntilde put Encoding 211 /Oacute put Encoding 212 /Ocirc put Encoding 214 /Ouml put Encoding 218 /Uacute put Encoding 220 /Uuml put Encoding 224 /agrave put Encoding 225 /aacute put Encoding 226 /acirc put Encoding 228 /auml put Encoding 231 /ccedil put Encoding 232 /egrave put Encoding 233 /eacute put Encoding 234 /ecirc put Encoding 237 /iacute put Encoding 239 /iuml put Encoding 241 /ntilde put Encoding 243 /oacute put Encoding 244 /ocirc put Encoding 246 /ouml put Encoding 250 /uacute put Encoding 252 /uuml put /Metrics 60 dict def Metrics begin /.notdef 600 def /TAB 800 def /SPACE 400 def /EXCLAM 300 def /QUOTES 320 def /APOSTR 240 def /BRAK_L 450 def /BRAK_R 450 def /PLUS 450 def /COMMA 200 def /MINUS 450 def /DOT 165 def /SLASH 550 def /char_0 550 def /char_1 360 def /char_2 500 def /char_3 500 def /char_4 500 def /char_5 500 def /char_6 500 def /char_7 490 def /char_8 500 def /char_9 500 def /COLON 230 def /SEMICOLON 230 def /EQUALS 450 def /QUESTN 450 def /char_A 800 def /char_a 640 def /char_B 650 def /char_b 520 def /char_C 600 def /char_c 480 def /char_D 550 def /char_d 440 def /char_E 725 def /char_e 580 def /char_F 700 def /char_f 560 def /char_G 800 def /char_g 640 def /char_H 850 def /char_h 680 def /char_I 350 def /char_i 280 def /char_J 600 def /char_j 480 def /char_K 800 def /char_k 640 def /char_L 700 def /char_l 560 def /char_M 900 def /char_m 720 def /char_N 800 def /char_n 640 def /char_O 800 def /char_o 640 def /char_P 650 def /char_p 520 def /char_Q 800 def /char_q 640 def /char_R 750 def /char_r 600 def /char_S 700 def /char_s 560 def /char_T 800 def /char_t 640 def /char_U 850 def /char_u 680 def /char_V 800 def /char_v 640 def /char_W 850 def /char_w 680 def /char_X 800 def /char_x 640 def /char_Y 800 def /char_y 640 def /char_Z 700 def /char_z 560 def /USCORE 450 def /BAR 350 def /Agrave 800 def /agrave 640 def /Aacute 800 def /aacute 640 def /Acirc 800 def /acirc 640 def /Auml 800 def /auml 640 def /Ccedil 600 def /ccedil 480 def /Egrave 725 def /egrave 580 def /Eacute 725 def /eacute 580 def /Ecirc 725 def /ecirc 580 def /Iacute 400 def /iacute 320 def /Iuml 400 def /iuml 320 def /Ntilde 800 def /ntilde 640 def /Oacute 800 def /oacute 640 def /Ocirc 800 def /ocirc 640 def /Ouml 800 def /ouml 640 def /Uacute 850 def /uacute 680 def /Uuml 850 def /uuml 680 def end /BBox 60 dict def BBox begin /.notdef [ 0 0 600 600 ] def /TAB [ 0 0 800 750 ] def /SPACE [ 0 0 400 750 ] def /EXCLAM [ 0 0 250 750 ] def /QUOTES [ 0 0 320 750 ] def /APOSTR [ 0 0 240 750 ] def /BRAK_L [ 0 0 400 750 ] def /BRAK_R [ 0 0 400 750 ] def /PLUS [ 0 0 400 750 ] def /COMMA [ 0 -100 140 325 ] def /MINUS [ 0 0 400 750 ] def /DOT [ 0 0 130 125 ] def /SLASH [ 0 0 500 750 ] def /char_0 [ 0 0 450 750 ] def /char_1 [ 0 0 275 750 ] def /char_2 [ 0 0 450 750 ] def /char_3 [ 0 0 450 750 ] def /char_4 [ 0 0 450 750 ] def /char_5 [ 0 0 450 750 ] def /char_6 [ 0 0 450 750 ] def /char_7 [ 0 0 450 750 ] def /char_8 [ 0 0 450 750 ] def /char_9 [ 0 0 460 750 ] def /COLON [ 0 0 180 450 ] def /SEMICOLON [ 0 -100 140 420 ] def /EQUALS [ 0 0 400 750 ] def /QUESTN [ 0 0 400 750 ] def /char_A [ 0 0 750 750 ] def /char_a [ 0 0 600 600 ] def /char_B [ 0 0 600 750 ] def /char_b [ 0 0 580 600 ] def /char_C [ 0 0 500 750 ] def /char_c [ 0 0 400 600 ] def /char_D [ 0 0 500 750 ] def /char_d [ 0 0 400 600 ] def /char_E [ 0 0 650 750 ] def /char_e [ 0 0 520 600 ] def /char_F [ 0 0 600 750 ] def /char_f [ 0 0 480 600 ] def /char_G [ 0 0 700 750 ] def /char_g [ 0 0 560 600 ] def /char_H [ 0 0 750 750 ] def /char_h [ 0 0 600 600 ] def /char_I [ 0 0 250 750 ] def /char_i [ 0 0 200 600 ] def /char_J [ 0 0 500 750 ] def /char_j [ 0 0 400 600 ] def /char_K [ 0 0 750 750 ] def /char_k [ 0 0 600 600 ] def /char_L [ 0 0 600 750 ] def /char_l [ 0 0 480 600 ] def /char_M [ 0 0 800 750 ] def /char_m [ 0 0 640 600 ] def /char_N [ 0 0 700 750 ] def /char_n [ 0 0 560 600 ] def /char_O [ 0 0 750 750 ] def /char_o [ 0 0 600 600 ] def /char_P [ 0 0 600 750 ] def /char_p [ 0 0 480 600 ] def /char_Q [ 0 0 750 750 ] def /char_q [ 0 0 600 600 ] def /char_R [ 0 0 700 750 ] def /char_r [ 0 0 560 600 ] def /char_S [ 0 0 700 750 ] def /char_s [ 0 0 560 600 ] def /char_T [ 0 0 750 750 ] def /char_t [ 0 0 600 600 ] def /char_U [ 0 0 750 750 ] def /char_u [ 0 0 600 600 ] def /char_V [ 0 0 750 750 ] def /char_v [ 0 0 600 600 ] def /char_W [ 0 0 800 750 ] def /char_w [ 0 0 640 600 ] def /char_X [ 0 0 750 750 ] def /char_x [ 0 0 600 600 ] def /char_Y [ 0 0 750 750 ] def /char_y [ 0 0 600 600 ] def /char_Z [ 0 0 650 750 ] def /char_z [ 0 0 520 600 ] def /USCORE [ 0 0 400 750 ] def /BAR [ 0 0 300 750 ] def /Agrave [ 0 0 750 950 ] def /agrave [ 0 0 600 760 ] def /Aacute [ 0 0 750 950 ] def /aacute [ 0 0 600 760 ] def /Acirc [ 0 0 750 950 ] def /acirc [ 0 0 600 760 ] def /Auml [ 0 0 750 950 ] def /auml [ 0 0 600 760 ] def /Ccedil [ 0 -150 500 1100 ] def /ccedil [ 0 -120 400 880 ] def /Egrave [ 0 0 650 950 ] def /egrave [ 0 0 520 760 ] def /Eacute [ 0 0 650 950 ] def /eacute [ 0 0 520 760 ] def /Ecirc [ 0 0 650 950 ] def /ecirc [ 0 0 520 760 ] def /Iacute [ 0 0 370 950 ] def /iacute [ 0 0 296 760 ] def /Iuml [ 0 0 370 950 ] def /iuml [ 0 0 296 760 ] def /Ntilde [ 0 0 700 950 ] def /ntilde [ 0 0 560 760 ] def /Oacute [ 0 0 750 950 ] def /oacute [ 0 0 600 760 ] def /Ocirc [ 0 0 750 950 ] def /ocirc [ 0 0 600 760 ] def /Ouml [ 0 0 750 950 ] def /ouml [ 0 0 600 760 ] def /Uacute [ 0 0 750 950 ] def /uacute [ 0 0 600 760 ] def /Uuml [ 0 0 750 950 ] def /uuml [ 0 0 600 760 ] def end /CharProcs 60 dict def CharProcs begin % individual character definitions /.notdef { 300 300 250 0 360 arc fill } def /TAB { } bind def /SPACE { } bind def /EXCLAM { 125 80 80 0 360 arc 85 240 moveto 125 240 40 180 360 arc 225 400 225 450 225 750 curveto 25 750 lineto 25 450 25 400 85 240 curveto closepath fill } bind def /QUOTES { 70 690 60 0 260 arc 60 590 60 580 5 530 curveto 125 560 125 590 130 690 curveto 265 690 moveto 205 690 60 0 260 arc 195 590 195 580 140 530 curveto 260 560 260 590 265 690 curveto closepath fill } bind def /APOSTR { 65 690 60 0 260 arc 55 590 55 580 0 530 curveto 120 560 120 590 125 690 curveto closepath fill } bind def /BRAK_L { 300 0 moveto 400 0 lineto 250 75 150 250 150 375 curveto 150 475 200 675 400 750 curveto 300 750 lineto 100 675 0 475 0 375 curveto 0 250 100 75 300 0 curveto closepath fill } bind def /BRAK_R { 100 0 moveto 0 0 lineto 150 75 250 250 250 375 curveto 250 475 200 675 0 750 curveto 100 750 lineto 300 675 400 475 400 375 curveto 400 250 300 75 100 0 curveto closepath fill } bind def /PLUS { 0 330 400 90 rectfill 155 175 90 400 rectfill } bind def /COMMA { 65 60 60 0 260 arc 55 -40 55 -50 0 -100 curveto 120 -70 120 -40 125 60 curveto closepath fill } bind def /MINUS { 0 330 380 90 rectfill } bind def /DOT { 65 60 60 0 360 arc fill } def /SLASH { 0 0 moveto 150 0 lineto 500 600 lineto 500 750 lineto 350 750 lineto 0 150 lineto closepath fill } bind def /char_0 { 0 375 moveto 0 0 0 0 225 0 curveto 450 0 450 0 450 375 curveto 450 750 450 750 225 750 curveto 0 750 0 750 0 375 curveto closepath 150 375 moveto 150 600 150 600 225 600 curveto 300 600 300 600 300 375 curveto 300 150 300 150 225 150 curveto 150 150 150 150 150 375 curveto closepath fill } bind def /char_1 { 0 500 moveto 100 500 lineto 100 0 lineto 275 0 lineto 275 750 lineto 140 750 lineto closepath fill } bind def /char_2 { 0 0 moveto 450 0 lineto 450 150 lineto 200 150 lineto 450 400 450 450 450 525 curveto 225 525 225 0 90 arc 0 750 lineto 0 600 lineto 225 600 lineto 225 525 75 90 0 arcn 300 450 300 450 0 150 curveto closepath fill } bind def /char_3 { 0 0 moveto 225 0 lineto 225 225 225 -90 90 arc 250 450 lineto 450 650 lineto 450 750 lineto 0 750 lineto 0 600 lineto 225 600 lineto 0 420 lineto 0 340 lineto 225 340 lineto 225 245 95 90 -90 arcn 0 150 lineto closepath fill } bind def /char_4 { 260 0 moveto 400 0 lineto 400 150 lineto 450 150 lineto 450 300 lineto 400 300 lineto 400 750 lineto 260 750 lineto 0 150 lineto 260 150 lineto closepath 260 300 moveto 180 300 lineto 260 450 lineto closepath fill } bind def /char_5 { 0 0 moveto 212.5 0 lineto 212.5 237.5 237.5 -90 90 arc 150 475 lineto 150 600 lineto 450 600 lineto 450 750 lineto 0 750 lineto 0 350 lineto 212.5 350 lineto 212.5 250 100 90 -90 arcn 0 150 lineto closepath fill } bind def /char_6 { 225 225 225 0 360 arc 225 225 85 360 0 arcn closepath 0 225 moveto 140 225 lineto 140 400 140 450 450 750 curveto 250 750 lineto 0 460 0 410 0 225 curveto closepath fill } bind def /char_7 { 0 0 moveto 170 0 lineto 450 675 lineto 450 750 lineto 0 750 lineto 0 550 lineto 220 550 lineto closepath fill } bind def /char_8 { 225 225 225 0 360 arc 225 225 85 360 0 arcn 375 525 moveto 225 525 225 0 360 arc 225 525 85 360 0 arcn closepath fill } bind def /char_9 { 225 525 225 0 360 arc 225 525 85 360 0 arcn closepath 450 525 moveto 310 525 lineto 310 350 310 300 0 0 curveto 200 0 lineto 450 290 450 340 450 525 curveto closepath fill } bind def /COLON { 100 110 65 0 360 arc 160 350 moveto 100 350 65 0 360 arc fill } def /SEMICOLON { 65 60 60 0 260 arc 55 -40 55 -50 0 -100 curveto 120 -70 120 -40 125 60 curveto closepath 135 280 moveto 65 280 60 0 360 arc fill } bind def /EQUALS { 0 240 400 90 rectfill 0 420 400 90 rectfill } bind def /QUESTN { 160 75 75 0 360 arc fill 150 setlinewidth 160 180 moveto 160 382 lineto 300 382 325 485 325 530 curveto 325 640 260 675 160 675 curveto 0 675 lineto stroke } bind def /char_A { 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto closepath fill } bind def /char_a { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto closepath fill } bind def /char_B { 0 0 moveto 250 0 lineto 720 0 720 375 275 375 curveto 720 375 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_b { 0.8 0.8 scale 0 0 moveto 250 0 lineto 720 0 720 375 275 375 curveto 720 375 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_C { 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath fill } bind def /char_c { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath fill } bind def /char_D { 0 0 moveto 125 0 lineto 125 375 375 -90 90 arc 0 750 lineto closepath fill } bind def /char_d { 0.8 0.8 scale 0 0 moveto 125 0 lineto 125 375 375 -90 90 arc 0 750 lineto closepath fill } bind def /char_E { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto % closepath 250 375 moveto 550 250 lineto 550 500 lineto NOT BAD closepath fill } bind def /char_e { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_F { 0 0 moveto 250 0 lineto % 250 500 lineto 600 500 lineto 600 750 lineto 0 750 lineto closepath % 250 375 moveto 550 250 lineto 550 500 lineto % NOT BAD. a bit flashy 250 200 lineto 550 200 lineto 550 400 lineto 250 400 lineto 250 500 lineto 600 500 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_f { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 200 lineto 550 200 lineto 550 400 lineto 250 400 lineto 250 500 lineto 600 500 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_G { 375 750 moveto 375 375 375 90 270 arc 700 0 lineto 700 420 lineto 450 420 lineto 450 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 700 500 lineto 700 750 lineto closepath fill } bind def /char_g { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 700 0 lineto 700 420 lineto 450 420 lineto 450 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 700 500 lineto 700 750 lineto closepath fill } bind def /char_H { 0 0 moveto 250 0 lineto 250 250 lineto 500 250 lineto 500 0 lineto 750 0 lineto 750 750 lineto 500 750 lineto 500 500 lineto 250 500 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_h { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 250 lineto 500 250 lineto 500 0 lineto 750 0 lineto 750 750 lineto 500 750 lineto 500 500 lineto 250 500 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_I { 0 0 moveto 250 0 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_i { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_J { 0 0 moveto 125 0 lineto 125 375 375 -90 0 arc 500 750 lineto 250 750 lineto 125 375 125 0 -90 arcn 0 250 lineto closepath fill } bind def /char_j { 0.8 0.8 scale 0 0 moveto 125 0 lineto 125 375 375 -90 0 arc 500 750 lineto 250 750 lineto 125 375 125 0 -90 arcn 0 250 lineto closepath fill } bind def /char_K { 0 0 moveto 250 0 lineto 250 300 lineto 500 0 lineto 750 0 lineto 450 375 lineto 750 750 lineto 500 750 lineto 250 450 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_k { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 300 lineto 500 0 lineto 750 0 lineto 450 375 lineto 750 750 lineto 500 750 lineto 250 450 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_L { 0 0 moveto 600 0 lineto 600 250 lineto 250 250 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_l { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 250 lineto 250 250 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_M { 0 0 moveto 250 0 lineto 250 350 lineto 400 0 lineto 550 350 lineto 550 0 lineto 800 0 lineto 800 750 lineto 600 750 lineto 400 400 lineto 200 750 lineto 0 750 lineto closepath fill } bind def /char_m { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 400 0 lineto 550 350 lineto 550 0 lineto 800 0 lineto 800 750 lineto 600 750 lineto 400 400 lineto 200 750 lineto 0 750 lineto closepath fill } bind def /char_N { 0 0 moveto 250 0 lineto 250 350 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 0 750 lineto closepath fill } bind def /char_n { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 0 750 lineto closepath fill } bind def /char_O { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill } bind def /char_o { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill } bind def /char_P { 0 0 moveto 250 0 lineto 250 350 lineto 720 350 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_p { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 720 350 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_Q { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 425 200 moveto 625 0 lineto 750 0 lineto 750 125 lineto 525 325 lineto closepath fill } bind def /char_q { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 425 200 moveto 625 0 lineto 750 0 lineto 750 125 lineto 525 325 lineto closepath fill } bind def /char_R { 0 0 moveto 250 0 lineto 250 200 lineto 450 0 lineto 700 0 lineto 400 350 lineto 800 350 800 750 400 750 curveto 0 750 lineto closepath fill } bind def /char_r { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 200 lineto 450 0 lineto 700 0 lineto 400 350 lineto 800 350 800 750 400 750 curveto 0 750 lineto closepath fill } bind def /char_S { 0 0 moveto 400 0 lineto 400 237.5 237.5 -90 90 arc 250 475 lineto 250 512.5 37.5 270 90 arcn 650 550 lineto 650 750 lineto 300 750 lineto 250 512.5 237.5 90 270 arc 400 275 lineto 400 237.5 37.5 90 -90 arcn 0 200 lineto closepath fill } bind def /char_s { 0.8 0.8 scale 0 0 moveto 400 0 lineto 400 237.5 237.5 -90 90 arc 250 475 lineto 250 512.5 37.5 270 90 arcn 650 550 lineto 650 750 lineto 300 750 lineto 250 512.5 237.5 90 270 arc 400 275 lineto 400 237.5 37.5 90 -90 arcn 0 200 lineto closepath fill } bind def /char_T { 250 0 moveto 500 0 lineto 500 500 lineto 750 500 lineto 750 750 lineto 0 750 lineto 0 500 lineto 250 500 lineto closepath fill } bind def /char_t { 0.8 0.8 scale 250 0 moveto 500 0 lineto 500 500 lineto 750 500 lineto 750 750 lineto 0 750 lineto 0 500 lineto 250 500 lineto closepath fill } bind def /char_U { 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto closepath fill } bind def /char_u { 0.8 0.8 scale 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto closepath fill } bind def /char_V { 250 0 moveto 500 0 lineto 750 750 lineto 500 750 lineto 375 350 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_v { 0.8 0.8 scale 250 0 moveto 500 0 lineto 750 750 lineto 500 750 lineto 375 350 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_W { 0 750 moveto 225 750 lineto 250 400 lineto 400 750 lineto 550 400 lineto 575 750 lineto 800 750 lineto 700 0 lineto 500 0 lineto 400 350 lineto 300 0 lineto 100 0 lineto closepath fill } bind def /char_w { 0.8 0.8 scale 0 750 moveto 225 750 lineto 250 400 lineto 400 750 lineto 550 400 lineto 575 750 lineto 800 750 lineto 700 0 lineto 500 0 lineto 400 350 lineto 300 0 lineto 100 0 lineto closepath fill } bind def /char_X { 0 0 moveto 250 0 lineto 750 750 lineto 500 750 lineto closepath 250 750 moveto 0 750 lineto 500 0 lineto 750 0 lineto closepath fill } bind def /char_x { 0.8 0.8 scale 0 0 moveto 250 0 lineto 750 750 lineto 500 750 lineto closepath 250 750 moveto 0 750 lineto 500 0 lineto 750 0 lineto closepath fill } bind def /char_Y { 250 0 moveto 500 0 lineto 500 300 lineto 750 750 lineto 500 750 lineto 375 450 lineto 250 750 lineto 0 750 lineto 250 300 lineto closepath fill } bind def /char_y { 0.8 0.8 scale 250 0 moveto 500 0 lineto 500 300 lineto 750 750 lineto 500 750 lineto 375 450 lineto 250 750 lineto 0 750 lineto 250 300 lineto closepath fill } bind def /char_Z { 0 0 moveto 650 0 lineto 650 250 lineto 420 250 lineto 650 750 lineto 0 750 lineto 0 500 lineto 230 500 lineto closepath fill } bind def /char_z { 0.8 0.8 scale 0 0 moveto 650 0 lineto 650 250 lineto 420 250 lineto 650 750 lineto 0 750 lineto 0 500 lineto 230 500 lineto closepath fill } bind def /USCORE { 0 0 390 90 rectfill } bind def /BAR { 105 0 90 750 rectfill } bind def /Agrave { 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /agrave { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /Aacute { 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /aacute { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /Acirc { 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 150 800 moveto 250 800 lineto 350 890 lineto 450 800 lineto % circ 550 800 lineto 400 950 lineto 300 950 lineto closepath fill } bind def /acirc { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 150 800 moveto 250 800 lineto 350 890 lineto 450 800 lineto % circ 550 800 lineto 400 950 lineto 300 950 lineto closepath fill } bind def /Auml { 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 310 850 moveto 250 850 60 0 360 arc 560 850 moveto 500 850 60 0 360 arc closepath fill } bind def /auml { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 375 750 lineto 310 850 moveto 250 850 60 0 360 arc 560 850 moveto 500 850 60 0 360 arc closepath fill } bind def /Ccedil { 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath 250 100 moveto 200 -30 lineto 300 -80 lineto 200 -150 lineto 350 -150 lineto 450 -80 lineto 320 -20 lineto 400 100 lineto closepath fill } bind def /ccedil { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath 250 100 moveto 200 -30 lineto 300 -80 lineto 200 -150 lineto 350 -150 lineto 450 -80 lineto 320 -20 lineto 400 100 lineto closepath fill } bind def /Egrave { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /egrave { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /Eacute { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 150 800 moveto 280 800 lineto 480 950 lineto 350 950 lineto % acute closepath fill } bind def /eacute { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 150 800 moveto 280 800 lineto 480 950 lineto 350 950 lineto % acute closepath fill } bind def /Ecirc { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 100 800 moveto 200 800 lineto 300 890 lineto 400 800 lineto % circ 500 800 lineto 350 950 lineto 250 950 lineto closepath fill } bind def /ecirc { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 100 800 moveto 200 800 lineto 300 890 lineto 400 800 lineto % circ 500 800 lineto 350 950 lineto 250 950 lineto closepath fill } bind def /Iacute { 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 40 800 moveto 170 800 lineto 370 950 lineto 240 950 lineto % acute closepath fill } bind def /iacute { 0.8 0.8 scale 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 40 800 moveto 170 800 lineto 370 950 lineto 240 950 lineto % acute closepath fill } bind def /Iuml { 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 150 870 moveto 90 870 60 0 360 arc 350 870 moveto 290 870 60 0 360 arc closepath fill } bind def /iuml { 0.8 0.8 scale 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 150 870 moveto 90 870 60 0 360 arc 350 870 moveto 290 870 60 0 360 arc closepath fill } bind def /Ntilde { 0 0 moveto 250 0 lineto 250 350 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 0 750 lineto 75 790 moveto 175 790 lineto 275 880 lineto 375 790 lineto % tilde 475 790 lineto 625 940 lineto 525 940 lineto 425 850 lineto 325 940 lineto 225 940 lineto closepath fill } bind def /ntilde { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 0 750 lineto 75 790 moveto 175 790 lineto 275 880 lineto 375 790 lineto % tilde 475 790 lineto 625 940 lineto 525 940 lineto 425 850 lineto 325 940 lineto 225 940 lineto closepath fill } bind def /Oacute { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /oacute { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /Ocirc { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 175 790 moveto 275 790 lineto 375 880 lineto 475 790 lineto % circ 575 790 lineto 425 940 lineto 325 940 lineto closepath fill } bind def /ocirc { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 175 790 moveto 275 790 lineto 375 880 lineto 475 790 lineto % circ 575 790 lineto 425 940 lineto 325 940 lineto closepath fill } bind def /Ouml { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 310 855 moveto 250 855 60 0 360 arc 560 855 moveto 500 855 60 0 360 arc closepath fill } bind def /ouml { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 310 855 moveto 250 855 60 0 360 arc 560 855 moveto 500 855 60 0 360 arc closepath fill } bind def /Uacute { 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 290 800 moveto 420 800 lineto 620 950 lineto 490 950 lineto % acute closepath fill } bind def /uacute { 0.8 0.8 scale 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 290 800 moveto 420 800 lineto 620 950 lineto 490 950 lineto % acute closepath fill } bind def /Uuml { 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 310 860 moveto 250 860 60 0 360 arc 560 860 moveto 500 860 60 0 360 arc closepath fill } bind def /uuml { 0.8 0.8 scale 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 310 860 moveto 250 860 60 0 360 arc 560 860 moveto 500 860 60 0 360 arc closepath fill } bind def end /BuildGlyph { % the stack contains : fontdict charname /charname exch def /fontdict exch def fontdict /Metrics get charname get 0 % width fontdict /BBox get charname get aload pop % bounding box setcachedevice fontdict /CharProcs get % get CharProcs dictionary % dup charname known { charname (yup)=} { /.notdef (not)= } ifelse charname get exec % execute character procedure } bind def /BuildChar { % Level 1 compatibility 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def currentdict end /FatSimple exch definefont pop /FatSimple findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /FontMatrix [ 0.001 0 0.0008 0.001 0 0 ] def currentdict end /FatSimpleItalic exch definefont pop % XXX FatSpiky % FatSPiky see also ~/log/ps at 20160523 10 dict begin % PLRM2 p.290: "A composite font dictionary should be % large enough to have three additional entries - FID, MIDVector and % CurMID - added to it by definefont" but composite fonts are FontType 0 /FontType 3 def % PLRM p278 % /PaintType 0 def % p278 says this only works for FontType 0 :-( /FontMatrix [ 0.001 0 0 0.001 0 0 ] def % how to parameterise Italicity ? wrap this as a font-generator-function ? % but it's too easy to roll-your-own, see FatSimpleItalic below... /FontBBox [ 0 0 1000 1000 ] def /Encoding 256 array def % trivial encoding vector 0 1 255 { Encoding exch /.notdef put } for Encoding 9 /TAB put Encoding 32 /SPACE put Encoding 33 /EXCLAM put Encoding 34 /QUOTES put Encoding 39 /APOSTR put Encoding 40 /BRAK_L put Encoding 41 /BRAK_R put Encoding 43 /PLUS put Encoding 44 /COMMA put Encoding 45 /MINUS put Encoding 46 /DOT put Encoding 47 /SLASH put Encoding 48 /char_0 put Encoding 49 /char_1 put Encoding 50 /char_2 put Encoding 51 /char_3 put Encoding 52 /char_4 put Encoding 53 /char_5 put Encoding 54 /char_6 put Encoding 55 /char_7 put Encoding 56 /char_8 put Encoding 57 /char_9 put Encoding 58 /COLON put Encoding 59 /SEMICOLON put Encoding 61 /EQUALS put Encoding 63 /QUESTN put Encoding 65 /char_A put Encoding 66 /char_B put Encoding 67 /char_C put Encoding 68 /char_D put Encoding 69 /char_E put Encoding 70 /char_F put Encoding 71 /char_G put Encoding 72 /char_H put Encoding 73 /char_I put Encoding 74 /char_J put Encoding 75 /char_K put Encoding 76 /char_L put Encoding 77 /char_M put Encoding 78 /char_N put Encoding 79 /char_O put Encoding 80 /char_P put Encoding 81 /char_Q put Encoding 82 /char_R put Encoding 83 /char_S put Encoding 84 /char_T put Encoding 85 /char_U put Encoding 86 /char_V put Encoding 87 /char_W put Encoding 88 /char_X put Encoding 89 /char_Y put Encoding 90 /char_Z put Encoding 95 /USCORE put Encoding 97 /char_a put Encoding 98 /char_b put Encoding 99 /char_c put Encoding 100 /char_d put Encoding 101 /char_e put Encoding 102 /char_f put Encoding 103 /char_g put Encoding 104 /char_h put Encoding 105 /char_i put Encoding 106 /char_j put Encoding 107 /char_k put Encoding 108 /char_l put Encoding 109 /char_m put Encoding 110 /char_n put Encoding 111 /char_o put Encoding 112 /char_p put Encoding 113 /char_q put Encoding 114 /char_r put Encoding 115 /char_s put Encoding 116 /char_t put Encoding 117 /char_u put Encoding 118 /char_v put Encoding 119 /char_w put Encoding 120 /char_x put Encoding 121 /char_y put Encoding 122 /char_z put Encoding 124 /BAR put Encoding 192 /Agrave put Encoding 193 /Aacute put Encoding 194 /Acirc put Encoding 196 /Auml put Encoding 199 /Ccedil put Encoding 200 /Egrave put Encoding 201 /Eacute put Encoding 202 /Ecirc put Encoding 205 /Iacute put Encoding 207 /Iuml put Encoding 209 /Ntilde put Encoding 211 /Oacute put Encoding 212 /Ocirc put Encoding 214 /Ouml put Encoding 218 /Uacute put Encoding 220 /Uuml put Encoding 224 /agrave put Encoding 225 /aacute put Encoding 226 /acirc put Encoding 228 /auml put Encoding 231 /ccedil put Encoding 232 /egrave put Encoding 233 /eacute put Encoding 234 /ecirc put Encoding 237 /iacute put Encoding 239 /iuml put Encoding 241 /ntilde put Encoding 243 /oacute put Encoding 244 /ocirc put Encoding 246 /ouml put Encoding 250 /uacute put Encoding 252 /uuml put /Metrics 60 dict def Metrics begin /.notdef 600 def /TAB 800 def /SPACE 400 def /EXCLAM 300 def /QUOTES 320 def /APOSTR 240 def /BRAK_L 450 def /BRAK_R 450 def /PLUS 450 def /COMMA 200 def /MINUS 450 def /DOT 165 def /SLASH 550 def /char_0 550 def /char_1 360 def /char_2 500 def /char_3 500 def /char_4 500 def /char_5 500 def /char_6 500 def /char_7 490 def /char_8 500 def /char_9 500 def /COLON 230 def /SEMICOLON 230 def /EQUALS 450 def /QUESTN 450 def /char_A 800 def /char_a 640 def /char_B 650 def /char_b 520 def /char_C 600 def /char_c 480 def /char_D 550 def /char_d 440 def /char_E 725 def /char_e 580 def /char_F 700 def /char_f 560 def /char_G 800 def /char_g 640 def /char_H 850 def /char_h 680 def /char_I 350 def /char_i 280 def /char_J 600 def /char_j 480 def /char_K 800 def /char_k 640 def /char_L 700 def /char_l 560 def /char_M 900 def /char_m 720 def /char_N 800 def /char_n 640 def /char_O 800 def /char_o 640 def /char_P 650 def /char_p 520 def /char_Q 800 def /char_q 640 def /char_R 750 def /char_r 600 def /char_S 700 def /char_s 560 def /char_T 820 def /char_t 656 def /char_U 850 def /char_u 680 def /char_V 800 def /char_v 640 def /char_W 850 def /char_w 680 def /char_X 800 def /char_x 640 def /char_Y 800 def /char_y 640 def /char_Z 700 def /char_z 560 def /USCORE 450 def /BAR 350 def /Agrave 800 def /agrave 640 def /Aacute 800 def /aacute 640 def /Acirc 800 def /acirc 640 def /Auml 800 def /auml 640 def /Ccedil 600 def /ccedil 480 def /Egrave 725 def /egrave 580 def /Eacute 725 def /eacute 580 def /Ecirc 725 def /ecirc 580 def /Iacute 400 def /iacute 320 def /Iuml 400 def /iuml 320 def /Ntilde 800 def /ntilde 640 def /Oacute 800 def /oacute 640 def /Ocirc 800 def /ocirc 640 def /Ouml 800 def /ouml 640 def /Uacute 850 def /uacute 680 def /Uuml 850 def /uuml 680 def end /BBox 60 dict def BBox begin /.notdef [ 0 0 600 600 ] def /TAB [ 0 0 800 750 ] def /SPACE [ 0 0 400 750 ] def /EXCLAM [ 0 0 250 750 ] def /QUOTES [ 0 0 320 750 ] def /APOSTR [ 0 0 240 750 ] def /BRAK_L [ 0 0 400 750 ] def /BRAK_R [ 0 0 400 750 ] def /PLUS [ 0 0 400 750 ] def /COMMA [ 0 -100 140 325 ] def /MINUS [ 0 0 400 750 ] def /DOT [ 0 0 130 125 ] def /SLASH [ 0 0 500 750 ] def /char_0 [ 0 0 450 750 ] def /char_1 [ 0 0 275 750 ] def /char_2 [ 0 0 450 750 ] def /char_3 [ 0 0 450 750 ] def /char_4 [ 0 0 450 750 ] def /char_5 [ 0 0 450 750 ] def /char_6 [ 0 0 450 750 ] def /char_7 [ 0 0 450 750 ] def /char_8 [ 0 0 450 750 ] def /char_9 [ 0 0 460 750 ] def /COLON [ 0 0 180 450 ] def /SEMICOLON [ 0 -100 140 420 ] def /EQUALS [ 0 0 400 750 ] def /QUESTN [ 0 0 400 750 ] def /char_A [ 0 0 750 750 ] def /char_a [ 0 0 600 600 ] def /char_B [ 0 0 600 750 ] def /char_b [ 0 0 580 600 ] def /char_C [ 0 0 500 750 ] def /char_c [ 0 0 400 600 ] def /char_D [ 0 0 500 750 ] def /char_d [ 0 0 400 600 ] def /char_E [ 0 0 650 750 ] def /char_e [ 0 0 520 600 ] def /char_F [ 0 0 600 750 ] def /char_f [ 0 0 480 600 ] def /char_G [ 0 0 700 750 ] def /char_g [ 0 0 560 600 ] def /char_H [ 0 0 750 750 ] def /char_h [ 0 0 600 600 ] def /char_I [ 0 0 250 750 ] def /char_i [ 0 0 200 600 ] def /char_J [ 0 0 500 750 ] def /char_j [ 0 0 400 600 ] def /char_K [ 0 0 750 750 ] def /char_k [ 0 0 600 600 ] def /char_L [ 0 0 600 750 ] def /char_l [ 0 0 480 600 ] def /char_M [ 0 0 800 750 ] def /char_m [ 0 0 640 600 ] def /char_N [ 0 0 700 750 ] def /char_n [ 0 0 560 600 ] def /char_O [ 0 0 750 750 ] def /char_o [ 0 0 600 600 ] def /char_P [ 0 0 600 750 ] def /char_p [ 0 0 480 600 ] def /char_Q [ 0 0 750 750 ] def /char_q [ 0 0 600 600 ] def /char_R [ 0 0 700 750 ] def /char_r [ 0 0 560 600 ] def /char_S [ 0 0 700 750 ] def /char_s [ 0 0 560 600 ] def /char_T [ 0 0 750 750 ] def /char_t [ 0 0 600 600 ] def /char_U [ 0 0 750 750 ] def /char_u [ 0 0 600 600 ] def /char_V [ 0 0 750 750 ] def /char_v [ 0 0 600 600 ] def /char_W [ 0 0 800 750 ] def /char_w [ 0 0 640 600 ] def /char_X [ 0 0 750 750 ] def /char_x [ 0 0 600 600 ] def /char_Y [ 0 0 750 750 ] def /char_y [ 0 0 600 600 ] def /char_Z [ 0 0 650 750 ] def /char_z [ 0 0 520 600 ] def /USCORE [ 0 0 400 750 ] def /BAR [ 0 0 300 750 ] def /Agrave [ 0 0 750 950 ] def /agrave [ 0 0 600 760 ] def /Aacute [ 0 0 750 950 ] def /aacute [ 0 0 600 760 ] def /Acirc [ 0 0 750 950 ] def /acirc [ 0 0 600 760 ] def /Auml [ 0 0 750 950 ] def /auml [ 0 0 600 760 ] def /Ccedil [ 0 -150 500 1100 ] def /ccedil [ 0 -120 400 880 ] def /Egrave [ 0 0 650 950 ] def /egrave [ 0 0 520 760 ] def /Eacute [ 0 0 650 950 ] def /eacute [ 0 0 520 760 ] def /Ecirc [ 0 0 650 950 ] def /ecirc [ 0 0 520 760 ] def /Iacute [ 0 0 370 950 ] def /iacute [ 0 0 296 760 ] def /Iuml [ 0 0 370 950 ] def /iuml [ 0 0 296 760 ] def /Ntilde [ 0 0 700 950 ] def /ntilde [ 0 0 560 760 ] def /Oacute [ 0 0 750 950 ] def /oacute [ 0 0 600 760 ] def /Ocirc [ 0 0 750 950 ] def /ocirc [ 0 0 600 760 ] def /Ouml [ 0 0 750 950 ] def /ouml [ 0 0 600 760 ] def /Uacute [ 0 0 750 950 ] def /uacute [ 0 0 600 760 ] def /Uuml [ 0 0 750 950 ] def /uuml [ 0 0 600 760 ] def end /CharProcs 60 dict def CharProcs begin % individual character definitions /.notdef { 300 300 250 0 360 arc fill } def /TAB { } bind def /SPACE { } bind def /EXCLAM { 125 80 80 0 360 arc 85 240 moveto 125 240 40 180 360 arc 225 400 225 450 225 750 curveto 25 750 lineto 25 450 25 400 85 240 curveto closepath fill } bind def /QUOTES { 70 690 60 0 260 arc 60 590 60 580 5 530 curveto 125 560 125 590 130 690 curveto 265 690 moveto 205 690 60 0 260 arc 195 590 195 580 140 530 curveto 260 560 260 590 265 690 curveto closepath fill } bind def /APOSTR { 65 690 60 0 260 arc 55 590 55 580 0 530 curveto 120 560 120 590 125 690 curveto closepath fill } bind def /BRAK_L { 300 0 moveto 400 0 lineto 250 75 150 250 150 375 curveto 150 475 200 675 400 750 curveto 300 750 lineto 100 675 0 475 0 375 curveto 0 250 100 75 300 0 curveto closepath fill } bind def /BRAK_R { 100 0 moveto 0 0 lineto 150 75 250 250 250 375 curveto 250 475 200 675 0 750 curveto 100 750 lineto 300 675 400 475 400 375 curveto 400 250 300 75 100 0 curveto closepath fill } bind def /PLUS { 0 330 400 90 rectfill 155 175 90 400 rectfill } bind def /COMMA { 65 60 60 0 260 arc 55 -40 55 -50 0 -100 curveto 120 -70 120 -40 125 60 curveto closepath fill } bind def /MINUS { 0 330 380 90 rectfill } bind def /DOT { 65 60 60 0 360 arc fill } def /SLASH { 0 0 moveto 150 0 lineto 500 600 lineto 500 750 lineto 350 750 lineto 0 150 lineto closepath fill } bind def /char_0 { 0 375 moveto 0 0 0 0 225 0 curveto 450 0 450 0 450 375 curveto 450 750 450 750 225 750 curveto 0 750 0 750 0 375 curveto closepath 150 375 moveto 150 600 150 600 225 600 curveto 300 600 300 600 300 375 curveto 300 150 300 150 225 150 curveto 150 150 150 150 150 375 curveto closepath fill } bind def /char_1 { 0 500 moveto 100 500 lineto 100 0 lineto 275 0 lineto 275 750 lineto 140 750 lineto closepath fill } bind def /char_2 { 0 0 moveto 450 0 lineto 450 150 lineto 200 150 lineto 450 400 450 450 450 525 curveto 225 525 225 0 90 arc 0 750 lineto 0 600 lineto 225 600 lineto 225 525 75 90 0 arcn 300 450 300 450 0 150 curveto closepath fill } bind def /char_3 { 0 0 moveto 225 0 lineto 225 225 225 -90 90 arc 250 450 lineto 450 650 lineto 450 750 lineto 0 750 lineto 0 600 lineto 225 600 lineto 0 420 lineto 0 340 lineto 225 340 lineto 225 245 95 90 -90 arcn 0 150 lineto closepath fill } bind def /char_4 { 260 0 moveto 400 0 lineto 400 150 lineto 450 150 lineto 450 300 lineto 400 300 lineto 400 750 lineto 260 750 lineto 0 150 lineto 260 150 lineto closepath 260 300 moveto 180 300 lineto 260 450 lineto closepath fill } bind def /char_5 { 0 0 moveto 212.5 0 lineto 212.5 237.5 237.5 -90 90 arc 150 475 lineto 150 600 lineto 450 600 lineto 450 750 lineto 0 750 lineto 0 350 lineto 212.5 350 lineto 212.5 250 100 90 -90 arcn 0 150 lineto closepath fill } bind def /char_6 { 225 225 225 0 360 arc 225 225 85 360 0 arcn closepath 0 225 moveto 140 225 lineto 140 400 140 450 450 750 curveto 250 750 lineto 0 460 0 410 0 225 curveto closepath fill } bind def /char_7 { 0 0 moveto 170 0 lineto 450 675 lineto 450 750 lineto 0 750 lineto 0 550 lineto 220 550 lineto closepath fill } bind def /char_8 { 225 225 225 0 360 arc 225 225 85 360 0 arcn 375 525 moveto 225 525 225 0 360 arc 225 525 85 360 0 arcn closepath fill } bind def /char_9 { 225 525 225 0 360 arc 225 525 85 360 0 arcn closepath 450 525 moveto 310 525 lineto 310 350 310 300 0 0 curveto 200 0 lineto 450 290 450 340 450 525 curveto closepath fill } bind def /COLON { 100 110 65 0 360 arc 160 350 moveto 100 350 65 0 360 arc fill } def /SEMICOLON { 65 60 60 0 260 arc 55 -40 55 -50 0 -100 curveto 120 -70 120 -40 125 60 curveto closepath 135 280 moveto 65 280 60 0 360 arc fill } bind def /EQUALS { 0 240 400 90 rectfill 0 420 400 90 rectfill } bind def /QUESTN { 160 75 75 0 360 arc fill 150 setlinewidth 160 180 moveto 160 382 lineto 300 382 325 485 325 530 curveto 325 640 260 675 160 675 curveto 0 675 lineto stroke } bind def /char_A { 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto closepath fill } bind def /char_a { 0.8 0.8 scale 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto closepath fill } bind def /char_B { 0 0 moveto 250 0 lineto 720 0 720 375 275 375 curveto 720 375 720 750 250 750 curveto 0 750 lineto 210 130 moveto 210 290 lineto 400 215 lineto 210 130 lineto 210 460 moveto 210 620 lineto 400 540 lineto 210 460 lineto closepath fill } bind def /char_b { 0.8 0.8 scale 0 0 moveto 250 0 lineto 720 0 720 375 275 375 curveto 720 375 720 750 250 750 curveto 0 750 lineto 210 130 moveto 210 290 lineto 400 215 lineto 210 130 lineto 210 460 moveto 210 620 lineto 400 540 lineto 210 460 lineto closepath fill } bind def /char_C { 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath fill } bind def /char_c { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath fill } bind def /char_D { 0 0 moveto 125 0 lineto 125 375 375 -90 90 arc 0 750 lineto 180 190 moveto 180 560 lineto 380 375 lineto 180 190 lineto closepath fill } bind def /char_d { 0.8 0.8 scale 0 0 moveto 125 0 lineto 125 375 375 -90 90 arc 0 750 lineto 180 190 moveto 180 560 lineto 380 375 lineto 180 190 lineto closepath fill } bind def /char_E { 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_e { 0.8 0.8 scale 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_F { 0 0 moveto 250 0 lineto 250 200 lineto 580 310 lineto 250 420 lineto 250 500 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_f { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 200 lineto 580 310 lineto 250 420 lineto 250 500 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_G { 375 750 moveto 375 375 375 90 270 arc 700 0 lineto 600 420 lineto 450 250 lineto 375 250 lineto 375 375 125 -90 90 arcn % 700 500 lineto 700 750 lineto closepath fill } bind def /char_g { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 700 0 lineto 600 420 lineto 450 250 lineto 375 250 lineto 375 375 125 -90 90 arcn % 700 500 lineto 700 750 lineto closepath fill } bind def /char_H { 0 0 moveto 250 250 lineto 500 250 lineto 750 0 lineto 750 750 lineto 500 500 lineto 250 500 lineto 0 750 lineto closepath fill } bind def /char_h { 0.8 0.8 scale 0 0 moveto 250 250 lineto 500 250 lineto 750 0 lineto 750 750 lineto 500 500 lineto 250 500 lineto 0 750 lineto closepath fill } bind def /char_I { 0 250 moveto 125 0 lineto 250 250 lineto 250 500 lineto 125 750 lineto 0 500 lineto closepath fill } bind def /char_i { 0.8 0.8 scale 0 250 moveto 125 0 lineto 250 250 lineto 250 500 lineto 125 750 lineto 0 500 lineto closepath fill } bind def /char_J { 0 0 moveto 125 0 lineto 125 375 375 -90 0 arc 400 750 lineto 125 375 125 0 -90 arcn 0 250 lineto closepath fill } bind def /char_j { 0.8 0.8 scale 0 0 moveto 125 0 lineto 125 375 375 -90 0 arc 400 750 lineto 125 375 125 0 -90 arcn 0 250 lineto closepath fill } bind def /char_K { 0 0 moveto 250 300 lineto 750 0 lineto 450 375 lineto 750 750 lineto 250 450 lineto 0 750 lineto 250 450 lineto 0 750 lineto closepath fill } bind def /char_k { 0.8 0.8 scale 0 0 moveto 250 300 lineto 750 0 lineto 450 375 lineto 750 750 lineto 250 450 lineto 0 750 lineto 250 450 lineto 0 750 lineto closepath fill } bind def /char_L { 0 0 moveto 600 0 lineto 600 250 lineto 250 250 lineto 0 750 lineto closepath fill } bind def /char_l { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 250 lineto 250 250 lineto 0 750 lineto closepath fill } bind def /char_M { 0 0 moveto 210 350 lineto 400 0 lineto 590 350 lineto 800 0 lineto 800 750 lineto 400 400 lineto 0 750 lineto closepath fill } bind def /char_m { 0.8 0.8 scale 0 0 moveto 210 350 lineto 400 0 lineto 590 350 lineto 800 0 lineto 800 750 lineto 400 400 lineto 0 750 lineto closepath fill } bind def /char_N { 0 0 moveto 250 350 lineto 700 0 lineto 700 750 lineto 450 400 lineto 0 750 lineto closepath fill } bind def /char_n { 0.8 0.8 scale 0 0 moveto 250 350 lineto 700 0 lineto 700 750 lineto 450 400 lineto 0 750 lineto closepath fill } bind def /char_O { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill } bind def /char_o { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill } bind def /char_P { 0 0 moveto 250 350 lineto 720 350 720 750 250 750 curveto 0 750 lineto 200 460 moveto 200 620 lineto 400 540 lineto 200 460 lineto closepath fill } bind def /char_p { 0.8 0.8 scale 0 0 moveto 250 350 lineto 720 350 720 750 250 750 curveto 0 750 lineto 200 460 moveto 200 620 lineto 400 540 lineto 200 460 lineto closepath fill } bind def /char_Q { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 425 200 moveto 625 0 lineto 750 0 lineto 750 125 lineto 525 325 lineto closepath fill } bind def /char_q { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 425 200 moveto 625 0 lineto 750 0 lineto 750 125 lineto 525 325 lineto closepath fill } bind def /char_R { 0 0 moveto 250 0 lineto 250 200 lineto 700 0 lineto 400 350 lineto 800 350 800 750 400 750 curveto 0 750 lineto 210 460 moveto 210 620 lineto 460 540 lineto 210 460 lineto closepath fill } bind def /char_r { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 200 lineto 700 0 lineto 400 350 lineto 800 350 800 750 400 750 curveto 0 750 lineto 210 460 moveto 210 620 lineto 460 540 lineto 210 460 lineto closepath fill } bind def /char_S { 0 0 moveto 400 0 lineto 400 237.5 237.5 -90 90 arc 250 475 lineto 250 512.5 37.5 270 90 arcn % 650 550 lineto 650 750 lineto 300 750 lineto 250 512.5 237.5 90 270 arc 400 275 lineto 400 237.5 37.5 90 -90 arcn % 0 200 lineto closepath fill } bind def /char_s { 0.8 0.8 scale 0 0 moveto 400 0 lineto 400 237.5 237.5 -90 90 arc 250 475 lineto 250 512.5 37.5 270 90 arcn % 650 550 lineto 650 750 lineto 300 750 lineto 250 512.5 237.5 90 270 arc 400 275 lineto 400 237.5 37.5 90 -90 arcn % 0 200 lineto closepath fill } bind def /char_T { 375 0 moveto 500 500 lineto 750 500 lineto 750 750 lineto 0 750 lineto 0 500 lineto 250 500 lineto closepath fill } bind def /char_t { 0.8 0.8 scale 375 0 moveto 500 500 lineto 750 500 lineto 750 750 lineto 0 750 lineto 0 500 lineto 250 500 lineto closepath fill } bind def /char_U { 100 750 moveto 0 375 lineto 375 375 375 180 360 arc 650 750 lineto 500 375 lineto 375 375 125 360 180 arcn closepath fill } bind def /char_u { 0.8 0.8 scale 100 750 moveto 0 375 lineto 375 375 375 180 360 arc 650 750 lineto 500 375 lineto 375 375 125 360 180 arcn closepath fill } bind def /char_V { 375 0 moveto 750 750 lineto 375 430 lineto 0 750 lineto closepath fill } bind def /char_v { 0.8 0.8 scale 375 0 moveto 750 750 lineto 375 430 lineto 0 750 lineto closepath fill } bind def /char_W { 0 750 moveto 290 420 lineto 400 750 lineto 510 420 lineto 800 750 lineto 600 0 lineto 400 350 lineto 200 0 lineto closepath fill } bind def /char_w { 0.8 0.8 scale 0 750 moveto 290 420 lineto 400 750 lineto 510 420 lineto 800 750 lineto 600 0 lineto 400 350 lineto 200 0 lineto closepath fill } bind def /char_X { 0 0 moveto 250 375 lineto 0 750 lineto 375 600 lineto 750 750 lineto 500 375 lineto 750 0 lineto 375 190 lineto closepath fill } bind def /char_x { 0.8 0.8 scale 0 0 moveto 250 375 lineto 0 750 lineto 375 600 lineto 750 750 lineto 500 375 lineto 750 0 lineto 375 190 lineto closepath fill } bind def /char_Y { 250 0 moveto 500 0 lineto 500 300 lineto 750 750 lineto 375 450 lineto 0 750 lineto 250 300 lineto closepath fill } bind def /char_y { 0.8 0.8 scale 250 0 moveto 500 0 lineto 500 300 lineto 750 750 lineto 375 450 lineto 0 750 lineto 250 300 lineto closepath fill } bind def /char_Z { 0 0 moveto 650 0 lineto 650 250 lineto 420 250 lineto 650 750 lineto 0 750 lineto 0 500 lineto 230 500 lineto closepath fill } bind def /char_z { 0.8 0.8 scale 0 0 moveto 650 0 lineto 650 250 lineto 420 250 lineto 650 750 lineto 0 750 lineto 0 500 lineto 230 500 lineto closepath fill } bind def /USCORE { 0 0 390 90 rectfill } bind def /BAR { 105 0 90 750 rectfill } bind def /Agrave { 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /agrave { 0.8 0.8 scale 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /Aacute { 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /aacute { 0.8 0.8 scale 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /Acirc { 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 150 800 moveto 250 800 lineto 350 890 lineto 450 800 lineto % circ 550 800 lineto 400 950 lineto 300 950 lineto closepath fill } bind def /acirc { 0.8 0.8 scale 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 150 800 moveto 250 800 lineto 350 890 lineto 450 800 lineto % circ 550 800 lineto 400 950 lineto 300 950 lineto closepath fill } bind def /Auml { 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 310 850 moveto 250 850 60 0 360 arc 560 850 moveto 500 850 60 0 360 arc closepath fill } bind def /auml { 0.8 0.8 scale 0 0 moveto 300 180 lineto 450 180 lineto 750 0 lineto 375 750 lineto 310 850 moveto 250 850 60 0 360 arc 560 850 moveto 500 850 60 0 360 arc closepath fill } bind def /Ccedil { 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath 250 100 moveto 200 -30 lineto 300 -80 lineto 200 -150 lineto 350 -150 lineto 450 -80 lineto 320 -20 lineto 400 100 lineto closepath fill } bind def /ccedil { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath 250 100 moveto 200 -30 lineto 300 -80 lineto 200 -150 lineto 350 -150 lineto 450 -80 lineto 320 -20 lineto 400 100 lineto closepath fill } bind def /Egrave { 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /egrave { 0.8 0.8 scale 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /Eacute { 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto 150 800 moveto 280 800 lineto 480 950 lineto 350 950 lineto % acute closepath fill } bind def /eacute { 0.8 0.8 scale 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto 150 800 moveto 280 800 lineto 480 950 lineto 350 950 lineto % acute closepath fill } bind def /Ecirc { 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto 100 800 moveto 200 800 lineto 300 890 lineto 400 800 lineto % circ 500 800 lineto 350 950 lineto 250 950 lineto closepath fill } bind def /ecirc { 0.8 0.8 scale 0 0 moveto 600 0 lineto 250 220 lineto 250 290 lineto 570 375 lineto 250 460 lineto 250 530 lineto 600 750 lineto 0 750 lineto 100 800 moveto 200 800 lineto 300 890 lineto 400 800 lineto % circ 500 800 lineto 350 950 lineto 250 950 lineto closepath fill } bind def /Iacute { 60 250 moveto 185 0 lineto 310 250 lineto 310 500 lineto 185 750 lineto 60 500 lineto 40 800 moveto 170 800 lineto 370 950 lineto 240 950 lineto % acute closepath fill } bind def /iacute { 0.8 0.8 scale 60 250 moveto 185 0 lineto 310 250 lineto 310 500 lineto 185 750 lineto 60 500 lineto 40 800 moveto 170 800 lineto 370 950 lineto 240 950 lineto % acute closepath fill } bind def /Iuml { 60 250 moveto 185 0 lineto 310 250 lineto 310 500 lineto 185 750 lineto 60 500 lineto 140 870 moveto 80 870 60 0 360 arc 350 870 moveto 290 870 60 0 360 arc closepath fill } bind def /iuml { 0.8 0.8 scale 60 250 moveto 185 0 lineto 310 250 lineto 310 500 lineto 185 750 lineto 60 500 lineto 140 870 moveto 80 870 60 0 360 arc 350 870 moveto 290 870 60 0 360 arc closepath fill } bind def /Ntilde { 0 0 moveto 250 350 lineto 700 0 lineto 700 750 lineto 450 400 lineto 0 750 lineto 75 790 moveto 175 790 lineto 275 880 lineto 375 790 lineto % tilde 475 790 lineto 625 940 lineto 525 940 lineto 425 850 lineto 325 940 lineto 225 940 lineto closepath fill } bind def /ntilde { 0.8 0.8 scale 0 0 moveto 250 350 lineto 700 0 lineto 700 750 lineto 450 400 lineto 0 750 lineto 75 790 moveto 175 790 lineto 275 880 lineto 375 790 lineto % tilde 475 790 lineto 625 940 lineto 525 940 lineto 425 850 lineto 325 940 lineto 225 940 lineto closepath fill } bind def /Oacute { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /oacute { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /Ocirc { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 175 790 moveto 275 790 lineto 375 880 lineto 475 790 lineto % circ 575 790 lineto 425 940 lineto 325 940 lineto closepath fill } bind def /ocirc { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 175 790 moveto 275 790 lineto 375 880 lineto 475 790 lineto % circ 575 790 lineto 425 940 lineto 325 940 lineto closepath fill } bind def /Ouml { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 310 855 moveto 250 855 60 0 360 arc 560 855 moveto 500 855 60 0 360 arc closepath fill } bind def /ouml { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 310 855 moveto 250 855 60 0 360 arc 560 855 moveto 500 855 60 0 360 arc closepath fill } bind def /Uacute { 100 750 moveto 0 375 lineto 375 375 375 180 360 arc 650 750 lineto 500 375 lineto 375 375 125 360 180 arcn 290 800 moveto 420 800 lineto 620 950 lineto 490 950 lineto % acute closepath fill } bind def /uacute { 0.8 0.8 scale 100 750 moveto 0 375 lineto 375 375 375 180 360 arc 650 750 lineto 500 375 lineto 375 375 125 360 180 arcn 290 800 moveto 420 800 lineto 620 950 lineto 490 950 lineto % acute closepath fill } bind def /Uuml { 100 750 moveto 0 375 lineto 375 375 375 180 360 arc 650 750 lineto 500 375 lineto 375 375 125 360 180 arcn 310 860 moveto 250 860 60 0 360 arc 560 860 moveto 500 860 60 0 360 arc closepath fill } bind def /uuml { 0.8 0.8 scale 100 750 moveto 0 375 lineto 375 375 375 180 360 arc 650 750 lineto 500 375 lineto 375 375 125 360 180 arcn 310 860 moveto 250 860 60 0 360 arc 560 860 moveto 500 860 60 0 360 arc closepath fill } bind def end /BuildGlyph { % the stack contains : fontdict charname /charname exch def /fontdict exch def fontdict /Metrics get charname get 0 % width fontdict /BBox get charname get aload pop % bounding box setcachedevice fontdict /CharProcs get % get CharProcs dictionary % dup charname known { charname (yup)=} { /.notdef (not)= } ifelse charname get exec % execute character procedure } bind def /BuildChar { % Level 1 compatibility 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def currentdict end /FatSpiky exch definefont pop % XXX % FatBlunt see also ~/log/ps at 20160523 10 dict begin % PLRM2 p.290: "A composite font dictionary should be % large enough to have three additional entries - FID, MIDVector and % CurMID - added to it by definefont" but composite fonts are FontType 0 /FontType 3 def % PLRM p278 % /PaintType 0 def % p278 says this only works for FontType 0 :-( /FontMatrix [ 0.001 0 0 0.001 0 0 ] def % how to parameterise Italicity ? wrap this as a font-generator-function ? % but it's too easy to roll-your-own, see FatBlunt below... /FontBBox [ 0 0 1000 1000 ] def /Encoding 256 array def % trivial encoding vector 0 1 255 { Encoding exch /.notdef put } for Encoding 9 /TAB put Encoding 32 /SPACE put Encoding 33 /EXCLAM put Encoding 34 /QUOTES put Encoding 39 /APOSTR put Encoding 40 /BRAK_L put Encoding 41 /BRAK_R put Encoding 43 /PLUS put Encoding 44 /COMMA put Encoding 45 /MINUS put Encoding 46 /DOT put Encoding 47 /SLASH put Encoding 48 /char_0 put Encoding 49 /char_1 put Encoding 50 /char_2 put Encoding 51 /char_3 put Encoding 52 /char_4 put Encoding 53 /char_5 put Encoding 54 /char_6 put Encoding 55 /char_7 put Encoding 56 /char_8 put Encoding 57 /char_9 put Encoding 58 /COLON put Encoding 59 /SEMICOLON put Encoding 61 /EQUALS put Encoding 63 /QUESTN put Encoding 65 /char_A put Encoding 66 /char_B put Encoding 67 /char_C put Encoding 68 /char_D put Encoding 69 /char_E put Encoding 70 /char_F put Encoding 71 /char_G put Encoding 72 /char_H put Encoding 73 /char_I put Encoding 74 /char_J put Encoding 75 /char_K put Encoding 76 /char_L put Encoding 77 /char_M put Encoding 78 /char_N put Encoding 79 /char_O put Encoding 80 /char_P put Encoding 81 /char_Q put Encoding 82 /char_R put Encoding 83 /char_S put Encoding 84 /char_T put Encoding 85 /char_U put Encoding 86 /char_V put Encoding 87 /char_W put Encoding 88 /char_X put Encoding 89 /char_Y put Encoding 90 /char_Z put Encoding 95 /USCORE put Encoding 97 /char_a put Encoding 98 /char_b put Encoding 99 /char_c put Encoding 100 /char_d put Encoding 101 /char_e put Encoding 102 /char_f put Encoding 103 /char_g put Encoding 104 /char_h put Encoding 105 /char_i put Encoding 106 /char_j put Encoding 107 /char_k put Encoding 108 /char_l put Encoding 109 /char_m put Encoding 110 /char_n put Encoding 111 /char_o put Encoding 112 /char_p put Encoding 113 /char_q put Encoding 114 /char_r put Encoding 115 /char_s put Encoding 116 /char_t put Encoding 117 /char_u put Encoding 118 /char_v put Encoding 119 /char_w put Encoding 120 /char_x put Encoding 121 /char_y put Encoding 122 /char_z put Encoding 124 /BAR put Encoding 192 /Agrave put Encoding 193 /Aacute put Encoding 194 /Acirc put Encoding 196 /Auml put Encoding 199 /Ccedil put Encoding 200 /Egrave put Encoding 201 /Eacute put Encoding 202 /Ecirc put Encoding 205 /Iacute put Encoding 207 /Iuml put Encoding 209 /Ntilde put Encoding 211 /Oacute put Encoding 212 /Ocirc put Encoding 214 /Ouml put Encoding 218 /Uacute put Encoding 220 /Uuml put Encoding 224 /agrave put Encoding 225 /aacute put Encoding 226 /acirc put Encoding 228 /auml put Encoding 231 /ccedil put Encoding 232 /egrave put Encoding 233 /eacute put Encoding 234 /ecirc put Encoding 237 /iacute put Encoding 239 /iuml put Encoding 241 /ntilde put Encoding 243 /oacute put Encoding 244 /ocirc put Encoding 246 /ouml put Encoding 250 /uacute put Encoding 252 /uuml put /Metrics 60 dict def Metrics begin /.notdef 600 def /TAB 800 def /SPACE 400 def /EXCLAM 300 def /QUOTES 320 def /APOSTR 240 def /BRAK_L 450 def /BRAK_R 450 def /PLUS 450 def /COMMA 200 def /MINUS 450 def /DOT 165 def /SLASH 550 def /char_0 550 def /char_1 360 def /char_2 500 def /char_3 500 def /char_4 500 def /char_5 500 def /char_6 500 def /char_7 490 def /char_8 500 def /char_9 500 def /COLON 230 def /SEMICOLON 230 def /EQUALS 450 def /QUESTN 450 def /char_A 800 def /char_a 640 def /char_B 650 def /char_b 520 def /char_C 600 def /char_c 480 def /char_D 550 def /char_d 440 def /char_E 725 def /char_e 580 def /char_F 700 def /char_f 560 def /char_G 800 def /char_g 640 def /char_H 850 def /char_h 680 def /char_I 350 def /char_i 280 def /char_J 600 def /char_j 480 def /char_K 800 def /char_k 640 def /char_L 700 def /char_l 560 def /char_M 900 def /char_m 720 def /char_N 800 def /char_n 640 def /char_O 800 def /char_o 640 def /char_P 650 def /char_p 520 def /char_Q 800 def /char_q 640 def /char_R 750 def /char_r 600 def /char_S 700 def /char_s 560 def /char_T 800 def /char_t 640 def /char_U 850 def /char_u 680 def /char_V 800 def /char_v 640 def /char_W 850 def /char_w 680 def /char_X 800 def /char_x 640 def /char_Y 800 def /char_y 640 def /char_Z 700 def /char_z 560 def /USCORE 450 def /BAR 350 def /Agrave 800 def /agrave 640 def /Aacute 800 def /aacute 640 def /Acirc 800 def /acirc 640 def /Auml 800 def /auml 640 def /Ccedil 600 def /ccedil 480 def /Egrave 725 def /egrave 580 def /Eacute 725 def /eacute 580 def /Ecirc 725 def /ecirc 580 def /Iacute 400 def /iacute 320 def /Iuml 400 def /iuml 320 def /Ntilde 800 def /ntilde 640 def /Oacute 800 def /oacute 640 def /Ocirc 800 def /ocirc 640 def /Ouml 800 def /ouml 640 def /Uacute 850 def /uacute 680 def /Uuml 850 def /uuml 680 def end /BBox 60 dict def BBox begin /.notdef [ 0 0 600 600 ] def /TAB [ 0 0 800 750 ] def /SPACE [ 0 0 400 750 ] def /EXCLAM [ 0 0 250 750 ] def /QUOTES [ 0 0 320 750 ] def /APOSTR [ 0 0 240 750 ] def /BRAK_L [ 0 0 400 750 ] def /BRAK_R [ 0 0 400 750 ] def /PLUS [ 0 0 400 750 ] def /COMMA [ 0 -100 140 325 ] def /MINUS [ 0 0 400 750 ] def /DOT [ 0 0 130 125 ] def /SLASH [ 0 0 500 750 ] def /char_0 [ 0 0 450 750 ] def /char_1 [ 0 0 275 750 ] def /char_2 [ 0 0 450 750 ] def /char_3 [ 0 0 450 750 ] def /char_4 [ 0 0 450 750 ] def /char_5 [ 0 0 450 750 ] def /char_6 [ 0 0 450 750 ] def /char_7 [ 0 0 450 750 ] def /char_8 [ 0 0 450 750 ] def /char_9 [ 0 0 460 750 ] def /COLON [ 0 0 180 450 ] def /SEMICOLON [ 0 -100 140 420 ] def /EQUALS [ 0 0 400 750 ] def /QUESTN [ 0 0 400 750 ] def /char_A [ 0 0 750 750 ] def /char_a [ 0 0 600 600 ] def /char_B [ 0 0 600 750 ] def /char_b [ 0 0 580 600 ] def /char_C [ 0 0 500 750 ] def /char_c [ 0 0 400 600 ] def /char_D [ 0 0 500 750 ] def /char_d [ 0 0 400 600 ] def /char_E [ 0 0 650 750 ] def /char_e [ 0 0 520 600 ] def /char_F [ 0 0 600 750 ] def /char_f [ 0 0 480 600 ] def /char_G [ 0 0 700 750 ] def /char_g [ 0 0 560 600 ] def /char_H [ 0 0 750 750 ] def /char_h [ 0 0 600 600 ] def /char_I [ 0 0 250 750 ] def /char_i [ 0 0 200 600 ] def /char_J [ 0 0 500 750 ] def /char_j [ 0 0 400 600 ] def /char_K [ 0 0 750 750 ] def /char_k [ 0 0 600 600 ] def /char_L [ 0 0 600 750 ] def /char_l [ 0 0 480 600 ] def /char_M [ 0 0 800 750 ] def /char_m [ 0 0 640 600 ] def /char_N [ 0 0 700 750 ] def /char_n [ 0 0 560 600 ] def /char_O [ 0 0 750 750 ] def /char_o [ 0 0 600 600 ] def /char_P [ 0 0 600 750 ] def /char_p [ 0 0 480 600 ] def /char_Q [ 0 0 750 750 ] def /char_q [ 0 0 600 600 ] def /char_R [ 0 0 700 750 ] def /char_r [ 0 0 560 600 ] def /char_S [ 0 0 700 750 ] def /char_s [ 0 0 560 600 ] def /char_T [ 0 0 750 750 ] def /char_t [ 0 0 600 600 ] def /char_U [ 0 0 750 750 ] def /char_u [ 0 0 600 600 ] def /char_V [ 0 0 750 750 ] def /char_v [ 0 0 600 600 ] def /char_W [ 0 0 800 750 ] def /char_w [ 0 0 640 600 ] def /char_X [ 0 0 750 750 ] def /char_x [ 0 0 600 600 ] def /char_Y [ 0 0 750 750 ] def /char_y [ 0 0 600 600 ] def /char_Z [ 0 0 650 750 ] def /char_z [ 0 0 520 600 ] def /USCORE [ 0 0 400 750 ] def /BAR [ 0 0 300 750 ] def /Agrave [ 0 0 750 950 ] def /agrave [ 0 0 600 760 ] def /Aacute [ 0 0 750 950 ] def /aacute [ 0 0 600 760 ] def /Acirc [ 0 0 750 950 ] def /acirc [ 0 0 600 760 ] def /Auml [ 0 0 750 950 ] def /auml [ 0 0 600 760 ] def /Ccedil [ 0 -150 500 1100 ] def /ccedil [ 0 -120 400 880 ] def /Egrave [ 0 0 650 950 ] def /egrave [ 0 0 520 760 ] def /Eacute [ 0 0 650 950 ] def /eacute [ 0 0 520 760 ] def /Ecirc [ 0 0 650 950 ] def /ecirc [ 0 0 520 760 ] def /Iacute [ 0 0 370 950 ] def /iacute [ 0 0 296 760 ] def /Iuml [ 0 0 370 950 ] def /iuml [ 0 0 296 760 ] def /Ntilde [ 0 0 700 950 ] def /ntilde [ 0 0 560 760 ] def /Oacute [ 0 0 750 950 ] def /oacute [ 0 0 600 760 ] def /Ocirc [ 0 0 750 950 ] def /ocirc [ 0 0 600 760 ] def /Ouml [ 0 0 750 950 ] def /ouml [ 0 0 600 760 ] def /Uacute [ 0 0 750 950 ] def /uacute [ 0 0 600 760 ] def /Uuml [ 0 0 750 950 ] def /uuml [ 0 0 600 760 ] def end /CharProcs 60 dict def CharProcs begin % individual character definitions /.notdef { 300 300 250 0 360 arc fill } def /TAB { } bind def /SPACE { } bind def /EXCLAM { 125 80 80 0 360 arc 85 240 moveto 125 240 40 180 360 arc 225 400 225 450 225 750 curveto 25 750 lineto 25 450 25 400 85 240 curveto closepath fill } bind def /QUOTES { 70 690 60 0 260 arc 60 590 60 580 5 530 curveto 125 560 125 590 130 690 curveto 265 690 moveto 205 690 60 0 260 arc 195 590 195 580 140 530 curveto 260 560 260 590 265 690 curveto closepath fill } bind def /APOSTR { 65 690 60 0 260 arc 55 590 55 580 0 530 curveto 120 560 120 590 125 690 curveto closepath fill } bind def /BRAK_L { 300 0 moveto 400 0 lineto 250 75 150 250 150 375 curveto 150 475 200 675 400 750 curveto 300 750 lineto 100 675 0 475 0 375 curveto 0 250 100 75 300 0 curveto closepath fill } bind def /BRAK_R { 100 0 moveto 0 0 lineto 150 75 250 250 250 375 curveto 250 475 200 675 0 750 curveto 100 750 lineto 300 675 400 475 400 375 curveto 400 250 300 75 100 0 curveto closepath fill } bind def /PLUS { 0 330 400 90 rectfill 155 175 90 400 rectfill } bind def /COMMA { 65 60 60 0 260 arc 55 -40 55 -50 0 -100 curveto 120 -70 120 -40 125 60 curveto closepath fill } bind def /MINUS { 0 330 380 90 rectfill } bind def /DOT { 65 60 60 0 360 arc fill } def /SLASH { 0 0 moveto 150 0 lineto 500 600 lineto 500 750 lineto 350 750 lineto 0 150 lineto closepath fill } bind def /char_0 { 0 375 moveto 0 0 0 0 225 0 curveto 450 0 450 0 450 375 curveto 450 750 450 750 225 750 curveto 0 750 0 750 0 375 curveto closepath 150 375 moveto 150 600 150 600 225 600 curveto 300 600 300 600 300 375 curveto 300 150 300 150 225 150 curveto 150 150 150 150 150 375 curveto closepath fill } bind def /char_1 { 0 500 moveto 100 500 lineto 100 0 lineto 275 0 lineto 275 750 lineto 140 750 lineto closepath fill } bind def /char_2 { 0 0 moveto 450 0 lineto 450 150 lineto 200 150 lineto 450 400 450 450 450 525 curveto 225 525 225 0 90 arc 0 750 lineto 0 600 lineto 225 600 lineto 225 525 75 90 0 arcn 300 450 300 450 0 150 curveto closepath fill } bind def /char_3 { 0 0 moveto 225 0 lineto 225 225 225 -90 90 arc 250 450 lineto 450 650 lineto 450 750 lineto 0 750 lineto 0 600 lineto 225 600 lineto 0 420 lineto 0 340 lineto 225 340 lineto 225 245 95 90 -90 arcn 0 150 lineto closepath fill } bind def /char_4 { 260 0 moveto 400 0 lineto 400 150 lineto 450 150 lineto 450 300 lineto 400 300 lineto 400 750 lineto 260 750 lineto 0 150 lineto 260 150 lineto closepath 260 300 moveto 180 300 lineto 260 450 lineto closepath fill } bind def /char_5 { 0 0 moveto 212.5 0 lineto 212.5 237.5 237.5 -90 90 arc 150 475 lineto 150 600 lineto 450 600 lineto 450 750 lineto 0 750 lineto 0 350 lineto 212.5 350 lineto 212.5 250 100 90 -90 arcn 0 150 lineto closepath fill } bind def /char_6 { 225 225 225 0 360 arc 225 225 85 360 0 arcn closepath 0 225 moveto 140 225 lineto 140 400 140 450 450 750 curveto 250 750 lineto 0 460 0 410 0 225 curveto closepath fill } bind def /char_7 { 0 0 moveto 170 0 lineto 450 675 lineto 450 750 lineto 0 750 lineto 0 550 lineto 220 550 lineto closepath fill } bind def /char_8 { 225 225 225 0 360 arc 225 225 85 360 0 arcn 375 525 moveto 225 525 225 0 360 arc 225 525 85 360 0 arcn closepath fill } bind def /char_9 { 225 525 225 0 360 arc 225 525 85 360 0 arcn closepath 450 525 moveto 310 525 lineto 310 350 310 300 0 0 curveto 200 0 lineto 450 290 450 340 450 525 curveto closepath fill } bind def /COLON { 100 110 65 0 360 arc 160 350 moveto 100 350 65 0 360 arc fill } def /SEMICOLON { 65 60 60 0 260 arc 55 -40 55 -50 0 -100 curveto 120 -70 120 -40 125 60 curveto closepath 135 280 moveto 65 280 60 0 360 arc fill } bind def /EQUALS { 0 240 400 90 rectfill 0 420 400 90 rectfill } bind def /QUESTN { 160 75 75 0 360 arc fill 150 setlinewidth 160 180 moveto 160 382 lineto 300 382 325 485 325 530 curveto 325 640 260 675 160 675 curveto 0 675 lineto stroke } bind def /char_A { 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto closepath fill } bind def /char_a { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto closepath fill } bind def /char_B { 0 0 moveto 250 0 lineto 720 0 720 375 275 375 curveto 720 375 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_b { 0.8 0.8 scale 0 0 moveto 250 0 lineto 720 0 720 375 275 375 curveto 720 375 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_C { 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath fill } bind def /char_c { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath fill } bind def /char_D { 0 0 moveto 125 0 lineto 125 375 375 -90 90 arc 0 750 lineto closepath fill } bind def /char_d { 0.8 0.8 scale 0 0 moveto 125 0 lineto 125 375 375 -90 90 arc 0 750 lineto closepath fill } bind def /char_E { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto % closepath 250 375 moveto 550 250 lineto 550 500 lineto NOT BAD closepath fill } bind def /char_e { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_F { 0 0 moveto 250 0 lineto % 250 500 lineto 600 500 lineto 600 750 lineto 0 750 lineto closepath % 250 375 moveto 550 250 lineto 550 500 lineto % NOT BAD. a bit flashy 250 200 lineto 550 200 lineto 550 400 lineto 250 400 lineto 250 500 lineto 600 500 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_f { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 200 lineto 550 200 lineto 550 400 lineto 250 400 lineto 250 500 lineto 600 500 lineto 600 750 lineto 0 750 lineto closepath fill } bind def /char_G { 375 750 moveto 375 375 375 90 270 arc 700 0 lineto 700 420 lineto 450 420 lineto 450 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 700 500 lineto 700 750 lineto closepath fill } bind def /char_g { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 700 0 lineto 700 420 lineto 450 420 lineto 450 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 700 500 lineto 700 750 lineto closepath fill } bind def /char_H { 0 0 moveto 250 0 lineto 250 250 lineto 500 250 lineto 500 0 lineto 750 0 lineto 750 750 lineto 500 750 lineto 500 500 lineto 250 500 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_h { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 250 lineto 500 250 lineto 500 0 lineto 750 0 lineto 750 750 lineto 500 750 lineto 500 500 lineto 250 500 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_I { 0 0 moveto 250 0 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_i { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_J { 0 0 moveto 125 0 lineto 125 375 375 -90 0 arc 500 750 lineto 250 750 lineto 250 750 lineto 125 375 125 0 -90 arcn 0 250 lineto closepath fill } bind def /char_j { 0.8 0.8 scale 0 0 moveto 125 0 lineto 125 375 375 -90 0 arc 500 750 lineto 250 750 lineto 250 750 lineto 125 375 125 0 -90 arcn 0 250 lineto closepath fill } bind def /char_K { 0 0 moveto 250 0 lineto 250 300 lineto 500 0 lineto 750 0 lineto 450 375 lineto 750 750 lineto 500 750 lineto 250 450 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_k { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 300 lineto 500 0 lineto 750 0 lineto 450 375 lineto 750 750 lineto 500 750 lineto 250 450 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_L { 0 0 moveto 600 0 lineto 600 250 lineto 250 250 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_l { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 250 lineto 250 250 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_M { 0 0 moveto 210 0 lineto 210 350 lineto 330 0 lineto 470 0 lineto 590 350 lineto 590 0 lineto 800 0 lineto 800 750 lineto 600 750 lineto 400 350 lineto 200 750 lineto 0 750 lineto closepath fill } bind def /char_m { 0.8 0.8 scale 0 0 moveto 210 0 lineto 210 350 lineto 330 0 lineto 470 0 lineto 590 350 lineto 590 0 lineto 800 0 lineto 800 750 lineto 600 750 lineto 400 350 lineto 200 750 lineto 0 750 lineto closepath fill } bind def /char_N { 0 0 moveto 250 0 lineto 250 350 lineto 500 0 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 200 750 lineto 0 750 lineto closepath fill } bind def /char_n { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 500 0 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 200 750 lineto 0 750 lineto closepath fill } bind def /char_O { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill } bind def /char_o { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill } bind def /char_P { 0 0 moveto 250 0 lineto 250 350 lineto 720 350 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_p { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 720 350 720 750 250 750 curveto 0 750 lineto closepath fill } bind def /char_Q { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 425 200 moveto 625 0 lineto 750 0 lineto 750 125 lineto 525 325 lineto closepath fill } bind def /char_q { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 425 200 moveto 625 0 lineto 750 0 lineto 750 125 lineto 525 325 lineto closepath fill } bind def /char_R { 0 0 moveto 250 0 lineto 250 200 lineto 450 0 lineto 700 0 lineto 400 350 lineto 800 350 800 750 400 750 curveto 0 750 lineto closepath fill } bind def /char_r { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 200 lineto 450 0 lineto 700 0 lineto 400 350 lineto 800 350 800 750 400 750 curveto 0 750 lineto closepath fill } bind def /char_S { 0 0 moveto 400 0 lineto 400 237.5 237.5 -90 90 arc 250 475 lineto 250 512.5 37.5 270 90 arcn 650 550 lineto 650 750 lineto 300 750 lineto 250 512.5 237.5 90 270 arc 400 275 lineto 400 237.5 37.5 90 -90 arcn 0 200 lineto closepath fill } bind def /char_s { 0.8 0.8 scale 0 0 moveto 400 0 lineto 400 237.5 237.5 -90 90 arc 250 475 lineto 250 512.5 37.5 270 90 arcn 650 550 lineto 650 750 lineto 300 750 lineto 250 512.5 237.5 90 270 arc 400 275 lineto 400 237.5 37.5 90 -90 arcn 0 200 lineto closepath fill } bind def /char_T { 250 0 moveto 500 0 lineto 500 500 lineto 750 500 lineto 750 750 lineto 0 750 lineto 0 500 lineto 250 500 lineto closepath fill } bind def /char_t { 0.8 0.8 scale 250 0 moveto 500 0 lineto 500 500 lineto 750 500 lineto 750 750 lineto 0 750 lineto 0 500 lineto 250 500 lineto closepath fill } bind def /char_U { 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto closepath fill } bind def /char_u { 0.8 0.8 scale 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto closepath fill } bind def /char_V { 250 0 moveto 500 0 lineto 750 750 lineto 500 750 lineto 375 350 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_v { 0.8 0.8 scale 250 0 moveto 500 0 lineto 750 750 lineto 500 750 lineto 375 350 lineto 250 750 lineto 0 750 lineto closepath fill } bind def /char_W { 0 750 moveto 225 750 lineto 250 400 lineto 400 750 lineto 550 400 lineto 575 750 lineto 800 750 lineto 700 0 lineto 500 0 lineto 400 350 lineto 300 0 lineto 100 0 lineto closepath fill } bind def /char_w { 0.8 0.8 scale 0 750 moveto 225 750 lineto 250 400 lineto 400 750 lineto 550 400 lineto 575 750 lineto 800 750 lineto 700 0 lineto 500 0 lineto 400 350 lineto 300 0 lineto 100 0 lineto closepath fill } bind def /char_X { 0 0 moveto 250 0 lineto 750 750 lineto 500 750 lineto closepath 250 750 moveto 0 750 lineto 500 0 lineto 750 0 lineto closepath fill } bind def /char_x { 0.8 0.8 scale 0 0 moveto 250 0 lineto 750 750 lineto 500 750 lineto closepath 250 750 moveto 0 750 lineto 500 0 lineto 750 0 lineto closepath fill } bind def /char_Y { 250 0 moveto 500 0 lineto 500 300 lineto 750 750 lineto 500 750 lineto 375 450 lineto 250 750 lineto 0 750 lineto 250 300 lineto closepath fill } bind def /char_y { 0.8 0.8 scale 250 0 moveto 500 0 lineto 500 300 lineto 750 750 lineto 500 750 lineto 375 450 lineto 250 750 lineto 0 750 lineto 250 300 lineto closepath fill } bind def /char_Z { 0 0 moveto 650 0 lineto 650 250 lineto 420 250 lineto 650 750 lineto 0 750 lineto 0 500 lineto 230 500 lineto closepath fill } bind def /char_z { 0.8 0.8 scale 0 0 moveto 650 0 lineto 650 250 lineto 420 250 lineto 650 750 lineto 0 750 lineto 0 500 lineto 230 500 lineto closepath fill } bind def /USCORE { 0 0 390 90 rectfill } bind def /BAR { 105 0 90 750 rectfill } bind def % FatBlunt /Agrave { 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /agrave { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /Aacute { 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /aacute { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /Acirc { 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 150 800 moveto 250 800 lineto 350 890 lineto 450 800 lineto % circ 550 800 lineto 400 950 lineto 300 950 lineto closepath fill } bind def /acirc { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 100 lineto 450 100 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 150 800 moveto 250 800 lineto 350 890 lineto 450 800 lineto % circ 550 800 lineto 400 950 lineto 300 950 lineto closepath fill } bind def /Auml { 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 310 850 moveto 250 850 60 0 360 arc 560 850 moveto 500 850 60 0 360 arc closepath fill } bind def /auml { 0.8 0.8 scale 0 0 moveto 250 0 lineto 300 90 lineto 450 90 lineto 500 0 lineto 750 0 lineto 460 750 lineto 290 750 lineto 310 850 moveto 250 850 60 0 360 arc 560 850 moveto 500 850 60 0 360 arc closepath fill } bind def /Ccedil { 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath 250 100 moveto 200 -30 lineto 300 -80 lineto 200 -150 lineto 350 -150 lineto 450 -80 lineto 320 -20 lineto 400 100 lineto closepath fill } bind def /ccedil { 0.8 0.8 scale 375 750 moveto 375 375 375 90 270 arc 500 0 lineto 500 250 lineto 375 250 lineto 375 375 125 -90 90 arcn 500 500 lineto 500 750 lineto closepath 250 100 moveto 200 -30 lineto 300 -80 lineto 200 -150 lineto 350 -150 lineto 450 -80 lineto 320 -20 lineto 400 100 lineto closepath fill } bind def /Egrave { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /egrave { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 120 950 moveto 320 800 lineto 450 800 lineto 250 950 lineto % grave closepath fill } bind def /Eacute { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 150 800 moveto 280 800 lineto 480 950 lineto 350 950 lineto % acute closepath fill } bind def /eacute { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 150 800 moveto 280 800 lineto 480 950 lineto 350 950 lineto % acute closepath fill } bind def /Ecirc { 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 100 800 moveto 200 800 lineto 300 890 lineto 400 800 lineto % circ 500 800 lineto 350 950 lineto 250 950 lineto closepath fill } bind def /ecirc { 0.8 0.8 scale 0 0 moveto 600 0 lineto 600 240 lineto 250 225 lineto 250 300 lineto 500 300 lineto 500 450 lineto 250 450 lineto 250 525 lineto 600 510 lineto 600 750 lineto 0 750 lineto 100 800 moveto 200 800 lineto 300 890 lineto 400 800 lineto % circ 500 800 lineto 350 950 lineto 250 950 lineto closepath fill } bind def /Iacute { 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 40 800 moveto 170 800 lineto 370 950 lineto 240 950 lineto % acute closepath fill } bind def /iacute { 0.8 0.8 scale 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 40 800 moveto 170 800 lineto 370 950 lineto 240 950 lineto % acute closepath fill } bind def /Iuml { 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 120 870 moveto 60 870 60 0 360 arc 370 870 moveto 310 870 60 0 360 arc closepath fill } bind def /iuml { 0.8 0.8 scale 60 0 moveto 310 0 lineto 310 750 lineto 60 750 lineto 120 870 moveto 60 870 60 0 360 arc 370 870 moveto 310 870 60 0 360 arc closepath fill } bind def /Ntilde { 0 0 moveto 250 0 lineto 250 350 lineto 500 0 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 200 750 lineto 0 750 lineto 75 790 moveto 175 790 lineto 275 880 lineto 375 790 lineto % tilde 475 790 lineto 625 940 lineto 525 940 lineto 425 850 lineto 325 940 lineto 225 940 lineto closepath fill } bind def /ntilde { 0.8 0.8 scale 0 0 moveto 250 0 lineto 250 350 lineto 500 0 lineto 700 0 lineto 700 750 lineto 450 750 lineto 450 400 lineto 200 750 lineto 0 750 lineto 75 790 moveto 175 790 lineto 275 880 lineto 375 790 lineto % tilde 475 790 lineto 625 940 lineto 525 940 lineto 425 850 lineto 325 940 lineto 225 940 lineto closepath fill } bind def /Oacute { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /oacute { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 270 800 moveto 400 800 lineto 600 950 lineto 470 950 lineto % acute closepath fill } bind def /Ocirc { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 175 790 moveto 275 790 lineto 375 880 lineto 475 790 lineto % circ 575 790 lineto 425 940 lineto 325 940 lineto closepath fill } bind def /ocirc { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 175 790 moveto 275 790 lineto 375 880 lineto 475 790 lineto % circ 575 790 lineto 425 940 lineto 325 940 lineto closepath fill } bind def /Ouml { 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 310 855 moveto 250 855 60 0 360 arc 560 855 moveto 500 855 60 0 360 arc closepath fill } bind def /ouml { 0.8 0.8 scale 375 375 375 0 360 arc 375 375 125 0 360 arc eofill 310 855 moveto 250 855 60 0 360 arc 560 855 moveto 500 855 60 0 360 arc closepath fill } bind def /Uacute { 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 290 800 moveto 420 800 lineto 620 950 lineto 490 950 lineto % acute closepath fill } bind def /uacute { 0.8 0.8 scale 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 290 800 moveto 420 800 lineto 620 950 lineto 490 950 lineto % acute closepath fill } bind def /Uuml { 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 310 860 moveto 250 860 60 0 360 arc 560 860 moveto 500 860 60 0 360 arc closepath fill } bind def /uuml { 0.8 0.8 scale 0 750 moveto 0 375 lineto 375 375 375 180 360 arc 750 750 lineto 500 750 lineto 500 375 lineto 375 375 125 360 180 arcn 250 750 lineto 310 860 moveto 250 860 60 0 360 arc 560 860 moveto 500 860 60 0 360 arc closepath fill } bind def end /BuildGlyph { % the stack contains : fontdict charname /charname exch def /fontdict exch def fontdict /Metrics get charname get 0 % width fontdict /BBox get charname get aload pop % bounding box setcachedevice fontdict /CharProcs get % get CharProcs dictionary % dup charname known { charname (yup)=} { /.notdef (not)= } ifelse charname get exec % execute character procedure } bind def /BuildChar { % Level 1 compatibility 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def currentdict end /FatBlunt exch definefont pop /FatBlunt findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /FontMatrix [ 0.001 0 0.0008 0.001 0 0 ] def currentdict end /FatBluntItalic exch definefont pop % can I use currentrgbcolor within the /CharProcs dict to % get the rgb for a shaded edge to the letter, for a 3D effect ? % currentrgbcolor % modelled on rgbmix with w1==w2==0.5 % 2 exp 0.5 mul 3 1 roll 2 exp 0.5 mul 3 1 roll 2 exp 0.5 mul 3 1 roll % setrgbcolor % Imperial Aramaic U+1084x U+1085x U+10840 ... U+1085F % https://en.wikipedia.org/wiki/Imperial_Aramaic#Unicode % ~/ps/fonts/U10840.pdf % XXX Runic % Runic see also ~/log/ps at 20160523 % Unicode U+16A0 – U+16FF https://www.unicode.org/charts/PDF/U16A0.pdf % https://en.wikipedia.org/wiki/Runic_(Unicode_block)#Characters % https://en.wikipedia.org/wiki/Runes#Elder_Futhark_(2nd_to_8th_centuries) % note C V X Y are missing, and ï(ae) ng thorn are encoded by 1 2 3 10 dict begin % PLRM2 p.290: "A composite font dictionary should be % large enough to have three additional entries - FID, MIDVector and % CurMID - added to it by definefont" but composite fonts are FontType 0 /FontType 3 def % PLRM p278 /FontMatrix [ 0.001 0 0 0.001 0 0 ] def /FontBBox [ 0 0 1000 1000 ] def /Encoding 256 array def % trivial encoding vector 0 1 255 { Encoding exch /.notdef put } for Encoding 32 /SPACE put Encoding 49 /char_ae put Encoding 50 /char_ng put Encoding 51 /char_th put Encoding 65 /char_a put Encoding 66 /char_b put Encoding 67 /char_c put Encoding 68 /char_d put Encoding 69 /char_e put Encoding 70 /char_f put Encoding 71 /char_g put Encoding 72 /char_h put Encoding 73 /char_i put Encoding 74 /char_j put Encoding 75 /char_k put Encoding 76 /char_l put Encoding 77 /char_m put Encoding 78 /char_n put Encoding 79 /char_o put Encoding 80 /char_p put Encoding 81 /char_q put Encoding 82 /char_r put Encoding 83 /char_s put Encoding 84 /char_t put Encoding 85 /char_u put Encoding 86 /char_v put Encoding 87 /char_w put Encoding 88 /char_x put Encoding 89 /char_y put Encoding 90 /char_z put Encoding 97 /char_a put Encoding 98 /char_b put Encoding 99 /char_c put Encoding 100 /char_d put Encoding 101 /char_e put Encoding 102 /char_f put Encoding 103 /char_g put Encoding 104 /char_h put Encoding 105 /char_i put Encoding 106 /char_j put Encoding 107 /char_k put Encoding 108 /char_l put Encoding 109 /char_m put Encoding 110 /char_n put Encoding 111 /char_o put Encoding 112 /char_p put Encoding 113 /char_q put Encoding 114 /char_r put Encoding 115 /char_s put Encoding 116 /char_t put Encoding 117 /char_u put Encoding 118 /char_v put Encoding 119 /char_w put Encoding 120 /char_x put Encoding 121 /char_y put Encoding 122 /char_z put /Metrics 60 dict def Metrics begin /.notdef 600 def /SPACE 400 def /char_ae 500 def /char_ng 500 def /char_th 470 def /char_a 375 def /char_b 380 def /char_c 400 def /char_d 570 def /char_e 600 def /char_f 350 def /char_g 535 def /char_h 600 def /char_i 200 def /char_j 540 def /char_k 550 def /char_l 440 def /char_m 570 def /char_n 430 def /char_o 600 def /char_p 360 def /char_q 350 def /char_r 480 def /char_s 400 def /char_t 500 def /char_u 500 def /char_v 640 def /char_w 385 def /char_x 640 def /char_y 640 def /char_z 500 def end /BBox 60 dict def BBox begin /.notdef [ 0 0 600 800 ] def /SPACE [ 0 0 400 800 ] def /char_ae [ 0 0 500 800 ] def /char_ng [ 0 0 500 800 ] def /char_th [ 0 0 470 800 ] def /char_a [ 0 0 375 800 ] def /char_b [ 0 0 380 800 ] def /char_c [ 0 0 400 800 ] def /char_d [ 0 0 600 800 ] def /char_e [ 0 0 600 800 ] def /char_f [ 0 0 470 800 ] def /char_g [ 0 0 500 800 ] def /char_h [ 0 0 600 800 ] def /char_i [ 0 0 200 800 ] def /char_j [ 0 0 540 800 ] def /char_k [ 0 0 550 800 ] def /char_l [ 0 0 440 800 ] def /char_m [ 0 0 570 800 ] def /char_n [ 0 0 430 800 ] def /char_o [ 0 0 600 800 ] def /char_p [ 0 0 360 800 ] def /char_q [ 0 0 350 800 ] def /char_r [ 0 0 480 800 ] def /char_s [ 0 0 400 800 ] def /char_t [ 0 0 500 800 ] def /char_u [ 0 0 500 800 ] def /char_v [ 0 0 640 800 ] def /char_w [ 0 0 385 800 ] def /char_x [ 0 0 640 800 ] def /char_y [ 0 0 640 800 ] def /char_z [ 0 0 500 800 ] def end /CharProcs 60 dict def CharProcs begin % individual character definitions /.notdef { 300 300 250 0 360 arc fill } def /SPACE { } bind def /char_ae { 30 setlinewidth 15 150 moveto 185 10 lineto 185 790 lineto 355 650 lineto stroke } bind def /char_ng { 30 setlinewidth 15 100 moveto 300 400 lineto 15 700 lineto stroke 300 100 moveto 15 400 lineto 300 700 lineto stroke } bind def /char_th { 30 setlinewidth 15 10 moveto 15 790 lineto stroke 15 590 moveto 250 400 lineto 15 220 lineto stroke } bind def /char_a { 30 setlinewidth 15 10 moveto 15 790 lineto 215 590 lineto stroke 15 540 moveto 215 340 lineto stroke } bind def /char_b { 30 setlinewidth 15 10 moveto 15 790 lineto 210 595 lineto 20 400 lineto 210 205 lineto 15 10 lineto stroke } bind def /char_c { } bind def /char_d { 30 setlinewidth 15 10 moveto 15 790 lineto 400 10 lineto 400 790 lineto 15 10 lineto stroke } bind def /char_e { 30 setlinewidth 15 10 moveto 15 790 lineto 207 500 lineto 400 790 lineto 400 10 lineto stroke } bind def /char_f { 30 setlinewidth 15 10 moveto 15 790 lineto stroke 15 570 moveto 215 790 lineto stroke 15 340 moveto 215 550 lineto stroke } bind def /char_g { 30 setlinewidth 15 10 moveto 400 790 lineto stroke 15 790 moveto 400 15 lineto stroke } bind def /char_h { 30 setlinewidth 15 10 moveto 15 790 lineto stroke 400 790 moveto 400 10 lineto stroke 15 540 moveto 400 265 lineto stroke } bind def /char_i { 30 setlinewidth 15 10 moveto 15 790 lineto stroke } bind def /char_j { 30 setlinewidth 197 710 moveto 15 500 lineto 197 290 lineto stroke 197 85 moveto 400 255 lineto 197 500 lineto stroke } bind def /char_k { 30 setlinewidth 400 780 moveto 15 403 lineto 400 25 lineto stroke } bind def /char_l { 30 setlinewidth 15 10 moveto 15 790 lineto 235 570 lineto stroke } bind def /char_m { 30 setlinewidth 15 10 moveto 15 790 lineto 400 450 lineto stroke 400 10 moveto 400 790 lineto 15 450 lineto stroke } bind def /char_n { 30 setlinewidth 150 10 moveto 150 790 lineto stroke 15 520 moveto 285 420 lineto stroke } bind def /char_o { 30 setlinewidth 15 50 moveto 400 520 lineto 207 770 lineto stroke 400 50 moveto 15 520 lineto 207 770 lineto stroke } bind def /char_p { 30 setlinewidth 220 10 moveto 137 80 lineto 15 10 lineto 15 790 lineto 137 720 lineto 220 790 lineto stroke } bind def /char_q { } bind def /char_r { 30 setlinewidth 15 10 moveto 15 790 lineto 300 540 lineto 90 390 lineto 300 10 lineto stroke } bind def /char_s { 30 setlinewidth 20 740 moveto 20 340 lineto 235 460 lineto 250 50 lineto stroke } bind def /char_t { 30 setlinewidth 15 650 moveto 185 790 lineto 185 10 lineto stroke 185 790 moveto 355 650 lineto stroke } bind def /char_u { 30 setlinewidth 15 10 moveto 15 790 lineto 350 10 lineto stroke } bind def /char_v { } bind def /char_w { 30 setlinewidth 15 10 moveto 15 790 lineto 235 570 lineto 15 390 lineto stroke } bind def /char_x { } bind def /char_y { } bind def /char_z { 30 setlinewidth 185 10 moveto 185 790 lineto stroke 10 790 moveto 185 610 lineto 360 790 lineto stroke } bind def end /BuildGlyph { % the stack contains : fontdict charname /charname exch def /fontdict exch def fontdict /Metrics get charname get 0 % width fontdict /BBox get charname get aload pop % bounding box setcachedevice fontdict /CharProcs get % get CharProcs dictionary % dup charname known { charname (yup)=} { /.notdef (not)= } ifelse charname get exec % execute character procedure } bind def /BuildChar { % Level 1 compatibility 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def currentdict end /Runic exch definefont pop