Class RtfFont

java.lang.Object
com.lowagie.text.Font
com.lowagie.text.rtf.style.RtfFont
All Implemented Interfaces:
RtfBasicElement, RtfExtendedElement, com.lowagie.text.RtfElementInterface, 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 $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    The character set to use for this font
    private RtfColor
    The color of this font
    static final String
    Default font
    protected RtfDocument
    The RtfDocument this RtfFont belongs to.
    private static final byte[]
    Constant for the bold flag
    private static final byte[]
    Constant for the charset
    private static final byte[]
    Constant for the double strikethrough flag
    private static final byte[]
    Constant for the embossed flag
    private static final byte[]
    Constant for the engraved flag
    private static final byte[]
    Constant for the font family to use ("froman")
    private static final byte[]
    Constant for hidden text flag
    private static final byte[]
    Constant for the italic flag
    private static final byte[]
    Constant for the outline flag
    private static final byte[]
    Constant for the shadow flag
    static final byte[]
    Constant for the font size
    private static final byte[]
    Constant for the strikethrough flag
    private static final byte[]
    Constant for the underline flag
    private String
    The font name.
    private int
    The number of this font
    private int
    The font size.
    private int
    The font style.
    static final int
    Constant for a bold font
    static final int
    Constant for a double strikethrough font
    static final int
    Constant for an embossed font
    static final int
    Constant for an engraved font
    static final int
    Constant for a font that hides the actual text.
    static final int
    Constant for an italic font
    static final int
    Constant for a plain font
    static final int
    Constant for an outlined font
    static final int
    Constant for a shadowed font
    static final int
    Constant for a strikethrough font
    static final int
    Constant for an underlined font

    Fields inherited from class com.lowagie.text.Font

    BOLD, BOLDITALIC, COURIER, DEFAULTSIZE, HELVETICA, ITALIC, NORMAL, STRIKETHRU, SYMBOL, TIMES_ROMAN, UNDEFINED, UNDERLINE, ZAPFDINGBATS

    Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement

    CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR
  • 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(String fontName)
    Constructs a RtfFont with the given font name and all other properties at their default values.
     
    RtfFont(String fontName, float size)
    Constructs a RtfFont with the given font name and font size and all other properties at their default values.
     
    RtfFont(String fontName, float size, int style)
    Constructs a RtfFont with the given font name, font size and font style and the default color.
     
    RtfFont(String fontName, float size, int style, Color color)
    Constructs a RtfFont with the given font name, font size, font style and color.
     
    RtfFont(String fontName, float size, int style, Color color, int charset)
    Constructs a RtfFont with the given font name, font size, font style, color and charset.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    compareTo(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
    Tests for equality of RtfFonts.
    int
    Gets the charset used for constructing this RtfFont.
     
    Gets the font name of this RtfFont
    int
    Gets the font number of this RtfFont
    int
    Gets the font size of this RtfFont
    int
    Gets the font style of this RtfFont
    int
    Returns the hash code of this RtfFont.
    protected byte[]
    Transforms an integer into its String representation and then returns the bytes of that string.
    boolean
    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(Color color)
     
    void
    setFamily(String family)
     
    protected void
    setFontName(String fontName)
    Sets the font name of this RtfFont.
    void
    setInHeader(boolean inHeader)
    Unused
    void
    setInTable(boolean inTable)
    Unused
    void
    Sets the RtfDocument this RtfFont belongs to
    void
    setSize(float size)
     
    void
    setStyle(int style)
     
    void
     
    private void
    Sets the correct font name from the family name.
    void
    Writes the font beginning
    void
    unused
    void
    Writes the font definition
    void
    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 Details

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

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

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

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

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

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

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

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

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

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

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

      public static final String DEFAULT_FONT
      Default font
      Since:
      2.1.7
      See Also:
    • fontName

      private 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 Details

    • RtfFont

      public RtfFont(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(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(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(String fontName, float size, int style, 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(String fontName, float size, int style, 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 Details

    • writeDefinition

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

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

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

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

      public boolean equals(Object obj)
      Tests for equality of RtfFonts. RtfFonts are equal if their fontName, fontSize, fontStyle and fontSuperSubscript are equal
      Overrides:
      equals in class 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 Object
      Returns:
      The hash code of this RtfFont
    • getFontName

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

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

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

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

      private void setToDefaultFamily(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(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(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(Object object)
      Compares this RtfFont to either a Font or an RtfFont.
      Specified by:
      compareTo in interface Comparable
      Overrides:
      compareTo in class com.lowagie.text.Font
      Since:
      2.1.0