LCDF Typetools comprises several programs for manipulating PostScript Type 1, Type 1 Multiple Master, OpenType, and TrueType 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.
mmafm creates an AFM file (font metrics) corresponding to an instance of a Type 1 Multiple Master font. It reads the AMFM and AFM files distributed with the font.
mmpfb creates a normal, single-master font program which looks like an instance of a Type 1 Multiple Master font. It reads the multiple master font program in PFA or PFB format.
otfinfo reports information about OpenType and TrueType fonts, such as
the OpenType features and Unicode code points they support, or the contents
of their size
optical size features.
otftotfm creates TeX font metrics and encodings that correspond to an OpenType or TrueType font. It interprets glyph positionings, substitutions, and ligatures as far as it is able. You can say which OpenType features should be activated.
t1dotlessj reads a Type 1 font, then creates a new Type 1 font whose only character is a dotless lower-case j matching the input font’s design.
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.
t1rawafm creates an AFM font metrics file corresponding to a raw Type 1 font file (in PFA or PFB format).
t1reencode reencodes a Type 1 font, replacing its internal encoding with one you specify.
t1testpage creates PostScript test pages for a given Type 1 font. These pages show every character defined in the font.
ttftotype42 creates a Type 42 wrapper for a TrueType or TrueType-flavored OpenType font. This allows the font to be embedded in a PostScript file.
Each of these programs has a manual page; man PROGRAMNAME/PROGRAMNAME.1
for more information.
See NEWS
in this directory for changes in recent versions. The LCDF
Typetools home page is:
Type ./configure
, then make
.
If ./configure
does not exist (you downloaded from Github), run
./bootstrap.sh
first.
./configure
accepts the usual options; see INSTALL
for details.
Some of the typetools programs can link with additional libraries. Otftotfm
can use the Kpathsea library for integration with TeX directories; if your
version of this 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.
Run mmafm --help
and mmpfb --help
for a full option summary. Here are
two example runs:
% mmafm MyriadMM.amfm --weight=300 --width=585 > MyriadMM_300_585_.afm
% mmpfb MyriadMM.pfb --weight=300 --width=585 > MyriadMM_300_585_.pfb
Mmafm expects the name of an AMFM file on the command line. It also needs 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:
The AFM files are in the same directory as the AMFM file. They are
named FONTNAME.afm
-- MyriadMM-LightCn.afm
, for example.
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.)
All source code is Copyright (c) 1997-2023 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 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.