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 Details

    • AFMFile

      public AFMFile()
      Default constructor.
  • Method Details

    • 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