From: walsh@cs.umass.edu (Norman Walsh)
Newsgroups: comp.fonts
Subject: FAQ: Part-I: General Info
Date: 4 Sep 92 19:32:07 GMT
Reply-To: walsh@cs.umass.edu
Organization: Dept of Comp and Info Sci, Univ of Mass (Amherst)

FAQ for comp.fonts: Part I: General Info

Maintained by Norm Walsh <walsh@cs.umass.edu> and
              Bharathi Jagadeesh <bjag@nwu.edu>

Version 0.0.3, Release 04SEP92

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 five parts posted seperately.  The parts 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: X-specific Info

The decision to divide the FAQ into multiple parts is somewhat arbitrary
although it stems, in part, from the fact that it would be too long to mail in
one piece anyway.  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.

This section is divided into the following topics:

0.  Notes about the FAQ
1.  What's the difference between type 1 fonts, type 3 fonts, type 5 fonts,
    Macintosh fonts, Windows fonts, TrueType fonts, LaserJet fonts, etc.
2.  Where can I get <> fonts.
3.  Where can I get fonts for non-Roman alphabets.
4.  How can I convert my <> font to <> format?
5.  Are fonts copyrightable?
6.  File Formats / Font Formats / Ligatures / Standard Fonts / Glossary
7.  Bibliography
8.  Rules of Thumb
9.  Acknowlegements

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

0. Notes about the FAQ.

   Words printed in single quotes 'like this' will someday appear in the
   glossary.  The glossary doesn't contain very much right now.  This
   convension isn't followed very thoroghly at present.  If you notice
   something that should be marked or something you feel should be in the
   glossary, please let us know.

   All trademarks are the trademarks of their respective owners.

   Standard disclaimers apply.

1. What's the difference between type 1 fonts, type 3 fonts, type 5 fonts,
   Macintosh fonts, Windows fonts, LaserJet fonts, etc.

   This question is not trivial to answer.  It's analogous to asking
   what the difference is between various graphics image file formats.
   The short, somewhat pragmatic answer, is simply that they are
   different ways of representing the same "information" and some of
   them will work with your software/printer and others won't.

   At one level, there are two major sorts of fonts: bitmapped and outline
   (scalable).  Bitmapped fonts are falling out of fashion as various
   outline technologies grow in popularity and support.

   Bitmapped fonts represent each character as a rectangular grid of pixels.
   The bitmap for each character indicates precisely what pixels should be
   on and off.  Printing a bitmapped character is simply a matter of
   blasting the right bits out to the printer.  There are a number of
   disadvantages to this approach.  The bitmap represents a particular
   instance of the character at a particular size and resolution.  It is
   very difficult to change the size, shape, or resolution of a bitmapped
   character without significant loss of quality in the image.  On the other
   hand, it's easy to do things like shading and filling with bitmapped
   characters.

   Outline fonts represent each character mathematically as a series of
   lines, curves, and 'hints'.  When a character from an outline font is to
   be printed, it must be 'rasterized' into a bitmap "on the fly".
   PostScript printers, for example, do this in the print engine.  If the
   "engine" in the output device cannot do the rasterizing, some front end
   has to do it first.  GhostScript, for example, rasterizes the page before
   it displays it on the screen.  Many of the disadvantages that are
   inherent in the bitmapped format are not present in outline fonts at all.
   Because an outline font is represented mathematically, it can be drawn at
   any reasonable size without significant loss of quality (at least, the
   loss of quality is not a direct consequence of resizing it--any font
   printed at a small enough size shows a significant loss of quality as the
   size approaches the resolution of the device).  Additionally, because it
   is rasterized "on demand," the font can be adjusted for different
   resolutions and 'aspect ratios'.

   LaserJet .SFP and .SFL files, TeX PK, PXL, and GF files, Macintosh
   Screen Fonts, and GEM .GFX files are all examples of bitmapped font
   formats.

   PostScript Type 1, Type 3, and Type 5 fonts, Nimbus Q fonts, TrueType
   fonts, and LaserJet .SFS files are all examples of outline font formats.

   Neither of these lists is even close to being exhaustive.  

   To complicate the issue further, identical formats on different platforms
   are not necessarily the same.  For example Type 1 fonts on the Macintosh
   are not directly usable under MS-DOS or Unix, and vice-versa.

   Henry Schneiker <reachable electronically?> created the following
   description of the differences between several scalable font
   technologies.

   It has been pointed out that the following description shows signs
   of it's age (for example, the eexec encryption has been thoroughly
   hacked).  I don't dispute the observation and I encourage anyone
   with the knowledge and time to submit a more up to date description.

   *-[Quote]-----------------------------------------------------------*

   There has been a lot of confusion about font technologies in recent
   times, especially when it comes to Type 1 versus Type 3 fonts,
   "hints," PostScript compatibility, encryption, character
   regularizing, kerning, and the like.

   Encryption (eexec)

   All fonts produced with Adobe's font technology are protected through
   data encryption. The decryption is provided by the `eexec' (encrypted
   execute) PostScript operator and, until recently, was only present in
   Adobe's licensed PostScript. Recently, RIPS reverse-engineered the
   eexec operator and now provides it to its licensees. Other clone
   vendors are sure to follow.
   
   It is important to note that the eexec operator can be used to
   decrypt and execute any valid PostScript statement. Therefore, any
   PostScript program or program fragment may be encrypted so it will
   work with eexec operator.
   
   You will further note that eexec is not tied to fonts in any way.
   While eexec is mostly used to protect font data, it can be used to
   protect any PostScript code. It just so happens that Adobe's favorite
   thing to protect is font data. The eexec operator is also used to
   hide the methods for applying patches to the PostScript system and
   methods for gaining privileged access to protected procedures.
   
   There is no gain in speed by encryption. In fact, there is a slight
   speed penalty resulting from decryption. The encrypted data is also
   twice as big as unencrypted data. This is compensated for in Adobe
   fonts by storing the hexadecimal characters (cipher text) as binary
   on the host disk.
   
   Type 1, Type 3, and Type 5 font formats
   
   There are general three font formats used in Adobe PostScript
   printers: Type 1, Type 3, and Type 5. Type 1 fonts are Adobe's
   downloadable format. Type 3 fonts are third-party downloadable
   format. Type 5 fonts are the ROM-based fonts that are part of your
   printer.
   
   There is no functional difference between a Type 1, Type 3, or Type 5
   font. A Type 3 font can do anything a Type 1 or Type 5 font can do.
   The only real difference between them is where the `BuildChar'
   routine comes from. For Type 1 and Type 5 fonts it's built into the
   printer. For Type 3 fonts it's built into the font. In other words,
   anything a Type 1 font can do a Type 3 font can also do.
   
   When PostScript is asked to generate a character, PostScript looks in
   the font's dictionary for FontType. If FontType is 1 or 5 PostScript
   executes an internal routine that knows how to interpret the font
   data stored in CharStrings. If FontType is 3 PostScript executes the
   routine BuildChar from the font's dictionary to interpret the font
   data (often stored in CharStrings).
   
   However, each BuildChar routine is written to read data formatted in
   a method convenient to the vendor. Adobe, Altsys, Bitstream, and
   Kingsley/ATF all format their font data differently and, hence, have
   different BuildChar routines.
   
   The font data for Adobe's Type 1 font format is a binary
   representation of the outline font data. Kingsley/ATF also uses a
   binary representation of its Type 3 outline font data and stores the
   binary code as binary on the host disk. Both company's binary
   representation and store technique substantially reduces the storage
   requirements on the host and in the printer.
   
   Other vendors, such as Altsys and Bitstream, also use a binary
   encoding system for their Type 3 outline font data. However the data
   is stored on the host as hexadecimal text characters and requires
   about double the storage as the binary storage technique. It should
   be noted that a compact text encoding (an alternate Altsys format)
   requires two to three times as much storage space as the binary
   storage technique.
   
   Type 5 fonts are special in that they often include hand-tuned
   bitmaps for the commonly used sizes, such as 10- and 12-point. Other
   sizes are generated from the outlines in normal fashion.
   
   Type 3 fonts can also be used to implement other font outline
   systems, such as Sun's F3 and Apple's B-spline. Type 1 and Type 5
   fonts can only be used with the Adobe font format.
   
   Also, don't confuse Type 1, Type 3, and Type 5 fonts with Bitstream's
   Type A, Type B, Type C, and Type F. They are not the same and serve
   only to confuse the issue.
   
   Resolution `hints'
   
   When a character is described in outline format the outline has
   unlimited resolution. If you make it ten times as big, it is just as
   accurate as if it were ten times as small.
   
   However, to be of use, we must transfer the character outline to a
   sheet of paper through a device called a raster image processor
   (RIP). The RIP builds the image of the character out of lots of
   little squares called picture elements (pixels).
   
   The problem is, a pixel has physical size and can be printed only as
   either black or white. Look at a sheet of graph paper. Rows and
   columns of little squares (think: pixels). Draw a large `O' in the
   middle of the graph paper. Darken in all the squares touched by the
   O. Do the darkened squares form a letter that looks like the O you
   drew? This is the problem with low resolution (300 dpi). Which pixels
   do you turn on and which do you leave off to most accurately
   reproduce the character?
   
   All methods of hinting strive to fit (map) the outline of a character
   onto the pixel grid and produce the most pleasing/recognizable
   character no matter how coarse the grid is.
   
   Adobe's hinting system relies on regularizing (equalization) and
   straightening out the original character outline as much as possible
   when the font is created. Unfortunately this process of modifying the
   original font outlines for the sake of low resolution can badly
   distort the character from its original design. These distortions are
   visible when printing at high resolution. This system also places
   limitations on the placement of end points in the outline, again for
   the sake of the hinting system.
   
   The new Fontographer hinting system (a subset of Nimbus-Q) places
   similar restrictions on the character outline. for instance, to make
   proper use of the hints, a character must be (re)drawn with curve end
   points at curve maximum/minimum X/Y extents. In order for strokes to
   be equalized to the same widths, they must be (re)drawn with exactly
   the same widths. Again, the shape of the character is ruled by the
   limitations of the hinting system.
   
   The hinting system used by Kingsley/ATF in ATF Type Designer I* is
   fundamentally different. It does not require special placement of
   curve and end points in order to function. It also does not require
   modification of the original font outline to aid in grid fitting or
   stroke equalization. Once the outline has been created to the
   artist's satisfaction the hints for stroke equalization and grid
   fitting are added without any modification to the character outline.
   The net effect is that the Kingsley/ATF system does not sacrifice
   high-resolution quality while achieving low-resolution quality.
   
   Character fill algorithms
   
   The fill algorithm in PostScript tends to turn on too many pixels and
   make a character fatter and wider by one or two pixels. This is
   especially obvious in small sizes at low resolutions. Both Adobe and
   Kingsley/ATF compensate for this, thus keeping characters to proper
   thickness.
   
   Other type vendors do not currently compensate for the fill algorithm
   and thus end up with undesirably heavy characters, which is
   particularly noticeable at small sizes.
   
   Optical Scaling*
   
   Optical Scaling modifies the relative shape of a character to
   compensate for the visual effects of changing a character's size. As
   a character gets smaller, the relative thickness of strokes, the size
   of serifs, the width of the character, the intercharacter spacing,
   and interline spacing should increase. Conversely, as a character
   gets larger, the relative thickness, widths, and spacing should
   decrease. Optical Scaling is used by Kingsley/ATF.
   
   Contrast this with linear scaling, in which all parts of a character
   get larger or smaller at the same rate, making large characters look
   wide and heavy (strokes are too thick, serifs are too big) while
   small characters look thin and weak. Linear scaling is used by Adobe,
   Altsys, Bitstream, and all other typeface manufacturers.
   
   The difference between linear scaling and Optical Scaling are clear,
   a difference even the untrained eye can see. The difference is
   particularly easy to see at high resolutions.
   
   Kerning
   
   As applied to PostScript fonts, kerning refers to kern pairs. A kern
   pair specifies two characters (e.g., A and V) and the distance to
   move the second character relative to the first. The typical use of a
   kern pair is to remove excessive space between a pair of characters.
   However, it may also be used to add space.
   
   How many kern pairs do you need? The answer depends on how well
   regular character spacing has been set and on the typeface itself.
   The better the default letterspacing has been set, the fewer kerning
   pairs are needed. In fact, an excessive number of kern pairs may be
   the artifact of a poor letterspacing job.
   
   The typeface itself has a lot to do with which characters may benefit
   from kerning. Just because one typeface has a kern pair does not mean
   the text typeface will need kerning for the same pair. Different
   typeface designs have very different kerning requirements.
   
   The moral to the story is: The number of kerning pairs is not a good
   quality indicator.
   
   PostScript clones
   
   There are currently several printer manufacturers on the market with
   PostScript clones. To be viable, a PostScript clone must comply with
   the `red book' (PS Language Reference Manual). The main problem the
   clones have is with fonts. Much of the font (and copy-protection)
   technology Adobe uses is undocumented.
   
   The eexec operator is not defined and Adobe protects its operations
   as a trade secret. Without the eexec operator Adobe fonts cannot be
   decrypted. There are many other operators like eexec, such as the
   internal BuildChar routine, that are required for proper operation of
   Adobe fonts, and these operators are also held as trade secrets.
   Without these operators, the Adobe font data cannot be interpreted.
   
   The clone problem can be approached from two directions. RIPS, a
   PostScript clone manufacturer, has reverse-engineered the eexec and
   other operators (including BuildChar and friends) and now sells a
   PostScript clone that is Adobe-compatible in all respects needed for
   proper interpretation of Adobe font data (Type 1 encrypted). Other
   companies are sure to follow. This is only important to users who
   have purchased or desire to purchase the Adobe/Linotype font library.
   
   The other way to solve the font technology problem is to implement
   your own. This is the route chosen by Altsys, Bitstream,
   Kingsley/ATF, and various other vendors. Some of the technologies
   used by these companies have been listed and compared. All these
   vendors use Type 3 unencrypted fonts, but the similarities end there.
   The technologies implemented from one company to the next vary in
   source of artwork, precision of digitization, availability and types
   of hints, Optical Scaling, storage requirements, and much more.
   
   Apple Royal (`sfnt') format and System 7
   
   Apple's new System 7.0 will support a new format of outline font that
   will allow high-quality characters of any size to be displayed on the
   screen. The new format (`sfnt') stores font outlines as B-spline
   curves along with programmed resolution hints. B-spline curves are
   faster to compute and easier to manipulate than the Bezier curves
   used in PostScript.
   
   Adobe is not going to support Apple's new format by converting the
   Adobe/Linotype library to B-spline format. There are two reasons for
   this: First, there is no support for font encryption (yes, the hooks
   are there, but nothing is implemented). Second, Adobe does not want
   to dilute PostScript and its font library. However, the Macintosh is
   too big a market to simply turn away from. Therefore, Adobe will
   provide its Font Manager to display its own fonts on the Mac screen.
   
   K/A will provide its entire library in Apple's B-spline format in
   addition to various PostScript formats. Users will be able to pick
   whatever format is most convenient.
   
   The Adobe font license
   
   When you license Adobe's font technology you get a `black box' that
   takes your font data in a prescribed format and turns it into Adobe's
   format with hints (suitable for use by the Type 1 BuildChar routine)
   and encrypted fonts for use by the eexec operator. No capability is
   provided to create or edit font data or screen fonts.
   
   The Kingsley/ATF font license
   
   When you license Kingsley/ATF's font technology you get a complete
   state-of-the-art font digitization system (ATF Type Designer I*),
   with output capabilities for supporting many operating systems and
   formats, resolution hinting, Optical Scaling, kerning editor,
   automatic screen font generation, and screen font editor. Included is
   a sophisticated end-user font utility. You also receive assistance in
   converting your current font data into the ATF format for editing.
   
   The Altsys font method
   
   Altsys sells a font digitization system called Fontographer without
   further license. The new version supports a limited version of the
   Nimbus-Q hinting system, and includes a kerning editor, output for
   the Macintosh, and a screen font editor.
   
   The FontStudio method
   
   Letraset has purchased the FRed font editor and should be releasing
   it soon. It will be sold without further license.
   
   The URW font method
   
   URW designed the Ikarus system about 15 years ago. Due to the
   normally small size of artwork and the cross-hair pointer used in the
   digitization process, the accuracy of outlines generated with this
   system suffers. This is the same system used to generate the Adobe
   font outlines. They are currently marketing the Nimbus-R hinting
   system.
   
   ATF Type Designer I and Optical Scaling are trademarks of
   Kingsley/ATF Type Corporation. PostScript is a trademark of Adobe
   Systems Incorporated. Apple and Macintosh are trademarks of Apple
   Computer, Inc.  Fontographer is a trademark of Altsys Corporation.
   Ikarus and Nimbus-R are trademarks of URW. FontStudio is a trademark
   of Esselte Pendaflex Corporation.

   *-[Unquote]---------------------------------------------------------*
   
2. Where can I get <> fonts.

   Before I go any farther, let me extol the virtues of the Archie servers.
   If you need to find something on the net, and you have any idea what it
   might be called, Archie is the place to go.  In North America, telnet to
   "archie.rutgers.edu" and login as "archie".  There are many other servers
   around the world, any Archie server can give you a list of other servers.
   There are better documents than this to describe Archie and you should be
   able to find them from the above starting point.  If you have trouble,
   feel free to ask norm <walsh@cs.umass.edu> (via Email please, no need to
   clutter comp.fonts with a query about Archie ;-).

   In addition to the telnet option, several archie clients exist including
   a very nice XArchie implementation.

   Adobe Type 1 Fonts in MS-DOS/Unix Format:
     
      ftp.cica.indiana.edu:/pub/pc/win3/fonts
      ftp.cica.indiana.edu:/pub/pc/win3/fonts/atm
      archive.umich.edu:/msdos/mswindows/fonts

   Adobe Type 1 Fonts in Mac Format:

      mac.archive.umich.edu:/mac/system.extensions/font/type1
      sumex-aim.stanford.edu:/info-mac/font

   Adobe Type 3 Fonts in Mac Format:

      mac.archive.umich.edu:/mac/system.extensions/font/type3

   TrueType fonts in MS-DOS Format:

      ftp.cica.indiana.edu:/pub/pc/win3/truetype
     
   TrueType fonts in Mac Format:

      mac.archive.umich.edu:/mac/system.extensions/font/truetype

   TeX PK/PXL/GF fonts:

      The TeX community has it's own support groups that can provide better
      answers to this question.  The canonical list of MetaFont fonts is
      posted occasionally to comp.text.tex.  The comp.text.tex newsgroup (or
      the Info-TeX mailing list, if you do not have access to news) are good
      places to start.  Email norm <walsh@cs.umass.edu> if you need more
      specific information.

   LaserJet bitmap fonts:

      wuarchive.wustl.edu:/pub/msdos/laser

      Also on other simtel20 mirrors...

   If you know of other archive sites (the above list is no where near
   complete) or other formats that are available on the net, please let us
   know.

   The sites above represent places where shareware and public domain fonts
   are available.  Many, many typefaces are not available in shareware form.
   And many shareware faces are less than adequate for a variety of reasons,
   particularly at small sizes.  It seems to be the concensus of the
   comp.fonts community that "you get what you pay for."  If you need a
   professional quality font, you should probably buy it from a
   professional.

   A list of commercial font vendors (annotated with information about
   non-Roman alphabets) was contributed by Masumi Abe <abe@adobe.com>.
   Masumi is Adobe's Manager of Typographic Marketing for Asia. [ed: as of
   7/92]
 
   The list is quite long and it is posted seperately.  It can be retrieved
   via anonymous ftp from /pub/norm/comp.fonts on ibis.cs.umass.edu.

3. Where can I get fonts for non-Roman alphabets.

   As noted above, Masumi's list of commercial vendors (see question 2.
   Where can I get <> fonts?) is annotated with information about
   non-Roman alphabets.  Commercially, Masumi suggests that Linguists'
   Software is the current [ed: as of 7/92] leading supplier of
   non-Roman fonts.

4. How can I convert my <> font to <> format?

   Conversion from one bitmapped format to another is not generally too
   difficult.  Conversion from one scalable format to another is very
   difficult.  Several commercial software packages claim to perform
   these tasks, but none has been favorably reviewed by the comp.fonts
   community.  ATech's AllType program, in particular, has had poor
   reviews [ed: as of 7/92].

   For specific conversions, check the platform specific parts of the
   FAQ.  Most of the conversions discussed require platform specific
   tools.

5. Are fonts copyrightable?

   This topic is hotly debated at regular intervals on comp.fonts.
   Terry Carroll <tjc50@juts.ccc.amdahl.COM> provides the following
   analysis of current [ed: as of 6/92] legislation and regulation
   regarding fonts and copyrights.  Members of the comp.fonts community
   are encouraged to submit other materials that add clarity to the
   issue.

   *-[Quote]-----------------------------------------------------------*

   First, the short answer: Typefaces are not copyrightable; bitmapped
   fonts are not copyrightable, but scalable fonts are copyrightable.
   Authorities for these conclusions follow.
   
   Before we get started, let's get some terminology down:
   
   A typeface is a set of letters, numbers, or other symbolic characters,
   whose forms are related by repeating design elements consistently
   applied in a notational system and are intended to be embodied in
   articles whose intrinsic utilitarian function is for use in composing
   text or other cognizable combinations of characters.
   
   A font is the computer file or program that is used to represent or
   create the typeface.
   
   Now, on to the legal authorities:
   
   Volume 37 of the Code of Federal Regulations specifies this about the 
   copyrightability of typefaces:
   
   "The following are examples of works not subject to copyright and 
   applications for registration of such works cannot be entertained: . . . 
   typeface as typeface" 37 CFR 202.1(e).
   
   By the way, you won't find that in the most recent (7/1/91) edition of
   the CFR; the addition was enacted 2/21/92.  It'll be in the next
   edition, though.  It's described in the 2/21/92 edition of the Federal
   Register, page 6201 (57 FR 6201).  The change didn't actually change the
   law, it just clarified it, and codified existing Copyright Office
   policy.
   
   The regulation is in accordance with the House of Representatives report
   that accompanied the new copyright law, when it was passed in 1976:
   
   "The Committee has considered, but chosen to defer, the possibility of
   protecting the design of typefaces.  A 'typeface' can be defined as a
   set of letters, numbers, or other symbolic characters, whose forms are
   related by repeating design elements consistently applied in a
   notational system and are intended to be embodied in articles whose
   intrinsic utilitarian function is for use in composing text or other
   cognizable combinations of characters.  The Committee does not regard
   the design of typeface, as thus defined, to be a copyrightable
   'pictoral, graphic, or sculptural work' within the meaning of this bill
   and the application of the dividing line in section 101."  H. R. Rep.
   No.  94-1476, 94th Congress, 2d Session at 55 (1976), reprinted in 1978
   U.S. Cong. and Admin. News 5659, 5668.
   
   It's also in accordance with the one court case I know of that has
   considered the matter: Eltra Corp. V. Ringer, 579 F.2d 294, 208 USPQ 1
   (1978, C.A. 4, Va.).
   
   The Copyright Office holds that a bitmapped font is nothing more than a
   computerized representation of a typeface, and as such is not
   copyrightable:
   
   "The [September 29, 1988] Policy Decision [published at 53 FR 38110]
   based on the [October 10,] 1986 Notice of Inquiry [published at 51 FR
   36410] reiterated a number of previous registration decisions made by
   the [Copyright] Office.  First, under existing law, typeface as such is
   not registerable.  The Policy Decision then went on to state the
   Office's position that 'data that merely represents an electronic
   depiction of a particular typeface or individual letterform' [that is, a
   bitmapped font] is also not registerable."  57 FR 6201.
   
   However, scalable fonts are, in the opinion of the Copyright Office,
   computer programs, and as such are copyrightable:
   
   "... the Copyright Office is persuaded that creating scalable typefonts
   using already-digitized typeface represents a significant change in the
   industry since our previous [September 29, 1988] Policy Decision.  We
   are also persuaded that computer programs designed for generating
   typeface in conjunction with low resolution and other printing devices
   may involve original computer instructions entitled protection under the
   Copyright Act.  For example, the creation of scalable font output
   programs to produce harmonious fonts consisting of hundreds of
   characters typically involves many decisions in drafting the
   instructions that drive the printer.  The expression of these decisions
   is neither limited by the unprotectable shape of the letters nor
   functionally mandated.  This expression, assuming it meets the usual
   standard of authorship, is thus registerable as a computer program."  57
   FR 6202.
   
   *-[Unquote]---------------------------------------------------------*
   
6. File Formats / Font Formats / Ligatures / Standard Fonts / Glossary

6.1. File Formats

  Many different kinds of files are available on the net.  These files
  contain many different kinds of data for many different architectures.
  Frequently, the extension (trailing end) of a filename gives a good
  clue as to the format of its contents and the architecture that it was
  created on.

  In order to save space, most files on the net are compressed in one
  way or another.  Many compression/decompression programs exist on
  multiple architectures.

  Multiple files and directories are often combined into a single
  'archive' file.  Many archive formats perform compression
  automatically.

6.1.1. File Format Extensions

  .tar   Unix 'tape archive' format.  Tar files can contain multiple files
         and directories.  Unlike most archiving programs, tar files are
	 held together in a wrapper but are not automatically compressed 
	 by tar.

  .Z     Unix 'compress' format.  Compression doesn't form a wrapper around
         multiple files, it simply compresses a single file.  As a result,
	 you will frequently see files with the extension .tar.Z.  This
	 implies that the files are compressed tar archives.

  .hqx   Macintosh 'BinHex' format.  In order to reliably transfer Mac files
         from one architecture to another, they are BinHex encoded.  This
	 is actually an ascii file containing mostly hexidecimal digits.
	 It is neither a compression program nor an archive wrapper.

  .sit   Macintosh 'Stuffit' archive.

  .cpt   Macintosh 'Compactor' archive.

         Like the .tar.Z format that is common among Unix archives, Macintosh
	 archives frequently have the extensions .sit.hqx or .cpt.hqx 
	 indicating a BinHex'ed archive.

  .arc   PC 'arc' archive.  This is an older standard (in PC terms, at least)
         and has gone out of fashion.

  .zip   PC 'zip' archive.  This is the most common PC archive format today.

  .arj   PC 'arj' archive.  

  .zoo   PC 'zoo' archive
  
  .lzh   PC 'lha/lharc' archive.

6.2. Font Formats

  Just as the are many, many archive formats, there are many different
  font formats.  The characteristics of some of these formats are
  discussed below.  Once again, the file extension may help you to
  determine the font type.  (On the Mac, the resource TYPE field is
  (probably) a better indicator).

  PostScript Type 1 Fonts:
  
    Postscript Type 1 fonts (Also called ATM (Adobe Type Manager) fonts,
    Type 1, and outline fonts) contains information, in outline form,
    that allows a postscript printer, or ATM to generate fonts of any
    size.  Most also contain hinting information which allows fonts to
    be rendered more readable at lower resolutions and small type sizes.
  
  PostScript Type 3 Fonts:
  
    Postscript type 3 fonts are an old outline font format that is not
    compatible with ATM.  Most developers have stopped using this format
    except in a few special cases, where special type 3 characteristics
    (pattern fills inside outlines, for example) have been used.
  
  TrueType Fonts:
  
    Truetype fonts are a new font format developed by Microsoft with
    Apple.  The rendering engine for this font is built into system 7
    and an init, the Truetype init, is available for system 6 (freeware
    from Apple).  It is also built into MS Windows v3.1.  Like
    PostScript Type 1 and Type 3 fonts, it is also an outline font
    format that allows both the screen, and printers, to scale fonts to
    display them in any size.
  
  Bitmap Fonts:
  
    Bitmap fonts contain (surprise) bitmaps of fonts in them.  This a
    picture of the font at a specific size that has been optimized to
    look good at that size. It cannot be scaled bigger without making it
    look horrendously ugly.  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.

6.2.1. Font Format Extensions

  .afm   Adobe Type 1 metric information in 'ascii' format (human parsable)
  .bdf   X-Windows font file (?)
  .chr   Borland stroked font file
  .gf    TeX graphic font bitmap font file
  .mf    TeX MetaFont font file (text file of MetaFont commands)
  .pfa   Adobe Type 1 Postscript font in "ascii" format (PC/Unix)
  .pfb   Adobe Type 1 PostScript font in "binary" format (PC/Unix)
  .pfm   Printer font metric information in Windows format
  .pk    TeX packed bitmap font file
  .pxl   TeX pixel bitmap font file
  .sfl   LaserJet bitmapped softfont, landscape orientation
  .sfp   LaserJet bitmapped softfont, portrait orientation
  .sfs   LaserJet scalable softfont

6.3. Ligatures

   A ligature occurs where two or more letterforms are written or
   printed as a unit.  Generally, ligatures replace characters that
   occur next to each other when they share common components.
   Ligatures are a subset of a more general class of figures called
   "contextual forms."  Contextual forms describe the case where the
   particular shape of a letter depends on its context (surrounding
   letters, whether or not it's at the end of a line, etc.).
   
   One of the most common ligatures is "fi".  Since the dot above a
   lowercase 'I' interferes with the loop on the lowercase 'F', when 'f'
   and 'i' are printed next to each other, they are combined into a
   single figure with the dot absorbed into the 'f'.
   
   An example of a more general contextual form is the greek lowercase
   sigma.  When typesetting greek, the selection of which 'sigma' to use
   is determined by whether or not the letter occurs at the end of the
   word (i.e., the final position in the word).
   
   Amanda Walker <amanda@visix.com> provides the following discussion of
   ligatures:
   
   Ligatures were originally used by medieval scribes to conserve space
   and increase writing speed.  A 14th century manuscript, for example,
   will include hundreds of ligatures (this is also where "accents" came
   from).  Early typefaces used ligatures in order to emulate the
   appearance of hand-lettered manuscripts.  As typesetting became more
   automated, most of these ligatures fell out of common use.  It is
   only recently that computer based typesetting has encouraged people
   to start using them again (although 'fine art' printers have used
   them all along).  Generally, ligatures work best in typefaces which
   are derived from calligraphic letterforms.  Also useful are
   contextual forms, such as swash capitals, terminal characters, and so
   on.
   
   A good example of a computer typeface with a rich set of ligatures is
   Adobe Caslon (including Adobe Caslon Expert).  It includes:
   
       Upper case, lower case, small caps, lining numerals, oldstyle
       numerals, vulgar fractions, superior & inferior numerals,
       swash italic caps, ornaments, long s, and the following ligatures:
   
       ff fi fl ffi ffl Rp ct st Sh Si Sl SS St (where S=long s)
   
   [Ed: Perhaps a more common example is the Computer Modern Roman
   typeface that is provided with TeX. this family of fonts include the
   ff, fi, fl, ffi, and ffl ligatures which TeX automatically uses when
   it finds these letters juxtaposed in the text.]
   
   While there are an infinite number of possible ligatures, generally
   only the most common ones are actually provided.  In part, this is
   because the presence of too many alternate forms starts reducing
   legibility.  A case in point is Luxeuil Miniscule, a highly-ligatured
   medieval document hand which is completely illegible to the untrained
   eye (and none too legible to the trained eye, either :)).
   
   There is no "complete" set of ligatures.

6.4. Standard Laser Printer Fonts

  Postscript printers with 17 fonts have:

    Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique, Helvetica,
    Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Narrow,
    Helvetica-Narrow-Bold, Helvetica-Narrow-BoldOblique,
    Helvetica-Narrow-Oblique, Helvetica-Oblique, Symbol, Times-Bold,
    Times-BoldItalic, Times-Italic, Times-Roman

  Postscript printers with 35 fonts have:

    All of the above, plus the following:

    ZapfChancery-MediumItalic, ZapfDingbats, AvantGarde-Book,
    AvantGarde-BookOblique, AvantGarde-Demi, AvantGarde-DemiOblique,
    Bookman-Demi, Bookman-DemiItalic, Bookman-Light, Bookman-LightItalic,
    NewCenturySchlbk-Bold, NewCenturySchlbk-BoldItalic,
    NewCenturySchlbk-Italic, NewCenturySchlbk-Roman, Palatino-Bold,
    Palatino-BoldItalic, Palatino-Italic, Palatino-Roman

  HP LaserJet printers (II, IIP)

    Courier 10, Courier 12, LinePrinter 16.66, ...

  HP LaserJet printers (III, IIIP)

    All of the above, plus the following:

    Scalable Times Roman, Scalable Univers

6.5. Glossary

   [ I ripped this right out of the manual I wrote for Sfware.  If you have
     comments, improvements, suggestions, please tell me... ]

   baseline
   
      The baseline is an imaginary line upon which each character rests.
      Characters that appear next to each other are (usually) lined up so
      that their baselines are on the same level.  Some characters extend
      below the baseline (``g'' and ``j'', for example) but most rest on
      it.
   
   bitmap
   
      A bitmap is an array of dots. If you imagine a sheet of graph paper
      with some squares colored in, a bitmap is a compact way of
      representing to the computer which squares are colored and which are
      not.
   
      In a bitmapped font, every character is represented as a pattern of
      dots in a bitmap. The dots are so small (300 or more dots-per-inch,
      usually) that they are indistinguishable on the printed page.
   
   character
   
      A character is an individual symbol in a font. The letter ``A'' is a
      character.  So is a period.  All of the printed symbols that can
      appear in a font are characters.  They can also be called glyphs.
   
   download
   
      Downloading is the process of transferring information from one
      device to another.  This transferral is called downloading when the
      transfer flows from a device of (relatively) more power to one of
      (relatively) less power.  Sending new fonts to your printer so that
      it ``learns'' how to print characters in that font is called
      downloading.
   
   font
   
      A font is a collection of symbols that have similar characteristics.
      The symbols in a font have a fixed typeface, size, weight, style and
      symbol set.  For example, upright, bold Times Roman at 10pt is a
      font.  Contrast with typeface.
   
   glyph
   
      A glyph is a more general term for a symbol that can appear in a
      font.  Usually we refer to individual symbols in a font as characters
      (because they are things like ``A'' and ``&'').  However, since any
      arbitrary smear of ink can occur in a font, a more general term is
      sometimes used.
   
   hints
      
      When a character is described in outline format the outline has
      unlimited resolution.  If you make it ten times as big, it is just as
      accurate as if it were ten times as small.
      
      However, to be of use, we must transfer the character outline to a
      sheet of paper through a device called a raster image processor
      (RIP). The RIP builds the image of the character out of lots of
      little squares called picture elements (pixels).
      
      The problem is, a pixel has physical size and can be printed only as
      either black or white. Look at a sheet of graph paper. Rows and
      columns of little squares (think: pixels). Draw a large `O' in the
      middle of the graph paper. Darken in all the squares touched by the
      O. Do the darkened squares form a letter that looks like the O you
      drew? This is the problem with low resolution (300 dpi). Which pixels
      do you turn on and which do you leave off to most accurately
      reproduce the character?
      
      All methods of hinting strive to fit (map) the outline of a character
      onto the pixel grid and produce the most pleasing/recognizable
      character no matter how coarse the grid is.
   
   kerning
   
      Kerning refers to slight changes in the spacing between characters.
      Some letter combinations (``AV'' and ``To'', for example) appear
      farther apart than others because of the shapes of the individual
      letters. Many sophisticated word processors move these letter
      combinations closer together automatically.
   
   outline font/format
   
      See 'scalable font'
   
   scalable font
   
      A scalable font, unlike a bitmapped font, is defined mathematically
      and can be rendered at any requested size (within reason).
   
   softfont
   
      A softfont is a bitmapped or scalable description of a typeface or
      font.  They can be downloaded to your printer and used just like any
      other printer font.  Unlike built-in and cartridge fonts, softfonts
      use memory inside your printer.  Downloading a lot of softfonts may
      reduce the printers ability to construct complex pages.
   
   symbol set
   
      The symbol set of a font describes the relative positions of
      individual characters within the font.  Since there can only be 256
      characters in most fonts, and there are well over 256 different
      characters used in professional document preparation, there needs to
      be some way to map characters into positions within the font.  The
      symbol set serves this purpose.  It identifies the ``map'' used to
      position characters within the font.
   
   typeface
   
      A typeface is a collection of symbols with a similar style.  Times
      Roman and Helvetica are typefaces.  Contrast with font.
   
7. Bibliography

  Robin Williams; The Mac is Not a Typewriter, Peachpit Press
        A good, clear explanation of what typography is, and how to get 
        it from your computer. Mac-specific, but full of excellent 
        general advice. I think there's also a PC version. Available at 
        most computer bookstores

  Erik Spiekermann; Rhyme and Reason: A Typographic Novel

  H Berthold AG - ISBN 3-9800722-5-8; Typographical attitude!

  Daniel Berkely Updike, 2 vols. Printing Types, Dover Press
       Affordable edition of the most readable history of type, lots
       of illustrations. 

  ... and remember, any font book you see going cheap is worth 
  having. It doesn't have to be specially published for the desktop 
  market.

8. Rules of Thumb

  It is difficult to set out guidelines for font usage, because almost
  any rule can be brilliantly broken under the right circumstances.

8.1. General guidelines:

  Never lose track of the kind of work you're doing. An effect that
  would ruin a newsletter might be just the thing for a record cover.
  Know when you can safely sacrifice legibility for artistic effect.

  Keep in mind the final reproduction process you'll be using.  Some
  effects (like reversed type, white on black) can be hard to read off
  an ordinary 300-dpi laser, but will work if finals are done on a
  high-resolution printer, such as a Linotronic. Will the pages be
  photocopied? Offset? Onto rough paper, shiny paper?  All these factors
  can and should influence your choice of fonts and how you use them.

  Running some comparative tests is a good idea. Better to blow off a
  few sheets of laser paper now than to see a problem after thousands of
  copies are made.

  No one can teach you font aesthetics; it must be learned by example.
  Look at beautiful magazines, posters, books with wide eyes, so that
  you can see how it's done. Examine ugly printed matter critically and
  consider why it's hard to read.

8.2.  Good rules of thumb:

  If you need a condensed font, find one that was designed that way,
  rather than scaling an existing font down to a percentage.  Any
  scaling distorts a font's design; excessive scaling interferes with
  legibility - this goes for widening as well as narrowing. Extended
  faces do exist, although they aren't as common as condensed ones.

  Many people feel that bold or italic type, or type in ALL CAPS, is
  more legible: "This is the most important part of the newsletter,
  let's put it in bold." In fact, legibility studies show that such type
  is actually harder to read in bulk. Keep the text in a normal style
  and weight, and find another way to emphasize it - box it, illustrate
  it, run it in color, position it focally.

  Too much reverse type - white on black - is hard on the eyes. It can
  be a nice effect if used sparingly. Don't reverse a serif font, though
  - its details will tend to fill in. Stick to reversing bold
  sans-serifs, and remember to space them out a bit more than usual.

  It is always safest to use a plain serif font for large amounts of
  text. Because Times is widely used, it doesn't mean it should be
  avoided. Fonts like Palatino, Times, Century Old Style are deservedly
  popular because people can read a lot of text set in such faces
  without strain.

  Don't expect anyone to read extensive text set in a condensed font.

  As point size gets bigger, track tighter, and (if the software allows)
  reduce the spacebands as well. A spaceband in a headline size
  (anything over 14 point) should be about as wide as a letter "i".

  If you only have a few large headlines, hand-kerning the type, pair by
  pair, can make the end result much more pleasing.  Besides, working
  with fonts this closely makes them familiar.

  Column width and justification are major elements in design.  The
  narrower the column, the smaller the type can be; wide rows of small
  type are very hard to read. Often it's a better idea to set narrow
  columns flush left rather than justified, otherwise large gaps can
  fall where hyphenation isn't possible.

  Use curly quotes.

  Don't put two spaces at the end of a line (.  ) instead of (. ) when
  using a proportionally spaced font.

9. Acknowledgements

  The moderators would like to express their gratitude to the whole
  community for providing insightful answers to innumerable questions.  In
  particular, the following people (listed alphabetically) have contributed
  directly to this FAQ (appologies, in advance if anyone has been
  forgotten):

    Masumi Abe <abe@adobe.com>
    Tim Bradshaw <tim.bradshaw@edinburgh.ac.UK>
    Terry Carroll <tjc50@juts.ccc.amdahl.com>
    Rick Heli <?> 
    Berthold K.P. Horn <bkph@ai.mit.edu>
    Kate McDonnell <?>
    Liam R.E. Quim <?>
    Henry Schneiker <?>
    Amanda Walker <amanda@visix.com>

--END OF PART I--