com.lowagie.text.rtf.style
Class RtfFont

java.lang.Object
  extended by com.lowagie.text.Font
      extended by com.lowagie.text.rtf.style.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 Summary
static java.lang.String DEFAULT_FONT
          Default font
protected  RtfDocument document
          The RtfDocument this RtfFont belongs to.
static byte[] FONT_SIZE
          Constant for the font size
static int STYLE_BOLD
          Constant for a bold font
static int STYLE_DOUBLE_STRIKETHROUGH
          Constant for a double strikethrough font
static int STYLE_EMBOSSED
          Constant for an embossed font
static int STYLE_ENGRAVED
          Constant for an engraved font
static int STYLE_HIDDEN
          Constant for a font that hides the actual text.
static int STYLE_ITALIC
          Constant for an italic font
static int STYLE_NONE
          Constant for a plain font
static int STYLE_OUTLINE
          Constant for an outlined font
static int STYLE_SHADOW
          Constant for a shadowed font
static int STYLE_STRIKETHROUGH
          Constant for a strikethrough font
static int STYLE_UNDERLINE
          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
  RtfFont(RtfDocument doc, Font font)
          Constructs a RtfFont from a com.lowagie.text.Font
protected RtfFont(RtfDocument doc, int fontNumber)
          Special constructor for the default 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
 int compareTo(java.lang.Object object)
          Compares this RtfFont to either a Font or an RtfFont.
 Font difference(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()
          Gets the familyname as a String.
 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(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").
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)
          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.
 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, getCalculatedBaseFont, getCalculatedLeading, getCalculatedSize, getCalculatedStyle, getColor, getFamily, getFamilyIndex, 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_SIZE

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


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

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)

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


iText 2.1.7