[comp.text] Names of LaserWriter fonts

jbn@glacier.STANFORD.EDU (John B. Nagle) (10/19/88)

      Exactly what are the names of the built-in LaserWriter II fonts as
they should be expressed in PostScript?  The single-word fonts work fine,
but I'm having trouble getting things like "New Century Schoolbook" 
recognized.

smithda@cpsvax.cps.msu.edu (Daniel Smith) (10/20/88)

In article <17785@glacier.STANFORD.EDU> jbn@glacier.STANFORD.EDU (John B. Nagle) writes:
>
>      Exactly what are the names of the built-in LaserWriter II fonts as
>they should be expressed in PostScript?  The single-word fonts work fine,
>but I'm having trouble getting things like "New Century Schoolbook" 
>recognized.

Here is a PostScript program I pulled off comp.lang.postscript a few weeks
ago.  It displays all the fonts in the printer along with their names.
=========================================================================
J. Daniel Smith                           smithda@cpsvax.cps.msu.edu
Michigan State University

"An average English word is four letters and a half.  By hard, honest
labor I've dug all the large words out of my vocabulary and shaved it 
down till the average is three and a half..."
      Mark Twain
=========================================================================
------- Cut Here ----- Cut Here ---- Cut Here ---- Cut Here ------------
%!
/MaxNrOfFonts 50 def 	% Maximum numbers of fonts...
/Xpos 136 def
/Ypos 690 def
/num 0 def 		% local counter
/incr {
  /num num 1 add def
} def

/s40 { 40 string } def	% Proper length of the fontname

/showline {		% Show and newlines
  show
  newline
} def

/newline {		% Spacing between lines
  /Ypos Ypos 12 sub def
  Xpos Ypos moveto
} def

/CountFonts {		% Count the fonts and put the names into array
  FontDirectory 
  {
    pop
    s40
    cvs
    incr
  }
  forall
  /FontArray num array def
  FontArray astore
  pop
} def

/ListFonts {		% Sort the fonts and show them on paper
  Bubbelsort
  FontArray
  {
    showline
  }
  forall
} def

/Bubbelsort {		% Here is the sorting routine
  1 1 num 1 sub
  {
    /localcount exch def
    num 1 sub -1 localcount
    {
      /innercount exch def
      /firststring FontArray innercount 1 sub get def
      /secondstring FontArray innercount get def
      firststring secondstring gt
      {
         FontArray innercount 1 sub secondstring put
         FontArray innercount firststring put
      } if
    } for
  } for
} def

/prettyline
{  /YPOSition exch def
   newpath 
     Xpos Ypos YPOSition add moveto
     Xpos 100 add Ypos YPOSition add lineto
   stroke
} def

/Times-Roman findfont 12 scalefont setfont
14 prettyline

Xpos Ypos 18 add moveto
CountFonts
(Number of fonts: ) show
num s40 cvs show

30 prettyline
Xpos Ypos moveto
ListFonts
newline

/Times-Bold findfont 12 scalefont setfont
(Total memory: ) show
vmstatus s40 cvs show newline
(Memory used: ) show
s40 cvs show newline
pop
(Free memory: ) show
vmstatus exch sub s40 cvs show newline newline
pop
/Times-Roman findfont 12 scalefont setfont
(From ulfis@nada.kth.se, 88-10-05) show
showpage