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
`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
`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`