org.apache.fop.fonts.type1

## Class AFMFile

- java.lang.Object
- - org.apache.fop.fonts.type1.AFMFile

    public class AFMFile
    extends Object

Represents the contents of a Type 1 AFM font metrics file.

### Constructor Summary

Constructors
Constructor and Description
`AFMFile()` Default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addCharMetrics(AFMCharMetrics metrics)` Adds new character metrics.
`void` `addXKerning(String name1, String name2, double kx)` Adds a X-kerning entry.
`Map<Integer,Map<Integer,Integer>>` `createXKerningMapEncoded()` Creates and returns a kerning map for writing mode 0 (ltr) with character codes.
`Number` `getAscender()` Returns the Ascender value.
`Number` `getCapHeight()` Returns the CapHeight value.
`AFMCharMetrics` `getChar(String name)` Returns the character metrics associated with the character name.
`String` `getCharacterSet()` Returns the CharacterSet value.
`int` `getCharCount()` Returns the number of character available for this font.
`List<AFMCharMetrics>` `getCharMetrics()` Returns the list of AFMCharMetrics instances representing all the available characters.
`Number` `getDescender()` Returns the Descender value.
`String` `getEncodingScheme()` Returns the EncodingScheme value.
`String` `getFamilyName()` Returns the FamilyName value.
`int` `getFirstChar()` Returns the first character index in the encoding that has a glyph.
`RectangularShape` `getFontBBox()` Returns the FontBBox value.
`int[]` `getFontBBoxAsIntArray()` Returns the FontBBox value as integer array.
`String` `getFontName()` Returns the FontName value.
`String` `getFullName()` Returns the FullName value.
`int` `getLastChar()` Returns the last character index in the encoding that has a glyph.
`Number` `getStdHW()` Returns the StdHW value.
`Number` `getStdVW()` Returns the StdVW value.
`String` `getWeight()` Returns the Weight value.
`AFMWritingDirectionMetrics` `getWritingDirectionMetrics(int index)` Gets writing direction metrics.
`Number` `getXHeight()` Returns the XHeight value.
`boolean` `hasKerning()` Indicates whether the font has kerning information.
`void` `overridePrimaryEncoding(SingleByteEncoding encoding)` The character codes in an AFM cannot always be trusted to be the same values as in the font's primary encoding.
`void` `setAscender(Number ascender)` Sets the Ascender value.
`void` `setCapHeight(Number capHeight)` Sets the CapHeight value.
`void` `setCharacterSet(String characterSet)` Sets the CharacterSet value.
`void` `setDescender(Number descender)` Sets the Descender value.
`void` `setEncodingScheme(String encodingScheme)` Sets the EncodingScheme value
`void` `setFamilyName(String familyName)` Sets the FamilyName value.
`void` `setFontBBox(RectangularShape fontBBox)` Sets the FontBBox value.
`void` `setFontName(String fontName)` Sets the FontName value.
`void` `setFullName(String fullName)` Sets the FullName value.
`void` `setStdHW(Number stdHW)` Sets the StdHW value.
`void` `setStdVW(Number stdVW)` Sets the StdVW value.
`void` `setWeight(String weight)` Sets the Weight value.
`void` `setWritingDirectionMetrics(int index, AFMWritingDirectionMetrics metrics)` Sets writing direction metrics.
`void` `setXHeight(Number height)` Sets the XHeight value.
`String` `toString()`

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

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

### Constructor Detail

#### AFMFile

    public AFMFile()

Default constructor.

### Method Detail

#### getFontName

    public String getFontName()

Returns the FontName value.

Returns:
  the font name

#### setFontName

    public void setFontName(String fontName)

Sets the FontName value.

Parameters:
  `fontName` - the font name to set

#### getFullName

    public String getFullName()

Returns the FullName value.

Returns:
  the full name of the font

#### setFullName

    public void setFullName(String fullName)

Sets the FullName value.

Parameters:
  `fullName` - the full name to set

#### getFamilyName

    public String getFamilyName()

Returns the FamilyName value.

Returns:
  the family name of the font

#### setFamilyName

    public void setFamilyName(String familyName)

Sets the FamilyName value.

Parameters:
  `familyName` - the family name to set

#### getWeight

    public String getWeight()

Returns the Weight value.

Returns:
  the weight

#### setWeight

    public void setWeight(String weight)

Sets the Weight value.

Parameters:
  `weight` - the weight to set

#### getFontBBox

    public RectangularShape getFontBBox()

Returns the FontBBox value.

Returns:
  the font's bounding box

#### getFontBBoxAsIntArray

    public int[] getFontBBoxAsIntArray()

Returns the FontBBox value as integer array.

Returns:
  the font's bounding box

#### setFontBBox

    public void setFontBBox(RectangularShape fontBBox)

Sets the FontBBox value.

Parameters:
  `fontBBox` - the fontBBox to set

#### getEncodingScheme

    public String getEncodingScheme()

Returns the EncodingScheme value.

Returns:
  the encoding scheme

#### setEncodingScheme

    public void setEncodingScheme(String encodingScheme)

Sets the EncodingScheme value

Parameters:
  `encodingScheme` - the encodingScheme to set

#### getCharacterSet

    public String getCharacterSet()

Returns the CharacterSet value.

Returns:
  the characterSet

#### setCharacterSet

    public void setCharacterSet(String characterSet)

Sets the CharacterSet value.

Parameters:
  `characterSet` - the characterSet to set

#### getCapHeight

    public Number getCapHeight()

Returns the CapHeight value.

Returns:
  the capHeight

#### setCapHeight

    public void setCapHeight(Number capHeight)

Sets the CapHeight value.

Parameters:
  `capHeight` - the capHeight to set

#### getXHeight

    public Number getXHeight()

Returns the XHeight value.

Returns:
  the xHeight

#### setXHeight

    public void setXHeight(Number height)

Sets the XHeight value.

Parameters:
  `height` - the xHeight to set

#### getAscender

    public Number getAscender()

Returns the Ascender value.

Returns:
  the ascender

#### setAscender

    public void setAscender(Number ascender)

Sets the Ascender value.

Parameters:
  `ascender` - the ascender to set

#### getDescender

    public Number getDescender()

Returns the Descender value.

Returns:
  the descender

#### setDescender

    public void setDescender(Number descender)

Sets the Descender value.

Parameters:
  `descender` - the descender to set

#### getStdHW

    public Number getStdHW()

Returns the StdHW value.

Returns:
  the descender

#### setStdHW

    public void setStdHW(Number stdHW)

Sets the StdHW value.

Parameters:
  `stdHW` - the StdHW to set

#### getStdVW

    public Number getStdVW()

Returns the StdVW value.

Returns:
  the descender

#### setStdVW

    public void setStdVW(Number stdVW)

Sets the StdVW value.

Parameters:
  `stdVW` - the StdVW to set

#### getWritingDirectionMetrics

    public AFMWritingDirectionMetrics getWritingDirectionMetrics(int index)

Gets writing direction metrics.

Parameters:
  `index` - the writing direction (0, 1 or 2)
Returns:
  the writing direction metrics

#### setWritingDirectionMetrics

    public void setWritingDirectionMetrics(int index,
                                           AFMWritingDirectionMetrics metrics)

Sets writing direction metrics.

Parameters:
  `index` - the writing direction (0, 1 or 2)
  `metrics` - the writing direction metrics

#### addCharMetrics

    public void addCharMetrics(AFMCharMetrics metrics)

Adds new character metrics.

Parameters:
  `metrics` - the character metrics

#### getCharCount

    public int getCharCount()

Returns the number of character available for this font.

Returns:
  the number of character

#### getFirstChar

    public int getFirstChar()

Returns the first character index in the encoding that has a glyph.

Returns:
  the first character index with a glyph

#### getLastChar

    public int getLastChar()

Returns the last character index in the encoding that has a glyph.

Returns:
  the last character index with a glyph

#### getChar

    public AFMCharMetrics getChar(String name)

Returns the character metrics associated with the character name.

Parameters:
  `name` - the character name
Returns:
  the character metrics or null if there's no such character

#### getCharMetrics

    public List<AFMCharMetrics> getCharMetrics()

Returns the list of AFMCharMetrics instances representing all the available characters.

Returns:
  a List of AFMCharMetrics instances

#### addXKerning

    public void addXKerning(String name1,
                            String name2,
                            double kx)

Adds a X-kerning entry.

Parameters:
  `name1` - the name of the first character
  `name2` - the name of the second character
  `kx` - kerning value in x-direction

#### hasKerning

    public boolean hasKerning()

Indicates whether the font has kerning information.

Returns:
  true if there is kerning information

#### createXKerningMapEncoded

    public Map<Integer,Map<Integer,Integer>> createXKerningMapEncoded()

Creates and returns a kerning map for writing mode 0 (ltr) with character codes.

Returns:
  the kerning map or null if there is no kerning information.

#### overridePrimaryEncoding

    public void overridePrimaryEncoding(SingleByteEncoding encoding)

The character codes in an AFM cannot always be trusted to be the same values as in the font's primary encoding. Therefore, we provide a way to override this primary encoding.

Parameters:
  `encoding` - the encoding to replace the one given in the AFM

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`