org.gnu.pango
Class FontDescription

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.Boxed
          extended by 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.

Overrides:
toString in class java.lang.Object

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.