Man1 - mmpfb.1

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 *() 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.

=*/, / *//**//
Send output to file instead of standard output.
–pfb, -b
Output a PFB font. This is the default.
–pfa, -a
Output a PFA font.
**
Do not create a font; instead, output an AMCP file for use by **() A message is printed if the font doesn’t have intermediate masters, in which case no AMCP file is necessary.
=*/, / *//**//
Set the weight axis to N.
=*/, / *//**//
Set the width axis to N.
=*/, / *//**//
Set the optical size axis to N.
*=*//**//**//
Set the style axis to N.
–1*=/N/ (–2*=/N/, *–3*=/N/, *–4*=/N/)
Set the first (second, third, fourth) axis to 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.
*=*//**//**//
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 ** option.

SEE ALSO

**()

DIAGNOSTICS

reducing font to minimum number of subroutines (N)
You tried to reduce the number of subroutines to less than N using the ** 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.

Author: dt

Created: 2022-02-22 Tue 17:31