Table of Contents

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