The LCDF Typetools package contains several programs for manipulating
PostScript Type 1, Type 1 multiple master, and PostScript-flavored OpenType
fonts. LCDF Typetools includes the mmafm and mmpfb programs, which were
formerly distributed as part of a different package (mminstance).
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
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 MMINSTANCE NOTES, 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 MMINSTANCE NOTES, 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
PostScript-flavored 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
T1reencode reencodes a Type 1 font, replacing its internal encoding with
one you specify. See the manual page 't1reencode/t1reencode.1' for more
Ttftotype42 creates a Type 42 wrapper for a TrueType or
TrueType-flavored OpenType font. See the manual page
'ttftotype42/ttftotype42.1' for more information.
The final program is preliminary: 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
UNIX; gmake; C & C++ compilers. To build, just run ./configure, then
gmake. See 'INSTALL' in this directory for more detailed information about
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
% 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.
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
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.)
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.
All source code is Copyright (c) 1997-2011 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
Eddie Kohler, <email@example.com>
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.
mmpfb – Create instance of multiple-master font
Creates a normal, single-master font program which corresponding
to an instance of a multiple-master font. It reads the multiple master
font program in PFA or PFB format.
Mmpfb is now distributed as part of the