Package org.pushingpixels.substance.internal.fonts

# Class FontSets

java.lang.Object
org.pushingpixels.substance.internal.fonts.FontSets

public final class FontSets extends Object
Provides predefined FontSet implementations.

Since:
  2.0
See Also:
  - `FontSet`
  - `FontPolicy`
  - `FontPolicies`

## Method Summary

Modifier and Type
Method
Description
`static FontSet`
`createDefaultFontSet(Font controlFont)`
Creates and returns a FontSet that is based only on the given control font.
`static FontSet`
`createDefaultFontSet(Font controlFont, Font menuFont)`
Creates and returns a FontSet that is based on the given control font and menu font.
`static FontSet`
`createDefaultFontSet(Font controlFont, Font menuFont, Font titleFont)`
Creates and returns a FontSet that is based on the given control font and menu font.
`static FontSet`
`createDefaultFontSet(Font controlFont, Font menuFont, Font titleFont, Font messageFont, Font smallFont, Font windowTitleFont)`
Creates and returns a FontSet for the given fonts.
`static FontSet`
`getLogicalFontSet()`
Lazily creates and returns the FontSet that returns the logical fonts specified by the Java runtime environment.

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

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

## Method Details

### createDefaultFontSet

public static FontSet createDefaultFontSet(Font controlFont)
Creates and returns a FontSet that is based only on the given control font. The small font will be derived from the control font; all other fonts returned are the control font.

Parameters:
  `controlFont` - the font used for all controls
Returns:
  a FontSet based on the given fonts
Throws:
  `NullPointerException` - if the control font is `null`

### createDefaultFontSet

public static FontSet createDefaultFontSet(Font controlFont, Font menuFont)
Creates and returns a FontSet that is based on the given control font and menu font. The small font will be derived from the control font; all other fonts return, except the menu font, are the control font.

Parameters:
  `controlFont` - the font used for all controls
  `menuFont` - the font used for the menu bar and menu items
Returns:
  a FontSet based on the given fonts
Throws:
  `NullPointerException` - if the control font is `null`

### createDefaultFontSet

public static FontSet createDefaultFontSet(Font controlFont, Font menuFont, Font titleFont)
Creates and returns a FontSet that is based on the given control font and menu font. The small font will be derived from the control font; all other fonts return, except the menu font, are the control font.

Parameters:
  `controlFont` - the font used for all controls
  `menuFont` - the font used for the menu bar and menu items
  `titleFont` - used for TitledBorder, titles and titled separators
Returns:
  a FontSet based on the given fonts
Throws:
  `NullPointerException` - if the control font is `null`

### createDefaultFontSet

public static FontSet createDefaultFontSet(Font controlFont, Font menuFont, Font titleFont, Font messageFont, Font smallFont, Font windowTitleFont)
Creates and returns a FontSet for the given fonts. If a font is `null`, it uses the control font as fallback. If the small font is `null` it will be derived from the control font.

Parameters:
  `controlFont` - used for all controls
  `menuFont` - used for the menu bar and menu items
  `titleFont` - used for TitledBorder, titles and titled separators
  `messageFont` - used for OptionPanes
  `smallFont` - used for tool tips and similar components
  `windowTitleFont` - used for internal frame window titles
Returns:
  a FontSet based on the given fonts
Throws:
  `NullPointerException` - if the control font is `null`

### getLogicalFontSet

public static FontSet getLogicalFontSet()
Lazily creates and returns the FontSet that returns the logical fonts specified by the Java runtime environment.

Returns:
  a FontSets that uses the logical fonts specified by the Java environment