From: walsh@cs.umass.edu (Norman Walsh)
Newsgroups: comp.fonts,news.answers
Subject: comp.fonts FAQ: part 3 of 5
Summary: This posting answers frequently asked questions about fonts.
         It addresses both general font questions and questions that
	 are specific to a particular platform.
Date: 2 Oct 92 18:05:59 GMT
Expires: 6 Nov 92 00:00:00 GMT
Reply-To: walsh@cs.umass.edu (Norm Walsh)
Followup-To: poster
Organization: Dept of Comp and Info Sci, Univ of Mass (Amherst)

Archive-Name: fonts-faq/part3
Version: 1.0.0

--- [cut here] --- FAQ for comp.fonts: section 2, part 1 of 2 ---
FAQ for comp.fonts: Part II: Macintosh-specific Info

Version 1.0.0, Release 02OCT92

Welcome to the comp.fonts FAQ.  This article, posted monthly, describes many
of the basic questions that seem to be repeated frequently on comp.fonts.
Your comments are both welcome and encouraged. 

The FAQ is divided into sections.  The first section is a general overview.
The remaining sections are more-or-less platform specific.  The FAQ is posted
in pieces to avoid clobbering news and/or mail gateways that are incapable
of handling arbitrarily large items.

The sections are:

   Part    I: General Info
   Part   II: Macintosh-specific Info
   Part  III: MS-DOS-specific Info
   Part   IV: *nix-specific Info
   Part    V: Sun-specific Info
   Part   VI: NeXT-specifc Info
   Part  VII: X-specific Info
   Part VIII: Font utilities

Even if you don't use a particular architecture, you may find it helpful to
read the FAQ for that platform at least once.  Some ideas, like font format
conversion, may be relevant to more than one platform even if they are
expressed in platform-specific tools at this time.

After the FAQ is more stable, monthly DIFFs will be posted as well as the
complete FAQ.  

This section is divided into the following topics:

1.	Mac font notes
1.1.	Font formats
1.2.	Frequently requested fonts
1.3.	Commercial font sources
2.	Font installation
3.	Font utilities
4.	Making outline fonts
5.	Problems and possible solutions
6.	Creating Mac screen fonts from Type 1 outlines

------------------------------------------------------------------------------

1. Mac font notes

1.1. Font formats

  Postscript Type 1 fonts can be installed on the Macintosh only by using
  accompanying bitmapped fonts.

  Postscript Type 3 fonts are installed on the Macintosh in the same way
  that Type 1 fonts are. 

  Truetype fonts: no bitmapped font is necessary with this type, though
  commonly used sizes are often supplied.

  Bitmap fonts: on the Macintosh, bitmap fonts also contain the kerning
  information for a font and must be installed with both type 1 and type
  3 fonts. Their presence also speeds the display of commonly used font
  sizes.

1.2. Frequently requested fonts

  Many fonts are available at various archives.  The king of Macintosh
  font archives is mac.archive.umich.edu.  On mac.archive.umich.edu, the
  fonts are located in the following folders:

  /mac/system.extensions/font/type1
               "             /type3
               "             /truetype


  The following fonts are in Type 1 format for the Macintosh. Some are
  also available in TrueType format.

  Tamil         Paladam, T. Govindram

  Hebrew        ShalomScript, ShalomOldStyle, ShalomStick, Jonathan Brecher

  Japanese      Shorai (Hirigana, with application)

  Start Trek    StarTrekClassic, Star TrekClassicMovies, StarTrekTNGCrille, 
                StarTrekTNG Titles, TNG monitors, StarFleet, 
		Klinzai (Klingon font)

  Command-key  Chicago (TrueType or bitmap, key: Ctrl-Q),  Chicago Symbols
  symbol       (Type3, key: 1), EncycloFont (Type3, key: d)

  Astrologic/  Hermetica (Type1), InternationalSymbols (Type 3, Mars and
  Astronomic   Venus only), MortBats (Type3), Zodiac (bitmap)
  symbols

  Many of these mac fonts are available in files that are either entitled
  xxxx.sit or xxxx.cpt. xxxx.sit files are Stuffit archives.  xxxx.cpt
  files are Compact Pro archives. StuffitLite (shareware $25) and Compact
  Pro (shareware $25) are available at the standard ftp sites.
  Uncompressors for these programs (free) are also available at the
  archive sites. Check the utilities/compression utilities folders.

1.3. Commercial font sources

  Commercial fonts can be obtained from a number of different companies,
  including the large font houses: Adobe, Font Haus, Font Company,
  Bitstream, and Monotype. At these companies, fonts cost about $40 for a
  single face, and must be purchased in packages. Adobe, Bitstream, and
  Monotype also sell pre-designated type collections for slightly lower
  prices.

  Image Club sells a wide selection of fonts for about $50 for a 4 font
  family.

  Other, cheaper companies sell fonts of lesser quality, including KeyFonts,
  which sells a set of 100 fonts for $50 and Cassady & Green's Fluent Laser
  Fonts, a set of 79 fonts for $99. Cassady & Greene also sells Cyrillic
  language fonts in Times, Bodoni, and Helvetica sell for about $40 for each
  4 font family.
 
  Underground Phont Archive (Jason Osborne, V065HJKU@ubvms.cc.buffalo.edu):
  is a distributor of shareware/freeware truetype fonts.  Many of these
  fonts can also be obtained at the mac.archive.umich.edu archive site.
  Currently [ed: as of 7/92] 170 fonts, which are distributed for $35, +3
  shipping for overseas orders.  (Some fonts may have additional shareware
  fees).

  Foreign language fonts, ranging from Egyptian hieroglyphics to Cyrillic
  can be obtained from Ecological Linguistics.

  Please consult the vendor list for a more complete list of vendors.

2. Font Installation

  System 7

    Install the fonts by opening the suitcase containing the bitmap file
    and dropping the fonts into your system suitcase, located inside your
    system folder. You will need to quit all other applications before
    doing this.  For a TrueType font, the icon for the font will have
    several letters in it, instead of just one. Dropping it into your
    system suitcase will make all sizes of the font available. For
    Postscript type 1 fonts, you also need to place the printer font in
    the extensions folder in your system folder. If you are using ATM you
    need to place these fonts in the root level of your system folder
    (not inside another folder). Using Suitcase, a font management
    utility, you can avoid cluttering your system folder with printer
    fonts.
    
    You can make new suitcases of fonts (generally not needed, but used by
    those who use Suitcase) by using Font DA mover.  It operates the same 
    as in system 6, except that the most recent version must be used.

  System 6

    Bitmap fonts can be installed using Font DA mover to move the fonts,
    located inside suitcases, into your system. You will need to restart
    your computer to make these fonts available. Printer fonts must be
    placed in the system folder, not inside any other folder.

    Truetype fonts can be used with system 6 if you get the Truetype init.
    Then the fonts can be installed in your system with Font DA mover.
    Suitcase can also be used under system 6.

3. Font utilities

  SUITCASE

    Suitcase is a nifty little system extension that lets you avoid having
    to install fonts into your system. In system 6, it means that you can
    avoid restarting your system every time you want to install a new font.

    In system 7, Suitcase lets you avoid quitting all applications before
    making fonts available. Some programs, like Quark Xpress will
    automatically update their font list when you open a new suitcase,
    allowing much more flexibility in opening and closing font suitcases and
    making different sets of fonts available.

    Suitcase appears in your Apple menu in both system 7 and 6 and allows
    you to open suitcases, as though they were files, thus making the fonts
    contained in them accessible to programs.

    In addition, when suitcase is installed, printer fonts can be stored
    with the bitmap suitcases they correspond to, instead of having to drop
    them into your system folder.

    The most recent version of Suitcase is compatible with TrueType.
    Suitcase is about $54 form the mail order places.

  MASTER JUGGLER
  
    Claims to do similar things

  ATM

    Adobe Type Manager is an Init and Control panel allows accurate screen
    display, at any size of Postscript type 1 fonts. It's function is
    replicated with Truetype (but for different outline font format). With
    it installed, you can print fonts of any size to non-postscript
    printers. When using ATM, printer fonts must either be stored with the
    bitmap files opened with suitcase (when using Suitcase), or they must be
    stored in the root level of the system folder. ATM is now available,
    with the System 7.0 upgrade, as well as directly from adobe with 4
    Garamond fonts. It will supposedly be built into System 7.1.
    
  TTconverter

    A shareware accessory available at the usual archives will convert
    Truetype fonts for the IBM into Macintosh format.

  A variety of programs, for example, Font Harmony, etc. will allow you
  to change the names and ID numbers of your fonts.

  Fontmonger and Metamorphosis will let you convert fonts among several
  formats (type 1 and 3 and Truetype for the Mac and PC), as well as
  letting you extract the font outlines from the printer fonts.

4. Making outline fonts

  This is very, very difficult. Many people imagine that there are
  programs that will simply convert pictures into fonts for them. This
  is not the case; most fonts are painstakingly created by drawing
  curves that closely approximate the letterforms. In addition, special
  rules (which improve hinting, etc.) mandate that these curves be drawn
  in specific ways. Even designing, or merely digitizing, a simple font can

  take hundreds of hours.

  Given that, there are two major programs used for font design on the
  Macintosh, Fontographer ($280) and FontStudio ($400). These programs
  will allow you to import scanned images, and then trace them with
  drawing tools.  The programs will then generate type 1, 3, TrueType
  and Bitmap fonts for either the Macintosh or the IBM PC. They will
  also generate automatic hinting. They also open previously constructed
  outline fonts, allowing them to be modified, or converted into another
  format.

  As far as I know, there are no shareware programs that allow you to
  generate outline fonts.


5. Problems and possible solutions

  1) Another font mysteriously appears when you select a certain font for
     display. This is often the result of a font id conflict. All fonts on
     the Macintosh are assigned a font id, an integer value. When two fonts
     have the same id, some programs can become confused about the
     appropriate font to use. Microsoft word 4.0 used font id's to assign
     fonts, not their names.  Since id's can be different on different
     computers, a word document's font could change when it was moved from
     one computer to another. Other signs of font id problems are
     inappropriate kerning or leading (the space between lines of text).
     Some font ID problems can be resolved by using Suitcase, which will
     reassign font ID's for you, as well as saving a font ID file that can
     be moved from computer to computer to keep the id's consistent.  Font
     ID problems can also be solved with several type utilities, which will
     allow you to reassign font id's.  Most newer programs refer to fonts
     correctly by name instead of id number, which should reduce the
     frequency of this problem.

  2) When using a document written in MSWord 5.0, the font mysteriously
     changes when you switch from your computer at home to work, or vice
     versa.  This is the result of a bug in MSWord 5.0. The MSWord 5.0
     updater, which can be found at the info-mac archives at sumex (in the
     demo folder), will fix this bug.

6. Creating Mac screen fonts from Type 1 outlines

A) 
  Berthold K.P. Horn <bkph@ai.mit.edu> contributes the following solution.

  This is a commercial solution.  A font manipulation package from Y&Y
  includes:

  AFMtoPFM, PFMtoAFM, AFMtoTFM, TFMtoAFM, AFMtoSCR, SCRtoAFM, TFMtoMET,
  PFBtoPFA, PFAtoPFB, MACtoPFA, PFBtoMAC, REENCODE, MODEX, DOWNLOAD,
  SERIAL, and some other stuff I forget.

  To convert PC Type 1 fonts to MacIntosh use PFBtoMAC on the outline
  font itself; then use AFMtoSCR to make the Mac `screen font'
  (repository of metric info). You may need to use PFMtoAFM to first
  make AFM file.

  To convert MacIntosh font to PC Type 1, use MACtoPFA, followed by
  PFAtoPFB.  Then run SCRtoAFM on screen font to make AFM file.
  Finally, run AFMtoPFM to make Windows font metric file.

  Y&Y are the `TeX without BitMaps' people (see ad in TUGboat):

	Y&Y makes DVPSONE, DVIWindo, and fonts, for use with TeX mostly,
	in fully hinted Adobe Type 1 format.

	Y&Y, 106 Indian Hill, Carlisle MA 01741  USA
	(800) 742-4059 
	(508) 371-3286 (voice)
	(508) 371-2004 (fax)

B) 
  Mac Screen fonts can be constructed from outline fonts using
  Fontographer, as well. 


-- END OF PART II --




FAQ for comp.fonts: Part III: MS-DOS-specific Info

Version 1.0.0, Release 02OCT92


This section is divided into the following topics:

1.  MS-DOS font notes
2.  Font installation
3.  Font utilities
4.  Converting Macintosh Type1 fonts to MS-DOS format
5.1 Converting PC Type1 fonts into TeX PK bitmap fonts
5.2 Converting TeX PK bitmaps into HP LaserJet softfonts (and vice-versa)
5.3 Converting TrueType fonts to HP LaserJet bitmap softfonts (HACK!)
6.  MS-DOS Screen Fonts (EGA/VGA text-mode fonts)

------------------------------------------------------------------------------

1. MS-DOS font notes

  The easiest way to get outline fonts under MS-DOS is with MicroSoft
  Windows 3.x or OS/2 2.x.

  MicroSoft Windows 3.0 with Adobe Type Manager (ATM) and OS/2 2.0 support
  PostScript Type1 fonts.

  MicroSoft Windows 3.1 supports TrueType fonts natively.

  Bitmap fonts are available in a variety of formats: most formats are
  designed with the printer in mind and not the display since (prior to
  graphical environments like Windows, GEM, and OS/2) the majority of work
  under MS-DOS was done with a character-based interface.

1.2. Frequently requested fonts

  Many fonts are available at various archives.  The biggest font archive
  for MS-DOS format fonts is ftp.cica.indiana.edu.  Note: you can use any
  Mac format Type1 font on your PC by converting it to PC format with the
  free/shareware as described below.

  The following fonts are in Type 1 format for MS-DOS. Some are also
  available in TrueType format.

  Hebrew        ShalomScript, ShalomOldStyle, ShalomStick

  Japanese      Shorai

  Start Trek    Crillee, TNG monitors

2. Font Installation

  If you have any information that you feel belongs in this section, it
  would be greatly appreciated.

  Windows

    Pat Farrell <pfarrell@cs.gmu.edu> contributes the following description
    of font installation under Windows.

    Installing Fonts into Windows:

    This only covers Windows 3.1. Font is a four-letter word in Windows 
    versions prior to 3.1 due to the distinctions between screen fonts and 
    printer fonts. The upgrade price of Windows 3.1 is justified by the 
    integration of TrueType into the package and the inclusion of useful 
    fonts for all printers.

    Commercial fonts usually have installation instructions with their 
    manuals. The approach may differ from the method used for PD and 
    shareware fonts.

    To install PD and shareware fonts in Windows 3.1:

      1. Copy the fonts onto a suitable scratch area (i.e. a floppy, or any 
         temporary area of your hard disk.

      2. Execute "Control Panel" by double-clicking on the icon in the 
         Windows Program Manager's "main" group.

      3. Double-click on the Fonts icon.

      4. Double-click on the "Add" button.

      5. Select the scratch directory holding the new fonts.

      6. A list of the fonts will be displayed. You can manually select the 
         fonts you like, or you can use the "Select All" button.

      7. Make sure the "Copy Fonts to Windows Directory" check-box is 
         checked. This will copy the fonts from the scratch area to your 
         Windows directory.

      8. Click on the "Ok" button.

    Special notes for Windows applications:

    Word for Windows (W4W) stores font/printer information in its own 
    initialization files. After you add new fonts, you have to tell W4W 
    that the printer can use the new fonts. Do this by selecting "Printer 
    Setup" from the W4W main "File" menu item, click on the "Setup" button, 
    and then click on two "Ok" buttons to back out of the setup mode.

    Note concerning Windows 3.1 upgrade:

    There are two upgrade packages available from Microsoft for Win3.1.  
    There is the standard version which contains TypeType support, and 
    about six font families (Times New Roman, Arial, Courier, Symbols, 
    Wingdings, etc.). It costs something like $50 (US). The second version 
    contains a number of TrueType fonts that includes equivalents for the 
    35 standard Postscript fonts. This adds an additional $50, which is a 
    pretty good value.  However, if you plan on buying Microsoft's 
    PowerPoint, it includes the same additional fonts/typefaces. So you can 
    save money by not buying the fonts twice.

  More about Windows

    Q: Why are don't the TrueType fonts that come with Microsoft products
       (Word-for-Windows, PowerPoint, Windows 3.1 TrueType Font Pack, etc.)
       display and print properly on my system?

    A: The font matching algorithm in Win3.1 is fairly simplistic.  If you
       install lots of TrueType fonts, the algorithm can get confused. In
       this case, "lots" is more than 50 or so.

       According to Luann Vodder who supports Microsoft Word on CompuServ:

         "There is a procedure which Windows must go through when an
         application requests a font.  Each font contains a list of
         attributes such as Family, FaceName, Height, Width, Orientation,
         Weight, Pitch, etc.  When an application requests a font, it fills
         out a logical font for Windows containing the necessary attributes,
         then starts going through a font mapping algorithm to determine
         which of the installed fonts most closely matches the requested
         (logical) font.  Penalties are applied against fonts whose
         attributes do not match the logical font, until the fonts with the
         fewest penalties are determined.  If there is a "tie", Windows may
         need to rely on the order of the fonts in the WIN.INI file to
         determine the "winner".
              
       If the fonts you want are in your WIN.INI file, and show up in
       Windows' Control Panel, then try moving them higher in your WIN.INI
       file with a file edittor such as SYSEDIT.

  Other Programs

    It is an unfortunate fact that almost all MS-DOS programs do things
    differently.  Your best bet is to read the manual that comes with the
    program you want to use.

3. Font utilities

  PS2PK

    PS2PK allows you to convert PostScript Type1 fonts into bitmap fonts.
    The bitmap files produced are in TeX PK format.

  PKtoSFP

    PKtoSFP allows you to convert TeX PK fonts into HP LaserJet softfonts.

  PFBDir/PFBInfo

    PFBDir and PFBInfo format and display the "headers" in a binary Type1
    font.

4. Converting Macintosh Type1 fonts to MS-DOS format

  Converting Macintosh Type1 fonts into PC Type1 fonts can be done using
  purely free/shareware tools.  I've outlined the procedure below.  Make
  sure you read the "readme" files that accompany many fonts.  Some font
  authors specifically deny permission to do cross-platform conversions.

  THE TOOLS YOU NEED:
  -------------------

    XBIN:   xbin23.zip in /pub/msdos/mac on oak.oakland.edu (or other mirrors)
    UNSIT:  unsit30.zip in /pub/msdos/mac on oak.oakland.edu
    UNCPT:  ext-pc.zip in /pub/pc/win3/util on ftp.cica.indiana.edu
    REFONT: refont11.zip in /pub/pc/win3/fonts on ftp.cica.indiana.edu
    BMAP2AFM: bm2af01.zip in /pub/norm/mac-font-tools on ibis.cs.umass.edu

  XBIN converts Mac "BinHex"ed files back into binary format.  BinHex is
  the Mac equivalent of UUencoding, it translates files into hexadecimal
  digits so that mailers can send them around without difficulty.  It also
  aids in cross platform copying too, I'm sure.  BinHexed files generally
  have filenames of the form "xxx.yyy.HQX".

  UNSIT explodes "Stuffit" archives.  Stuffit archives generally have
  filenames of the form "xxx.SIT".

  UNCPT explodes "Compactor" archives.  The ext-pc implementation is called
  "extract" and does not require windows (even thought it's in the windows
  section on cica).  Compactor archives generally have filenames of the
  form "xxx.CPT".

  REFONT converts Mac type1 fonts into PC type1 fonts.

  BMAP2AFM constructs AFM files from the metric information contained in
  Mac screen fonts (.bmap files).  The screen font files do not have any
  standard name (although they frequently have the extension .bmap).  The
  screen fonts have file type "FFIL" which, in combination with some common
  sense, is usually sufficient to identify them.

  I've listed the tools that I've used and the sites that are reasonable
  for me to retrieve them from.  It's probably a good idea to check with
  archie for closer sites if you're not in North America.  These tools run
  under MS-DOS.  XBIN and UNSIT can also be run under Unix.

  HOW TO DO IT:
  -------------

  Collect the Mac fonts from the archive or BBS of your choice.  Most of
  these files will be in BinHexed format.  As a running example, I'm going
  to use the imaginary font "Plugh.cpt.hqx".  When I download this font to
  my PC, I would use the name "PLUGH.CPX".  The actual name you use is
  immaterial.

  Run XBIN on PLUGH.CPX.  This will produce PLUGH.DAT, PLUGH.INF, and
  PLUGH.RSR.  The data fork of the Mac file (the .DAT file) is the only one
  of interest to us, you can delete the others.

  If the original file had been "Plugh.sit.hqx", we would be using the
  UNSIT program.  Since I chose a .cpt file for this example, I'm going to
  run UNCPT.

  Run UNCPT on PLUGH.DAT.  You want to extract the AFM file (if present),
  the documentation or readme file (if present), and the Type1 outline
  file.  The AFM and README files will be in the data fork of the archive
  file.  The Type1 outline will be in the resource fork.  The AFM and
  README files have Mac "TEXT" type.  The Type1 outline file has "LWFN"
  type.  I'm not trying to describe this part in a step-by-step fashion.
  Use the docs for UNCPT and UNSIT as a guide.  If you got this far you
  probably won't have much difficulty.  If you do, drop me a line and I'll
  try to help.

  If the font does not contain an AFM file, extract the screen font.
  Screen fonts frequently have the extension .bmap and are "FFIL" type
  files.  Use Bmap2AFM to construct an AFM from the screen font.  If the
  archive _does_ contain an AFM file, it's safe to bet that the author's
  AFM will be better than the one created by Bmap2AFM.

  Finally, run REFONT on the Type1 outline that you extracted above.  The
  result should be an appropriate PC type1 outline.  REFONT will create a
  PFM file for you from the AFM file, if you desire.

  Remember to register your shareware...

5.1 Converting PC Type1 fonts into TeX PK bitmap fonts

  The release of PS2PK by Piet Tutelaers <rcpt@urc.tue.nl> is a godsend to
  those of us without PostScript printers.  PS2PK converts PC/Unix format
  Type 1 fonts into TeX PK files.  Used in conjunction with the AFM2TFM
  utility for creating TeX metric files, this allows almost anyone to use
  Type 1 PostScript fonts.  PS2PK is distributed under the GNU License and
  has been made to run under MS-DOS with DJGPP's free GNU C compiler.  The
  PC version requires a 386 or more powerful processor.  Check with Archie
  for a source near you.

  Note: if TeX PK files are not directly usable for you, there seems to be
  a fair possibility that LaserJet softfonts would be useful.  If so, check
  below for instructions on converting TeX PK files to LaserJet softfonts.

5.2 Converting TeX PK bitmaps into HP LaserJet softfonts (and vice-versa)

  There is some possibility that someone will yell 'conflict of interest'
  here, but I don't think so.  I wrote the following utilities:

    PKtoSFP: convert TeX PK files to LaserJet (bitmapped) softfonts
    SFPtoPK: convert LaserJet (bitmapped) softfonts to TeX PK files

  But they are completely free, so I don't gain anything by "advertising"
  them here.  These are MS-DOS platform solutions only.  If you know of
  other solutions, I would be happy to list them.

5.3. TrueType to HP LaserJet bitmap softfonts (HACK!)

  If you have the tools, the following suggestion does work, but it
  isn't easy and it hasn't been automated.  To be honest, I haven't
  really tested it.

  If you are using Windows 3.1, get a LaserJet printer driver (you don't
  need the printer, just the driver).  Using the LaserJet driver, direct
  output to a file and print a simple file containing all the letters you
  want in the softfont in the font that you are converting.  When the print
  job has completed, the output file will contain, among other things, a
  LaserJet softfont of the TrueType font you selected.  If you know the
  LaserJet format, you can grab it out of there.

  I didn't say it was easy ;-)

  This method will not work with ATM [ed: as of 7/92] because ATM does
  not construct a softfont; it downloads the whole page as graphics.

  Here is an overview of the LaserJet bitmap softfont format.  It should
  help you get started.  If you have any questions, ask norm
  <walsh@cs.umass.edu>.  If anyone wants to write better instructions... ;-)

  Many details are omitted from this description.  They are thoroughly 
  discussed in the HP Technical Reference for each model of laser printer.
  I recommend purchasing the Tech Ref.  If you have additional questions
  and do not plan to purchase the Tech Ref (or do not wish to wait for its
  arrival), you can ask norm <walsh@cs.umass.edu>.

  An HP LaserJet softfont can occur almost anywhere in the output stream
  destined for the printer.  In particular, it does _not_ have to be
  wholly contiguous within the output file.  In fact, fonts can be
  "intermixed" at will.  The following "pieces" make up a font:

  A begin font descriptor command (followed by the descriptor) and a
  series of begin character descriptor commands (followed by their
  associated data).  When a new character descriptor is encountered, it
  is added to the _current_ font (which may change between descriptors).

  In the discussion that follows, the following notational conventions
  are followed:

    Key elements are surrounded by quotation marks.  The quotation marks
    are not part of the element.  Spaces within the element are for
    clarity only, they are not part of the element.  All characters
    (except ESC and #, described below, are _literal_ and must be
    entered in the precise case shown).

    ESC means the escape character, ASCII character number 27 decimal.
  
    # means any decimal number.  The meaning of the number is described
    in the commentary for that element.
  
  What is a font descriptor?  A font descriptor begins with a font
  descriptor command and is followed immediately by the data for the
  descriptor.  Font descriptors define data global to the font.  In
  general, more recent printers are less strict about these parameters
  than older printers.
  
  What is the font descriptor command?
  
   "ESC ) s # W"
  
     In this command, # is the number of bytes in the descriptor.  The
     first element of the descriptor indicates how many of these bytes
     should be interpreted as the font descriptor (the remaining bytes
     are commentary only--to the printer, at least).  This area is
     frequently used for copyright information, for example, although
     some systems insert kerning data into this area.
  
  What is the font descriptor data?
  
    The data is:
  
      UI  Font descriptor size
      UB  Descriptor format
      UB  Font type
      UI  Reserved (should be 0)
      UI  Baseline distance
      UI  Cell width
      UI  Cell height
      UB  Orientation
       B  Spacing
      UI  Symbol set
      UI  Pitch
      UI  Height
      UI  xHeight
      SB  Width Type
      UB  Style
      SB  Stroke Weight
      UB  Typeface LSB
      UB  Typeface MSB
      UB  Serif Style
      SB  Underline distance
      UB  Underline height
      UI  Text Height
      UI  Text Width
      UB  Pitch Extended
      UB  Height Extended
      UI  Cap Height
      UI  Reserved (0)
      UI  Reserved (0)
      A16 Font name
      ??  Copyright, or any other information
  
    Where, UI=unsigned integer, SI=signed integer,
           UB=unsigned byte,    SB=signed byte,
            B=boolean,          A16=sixteen bytes of ASCII
  
    After the font name, ?? bytes of extra data may be inserted.  These
    bytes pad the descriptor out to the length specified in the begin
    font descriptor command.
  
    Note: integers are _always_ in big-endian order (MSB first).
  
  What is a character descriptor?  A character descriptor describes the
  character specific info and the layout of the bitmap.  Newer printers
  can accept compressed character bitmaps.
  
  What is a character descriptor command?
  
    "ESC * c # E"
  
      The # is the length of the descriptor, in bytes.
  
  What is the character descriptor data?
  
    UB  Format
     B  Continuation
    UB  Descriptor size
    UB  Class
    UB  Orientation
    SI  Left offset
    SI  Top offset
    UI  Character width
    UI  Character height
    SI  Delta X
    ??  Character (bitmap) data.
  
    Although older printers cannot accept characters that include
    continuations, newer printers can.  If the "continuation" field is
    1, the character bitmap data begins immediately after that byte and
    the remaining fields _are not_ present.
  
  Ok, now I understand the data, what do I look for in the output stream?
  
    "ESC * c # D"  defines the font number (remember the number).
    "ESC ) s # W"  defines the font descriptor (as described above).
    "ESC * c # E"  specifies the character code (the #, in this case).
                   The next character descriptor maps to this position in
                   the font.  Characters do not have to appear in any 
		   particular order.
    "ESC ( s # W"  defines the character descriptor (as described above).
  
    Remember, these can occur in any order.  Experimentation with the
    particular driver you are using may help you restrict the number of
    different cases that you have to be prepared for.
  
  Please report your experiences using this method to norm
  <walsh@cs.umass.edu> (both to satisfy his own curiosity and to help
  improve the FAQ).

6.  MS-DOS Screen Fonts (EGA/VGA text-mode fonts)

  Editors note: the following description was mercilessly stolen from
                comp.archives on 02SEP92.  It was originally Yossi Gil's
                <yogi@cs.ubc.ca> posting.


  FNTCOL12.ZIP contains more than 100 text mode fonts for EGA/VGA displays.  
  It includes fonts in different sizes for Hebrew, Greek, Cyrillic, math 
  symbols and various type styles including smallcaps and script.

  It is available at cs.ubc.ca in /pub/pickup/terse/fntcol12.zip

-- END OF PART III --




FAQ for comp.fonts: Part IV: *nix-specific Info

Version 1.0.0, Release 02OCT92


This section is divided into the following topics:

0.  Please help!
1.  Font utilities

------------------------------------------------------------------------------

0. Please help!

  This section needs a lot of work.  At the time of this release, I'm not
  in a position to write it so I'm leaving it basically blank.  Even if
  you don't have time to write it, if you know what _should_ be in this
  section, please forward it to norm <walsh@cs.umass.edu>.

  I have just built and installed the GNU Font utilities.  I may have more
  information for this section before the next posting...

1. Font utilities

  PS2PK 

    PS2PK allows you to convert PostScript Type1 fonts into bitmap fonts.
    The bitmap files produced are in TeX PK format.

  PFB2PFA

    Converts 'binary' Type1 fonts into 'ascii' Type1 fonts.

-- END OF PART IV --




FAQ for comp.fonts: Part V: Sun-specific Info

Version 1.0.0, Release 02OCT92


This section is divided into the following topics:

0.  Please help!
1.  Fonts under Open Windows

------------------------------------------------------------------------------

0. Please help!

  Someone mailed a file of Sun-related font tips.  Unfortunately, I cannot
  find the file.  If you have any suggestion for this section (or if you
  are the person that mailed me the other list), please forward your
  suggestions to norm <walsh@cs.umass.edu>.

1. Fonts Under Open Windows

  The following information regarding fonts under Open Windows was stolen
  from Liam R.E. Quim's <lee@sq.com> Open Windows FAQ.

  Does OpenWindows support Type 1 PostScript fonts?

    No.	 If you have FrameMaker there is a utility to import them, I'm told.
    The 57 fonts supplied with OpenWindows are fully hinted, though, and
    comparing them to the Microsoft Windows and Apple TrueType fonts is
    interesting...  The F3 font format is described in a publication from the
    Sun OpenFonts group, listed in the Bibliography below.  Documentation on
    the unbundled version of TypeScaler is also available from Sun OpenFonts.

    Sun has a program that converts Type 1 fonts to Folio format, but it's
    not cheap.	You can buy Folio fonts, although the Sun sales office I
    called weren't able to help me do so :-(

    The latest release of Sun's NeWSPrint supports Type 1 fonts.

  Improving font rendering time

    Although the Sun type renderer (TypeScaler) is pretty fast, it's not as
    fast as loading a bitmap :-).  You can pre-generate bitmap fonts for sizes
    that you use a lot, and you can also alter and access the font cache
    parameters.	 If you have a lot of memory you might want to increase the
    font cache size.
	$ psh -i
	Welcome to X11/NeWS Version3 <--- psh will say this at you
	currentfontmem =	% type this line ...
	300	% and here's whai my server was using -- 300 Kbytes
	1024 setfontmem
	% Just to check:
	currentfontmem =
	1024
    See pp. 328ff of the NeWS 3.0 Programmer's Guide.  You need to say psh -i
    so that the PostScript packages are loaded - see the psh man page.

  Making bitmap fonts for faster startup:

	$ mkdir $HOME/myfonts
	$ cd $HOME/myfonts
	$ makeafb -20 -M $OPENWINHOME/lib/fonts/Bembo.f3b
	Creating Bembo20.afb
	$ convertfont -b Bembo20.afb
	Bembo20.afb->./Bembo20.fb
	Chars parameter greater than number of characters supplied.
	$ ls
	Bembo20.afb	Bembo20.fb	Synonyms.list
	$ bldfamily
	* Bembo		       ./Bembo.ff (Encoding: latin)
	cat: ./Compat.list: No such file or directory
	$ xset +fp `pwd`
	$ xset fp rehash

    If you want the server to see your new font directory every time,
    add this directory to your FONTPATH environment variable in one
    of your start-up files, e.g. .login or .profile.

  Converting between font formats (convertfont, etc.)

    You can also use Folio fonts with an X11 server, by converting them to a
    bitmap (X11 bdf format) first.  Your licence forbids you from using the
    fonts on another machine, and unless you have NeWSPrint you shouldn't
    use them for printing.  Having said all that...  you can use makeafb and
    convertfont to generate bdf files that you can compile with bdftosnf or
    bdftopcf.

    Use mftobdf (from the SeeTeX distribution) to convert TeX pk fonts to
    X11 bdf format, which you can then use with either X11 or OenWindows.

  Xview/OLIT fonts at 100 dpi

    There aren't any.  More precisely, the various text fonts, such as
    Lucida Typewriter Sans, are available at 100 dpi, and in fact are
    scalable under OpenWindows.	 The glyph fonts are bitmaps, and don't
    scale very well.

-- END OF PART V --




FAQ for comp.fonts: Part VI: NeXT-specific Info

Version 1.0.0, Release 02OCT92


This section is divided into the following topics:

0.  Please help!
1.  Font availability

------------------------------------------------------------------------------

0. Please help!

  If you have any suggestions for this section, please forward your
  suggestions to norm <walsh@cs.umass.edu>.

1. Font availability

  Public Domain fonts for the NeXT are available via anonymous FTP from 
  sonata.purdue.edu, in the directory next/graphics/fonts.  The README for 
  this file states that the directory is currently being restructured by 
  the archive moderator, although fonts are still available in that 
  directory. 

-- END OF PART VI --




FAQ for comp.fonts: Part VII: X-specific Info

Version 1.0.0, Release 02OCT92


This section is divided into the following topics:

0.  Please help!
1.  X fonts and font utilities

------------------------------------------------------------------------------

0. Please help!

  This section needs a lot of work.  At the time of this release, I'm not
  in a position to write it so I'm leaving it basically blank.  Even if
  you don't have time to write it, if you know what _should_ be in this
  section, please forward it to norm <walsh@cs.umass.edu>.

1. X fonts and font utilities

  The following programs will allow you to create fonts for display under
  X.  IBM has contributed Type1 font support for X11R5 but, at present,
  I have no experience with it.

  On any given platform, X requires specially 'compiled' fonts.  The
  standard method of interchange between platforms is BDF format.  The
  BDF format is defined by Adobe.  A document describing the format is
  available from Adobe (send "help" to <ps-file-server@adobe.com>).
  It is also available in the standard X distribution.  Look under
  ../X11R4(5)/mit/hardcopy/BDF.  This document is also reproduced in any
  text describing the X standard.

  Once you have a file in BDF format, your X platform should have the
  tools required to convert it into your local binary format.  Depending
  on your platform this may be 'snf', 'pcf', or X11/News format ('ff'
  and 'fb').

  Here's a quick list of possible steps to get from "what you got" to X:

  Mac format bitmaps:

    No idea.  If _you_ know how to read a Mac format bitmap file on some
    other platform, please tell norm <walsh@cs.umass.edu>.

  PC format bitmaps:

    Conversion to BDF is possible from TeX PK format and LaserJet softfont
    format.  Other conversions are also within the realm of possibility.
    Feel free to ask norm <walsh@cs.umass.edu> for more information if you
    have a specific conversion in mind.

  TeX PK format bitmaps:

    PKtoBDF gets us directly to BDF format from here.

  Mac format postscript:

    Under MS-DOS, conversion to PC format postscript allows the font to
    be accessed with PS2PK (under *nix or MS-DOS).  See above for TeX
    PK to X conversions.

  PC/*nix format PostScript

    Conversion to TeX PK with PS2PK allows us to get to BDF (indirectly).

-- END OF PART VII --


--- [cut here] --- FAQ for comp.fonts: section 2, part 1 of 2 ---
Newsgroups: comp.fonts