NAME¶
mmpfb - creates single-master fonts from multiple master fonts
SYNOPSIS¶
mmpfb [OPTIONS...]
font
DESCRIPTION¶
Mmpfb creates a normal, single-master PostScript font from a multiple
master font by interpolation. You pass it a PFB or PFA font and options
specifying the design point you want; it writes the resulting PFB or PFA font
to the standard output.
The fonts
mmpfb creates are interpolated at a low level to remove
multiple master instructions from individual characters. Therefore, they can
be used by programs that don't normally understand multiple master fonts, like
ps2pk(1).
Mmpfb supports fonts with intermediate masters, like Adobe Jenson and
Kepler. It can also create AMCP (Adobe Multiple Master Conversion Program)
files for use by
mmafm(1); see
--amcp-info below.
The
font argument is either the name of a PFA or PFB font file, or a
PostScript font name. If you give a font name,
mmpfb will find the
actual outline file using the PSRESOURCEPATH environment variable. This
colon-separated path is searched for `PSres.upr' files, an Adobe method for
indexing PostScript resources.
You can also give the name of a multiple master font instance, like
`MinionMM_367_400_12_'.
Mmpfb will parse the font name and create that
instance for you. `PSres.upr' files must be set up for this to work.
EXAMPLE¶
% mmpfb --weight=400 --width=600 MyriadMM.pfb > MyriadMM_400_600_.pfb
OPTIONS¶
Long options may be abbreviated to their unique prefixes.
- --output=file, -o
file
- Send output to file instead of standard output.
- --pfb, -b
- Output a PFB font. This is the default.
- --pfa, -a
- Output a PFA font.
- --amcp-info
- Do not create a font; instead, output an AMCP file for use
by mmafm(1). A message is printed if the font doesn't have
intermediate masters, in which case no AMCP file is necessary.
- --weight=N, -w
N
- Set the weight axis to N.
- --width=N, -W
N
- Set the width axis to N.
- --optical-size=N, -O
N
- Set the optical size axis to N.
- --style=N
- Set the style axis to N.
- --1=N (--2=N,
--3=N, --4=N)
- Set the first (second, third, fourth) axis to
N.
- --precision=N, -p
N
- Set the output precision to N. Higher values mean
the control points in the output font will be more exactly aligned; lower
values (1 or 2) create smaller output font files, and are close enough for
most purposes. A precision of N means that each point will be
within 1/N font units of the exact interpolated value. (A font unit
is generally 1/7200 inch for a 10-point font.) The default is 5.
- --subrs=N
- Limit the output font to at most N subroutines. 256
is a good value for N.
- --no-minimize
- Do not minimize the output font definition. By default,
mmpfb removes extra PostScript code and dictionary definitions from
the font. Supply the --no-minimize option to avoid this
behavior.
TROUBLESHOOTING¶
The "IBM" Type 1 font interpreter shipped as part of the X font server
and
ps2pk (among others) is inappropriately strict about PostScript
code embedded in a font. The
--minimize option (now the default) fixes
this problem.
Some versions of Adobe Acrobat Distiller may report "Warning: unable to
embed font X. Invalid character outline data" when distilling an instance
generated by
mmpfb. This is due to a limitation in the number of font
subroutines Distiller can accept. (Multiple master fonts, and the
single-master fonts generated by
mmpfb, tend to have a lot of
subroutines.) Try limiting the number of subroutines in the generated font
with the
--subrs option.
SEE ALSO¶
mmafm(1)
DIAGNOSTICS¶
- reducing font to minimum number of subroutines
(N)
- You tried to reduce the number of subroutines to less than
N using the --subrs option, but the font needs
at least N to function. The output font will have N
subroutines.
AUTHOR¶
Eddie Kohler, ekohler@gmail.com
The latest version is available from:
http://www.lcdf.org/type/
Thanks to Melissa O'Neill for suggestions and patient debugging.