com.lowagie.text

## Class Font

- java.lang.Object
- - com.lowagie.text.Font

- All Implemented Interfaces:
    java.lang.Comparable
  Direct Known Subclasses:
    RtfFont

      public class Font
      extends java.lang.Object
      implements java.lang.Comparable

  Contains all the specifications of a font: fontfamily, size, style and color.

  Example:

  >      Paragraph p = new Paragraph("This is a paragraph", new
  >      Font(Font.HELVETICA, 18, Font.BOLDITALIC, new Color(0, 0, 255)) );

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private BaseFont` | `baseFont` the external font
    `static int` | `BOLD` this is a possible style.
    `static int` | `BOLDITALIC` this is a possible style.
    `private java.awt.Color` | `color` the value of the color.
    `static int` | `COURIER` a possible value of a font family.
    `static int` | `DEFAULTSIZE` the value of the default size.
    `private int` | `family` the value of the fontfamily.
    `static int` | `HELVETICA` a possible value of a font family.
    `static int` | `ITALIC` this is a possible style.
    `static int` | `NORMAL` this is a possible style.
    `private float` | `size` the value of the fontsize.
    `static int` | `STRIKETHRU` this is a possible style.
    `private int` | `style` the value of the style.
    `static int` | `SYMBOL` a possible value of a font family.
    `static int` | `TIMES_ROMAN` a possible value of a font family.
    `static int` | `UNDEFINED` the value of an undefined attribute.
    `static int` | `UNDERLINE` this is a possible style.
    `static int` | `ZAPFDINGBATS` a possible value of a font family.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Font()` Constructs a Font.
    `Font(BaseFont bf)` Constructs a Font.
    `Font(BaseFont bf, float size)` Constructs a Font.
    `Font(BaseFont bf, float size, int style)` Constructs a Font.
    `Font(BaseFont bf, float size, int style, java.awt.Color color)` Constructs a Font.
    `Font(Font other)` Copy constructor of a Font
    `Font(int family)` Constructs a Font.
    `Font(int family, float size)` Constructs a Font.
    `Font(int family, float size, int style)` Constructs a Font.
    `Font(int family, float size, int style, java.awt.Color color)` Constructs a Font.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(java.lang.Object object)` Compares this `Font` with another
    `Font` | `difference(Font font)` Replaces the attributes that are equal to null with the attributes of a given font.
    `BaseFont` | `getBaseFont()` Gets the `BaseFont` inside this object.
    `BaseFont` | `getCalculatedBaseFont(boolean specialEncoding)` Gets the `BaseFont` this class represents.
    `float` | `getCalculatedLeading(float linespacing)` Gets the leading that can be used with this font.
    `float` | `getCalculatedSize()` Gets the size that can be used with the calculated `BaseFont` .
    `int` | `getCalculatedStyle()` Gets the style that can be used with the calculated `BaseFont` .
    `java.awt.Color` | `getColor()` Gets the color of this font.
    `int` | `getFamily()` Gets the family of this font.
    `static int` | `getFamilyIndex(java.lang.String family)` Translates a `String` -value of a certain family into the index that is used for this family in this class.
    `java.lang.String` | `getFamilyname()` Gets the familyname as a String.
    `float` | `getSize()` Gets the size of this font.
    `int` | `getStyle()` Gets the style of this font.
    `static int` | `getStyleValue(java.lang.String style)` Translates a `String` -value of a certain style into the index value is used for this style in this class.
    `boolean` | `isBold()` checks if this font is Bold.
    `boolean` | `isItalic()` checks if this font is italic.
    `boolean` | `isStandardFont()` Checks if the properties of this font are undefined or null.
    `boolean` | `isStrikethru()` checks if the style of this font is STRIKETHRU.
    `boolean` | `isUnderlined()` checks if this font is underlined.
    `void` | `setColor(java.awt.Color color)` Sets the color.
    `void` | `setColor(int red, int green, int blue)` Sets the color.
    `void` | `setFamily(java.lang.String family)` Sets the family using a `String` ("Courier", "Helvetica", "Times New Roman", "Symbol" or "ZapfDingbats").
    `void` | `setSize(float size)` Sets the size.
    `void` | `setStyle(int style)` Sets the style.
    `void` | `setStyle(java.lang.String style)` Sets the style using a `String` containing one of more of the following values: normal, bold, italic, underline, strike.

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

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

- - ### Field Detail

    - #### COURIER

          public static final int COURIER

      a possible value of a font family.
      See Also:
        Constant Field Values

    - #### HELVETICA

          public static final int HELVETICA

      a possible value of a font family.
      See Also:
        Constant Field Values

    - #### TIMES_ROMAN

          public static final int TIMES_ROMAN

      a possible value of a font family.
      See Also:
        Constant Field Values

    - #### SYMBOL

          public static final int SYMBOL

      a possible value of a font family.
      See Also:
        Constant Field Values

    - #### ZAPFDINGBATS

          public static final int ZAPFDINGBATS

      a possible value of a font family.
      See Also:
        Constant Field Values

    - #### NORMAL

          public static final int NORMAL

      this is a possible style.
      See Also:
        Constant Field Values

    - #### BOLD

          public static final int BOLD

      this is a possible style.
      See Also:
        Constant Field Values

    - #### ITALIC

          public static final int ITALIC

      this is a possible style.
      See Also:
        Constant Field Values

    - #### UNDERLINE

          public static final int UNDERLINE

      this is a possible style.
      See Also:
        Constant Field Values

    - #### STRIKETHRU

          public static final int STRIKETHRU

      this is a possible style.
      See Also:
        Constant Field Values

    - #### BOLDITALIC

          public static final int BOLDITALIC

      this is a possible style.
      See Also:
        Constant Field Values

    - #### UNDEFINED

          public static final int UNDEFINED

      the value of an undefined attribute.
      See Also:
        Constant Field Values

    - #### DEFAULTSIZE

          public static final int DEFAULTSIZE

      the value of the default size.
      See Also:
        Constant Field Values

    - #### family

          private int family

      the value of the fontfamily.

    - #### size

          private float size

      the value of the fontsize.

    - #### style

          private int style

      the value of the style.

    - #### color

          private java.awt.Color color

      the value of the color.

    - #### baseFont

          private BaseFont baseFont

      the external font

  - ### Constructor Detail

    - #### Font

          public Font(Font other)

      Copy constructor of a Font
      Parameters:
        `other` - the font that has to be copied

    - #### Font

          public Font(int family,
              float size,
              int style,
              java.awt.Color color)

      Constructs a Font.
      Parameters:
        `family` - the family to which this font belongs
        `size` - the size of this font
        `style` - the style of this font
        `color` - the `Color` of this font.

    - #### Font

          public Font(BaseFont bf,
              float size,
              int style,
              java.awt.Color color)

      Constructs a Font.
      Parameters:
        `bf` - the external font
        `size` - the size of this font
        `style` - the style of this font
        `color` - the `Color` of this font.

    - #### Font

          public Font(BaseFont bf,
              float size,
              int style)

      Constructs a Font.
      Parameters:
        `bf` - the external font
        `size` - the size of this font
        `style` - the style of this font

    - #### Font

          public Font(BaseFont bf,
              float size)

      Constructs a Font.
      Parameters:
        `bf` - the external font
        `size` - the size of this font

    - #### Font

          public Font(BaseFont bf)

      Constructs a Font.
      Parameters:
        `bf` - the external font

    - #### Font

          public Font(int family,
              float size,
              int style)

      Constructs a Font.
      Parameters:
        `family` - the family to which this font belongs
        `size` - the size of this font
        `style` - the style of this font

    - #### Font

          public Font(int family,
              float size)

      Constructs a Font.
      Parameters:
        `family` - the family to which this font belongs
        `size` - the size of this font

    - #### Font

          public Font(int family)

      Constructs a Font.
      Parameters:
        `family` - the family to which this font belongs

    - #### Font

          public Font()

      Constructs a Font.

  - ### Method Detail

    - #### compareTo

          public int compareTo(java.lang.Object object)

      Compares this `Font` with another
      Specified by:
        `compareTo` in interface `java.lang.Comparable`
      Parameters:
        `object` - the other `Font`
      Returns:
        a value

    - #### getFamily

          public int getFamily()

      Gets the family of this font.
      Returns:
        the value of the family

    - #### getFamilyname

          public java.lang.String getFamilyname()

      Gets the familyname as a String.
      Returns:
        the familyname

    - #### setFamily

          public void setFamily(java.lang.String family)

      Sets the family using a `String` ("Courier", "Helvetica", "Times New Roman", "Symbol" or "ZapfDingbats").
      Parameters:
        `family` - A `String` representing a certain font-family.

    - #### getFamilyIndex

          public static int getFamilyIndex(java.lang.String family)

      Translates a `String` -value of a certain family into the index that is used for this family in this class.
      Parameters:
        `family` - A `String` representing a certain font-family
      Returns:
        the corresponding index

    - #### getSize

          public float getSize()

      Gets the size of this font.
      Returns:
        a size

    - #### getCalculatedSize

          public float getCalculatedSize()

      Gets the size that can be used with the calculated `BaseFont` .
      Returns:
        the size that can be used with the calculated `BaseFont`

    - #### getCalculatedLeading

          public float getCalculatedLeading(float linespacing)

      Gets the leading that can be used with this font.
      Parameters:
        `linespacing` - a certain linespacing
      Returns:
        the height of a line

    - #### setSize

          public void setSize(float size)

      Sets the size.
      Parameters:
        `size` - The new size of the font.

    - #### getStyle

          public int getStyle()

      Gets the style of this font.
      Returns:
        a size

    - #### getCalculatedStyle

          public int getCalculatedStyle()

      Gets the style that can be used with the calculated `BaseFont` .
      Returns:
        the style that can be used with the calculated `BaseFont`

    - #### isBold

          public boolean isBold()

      checks if this font is Bold.
      Returns:
        a `boolean`

    - #### isItalic

          public boolean isItalic()

      checks if this font is italic.
      Returns:
        a `boolean`

    - #### isUnderlined

          public boolean isUnderlined()

      checks if this font is underlined.
      Returns:
        a `boolean`

    - #### isStrikethru

          public boolean isStrikethru()

      checks if the style of this font is STRIKETHRU.
      Returns:
        a `boolean`

    - #### setStyle

          public void setStyle(int style)

      Sets the style.
      Parameters:
        `style` - the style.

    - #### setStyle

          public void setStyle(java.lang.String style)

      Sets the style using a `String` containing one of more of the following values: normal, bold, italic, underline, strike.
      Parameters:
        `style` - A `String` representing a certain style.

    - #### getStyleValue

          public static int getStyleValue(java.lang.String style)

      Translates a `String` -value of a certain style into the index value is used for this style in this class.
      Parameters:
        `style` - A `String`
      Returns:
        the corresponding value

    - #### getColor

          public java.awt.Color getColor()

      Gets the color of this font.
      Returns:
        a color

    - #### setColor

          public void setColor(java.awt.Color color)

      Sets the color.
      Parameters:
        `color` - the new color of the font

    - #### setColor

          public void setColor(int red,
                      int green,
                      int blue)

      Sets the color.
      Parameters:
        `red` - the red-value of the new color
        `green` - the green-value of the new color
        `blue` - the blue-value of the new color

    - #### getBaseFont

          public BaseFont getBaseFont()

      Gets the `BaseFont` inside this object.
      Returns:
        the `BaseFont`

    - #### getCalculatedBaseFont

          public BaseFont getCalculatedBaseFont(boolean specialEncoding)

      Gets the `BaseFont` this class represents. For the built-in fonts a `BaseFont` is calculated.
      Parameters:
        `specialEncoding` - `true` to use the special encoding for Symbol and ZapfDingbats, `false` to always use `Cp1252`
      Returns:
        the `BaseFont` this class represents

    - #### isStandardFont

          public boolean isStandardFont()

      Checks if the properties of this font are undefined or null.

      If so, the standard should be used.

      Returns:
        a `boolean`

    - #### difference

          public Font difference(Font font)

      Replaces the attributes that are equal to null with the attributes of a given font.
      Parameters:
        `font` - the font of a bigger element class
      Returns:
        a `Font`