org.apache.poi.common.usermodel.fonts

## Interface FontInfo

- All Known Implementing Classes:
    FontHeader, HemfFont, HSLFFontInfo, HSLFFontInfoPredefined, HwmfFont, XSLFFontInfo

      public interface FontInfo

  A FontInfo object holds information about a font configuration. It is roughly an equivalent to the LOGFONT structure in Windows GDI.

  If an implementation doesn't provide a property, the getter will return `null` - if the value is unset, a default value will be returned.

  Setting a unsupported property results in an `UnsupportedOperationException`.

  Since:
    POI 3.17-beta2
  See Also:
    LOGFONT structure

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default FontCharset` | `getCharset()`
    `default java.util.List<? extends FontFacet>` | `getFacets()` If font facets are embedded in the document, return the list of embedded facets.
    `default FontFamily` | `getFamily()`
    `default java.lang.Integer` | `getIndex()` Get the index within the collection of Font objects
    `default byte[]` | `getPanose()`
    `default FontPitch` | `getPitch()`
    `java.lang.String` | `getTypeface()`
    `default void` | `setCharset(FontCharset charset)` Sets the charset
    `default void` | `setFamily(FontFamily family)` Sets the font family class
    `default void` | `setIndex(int index)` Sets the index within the collection of Font objects
    `default void` | `setPanose(byte[] panose)` Set the panose in binary form
    `default void` | `setPitch(FontPitch pitch)` Set the font pitch
    `default void` | `setTypeface(java.lang.String typeface)` Sets the font name

- - ### Method Detail

    - #### getIndex

          default java.lang.Integer getIndex()

      Get the index within the collection of Font objects
      Returns:
        unique index number of the underlying record this Font represents (probably you don't care unless you're comparing which one is which)

    - #### setIndex

          default void setIndex(int index)

      Sets the index within the collection of Font objects
      Parameters:
        `index` - the index within the collection of Font objects
      Throws:
        `java.lang.UnsupportedOperationException` - if unsupported

    - #### getTypeface

          java.lang.String getTypeface()

      Returns:
        the full name of the font, i.e. font family + type face

    - #### setTypeface

          default void setTypeface(java.lang.String typeface)

      Sets the font name
      Parameters:
        `typeface` - the full name of the font, when `null` removes the font definition - removal is implementation specific

    - #### getCharset

          default FontCharset getCharset()

      Returns:
        the font charset

    - #### setCharset

          default void setCharset(FontCharset charset)

      Sets the charset
      Parameters:
        `charset` - the charset

    - #### getFamily

          default FontFamily getFamily()

      Returns:
        the family class

    - #### setFamily

          default void setFamily(FontFamily family)

      Sets the font family class
      Parameters:
        `family` - the font family class

    - #### getPitch

          default FontPitch getPitch()

      Returns:
        the font pitch or `null` if unsupported

    - #### setPitch

          default void setPitch(FontPitch pitch)

      Set the font pitch
      Parameters:
        `pitch` - the font pitch
      Throws:
        `java.lang.UnsupportedOperationException` - if unsupported

    - #### getPanose

          default byte[] getPanose()

      Returns:
        panose info in binary form or `null` if unknown

    - #### setPanose

          default void setPanose(byte[] panose)

      Set the panose in binary form
      Parameters:
        `panose` - the panose bytes

    - #### getFacets

          @Beta
          default java.util.List<? extends FontFacet> getFacets()

      If font facets are embedded in the document, return the list of embedded facets. The font embedding is experimental, therefore the API can change.
      Returns:
        the list of embedded EOT font data

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.