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.