## org.gnu.pango
Class FontDescription

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.Boxed
              org.gnu.pango.FontDescription

public class FontDescription
extends Boxed

The FontDescription represents the description of an ideal font. This is used both to list what fonts are available on the system and also for specifying the characteristics of a font to load.

Constructor Summary
`FontDescription()` Create a new FontDescription.
`FontDescription(FontDescription fd)` Create a new FontDescription that is a copy of the provided FontDescription.
`FontDescription(org.gnu.glib.Handle handle)` Create a new FontDescription using a handle from native methods.
`FontDescription(java.lang.String str)` Create a new FontDescription from a string in the form "[FAMILY-LIST][STYLE-OPTIONS][SIZE]" where FAMILY-LIST is a comma separated list of families optionally terminated by a comma, STYLE-OPTIONS is a whitespace separated list of words where each WORD describes one of style, varient, weight, or stretch and SIZE is a decimal number (size in points).

Method Summary
`boolean` `betterMatch(FontDescription oldMatch, FontDescription newMatch)` Determines if the style attributes of newMatch are a closer match for this FontDescription than oldMatch, or if oldMatch is null, determines if newMatch is a match at all.
`boolean` `equal(FontDescription fd)` Compares two FontDescriptions for equality.
`java.lang.String` `getFamily()` Gets the family name field of a font description.
`FontMask` `getSetFields()` Determines which fields in a font description have been set.
`int` `getSize()` Gets the size field of a font description.
`Stretch` `getStretch()` Gets the stretch field of a font description.
`Style` `getStyle()` Gets the style field of a PangoFontDescription.
`Variant` `getVariant()` Gets the variant field of the description.
`Weight` `getWeight()` Gets the weight field of a font description.
`int` `hash()` Create a hash of this object.
`void` `replace(FontDescription descToMerge, boolean replaceExisting)` Merges the fields that are set in desc_to_merge into the fields in desc.
`void` `setFamily(java.lang.String family)` Sets the family name field of a font description.
`void` `setSize(int size)` Sets the size field of a font description.
`void` `setStretch(Stretch stretch)` Sets the stretch field of a font description.
`void` `setStyle(Style style)` Sets the style field of a PangoFontDescription.
`void` `setVariant(Variant var)` Sets the variant field of a font description.
`void` `setWeight(Weight weight)` Sets the weight field of a font description.
`java.lang.String` `toFilename()` Creates a filename representation of a font description.
`java.lang.String` `toString()` Creates a string representation of a font description.
`void` `unsetFields(FontMask mask)` Unset some of the fields in this FontDescription.

Methods inherited from class org.gnu.glib.Boxed
`equals, getBoxedFromHandle, hashCode`

Methods inherited from class org.gnu.glib.Struct
`getHandle, getNullHandle`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### FontDescription

    public FontDescription(org.gnu.glib.Handle handle)

  Create a new FontDescription using a handle from native methods. This should only be used internally by java-gnome.

### FontDescription

    public FontDescription()

  Create a new FontDescription.

### FontDescription

    public FontDescription(java.lang.String str)

  Create a new FontDescription from a string in the form "[FAMILY-LIST][STYLE-OPTIONS][SIZE]" where FAMILY-LIST is a comma separated list of families optionally terminated by a comma, STYLE-OPTIONS is a whitespace separated list of words where each WORD describes one of style, varient, weight, or stretch and SIZE is a decimal number (size in points). Any one of the options may be absent.

Parameters:
  `str` - The string representation for the font description.

### FontDescription

    public FontDescription(FontDescription fd)

  Create a new FontDescription that is a copy of the provided FontDescription.

Parameters:
  `fd` -

Method Detail

### setFamily

    public void setFamily(java.lang.String family)

  Sets the family name field of a font description. The family name represents a family of related font styles, and will resolve to a particular PangoFontFamily. In some uses of PangoFontDescription, it is also possible to use a comma separated list of family names for this field.

### getFamily

    public java.lang.String getFamily()

  Gets the family name field of a font description.

### setStyle

    public void setStyle(Style style)

  Sets the style field of a PangoFontDescription. The PangoStyle enumeration describes whether the font is slanted and the manner in which it is slanted; it can be either Style.NORMAL, Style.ITALIC, or Style.OBLIQUE. Most fonts will either have a italic style or an oblique style, but not both, and font matching in Pango will match italic specifications with oblique fonts and vice-versa if an exact match is not found.

### getStyle

    public Style getStyle()

  Gets the style field of a PangoFontDescription.

### setVariant

    public void setVariant(Variant var)

  Sets the variant field of a font description. The Variant can either be Variant.NORMAL or Variant.SMALL_CAPS.

### getVariant

    public Variant getVariant()

  Gets the variant field of the description.

### setWeight

    public void setWeight(Weight weight)

  Sets the weight field of a font description. The weight field specifies how bold or light the font should be.

### getWeight

    public Weight getWeight()

  Gets the weight field of a font description.

### setStretch

    public void setStretch(Stretch stretch)

  Sets the stretch field of a font description. The stretch field specifies how narrow or wide the font should be.

### getStretch

    public Stretch getStretch()

  Gets the stretch field of a font description.

### setSize

    public void setSize(int size)

  Sets the size field of a font description.

### getSize

    public int getSize()

  Gets the size field of a font description.

### getSetFields

    public FontMask getSetFields()

  Determines which fields in a font description have been set.

### replace

    public void replace(FontDescription descToMerge,
                        boolean replaceExisting)

  Merges the fields that are set in desc_to_merge into the fields in desc. If replace_existing is FALSE, only fields in desc that are not already set are affected. If TRUE, then fields that are already set will be replaced as well.

### toString

    public java.lang.String toString()

  Creates a string representation of a font description.

### hash

    public int hash()

  Create a hash of this object.

### equal

    public boolean equal(FontDescription fd)

  Compares two FontDescriptions for equality.

  Parameters:
    `fd` -
  Returns:
    ture if the two FontDescriptions are proveably identical.

### unsetFields

    public void unsetFields(FontMask mask)

  Unset some of the fields in this FontDescription.

  Parameters:
    `mask` -

### betterMatch

    public boolean betterMatch(FontDescription oldMatch,
                               FontDescription newMatch)

  Determines if the style attributes of newMatch are a closer match for this FontDescription than oldMatch, or if oldMatch is null, determines if newMatch is a match at all.

  Parameters:
    `oldMatch` -
    `newMatch` -

### toFilename

    public java.lang.String toFilename()

  Creates a filename representation of a font description. The filename is identical to the results of calling toString, but with underscores instead of characters that are untypical in filenames, and in lower case only.