Class RtfFont

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

    public class RtfFont
    extends 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 $
    Author:
    Mark Hall (Mark.Hall@mail.room3b.eu), Craig Fleming (rythos@rhana.dhs.org), Renaud Michel (r.michel@immedia.be), Werner Daehn (Werner.Daehn@BusinessObjects.com), Lidong Liu (tmslld@gmail.com), Thomas Bickel (tmb99@inode.at)
    • 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,
                       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()
        Description copied from class: Font
        Gets the familyname as a String.
        Overrides:
        getFamilyname in class Font
        Returns:
        the familyname
        See Also:
        Font.getFamilyname()
      • setFamily

        public void setFamily​(java.lang.String family)
        Description copied from class: Font
        Sets the family using a String ("Courier", "Helvetica", "Times New Roman", "Symbol" or "ZapfDingbats").
        Overrides:
        setFamily in class Font
        Parameters:
        family - A String representing a certain font-family.
        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)
        Description copied from class: Font
        Sets the size.
        Overrides:
        setSize in class Font
        Parameters:
        size - The new size of the 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)
        Description copied from class: Font
        Sets the style.
        Overrides:
        setStyle in class Font
        Parameters:
        style - the style.
        See Also:
        Font.setStyle(int)
      • setStyle

        public void setStyle​(java.lang.String style)
        Description copied from class: Font
        Sets the style using a String containing one of more of the following values: normal, bold, italic, underline, strike.
        Overrides:
        setStyle in class Font
        Parameters:
        style - A String representing a certain style.
        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)
        Description copied from class: Font
        Sets the color.
        Overrides:
        setColor in class Font
        Parameters:
        color - the new color of the font
        See Also:
        Font.setColor(Color)
      • setColor

        public void setColor​(int red,
                             int green,
                             int blue)
        Description copied from class: Font
        Sets the color.
        Overrides:
        setColor in class Font
        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
        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 Font difference​(Font font)
        Replaces the attributes that are equal to null with the attributes of a given font.
        Overrides:
        difference in class Font
        Parameters:
        font - The surrounding font
        Returns:
        A RtfFont
      • isStandardFont

        public boolean isStandardFont()
        The RtfFont is never a standard font.
        Overrides:
        isStandardFont in class Font
        Returns:
        a boolean
        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 Font
        Parameters:
        object - the other Font
        Returns:
        a value
        Since:
        2.1.0