org.apache.fop.fonts.apps

## Class PFMReader

- java.lang.Object
- - org.apache.fop.fonts.apps.AbstractFontReader
  - - org.apache.fop.fonts.apps.PFMReader

    public class PFMReader
    extends AbstractFontReader

A tool which reads PFM files from Adobe Type 1 fonts and creates XML font metrics file for use in FOP.

### Field Summary

### Fields inherited from class org.apache.fop.fonts.apps.AbstractFontReader

`log`

### Constructor Summary

Constructors
Constructor and Description
`PFMReader()` Main constructor.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Document` `constructFontXML(PFMFile pfm, String fontName, String className, String resource, String file)` Generates the font metrics file from the PFM file.
`PFMFile` `loadPFM(String filename)` Read a PFM file and returns it as an object.
`static void` `main(String[] args)` The main method for the PFM reader tool.
`void` `preview(PFMFile pfm)` Displays a preview of the PFM file on the console.

### Methods inherited from class org.apache.fop.fonts.apps.AbstractFontReader

`determineLogLevel, parseArguments, setLogLevel, writeFontXML, writeFontXML`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PFMReader

    public PFMReader()

Main constructor.

### Method Detail

#### main

    public static void main(String[] args)

The main method for the PFM reader tool.

Parameters:
  `args` - Command-line arguments: [options] metricfile.pfm xmlfile.xml where options can be: -fn fontname default is to use the fontname in the .pfm file, but you can override that name to make sure that the embedded font is used instead of installed fonts when viewing documents with Acrobat Reader. -cn classname default is to use the fontname -ef path to the Type1 .pfb fontfile will add the possibility to embed the font. When running fop, fop will look for this file to embed it -er path to Type1 fontfile relative to org/apache/fop/render/pdf/fonts you can also include the fontfile in the fop.jar file when building fop. You can use both -ef and -er. The file specified in -ef will be searched first, then the -er file.

#### loadPFM

    public PFMFile loadPFM(String filename)
                    throws IOException

Read a PFM file and returns it as an object.

Parameters:
  `filename` - The filename of the PFM file.
Returns:
  The PFM as an object.
Throws:
  `IOException` - In case of an I/O problem

#### preview

    public void preview(PFMFile pfm)

Displays a preview of the PFM file on the console.

Parameters:
  `pfm` - The PFM file to preview.

#### constructFontXML

    public Document constructFontXML(PFMFile pfm,
                                     String fontName,
                                     String className,
                                     String resource,
                                     String file)

Generates the font metrics file from the PFM file.

Parameters:
  `pfm` - The PFM file to generate the font metrics from.
  `fontName` - name of the font
  `className` - class name for the font
  `resource` - path to the font as embedded resource
  `file` - path to the font as file
Returns:
  The DOM document representing the font metrics file.