Table of Contents
mmpfb - creates single-master fonts from multiple master fonts
mmpfb
[OPTIONS...] font
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.
% mmpfb --weight=400 --width=600 MyriadMM.pfb > MyriadMM_400_600_.pfb
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.
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.
mmafm(1)
- 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.
Eddie Kohler, kohler@icir.org
http://www.pdos.lcs.mit.edu/~eddietwo/
The latest version is available from:
http://www.lcdf.org/type/
Thanks to Melissa O’Neill <oneill@cs.sfu.ca> for suggestions
and patient debugging.
Table of Contents