LCDF-TYPETOOLS
==============

   LCDF Typetools comprises several programs for manipulating
PostScript Type 1, Type 1 multiple master, and OpenType fonts.

   Cfftot1 translates a Compact Font Format (CFF) font, or a PostScript-
flavored OpenType font, into PostScript Type 1 format.  It correctly
handles subroutines and hints.  See the manual page `cfftot1/cfftot1.1` for
more information.

   Mmafm creates an AFM file (font metrics) corresponding to an instance of
a multiple-master font.  It reads the AMFM and AFM files distributed with
the font.  See MMAFM AND MMPFB, below, and the manual page `mmafm/mmafm.1`
for more information.

   Mmpfb creates a normal, single-master font program which looks like an
instance of a multiple-master font.  It reads the multiple master font
program in PFA or PFB format.  See MMAFM AND MMPFB, below, and the manual
page `mmpfb/mmpfb.1` for more information.

   Otfinfo reports information about OpenType fonts, such as the features
they support and the contents of their 'size' optical size features.  See
the manual page `otfinfo/otfinfo.1` for more information.

   Otftotfm creates TeX font metrics and encodings that correspond to
a OpenType font. It will interpret glyph positionings, substitutions,
and ligatures as far as it is able. You can say which OpenType
features should be activated. See the manual page
`otftotfm/otftotfm.1` for more information.

   T1dotlessj reads a Type 1 font, then creates a new Type 1 font whose
only character is a dotless "j" matching the input font's design.  See the
manual page `t1dotlessj/t1dotlessj.1` for more information.

   T1lint checks Type 1 fonts for correctness.  It tests most of the
requirements listed in Adobe Systems' Black Book ("Adobe Type 1 Font
Format"), and some others.  See the manual page `t1lint/t1lint.1` for more
information.

   T1reencode reencodes a Type 1 font, replacing its internal encoding with
one you specify.  See the manual page `t1reencode/t1reencode.1` for more
information.

   Ttftotype42 creates a Type 42 wrapper for a TrueType or
TrueType-flavored OpenType font.  See the manual page
`ttftotype42/ttftotype42.1` for more information.

   Finally, t1testpage creates a PostScript test page for a given font
file. See the manual page `t1testpage/t1testpage.1` for more
information.

   Please write me with problems, patches, and suggestions at the address
below.


REQUIREMENTS
------------
   UNIX; gmake; C & C++ compilers.  To build, just run ./configure, then
gmake.  See `INSTALL` in this directory for more detailed information about
`./configure`.

   Some programs can link with additional libraries.  Otftotfm can use the
Kpathsea TeX-related path searching library; if your kpathsea library is in
a nonstandard place, supply `./configure` with the `--with-kpathsea=PREFIX`
option to find it.

   You can also disable individual programs by supplying `./configure` with
`--disable-PROGNAME` options.  See `./configure --help` for more
information.


MMAFM AND MMPFB
---------------

Examples
........
   % mmafm MyriadMM.amfm --weight=300 --width=585 > MyriadMM_300_585_.afm
   % mmpfb MyriadMM.pfb --weight=300 --width=585 > MyriadMM_300_585_.pfb

   Run `mmafm --help` and `mmpfb --help` for a full option summary.

Running mmafm
.............
   Mmafm expects the name of an AMFM file on the command line. It also
needs to find an AFM file for each master (these should have been
distributed with the AMFM file). You can give the AFM files' names on the
command line, along with the AMFM file, or you let mmafm find the AFM files
automatically. For the automatic method, you must follow one of these 2
conventions:

  1) The AFM files are in the same directory as the AMFM file. They are
named `FONTNAME.afm` -- `MyriadMM-LightCn.afm`, for example.

  2) There is a `PSres.upr` file that lists the AFMs by font name, and the
`PSRESOURCEPATH` environment variable contains the directory with that
`PSres.upr` file. (`ps2pk` comes with a sample `PSres.upr` file.)

Intermediate masters
....................
   Mmpfb can handle intermediate-master fonts transparently. If you use
`PSres.upr` files, as described above, mmafm will also work transparently
on intermediate-master fonts: it'll call mmpfb to get the information it
needs. If you don't use `PSres.upr` files, you need to use mmpfb ahead of
time to set up some auxiliary files. Say you want to use an intermediate
master font `FONT`, and FONT's AMFM file is in the `DIR` directory. Here's
what you need to do:

	% mmpfb FONT.pfb --amcp-info > DIR/FONT.amcp

   When you run mmafm on `DIR/FONT.amfm`, it will automatically look for
`DIR/FONT.amcp`. An example using Adobe Jenson:

	% cd ~/Fonts/AJensonMM
	% mmpfb AJensonMM.pfb --amcp-info > AJensonMM.amcp

   Most multiple master fonts don't have intermediate masters, so you won't
usually need to make `.amcp` files. Mmafm will tell you if it is necessary
for a particular font.


COPYRIGHT/LICENSE
-----------------
   All source code is Copyright (c) 1997-2013 Eddie Kohler.

   This code is distributed under the GNU General Public License, Version 2
(and only Version 2). The GNU General Public License is available via the
Web at <http://www.gnu.org/licenses/gpl.html>, or in the COPYING file in
this directory.


AUTHOR
------
   Eddie Kohler <ekohler@gmail.com>
   http://www.lcdf.org/

   The current version of the lcdf-typetools package is available on the
Web at http://www.lcdf.org/type/

   LCDF stands for Little Cambridgeport Design Factory.
