Comprehensive TeX Archive Network

Direc­tory fonts/utilities/lcdf-typetools


   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
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 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.

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

  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.

   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
this directory.

   Eddie Kohler, <kohler@cs.ucla.edu>

   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.

LCDF-type­tools – A bun­dle of out­line font ma­nip­u­la­tion tools

This bun­dle of tools com­prises:

  • Cfftot1, which trans­lates a Com­pact Font For­mat (CFF) font, or a PostScript-fla­vored OpenType font, into PostScript Type 1 for­mat. It cor­rectly han­dles sub­rou­tines and hints;
  • Mmafm and mmpfb, which cre­ate in­stances of mul­ti­ple-mas­ter fonts (mmafm and mmpfb were pre­vi­ously dis­tributed in their own pack­age, mmin­stance);
  • Otfinfo, which re­ports in­for­ma­tion about OpenType fonts, such as the fea­tures they sup­port and the con­tents of their ‘size’ op­ti­cal size fea­tures;
  • Otftotfm, which cre­ates font met­rics and en­cod­ings that cor­re­spond to a PostScript-fla­vored OpenType font. It will in­ter­pret glyph po­si­tion­ings, sub­sti­tu­tions, and lig­a­tures as far as it is able. You can say which OpenType fea­tures should be ac­ti­vated;
  • T1­dot­lessj, cre­ates a Type 1 font whose only char­ac­ter is a dot­less j match­ing the in­put font’s de­sign;
  • T1lint, which checks a Type 1 font for cor­rect­ness;
  • T1reen­code, which re­places a font’s in­ter­nal en­cod­ing with one you spec­ify; and
  • T1test­page, which cre­ates a PostScript proof for a Type 1 font. It is pre­lim­i­nary soft­ware.

Home pagehttp://www.lcdf.org/type/
Li­cense GNU Gen­eral Public Li­cense
Copy­right1997–2006 Ed­die Kohler
Main­tainerEd­die Kohler
Con­tained inTeX Live as lcdftype­tools
Topics sup­port for font de­vel­op­ment, test­ing and char­ac­ter­i­sa­tion
Guest Book Sitemap Contact Contact Author