Class Font

  • All Implemented Interfaces:
    java.lang.Comparable

    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 Description
      private BaseFont baseFont
      the external font
      static int BOLD
      this is a possible style.
      (package private) 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.
      (package private) 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 Description
      Font()
      Constructs a Font.
      Font​(int family, float size, int style, java.awt.Color color)
      Constructs a Font.
      Font​(Font other)
      Copy constructor of a Font
      Font​(BaseFont bf)
      Constructs a Font.
      Font​(BaseFont bf, float size, int style, java.awt.Color color)
      Constructs a Font.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(java.lang.Object object)
      Compares this Font with another
      (package private) 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.
      (package private) 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.
      private 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.
      (package private) 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 Bold.
      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 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
      • STRIKETHRU

        public static final int STRIKETHRU
        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

        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)
        Constructs a Font.
        Parameters:
        bf - the external font
      • 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

        private 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

        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 Bold.
        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

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

        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