Class RtfFont

  • All Implemented Interfaces:
    RtfBasicElement, RtfExtendedElement, com.lowagie.text.RtfElementInterface, java.lang.Comparable
    Direct Known Subclasses:
    RtfParagraphStyle

    public class RtfFont
    extends com.lowagie.text.Font
    implements RtfExtendedElement
    The RtfFont class stores one font for an rtf document. It extends Font, so can be set as a font, to allow adding of fonts with arbitrary names. BaseFont fontname handling contributed by Craig Fleming. Various fixes Renaud Michel, Werner Daehn. Version: $Id: RtfFont.java 4008 2009-07-07 09:56:52Z blowagie $
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected RtfFont​(RtfDocument doc, int fontNumber)
      Special constructor for the default font
        RtfFont​(RtfDocument doc, com.lowagie.text.Font font)
      Constructs a RtfFont from a com.lowagie.text.Font
        RtfFont​(java.lang.String fontName)
      Constructs a RtfFont with the given font name and all other properties at their default values.
        RtfFont​(java.lang.String fontName, float size)
      Constructs a RtfFont with the given font name and font size and all other properties at their default values.
        RtfFont​(java.lang.String fontName, float size, int style)
      Constructs a RtfFont with the given font name, font size and font style and the default color.
        RtfFont​(java.lang.String fontName, float size, int style, java.awt.Color color)
      Constructs a RtfFont with the given font name, font size, font style and color.
        RtfFont​(java.lang.String fontName, float size, int style, java.awt.Color color, int charset)
      Constructs a RtfFont with the given font name, font size, font style, color and charset.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(java.lang.Object object)
      Compares this RtfFont to either a Font or an RtfFont.
      com.lowagie.text.Font difference​(com.lowagie.text.Font font)
      Replaces the attributes that are equal to null with the attributes of a given font.
      boolean equals​(java.lang.Object obj)
      Tests for equality of RtfFonts.
      int getCharset()
      Gets the charset used for constructing this RtfFont.
      java.lang.String getFamilyname()  
      java.lang.String getFontName()
      Gets the font name of this RtfFont
      int getFontNumber()
      Gets the font number of this RtfFont
      int getFontSize()
      Gets the font size of this RtfFont
      int getFontStyle()
      Gets the font style of this RtfFont
      int hashCode()
      Returns the hash code of this RtfFont.
      protected byte[] intToByteArray​(int i)
      Transforms an integer into its String representation and then returns the bytes of that string.
      boolean isStandardFont()
      The RtfFont is never a standard font.
      void setCharset​(int charset)
      Sets the charset used for constructing this RtfFont.
      void setColor​(int red, int green, int blue)  
      void setColor​(java.awt.Color color)  
      void setFamily​(java.lang.String family)  
      protected void setFontName​(java.lang.String fontName)
      Sets the font name of this RtfFont.
      void setInHeader​(boolean inHeader)
      Unused
      void setInTable​(boolean inTable)
      Unused
      void setRtfDocument​(RtfDocument doc)
      Sets the RtfDocument this RtfFont belongs to
      void setSize​(float size)  
      void setStyle​(int style)  
      void setStyle​(java.lang.String style)  
      private void setToDefaultFamily​(java.lang.String familyname)
      Sets the correct font name from the family name.
      void writeBegin​(java.io.OutputStream result)
      Writes the font beginning
      void writeContent​(java.io.OutputStream out)
      unused
      void writeDefinition​(java.io.OutputStream result)
      Writes the font definition
      void writeEnd​(java.io.OutputStream result)
      Write the font end
      • Methods inherited from class com.lowagie.text.Font

        getBaseFont, getBaseFontStyle, getCalculatedBaseFont, getCalculatedLeading, getCalculatedSize, getCalculatedStyle, getColor, getCombinedStyle, getFamily, getFamilyIndex, getFontStyleFromName, getSize, getStyle, getStyleValue, isBold, isItalic, isStrikethru, isUnderlined
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • FONT_FAMILY

        private static final byte[] FONT_FAMILY
        Constant for the font family to use ("froman")
      • FONT_CHARSET

        private static final byte[] FONT_CHARSET
        Constant for the charset
      • FONT_SIZE

        public static final byte[] FONT_SIZE
        Constant for the font size
      • FONT_BOLD

        private static final byte[] FONT_BOLD
        Constant for the bold flag
      • FONT_ITALIC

        private static final byte[] FONT_ITALIC
        Constant for the italic flag
      • FONT_UNDERLINE

        private static final byte[] FONT_UNDERLINE
        Constant for the underline flag
      • FONT_STRIKETHROUGH

        private static final byte[] FONT_STRIKETHROUGH
        Constant for the strikethrough flag
      • FONT_DOUBLE_STRIKETHROUGH

        private static final byte[] FONT_DOUBLE_STRIKETHROUGH
        Constant for the double strikethrough flag
      • FONT_SHADOW

        private static final byte[] FONT_SHADOW
        Constant for the shadow flag
      • FONT_OUTLINE

        private static final byte[] FONT_OUTLINE
        Constant for the outline flag
      • FONT_EMBOSSED

        private static final byte[] FONT_EMBOSSED
        Constant for the embossed flag
      • FONT_ENGRAVED

        private static final byte[] FONT_ENGRAVED
        Constant for the engraved flag
      • FONT_HIDDEN

        private static final byte[] FONT_HIDDEN
        Constant for hidden text flag
      • STYLE_NONE

        public static final int STYLE_NONE
        Constant for a plain font
        See Also:
        Constant Field Values
      • STYLE_BOLD

        public static final int STYLE_BOLD
        Constant for a bold font
        See Also:
        Constant Field Values
      • STYLE_ITALIC

        public static final int STYLE_ITALIC
        Constant for an italic font
        See Also:
        Constant Field Values
      • STYLE_UNDERLINE

        public static final int STYLE_UNDERLINE
        Constant for an underlined font
        See Also:
        Constant Field Values
      • STYLE_STRIKETHROUGH

        public static final int STYLE_STRIKETHROUGH
        Constant for a strikethrough font
        See Also:
        Constant Field Values
      • STYLE_DOUBLE_STRIKETHROUGH

        public static final int STYLE_DOUBLE_STRIKETHROUGH
        Constant for a double strikethrough font
        See Also:
        Constant Field Values
      • STYLE_SHADOW

        public static final int STYLE_SHADOW
        Constant for a shadowed font
        See Also:
        Constant Field Values
      • STYLE_OUTLINE

        public static final int STYLE_OUTLINE
        Constant for an outlined font
        See Also:
        Constant Field Values
      • STYLE_EMBOSSED

        public static final int STYLE_EMBOSSED
        Constant for an embossed font
        See Also:
        Constant Field Values
      • STYLE_ENGRAVED

        public static final int STYLE_ENGRAVED
        Constant for an engraved font
        See Also:
        Constant Field Values
      • STYLE_HIDDEN

        public static final int STYLE_HIDDEN
        Constant for a font that hides the actual text.
        See Also:
        Constant Field Values
      • DEFAULT_FONT

        public static final java.lang.String DEFAULT_FONT
        Default font
        Since:
        2.1.7
        See Also:
        Constant Field Values
      • fontName

        private java.lang.String fontName
        The font name. Defaults to "Times New Roman"
      • fontSize

        private int fontSize
        The font size. Defaults to 10
      • fontStyle

        private int fontStyle
        The font style. Defaults to STYLE_NONE
      • fontNumber

        private int fontNumber
        The number of this font
      • color

        private RtfColor color
        The color of this font
      • charset

        private int charset
        The character set to use for this font
      • document

        protected RtfDocument document
        The RtfDocument this RtfFont belongs to.
    • Constructor Detail

      • RtfFont

        public RtfFont​(java.lang.String fontName)
        Constructs a RtfFont with the given font name and all other properties at their default values.
        Parameters:
        fontName - The font name to use
      • RtfFont

        public RtfFont​(java.lang.String fontName,
                       float size)
        Constructs a RtfFont with the given font name and font size and all other properties at their default values.
        Parameters:
        fontName - The font name to use
        size - The font size to use
      • RtfFont

        public RtfFont​(java.lang.String fontName,
                       float size,
                       int style)
        Constructs a RtfFont with the given font name, font size and font style and the default color.
        Parameters:
        fontName - The font name to use
        size - The font size to use
        style - The font style to use
      • RtfFont

        public RtfFont​(java.lang.String fontName,
                       float size,
                       int style,
                       java.awt.Color color)
        Constructs a RtfFont with the given font name, font size, font style and color.
        Parameters:
        fontName - The font name to use
        size - the font size to use
        style - The font style to use
        color - The font color to use
      • RtfFont

        public RtfFont​(java.lang.String fontName,
                       float size,
                       int style,
                       java.awt.Color color,
                       int charset)
        Constructs a RtfFont with the given font name, font size, font style, color and charset. This can be used when generating non latin-1 text.
        Parameters:
        fontName - The font name to use
        size - the font size to use
        style - The font style to use
        color - The font color to use
        charset - The charset of the font content
      • RtfFont

        protected RtfFont​(RtfDocument doc,
                          int fontNumber)
        Special constructor for the default font
        Parameters:
        doc - The RtfDocument this font appears in
        fontNumber - The id of this font
      • RtfFont

        public RtfFont​(RtfDocument doc,
                       com.lowagie.text.Font font)
        Constructs a RtfFont from a com.lowagie.text.Font
        Parameters:
        doc - The RtfDocument this font appears in
        font - The Font to use as a base
    • Method Detail

      • writeDefinition

        public void writeDefinition​(java.io.OutputStream result)
                             throws java.io.IOException
        Writes the font definition
        Specified by:
        writeDefinition in interface RtfExtendedElement
        Parameters:
        result - The OutputStream to write the element definition to
        Throws:
        java.io.IOException
      • writeBegin

        public void writeBegin​(java.io.OutputStream result)
                        throws java.io.IOException
        Writes the font beginning
        Parameters:
        result - The OutputStream to write to.
        Throws:
        java.io.IOException - On i/o errors.
      • writeEnd

        public void writeEnd​(java.io.OutputStream result)
                      throws java.io.IOException
        Write the font end
        Parameters:
        result - The OutputStream to write to.
        Throws:
        java.io.IOException - On i/o errors.
      • writeContent

        public void writeContent​(java.io.OutputStream out)
                          throws java.io.IOException
        unused
        Specified by:
        writeContent in interface RtfBasicElement
        Parameters:
        out - The OutputStream to write the content to
        Throws:
        java.io.IOException
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests for equality of RtfFonts. RtfFonts are equal if their fontName, fontSize, fontStyle and fontSuperSubscript are equal
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - The RtfFont to compare with this RtfFont
        Returns:
        True if the RtfFonts are equal, false otherwise
      • hashCode

        public int hashCode()
        Returns the hash code of this RtfFont. The hash code is the hash code of the string containing the font name + font size + "-" + the font style + "-" + the font super/supscript value.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        The hash code of this RtfFont
      • getFontName

        public java.lang.String getFontName()
        Gets the font name of this RtfFont
        Returns:
        The font name
      • setFontName

        protected void setFontName​(java.lang.String fontName)
        Sets the font name of this RtfFont.
        Parameters:
        fontName - The font name to use
      • getFamilyname

        public java.lang.String getFamilyname()
        Overrides:
        getFamilyname in class com.lowagie.text.Font
        See Also:
        Font.getFamilyname()
      • setFamily

        public void setFamily​(java.lang.String family)
        Overrides:
        setFamily in class com.lowagie.text.Font
        See Also:
        Font.setFamily(String)
      • setToDefaultFamily

        private void setToDefaultFamily​(java.lang.String familyname)
        Sets the correct font name from the family name.
        Parameters:
        familyname - The family name to set the name to.
      • getFontSize

        public int getFontSize()
        Gets the font size of this RtfFont
        Returns:
        The font size
      • setSize

        public void setSize​(float size)
        Overrides:
        setSize in class com.lowagie.text.Font
        See Also:
        Font.setSize(float)
      • getFontStyle

        public int getFontStyle()
        Gets the font style of this RtfFont
        Returns:
        The font style
      • setStyle

        public void setStyle​(int style)
        Overrides:
        setStyle in class com.lowagie.text.Font
        See Also:
        Font.setStyle(int)
      • setStyle

        public void setStyle​(java.lang.String style)
        Overrides:
        setStyle in class com.lowagie.text.Font
        See Also:
        Font.setStyle(String)
      • getCharset

        public int getCharset()
        Gets the charset used for constructing this RtfFont.
        Returns:
        The charset of this RtfFont.
      • setCharset

        public void setCharset​(int charset)
        Sets the charset used for constructing this RtfFont.
        Parameters:
        charset - The charset to use.
      • getFontNumber

        public int getFontNumber()
        Gets the font number of this RtfFont
        Returns:
        The font number
      • setRtfDocument

        public void setRtfDocument​(RtfDocument doc)
        Sets the RtfDocument this RtfFont belongs to
        Specified by:
        setRtfDocument in interface RtfBasicElement
        Parameters:
        doc - The RtfDocument to use
      • setInTable

        public void setInTable​(boolean inTable)
        Unused
        Specified by:
        setInTable in interface RtfBasicElement
        Parameters:
        inTable -
      • setInHeader

        public void setInHeader​(boolean inHeader)
        Unused
        Specified by:
        setInHeader in interface RtfBasicElement
        Parameters:
        inHeader -
      • setColor

        public void setColor​(java.awt.Color color)
        Overrides:
        setColor in class com.lowagie.text.Font
        See Also:
        Font.setColor(Color)
      • setColor

        public void setColor​(int red,
                             int green,
                             int blue)
        Overrides:
        setColor in class com.lowagie.text.Font
        See Also:
        Font.setColor(int, int, int)
      • intToByteArray

        protected byte[] intToByteArray​(int i)
        Transforms an integer into its String representation and then returns the bytes of that string.
        Parameters:
        i - The integer to convert
        Returns:
        A byte array representing the integer
      • difference

        public com.lowagie.text.Font difference​(com.lowagie.text.Font font)
        Replaces the attributes that are equal to null with the attributes of a given font.
        Overrides:
        difference in class com.lowagie.text.Font
        Parameters:
        font - The surrounding font
        Returns:
        A RtfFont
      • isStandardFont

        public boolean isStandardFont()
        The RtfFont is never a standard font.
        Overrides:
        isStandardFont in class com.lowagie.text.Font
        Since:
        2.1.0
      • compareTo

        public int compareTo​(java.lang.Object object)
        Compares this RtfFont to either a Font or an RtfFont.
        Specified by:
        compareTo in interface java.lang.Comparable
        Overrides:
        compareTo in class com.lowagie.text.Font
        Since:
        2.1.0