[comp.fonts] Needed: IBM extended character set font for Mac

mouser@portia.Stanford.EDU (Michael Wang) (09/10/90)

Does anybody know where I could FTP a PostScript font of the IBM (MS-DOS)
extended character set for the Macintosh? I'm doing some MS-DOS
documentation on my Mac and I would like to include some scree dumps.
I would prefer a PostScipt font, but I good bitmapped font would be
acceptable. I've already checked the SUMEX and SIMTEL20 archives but
they don't seem to have want I'm looking for.

Thanks for any info!


Michael Wang
mouser@portia.stanford.edu

bhall@pbs.org (Dark Star) (09/11/90)

In article <1990Sep9.195641.25462@portia.Stanford.EDU>, mouser@portia.Stanford.EDU (Michael Wang) writes:
> Does anybody know where I could FTP a PostScript font of the IBM (MS-DOS)
> extended character set for the Macintosh? 

Here is a PostScript font that I got off the net a while back.  There is
no screen version so it could be a little tricky to use it directly in a
Mac word processor.  I remember seeing a commercial product a while back
but don't remember any details.

--
Bruce Hall                     Domain: bhall@pbs.org
Public Broadcasting Service    UUCP:...{uupsi,vrdxhq,csed-1,ida.org}!pbs!bhall
                               Phone: 703/739-5048
"Experience is the name everyone gives to their mistakes" - Oscar Wilde

------------------------------Cut Here---------------------------------------
%Subject: IBM PC Extended Font Definition (long)
%Message-ID: <1352@ernest.ti.com>
%From: alan@ernest.ti.com (Alan Edmonds)
%
%The following PS file will allow you to print the IBM PC extended (screen)
%ASCII characters.  You still have to convert the ASCII to postscript
%before printing.  Thanks to Tim Clark for the basic IBM PC extended 
%character set definition and Tony Field for his ASCII->PS filter; psf.
%
%Have fun!
%
%!PS-Adobe-
%
% IBMextended font definition
% Defines the characters in the IBM-PC extended character set, not
% found elsewhere in Adobe fonts
% Produced by Tim Clark, Computing Services, University of Warwick UK
%             (T.Clark@warwick.ac.uk)
% No restrictions are placed on the use of this information
%
% Modifications by Alan Edmonds (alan@ernest.ti.com) on 10 Feb 90.
%
% I moved the character positions into the "right" positions.
% I added the definition of Courier font characters for the "standard"
% ASCII characters.
% To use this, send the following to the printer:
% <this file>
% /IBMextended findfont 10 scalefont setfont
% <ASCII to postscript output, I use "psf" from Tony Field (tony@ajfcal)>
% Note: with psf you have to edit the output and change the font select from
% Courier to IBMextended.

/newfont 60 dict def
newfont begin

/FontType 3 def
/FontMatrix [.001 0 0 .001 0 0] def
/FontBBox [0 -200 600 800] def

/Encoding 256 array def
0 1 255 {Encoding exch /.notdef put} for

Encoding 1 /wsmiley put
Encoding 2 /bsmiley put

Encoding 8 /whitedot put
Encoding 9 /circle put
Encoding 10 /whitecircle put
Encoding 11 /mars put
Encoding 12 /venus put
Encoding 13 /quaver put
Encoding 14 /doublequaver put

Encoding 16 /rarrowhead put
Encoding 17 /larrowhead put
Encoding 18 /updowna put
Encoding 19 /exclamdbl put
Encoding 22 /bar put
Encoding 23 /updownua put
Encoding 28 /lblcorn put

Encoding 30 /uarrowhead put
Encoding 31 /darrowhead put

Encoding 158 /Psubt put
Encoding 169 /ltlcorn put
Encoding 170 /ltrcorn put
Encoding 171 /half put
Encoding 172 /quarter put
Encoding 176 /xhatch1 put
Encoding 177 /xhatch2 put
Encoding 178 /xhatch3 put
Encoding 179 /vers put
Encoding 180 /rtss put
Encoding 181 /rtds put
Encoding 182 /rtsd put
Encoding 183 /trsd put
Encoding 184 /trds put
Encoding 185 /rtdd put
Encoding 186 /verd put
Encoding 187 /trdd put
Encoding 188 /brdd put
Encoding 189 /brsd put
Encoding 190 /brds put
Encoding 191 /trss put
Encoding 192 /blss put
Encoding 193 /btss put
Encoding 194 /ttss put
Encoding 195 /ltss put
Encoding 196 /hors put
Encoding 197 /crss put
Encoding 198 /ltds put
Encoding 199 /ltsd put
Encoding 200 /bldd put
Encoding 201 /tldd put
Encoding 202 /btdd put
Encoding 203 /ttdd put
Encoding 204 /ltdd put
Encoding 205 /hord put
Encoding 206 /crdd put
Encoding 207 /btds put
Encoding 208 /btsd put
Encoding 209 /ttds put
Encoding 210 /ttsd put
Encoding 211 /blsd put
Encoding 212 /blds put
Encoding 213 /tlds put
Encoding 214 /tlsd put
Encoding 215 /crsd put
Encoding 216 /crds put
Encoding 217 /brss put
Encoding 218 /tlss put
Encoding 219 /block put
Encoding 220 /blockb put
Encoding 221 /blockl put
Encoding 222 /blockr put
Encoding 223 /blockt put
Encoding 253 /sup2 put
Encoding 254 /squaredot put
%
% Courier Font 
%
Encoding 33 /exclamation put
Encoding 34 /doublequote put
Encoding 35 /poundsign put
Encoding 36 /dollarsign put
Encoding 37 /percent put
Encoding 38 /ampersand put
Encoding 39 /quote put
Encoding 40 /leftparen put
Encoding 41 /rightparen put
Encoding 42 /asterix put
Encoding 43 /plussign put
Encoding 44 /comma put
Encoding 45 /minussign put
Encoding 46 /period put
Encoding 47 /slashchar put
Encoding 48 /0 put
Encoding 49 /1 put
Encoding 50 /2 put
Encoding 51 /3 put
Encoding 52 /4 put
Encoding 53 /5 put
Encoding 54 /6 put
Encoding 55 /7 put
Encoding 56 /8 put
Encoding 57 /9 put
Encoding 58 /colon put
Encoding 59 /semicolon put
Encoding 60 /lessthan put
Encoding 61 /equals put
Encoding 62 /greaterthan put
Encoding 63 /questionmark put
Encoding 64 /atsign put
Encoding 65 /A put
Encoding 66 /B put
Encoding 67 /C put
Encoding 68 /D put
Encoding 69 /E put
Encoding 70 /F put
Encoding 71 /G put
Encoding 72 /H put
Encoding 73 /I put
Encoding 74 /J put
Encoding 75 /K put
Encoding 76 /L put
Encoding 77 /M put
Encoding 78 /N put
Encoding 79 /O put
Encoding 80 /P put
Encoding 81 /Q put
Encoding 82 /R put
Encoding 83 /S put
Encoding 84 /T put
Encoding 85 /U put
Encoding 86 /V put
Encoding 87 /W put
Encoding 88 /X put
Encoding 89 /Y put
Encoding 90 /Z put
Encoding 91 /leftbracket put
Encoding 92 /backslash put
Encoding 93 /rightbracket put
Encoding 94 /caret put
Encoding 95 /underline put
Encoding 96 /backquote put
Encoding 97 /a put
Encoding 98 /b put
Encoding 99 /c put
Encoding 100 /d put
Encoding 101 /e put
Encoding 102 /f put
Encoding 103 /g put
Encoding 104 /h put
Encoding 105 /i put
Encoding 106 /j put
Encoding 107 /k put
Encoding 108 /l put
Encoding 109 /m put
Encoding 110 /n put
Encoding 111 /o put
Encoding 112 /p put
Encoding 113 /q put
Encoding 114 /r put
Encoding 115 /s put
Encoding 116 /t put
Encoding 117 /u put
Encoding 118 /v put
Encoding 119 /w put
Encoding 120 /x put
Encoding 121 /y put
Encoding 122 /z put
Encoding 123 /leftcurly put
Encoding 124 /verticalsign put
Encoding 125 /rightcurly put
Encoding 126 /tildesign put

/CharProcs 300 dict def
CharProcs begin
/.notdef {} def
/wsmiley { % position 33, PC char 1, white smiley face
  newpath
  300 300 280 0 360 arc
  closepath 40 setlinewidth stroke
  300 300 150 210 330 arc
  1 setlinecap stroke
  200 400 40 0 360 arc closepath fill
  400 400 40 0 360 arc closepath fill
  } def
/bsmiley { % position 34, PC char 2, black smiley face
  newpath
  300 300 300 0 360 arc
  closepath fill
  300 300 150 210 330 arc
  1 setgray 1 setlinecap 100 setlinewidth stroke
  200 400 70 0 360 arc closepath fill
  400 400 70 0 360 arc closepath fill
  } def
/rarrowhead { % position 35, PC char 16, right pointing arrow-head
  newpath
  600 300 moveto 0 600 lineto 0 0 lineto 600 300 lineto
  closepath fill
  } def
/larrowhead { % position 36, PC char 17, left pointing arrow-head
  newpath
  0 300 moveto 600 600 lineto 600 0 lineto 0 300 lineto
  closepath fill
  } def
/exclamdbl { % position 37, PC char 19, double exclamation mark
  /Times-Roman findfont 1000 scalefont setfont
  0 0 moveto -100 0 (!!) ashow
  } def
/bar { % position 38, PC char 22, short fat bar
  newpath
  50 200 moveto 50 400 lineto 550 400 lineto 550 200 lineto 50 200 lineto
  closepath fill
  } def
/updownua { % position 39, PC char 23, underscored up and down pointing arrow
  /Symbol findfont 1000 scalefont setfont
  50 50 moveto (\137) show
  0 -150 moveto (\255) show
  0 -150 moveto (\257) show
  } def
/lblcorn { % position 40, PC char 28, little bottom left corner
  newpath
  30 300 moveto 30 30 lineto 600 30 lineto
  stroke
  } def
/Psubt { % position 41, PC char 158, P subscript t
  /Times-Roman findfont dup 1000 scalefont setfont
  0 0 moveto (P) show
  667 scalefont setfont
  250 -80 moveto (t) show
  } def
/ltlcorn { % position 42, PC char 169, little top left corner
  newpath
  30 0 moveto 30 300 lineto 600 300 lineto
  stroke
  } def
/half { % position 43, PC char 171, half
  /Times-Roman findfont 600 scalefont setfont
  0 300 moveto (1) show
  240 -100 moveto (2) show
  newpath 70 150 moveto 530 460 lineto
  36 setlinewidth stroke
  } def
/quarter { % position 44, PC char 172, quarter
  /Times-Roman findfont 600 scalefont setfont
  0 300 moveto (1) show
  240 -100 moveto (4) show
  newpath 70 150 moveto 530 460 lineto
  36 setlinewidth stroke
  } def
/xhatch1 { % position 45, PC char 176, light cross hatching
  0 200 400 {
    -200 200 600 {
      exch dup 3 -1 roll
      newpath moveto
      40 40 rmoveto
      0 20 rlineto 20 0 rlineto 0 -20 rlineto -20 0 rlineto
      closepath fill
      } for
    pop
    } for
  100 200 500 {
    -100 200 700 {
      exch dup 3 -1 roll
      newpath moveto
      40 40 rmoveto
      0 20 rlineto 20 0 rlineto 0 -20 rlineto -20 0 rlineto
      closepath fill
      } for
    pop
    } for
  } def
/xhatch2 { % position 46, PC char 177, medium cross hatching
  0 200 400 {
    -200 200 600 {
      exch dup 3 -1 roll
      newpath moveto
      20 20 rmoveto
      0 60 rlineto 60 0 rlineto 0 -60 rlineto -60 0 rlineto
      closepath fill
      } for
    pop
    } for
  100 200 500 {
    -100 200 700 {
      exch dup 3 -1 roll
      newpath moveto
      20 20 rmoveto
      0 60 rlineto 60 0 rlineto 0 -60 rlineto -60 0 rlineto
      closepath fill
      } for
    pop
    } for
  } def
/xhatch3 { % position 47, PC char 178, heavy cross hatching
  0 200 400 {
    -200 200 600 {
      exch dup 3 -1 roll
      newpath moveto
      0 100 rlineto 100 0 rlineto 0 -100 rlineto -100 0 rlineto
      closepath fill
      } for
    pop
    } for
  100 200 500 {
    -100 200 700 {
      exch dup 3 -1 roll
      newpath moveto
      0 100 rlineto 100 0 rlineto 0 -100 rlineto -100 0 rlineto
      closepath fill
      } for
    pop
    } for
  } def
/vers { % position 48, PC char 179, vertical single
  newpath
  300 -200 moveto 300 800 lineto
  stroke
  } def
/rtss { % position 49, PC char 180, right tee single single
  newpath
  300 -200 moveto 300 800 lineto
  0 300 moveto 300 300 lineto
  stroke
  } def
/rtds { % position 50, PC char 181, right tee double single
  newpath
  300 -200 moveto 300 800 lineto
  0 200 moveto 300 200 lineto
  0 400 moveto 300 400 lineto
  stroke
  } def
/rtsd { % position 51, PC char 182, right tee single double
  newpath
  200 -200 moveto 200 800 lineto
  400 -200 moveto 400 800 lineto
  0 300 moveto 200 300 lineto
  stroke
  } def
/trsd { % position 52, PC char 183, top right single double
  newpath
  0 300 moveto 400 300 lineto 400 -200 lineto
  200 300 moveto 200 -200 lineto
  stroke
  } def
/trds { % position 53, PC char 184, top right double single
  newpath
  0 400 moveto 300 400 lineto 300 -200 lineto
  0 200 moveto 300 200 lineto
  stroke
  } def
/rtdd { % position 54, PC char 185, top right double double
  newpath
  400 -200 moveto 400 800 lineto
  0 200 moveto 200 200 lineto 200 -200 lineto
  0 400 moveto 200 400 lineto 200 800 lineto
  stroke
  } def
/verd { % position 55, PC char 186, vertical double
  newpath
  200 -200 moveto 200 800 lineto
  400 -200 moveto 400 800 lineto
  stroke
  } def
/trdd { % position 56, PC char 187, top right double double
  newpath
  0 400 moveto 400 400 lineto 400 -200 lineto
  0 200 moveto 200 200 lineto 200 -200 lineto
  stroke
  } def
/brdd { % position 57, PC char 188, bottom right double double
  newpath
  0 200 moveto 400 200 lineto 400 800 lineto
  0 400 moveto 200 400 lineto 200 800 lineto
  stroke
  } def
/brsd { % position 58, PC char 189, bottom right single double
  newpath
  0 300 moveto 400 300 lineto 400 800 lineto
  200 300 moveto 200 800 lineto
  stroke
  } def
/brds { % position 59, PC char 190, bottom right double single
  newpath
  0 200 moveto 300 200 lineto 300 800 lineto
  0 400 moveto 300 400 lineto
  stroke
  } def
/trss { % position 60, PC char 191, top right single single
  newpath
  0 300 moveto 300 300 lineto 300 -200 lineto
  stroke
  } def
/blss { % position 61, PC char 192, bottom left single single
  newpath
  300 800 moveto 300 300 lineto 600 300 lineto
  stroke
  } def
/btss { % position 62, PC char 193, bottom tee single single
  newpath
  0 300 moveto 600 300 lineto
  300 300 moveto 300 800 lineto
  stroke
  } def
/ttss { % position 63, PC char 194, top tee single single
  newpath
  0 300 moveto 600 300 lineto
  300 300 moveto 300 -200 lineto
  stroke
  } def
/ltss { % position 64, PC char 195, left tee single single
  newpath
  300 -200 moveto 300 800 lineto
  300 300 moveto 600 300 lineto
  stroke
  } def
/hors { % position 65, PC char 196, horizontal sngle
  newpath
  0 300 moveto 600 300 lineto
  stroke
  } def
/crss { % position 66, PC char 197, cross single single
  newpath
  0 300 moveto 600 300 lineto
  300 -200 moveto 300 800 lineto
  stroke
  } def
/ltds { % position 67, PC char 198, left tee double single
  newpath
  300 -200 moveto 300 800 lineto
  300 200 moveto 600 200 lineto
  300 400 moveto 600 400 lineto
  stroke
  } def
/ltsd { % position 68, PC char 199, left tee single double
  newpath
  200 -200 moveto 200 800 lineto
  400 -200 moveto 400 800 lineto
  400 300 moveto 600 300 lineto
  stroke
  } def
/bldd { % position 69, PC char 200, bottom left double double
  newpath
  200 800 moveto 200 200 lineto 600 200 lineto
  400 800 moveto 400 400 lineto 600 400 lineto
  stroke
  } def
/tldd { % position 70, PC char 201, top left double double
  newpath
  200 -200 moveto 200 400 lineto 600 400 lineto
  400 -200 moveto 400 200 lineto 600 200 lineto
  stroke
  } def
/btdd { % position 71, PC char 202, bottom tee double double
  newpath
  0 200 moveto 600 200 lineto
  0 400 moveto 200 400 lineto 200 800 lineto
  400 800 moveto 400 400 lineto 600 400 lineto
  stroke
  } def
/ttdd { % position 72, PC char 203, top tee double double
  newpath
  0 400 moveto 600 400 lineto
  0 200 moveto 200 200 lineto 200 -200 lineto
  400 -200 moveto 400 200 lineto 600 200 lineto
  stroke
  } def
/ltdd { % position 73, PC char 204, left tee double double
  newpath
  200 -200 moveto 200 800 lineto
  400 -200 moveto 400 200 lineto 600 200 lineto
  400 800 moveto 400 400 lineto 600 400 lineto
  stroke
  } def
/hord { % position 74, PC char 205, horizontal double
  newpath
  0 200 moveto 600 200 lineto
  0 400 moveto 600 400 lineto
  stroke
  } def
/crdd { % position 75, PC char 206, cross double double
  newpath
  0 400 moveto 200 400 lineto 200 800 lineto
  400 800 moveto 400 400 lineto 600 400 lineto
  400 -200 moveto 400 200 lineto 600 200 lineto
  0 200 moveto 200 200 lineto 200 -200 lineto
  stroke
  } def
/btds { % position 76, PC char 207, bottom tee double single
  newpath
  0 200 moveto 600 200 lineto
  0 400 moveto 600 400 lineto
  300 400 moveto 300 800 lineto
  stroke
  } def
/btsd { % position 77, PC char 208, bottom tee single double
  newpath
  0 300 moveto 600 300 lineto
  200 300 moveto 200 800 lineto
  400 300 moveto 400 800 lineto
  stroke
  } def
/ttds { % position 78, PC char 209, top tee double single
  newpath
  0 400 moveto 600 400 lineto
  0 200 moveto 600 200 lineto
  300 200 moveto 300 -200 lineto
  stroke
  } def
/ttsd { % position 79, PC char 210, top tee single double
  newpath
  0 300 moveto 600 300 lineto
  200 300 moveto 200 -200 lineto
  400 300 moveto 400 -200 lineto
  stroke
  } def
/blsd { % position 80, PC char 211, bottom left single double
  newpath
  200 800 moveto 200 300 lineto 600 300 lineto
  400 800 moveto 400 300 lineto
  stroke
  } def
/blds { % position 81, PC char 212, bottom left double single
  newpath
  300 800 moveto 300 200 lineto 600 200 lineto
  300 400 moveto 600 400 lineto
  stroke
  } def
/tlds { % position 82, PC char 213, top left double single
  newpath
  300 -200 moveto 300 400 lineto 600 400 lineto
  300 200 moveto 600 200 lineto
  stroke
  } def
/tlsd { % position 83, PC char 214, top left single double
  newpath
  200 -200 moveto 200 300 lineto 600 300 lineto
  400 -200 moveto 400 300 lineto
  stroke
  } def
/crsd { % position 84, PC char 215, cross single double
  newpath
  0 300 moveto 600 300 lineto
  200 -200 moveto 200 800 lineto
  400 -200 moveto 400 800 lineto
  stroke
  } def
/crds { % position 85, PC char 216, cross double single
  newpath
  0 200 moveto 600 200 lineto
  0 400 moveto 600 400 lineto
  300 -200 moveto 300 800 lineto
  stroke
  } def
/brss { % position 86, PC char 217, bottom right single single
  newpath
  0 300 moveto 300 300 lineto 300 800 lineto
  stroke
  } def
/tlss { % position 87, PC char 218, top left single single
  newpath
  300 -200 moveto 300 300 lineto 600 300 lineto
  stroke
  } def
/block { % position 88, PC char 219, solid full size block
  newpath
  0 -200 moveto 0 800 lineto 600 800 lineto 600 -200 lineto 0 -200 lineto
  closepath fill
  } def
/blockb { % position 89, PC char 220, solid bottom half block
  newpath
  0 -200 moveto 0 300 lineto 600 300 lineto 600 -200 lineto 0 -200 lineto
  closepath fill
  } def
/blockl { % position 90, PC char 221, solid left half block
  newpath
  0 -200 moveto 0 800 lineto 300 800 lineto 300 -200 lineto 0 -200 lineto
  closepath fill
  } def
/blockr { % position 91, PC char 222, solid right half block
  newpath
  300 -200 moveto 300 800 lineto 600 800 lineto
  600 -200 lineto 300 -200 lineto
  closepath fill
  } def
/blockt { % position 92, PC char 223, solid top half block
  newpath
  0 300 moveto 0 800 lineto 600 800 lineto 600 300 lineto 0 300 lineto
  closepath fill
  } def
/updowna { % position 93, PC char 18, up and down pointing arrow
  /Symbol findfont 1000 scalefont setfont
  0 -150 moveto (\255) show
  0 -150 moveto (\257) show
  } def
/uarrowhead { % position 94, PC char 30, upwards arrow head
  newpath
  0 0 moveto 600 0 lineto 300 700 lineto 0 0 lineto
  closepath fill
  } def
/darrowhead { % position 95, PC char 31, downwards arrow head
  newpath
  0 700 moveto 600 700 lineto 300 0 lineto 0 700 lineto
  closepath fill
  } def
/ltrcorn { % position 96, PC char 170, little top right corner
  newpath
  0 300 moveto 570 300 lineto 570 0 lineto
  stroke
  } def
/sup2 { % position 97, PC char 253, superscript 2
  /Times-Roman findfont 600 scalefont setfont
  120 380 moveto (2) show
  } def
/squaredot { % position 98, PC char 254, centered square dot
  newpath
  200 200 moveto 200 400 lineto 400 400 lineto 400 200 lineto 200 200 lineto
  closepath fill
  } def
/whitedot { % position 99, PC char 8, black square with white dot
  newpath
  0 0 moveto 0 600 lineto 600 600 lineto 600 0 lineto 0 0 lineto
  closepath fill
  300 300 150 0 360 arc closepath 1 setgray fill
  } def
/circle { % position 100, PC char 9, large circle
  newpath
  300 300 270 0 360 arc closepath stroke
  } def
/whitecircle { % position 101, PC char 10, black square with white circle
  newpath
  0 0 moveto 0 600 lineto 600 600 lineto 600 0 lineto 0 0 lineto
  closepath fill
  300 300 225 0 360 arc closepath 100 setlinewidth 1 setgray stroke
  } def
/mars { % position 102, PC char 11, mars masculine
  newpath
  200 200 170 0 360 arc closepath stroke
  341 341 moveto 470 470 lineto stroke
  550 550 moveto 550 390 lineto 390 550 lineto 550 550 lineto
  closepath fill
  } def
/venus { % position 103, PC char 12, venus feminine
  newpath
  300 500 170 0 360 arc closepath stroke
  300 0 moveto 300 300 lineto 150 150 moveto 450 150 lineto stroke
  } def
/quaver { % position 104, PC char 13, quaver
  300 150 translate
  gsave 30 rotate 1.5 1 scale
  newpath -100 0 100 0 360 arc closepath fill grestore
  newpath
  0 0 moveto 0 550 lineto stroke
  0 550 moveto 0 0 200 550 200 120 curveto
  200 550 0 550 0 500 curveto closepath fill
  } def
/doublequaver { % position 105, PC char 14, two joined quavers
  newpath
  250 300 moveto 250 700 lineto 550 550 lineto 550 150 lineto stroke
  gsave 250 300 translate 30 rotate 1.5 1 scale
  newpath -100 0 100 0 360 arc closepath fill grestore
  gsave 550 150 translate 30 rotate 1.5 1 scale
  newpath -100 0 100 0 360 arc closepath fill grestore
  } def

% Courier Font characters

/exclamation	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\041) show } def
/doublequote	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\042) show } def
/poundsign	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\043) show } def
/dollarsign	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\044) show } def
/percent	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\045) show } def
/ampersand	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\046) show } def
/quote		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\047) show } def
/leftparen	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\050) show } def
/rightparen	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\051) show } def
/asterix	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\052) show } def
/plussign	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\053) show } def
/comma		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\054) show } def
/minussign	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\055) show } def
/period		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\056) show } def
/slashchar	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\057) show } def
/0		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (0) show } def
/1		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (1) show } def
/2		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (2) show } def
/3		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (3) show } def
/4		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (4) show } def
/5		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (5) show } def
/6		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (6) show } def
/7		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (7) show } def
/8		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (8) show } def
/9		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (9) show } def
/colon		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\072) show } def
/semicolon	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\073) show } def
/lessthan	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\074) show } def
/equals		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\075) show } def
/greaterthan	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\076) show } def
/questionmark	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\077) show } def
/atsign		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\100) show } def
/A		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (A) show } def
/B		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (B) show } def
/C		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (C) show } def
/D		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (D) show } def
/E		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (E) show } def
/F		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (F) show } def
/G		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (G) show } def
/H		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (H) show } def
/I		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (I) show } def
/J		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (J) show } def
/K		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (K) show } def
/L		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (L) show } def
/M		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (M) show } def
/N		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (N) show } def
/O		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (O) show } def
/P		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (P) show } def
/Q		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (Q) show } def
/R		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (R) show } def
/S		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (S) show } def
/T		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (T) show } def
/U		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (U) show } def
/V		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (V) show } def
/W		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (W) show } def
/X		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (X) show } def
/Y		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (Y) show } def
/Z		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (Z) show } def
/leftbracket	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\133) show } def
/backslash	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\134) show } def
/rightbracket	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\135) show } def
/caret		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\136) show } def
/underline	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\137) show } def
/backquote	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\140) show } def
/a		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (a) show } def
/b		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (b) show } def
/c		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (c) show } def
/d		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (d) show } def
/e		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (e) show } def
/f		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (f) show } def
/g		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (g) show } def
/h		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (h) show } def
/i		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (i) show } def
/j		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (j) show } def
/k		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (k) show } def
/l		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (l) show } def
/m		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (m) show } def
/n		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (n) show } def
/o		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (o) show } def
/p		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (p) show } def
/q		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (q) show } def
/r		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (r) show } def
/s		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (s) show } def
/t		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (t) show } def
/u		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (u) show } def
/v		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (v) show } def
/w		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (w) show } def
/x		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (x) show } def
/y		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (y) show } def
/z		{ /Courier findfont 1000 scalefont setfont 0 0 moveto (z) show } def
/leftcurly	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\173) show } def
/verticalsign	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\174) show } def
/rightcurly	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\175) show } def
/tildesign	{ /Courier findfont 1000 scalefont setfont 0 0 moveto (\176) show } def
end


/BuildChar {
  600 0 setcharwidth
  0 setgray
  60 setlinewidth
  0 setlinecap
  exch begin
    Encoding exch get
    CharProcs exch get
  end
  exec
  } def
end

/IBMextended newfont definefont pop
%End of definition of IBMextended font