com.lowagie.text.rtf.parser.destinations

## Class RtfDestinationFontTable

- java.lang.Object
- - com.lowagie.text.rtf.parser.destinations.RtfDestination
  - - com.lowagie.text.rtf.parser.destinations.RtfDestinationFontTable

    public final class RtfDestinationFontTable
    extends RtfDestination

`RtfDestinationFontTable` handles data destined for the font table destination

Since:
  2.0.8
Author:
  Howard Shank (hgshank@yahoo.com)

### Field Summary

Fields
`private java.lang.String` `charset` The \charset value
`private static java.lang.String` `CHARSET_DEFAULT`
`private java.lang.String` `cpg` The \cpg value
`private java.lang.String` `falt` The \falt alternate font if primary font is not available.
`private int` `fbias` The \fbias value
`private java.lang.String` `fontemb` The \falt alternate font if primary font is not available.
`private java.lang.String` `fontFamily` The family of the font being parsed.
`private java.lang.String` `fontFile` The \falt alternate font if primary font is not available.
`private java.lang.String` `fontFileCpg` The \falt alternate font if primary font is not available.
`private java.util.HashMap` `fontMap` Convert font mapping to `FontFactory` font objects.
`private java.lang.String` `fontName` The name of the font being parsed.
`private java.lang.String` `fontNr` The number of the font being parsed.
`private java.lang.String` `fontType` The \falt alternate font if primary font is not available.
`private int` `fprq` The \fprq
`private RtfImportMgr` `importHeader` The RtfImportHeader to add font mappings to.
`private java.lang.String` `nontaggedname` The \*\fname
`private java.lang.String` `panose` The \*\panose font matching value if primary font is not available.
`private static int` `SETTING_ALTERNATE` \falt
`private static int` `SETTING_FONT_EMBED` \fontemb
`private static int` `SETTING_FONT_FILE` \ffile
`private static int` `SETTING_FONTNAME` \fname
`private static int` `SETTING_NORMAL` Normal
`private static int` `SETTING_PANOSE` \panose
`private int` `state` state flag to handle different parsing of a font element
`private java.lang.String` `themeFont` The theme (Office 2007)
`private java.lang.String` `trueType` The \fnil, \fttruetype value

### Fields inherited from class com.lowagie.text.rtf.parser.destinations.RtfDestination

`lastCtrlWord, modified, rtfParser`

### Constructor Summary

Constructors
Constructor and Description
`RtfDestinationFontTable()` Constructor
`RtfDestinationFontTable(RtfParser parser)` Constructs a new RtfFontTableParser.

### Method Summary

Methods
`boolean` `closeDestination()` Clean up when destination is closed.
`private Font` `createfont(java.lang.String fontName)` Create a font via the `FontFactory`
`private java.util.Properties` `getEnvironmentVariables()` Utility method to load the environment variables.
`Font` `getFont(java.lang.String key)` Get a `Font` object from the font map object
`boolean` `handleCharacter(int ch)` Handle text for this destination
`boolean` `handleCloseGroup()` Clean up when group is closed.
`boolean` `handleControlWord(RtfCtrlWordData ctrlWordData)` Handle control word for this destination
`boolean` `handleOpenGroup()` Setup when group is opened.
`boolean` `handleOpeningSubGroup()` Handle a new subgroup contained within this group
`private void` `importSystemFonts()` Load system fonts into the static `FontFactory` object
`private void` `init(boolean importFonts)` Initialize the object.
`private void` `processFont()` Process the font information that was parsed from the input.
`void` `setBias(java.lang.String value)` Set the font bias
`void` `setCharset(java.lang.String charset)` Set the character-set to the parsed value.
`void` `setCodePage(java.lang.String value)` Set the code page
`void` `setFontAlternate(java.lang.String fontAlternate)` Set the alternate font name.
`void` `setFontFamily(java.lang.String fontFamily)` Set the font family to the parsed value.
`void` `setFontName(java.lang.String fontName)` Set the font name to the parsed value.
`void` `setFontNumber(java.lang.String fontNr)` Set the font number to the parsed value.
`void` `setParser(RtfParser parser)` Set the parser to use with the RtfDestination object.
`void` `setPitch(java.lang.String value)` Set the font pitch
`void` `setThemeFont(java.lang.String themeFont)` Set the font theme
`void` `setToDefaults()` Method to set this object to the default values.
`void` `setTrueType(java.lang.String value)` Set the TrueTtype type

### Methods inherited from class com.lowagie.text.rtf.parser.destinations.RtfDestination

`addListener, afterCharacter, afterCtrlWord, beforeCharacter, beforeCtrlWord, getNewTokeniserState, isModified, onCharacter, onCloseGroup, onCtrlWord, onOpenGroup, removeListener`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### importHeader

    private RtfImportMgr importHeader

The RtfImportHeader to add font mappings to.

#### themeFont

    private java.lang.String themeFont

The theme (Office 2007)

#### fontNr

    private java.lang.String fontNr

The number of the font being parsed.

#### fontFamily

    private java.lang.String fontFamily

The family of the font being parsed.

#### charset

    private java.lang.String charset

The \charset value

#### CHARSET_DEFAULT

    private static final java.lang.String CHARSET_DEFAULT

See Also:
  Constant Field Values

#### fprq

    private int fprq

The \fprq

#### panose

    private java.lang.String panose

The \*\panose font matching value if primary font is not available.

#### nontaggedname

    private java.lang.String nontaggedname

The \*\fname

#### fontName

    private java.lang.String fontName

The name of the font being parsed.

#### falt

    private java.lang.String falt

The \falt alternate font if primary font is not available.

#### fontemb

    private java.lang.String fontemb

The \falt alternate font if primary font is not available.

#### fontType

    private java.lang.String fontType

The \falt alternate font if primary font is not available.

#### fontFile

    private java.lang.String fontFile

The \falt alternate font if primary font is not available.

#### fontFileCpg

    private java.lang.String fontFileCpg

The \falt alternate font if primary font is not available.

#### fbias

    private int fbias

The \fbias value

#### cpg

    private java.lang.String cpg

The \cpg value

#### trueType

    private java.lang.String trueType

The \fnil, \fttruetype value

#### state

    private int state

state flag to handle different parsing of a font element

#### SETTING_NORMAL

    private static final int SETTING_NORMAL

Normal

See Also:
  Constant Field Values

#### SETTING_ALTERNATE

    private static final int SETTING_ALTERNATE

\falt

See Also:
  Constant Field Values

#### SETTING_FONTNAME

    private static final int SETTING_FONTNAME

\fname

See Also:
  Constant Field Values

#### SETTING_PANOSE

    private static final int SETTING_PANOSE

\panose

See Also:
  Constant Field Values

#### SETTING_FONT_EMBED

    private static final int SETTING_FONT_EMBED

\fontemb

See Also:
  Constant Field Values

#### SETTING_FONT_FILE

    private static final int SETTING_FONT_FILE

\ffile

See Also:
  Constant Field Values

#### fontMap

    private java.util.HashMap fontMap

Convert font mapping to `FontFactory` font objects.

### Constructor Detail

#### RtfDestinationFontTable

    public RtfDestinationFontTable()

Constructor

#### RtfDestinationFontTable

    public RtfDestinationFontTable(RtfParser parser)

Constructs a new RtfFontTableParser.

Parameters:
  `parser` - an RtfParser.
Since:
  2.0.8

### Method Detail

#### setParser

    public void setParser(RtfParser parser)

Description copied from class: `RtfDestination`
Set the parser to use with the RtfDestination object.

Overrides:
  `setParser` in class `RtfDestination`
Parameters:
  `parser` - The RtfParser object.

#### init

    private void init(boolean importFonts)

Initialize the object.

Parameters:
  `importFonts` - true to import the fonts into the FontFactory, false do not load fonts
Since:
  2.0.8

#### handleOpeningSubGroup

    public boolean handleOpeningSubGroup()

Description copied from class: `RtfDestination`
Handle a new subgroup contained within this group

Specified by:
  `handleOpeningSubGroup` in class `RtfDestination`
Returns:
  true if handled, false if not handled

#### closeDestination

    public boolean closeDestination()

Description copied from class: `RtfDestination`
Clean up when destination is closed.

Specified by:
  `closeDestination` in class `RtfDestination`
Returns:
  true if handled, false if not handled

#### handleCloseGroup

    public boolean handleCloseGroup()

Description copied from class: `RtfDestination`
Clean up when group is closed.

Specified by:
  `handleCloseGroup` in class `RtfDestination`
Returns:
  true if handled, false if not handled

#### handleOpenGroup

    public boolean handleOpenGroup()

Description copied from class: `RtfDestination`
Setup when group is opened.

Specified by:
  `handleOpenGroup` in class `RtfDestination`
Returns:
  true if handled, false if not handled

#### handleCharacter

    public boolean handleCharacter(int ch)

Description copied from class: `RtfDestination`
Handle text for this destination

Specified by:
  `handleCharacter` in class `RtfDestination`
Returns:
  true if handled, false if not handled

#### handleControlWord

    public boolean handleControlWord(RtfCtrlWordData ctrlWordData)

Description copied from class: `RtfDestination`
Handle control word for this destination

Specified by:
  `handleControlWord` in class `RtfDestination`
Parameters:
  `ctrlWordData` - The control word and parameter information object
Returns:
  true if handled, false if not handled

#### setCodePage

    public void setCodePage(java.lang.String value)

Set the code page

Parameters:
  `value` - The code page value
Since:
  2.0.8

#### setTrueType

    public void setTrueType(java.lang.String value)

Set the TrueTtype type

Parameters:
  `value` - The type
Since:
  2.0.8

#### setPitch

    public void setPitch(java.lang.String value)

Set the font pitch

Parameters:
  `value` - Pitch value
Since:
  2.0.8

#### setBias

    public void setBias(java.lang.String value)

Set the font bias

Parameters:
  `value` - Bias value
Since:
  2.0.8

#### setThemeFont

    public void setThemeFont(java.lang.String themeFont)

Set the font theme

Parameters:
  `themeFont` - Theme value
Since:
  2.0.8

#### setFontName

    public void setFontName(java.lang.String fontName)

Set the font name to the parsed value.

Parameters:
  `fontName` - The font name.
Since:
  2.0.8

#### setFontFamily

    public void setFontFamily(java.lang.String fontFamily)

Set the font family to the parsed value.

Parameters:
  `fontFamily` - The font family.
Since:
  2.0.8

#### setFontNumber

    public void setFontNumber(java.lang.String fontNr)

Set the font number to the parsed value. This is used for mapping fonts to the new font numbers

Parameters:
  `fontNr` - The font number.
Since:
  2.0.8

#### setFontAlternate

    public void setFontAlternate(java.lang.String fontAlternate)

Set the alternate font name.

Parameters:
  `fontAlternate` - The falt font value
Since:
  2.0.8

#### setCharset

    public void setCharset(java.lang.String charset)

Set the character-set to the parsed value.

Parameters:
  `charset` - The charset value
Since:
  2.0.8

#### setToDefaults

    public void setToDefaults()

Description copied from class: `RtfDestination`
Method to set this object to the default values. Must be implemented in child class.

Specified by:
  `setToDefaults` in class `RtfDestination`

#### processFont

    private void processFont()

Process the font information that was parsed from the input.

Since:
  2.0.8

#### createfont

    private Font createfont(java.lang.String fontName)

Create a font via the `FontFactory`

Parameters:
  `fontName` - The font name to create
Returns:
  The created `Font` object
Since:
  2.0.8

#### getFont

    public Font getFont(java.lang.String key)

Get a `Font` object from the font map object

Parameters:
  `key` - The font number to get
Returns:
  The mapped `Font` object.
Since:
  2.0.8

#### importSystemFonts

    private void importSystemFonts()

Load system fonts into the static `FontFactory` object

Since:
  2.0.8

#### getEnvironmentVariables

    private java.util.Properties getEnvironmentVariables()
                                                  throws java.lang.Throwable

Utility method to load the environment variables.

Returns:
  Properties object with environment variable information
Throws:
  `java.lang.Throwable`
Since:
  2.0.8