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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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