org.apache.fop.fonts

## Class EmbedFontInfo

- java.lang.Object
- - org.apache.fop.fonts.EmbedFontInfo

- All Implemented Interfaces:
    Serializable

      public class EmbedFontInfo
      extends Object
      implements Serializable

  FontInfo contains meta information on fonts (where is the metrics file etc.) TODO: We need to remove this class and think about more intelligent design patterns (Data classes => Procedural code)
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `advanced` false, to disable advanced typographic features
    `protected boolean` | `kerning` false, to disable kerning
    `protected String` | `postScriptName` the PostScript name of the font
    `protected String` | `subFontName` the sub-fontname of the font (used for TrueType Collections, null otherwise)

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EmbedFontInfo(FontUris fontUris, boolean kerning, boolean advanced, List<FontTriplet> fontTriplets, String subFontName)` Main constructor
    `EmbedFontInfo(FontUris fontUris, boolean kerning, boolean advanced, List<FontTriplet> fontTriplets, String subFontName, EncodingMode encodingMode, EmbeddingMode embeddingMode, boolean simulateStyle, boolean embedAsType1, boolean useSVG, boolean lazyLoad)` Main constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `getAdvanced()` Determines if advanced typographic features are enabled
    `boolean` | `getEmbedAsType1()`
    `EmbeddingMode` | `getEmbeddingMode()` Returns the embedding mode for this font.
    `URI` | `getEmbedURI()` Returns the URI to the embeddable font resource
    `EncodingMode` | `getEncodingMode()` Returns the requested encoding mode for this font.
    `List<FontTriplet>` | `getFontTriplets()` Returns the list of font triplets associated with this font.
    `FontUris` | `getFontUris()`
    `boolean` | `getKerning()` Determines if kerning is enabled
    `URI` | `getMetricsURI()` Returns the URI of the metrics XML resource
    `String` | `getPostScriptName()` Returns the PostScript name of the font.
    `boolean` | `getSimulateStyle()` Determines whether the font can simulate a style such as bold or italic.
    `String` | `getSubFontName()` Returns the sub-font name of the font.
    `boolean` | `getUseSVG()`
    `boolean` | `isEmbedded()` Indicates whether the font is only referenced rather than embedded.
    `boolean` | `isLazyLoad()`
    `void` | `setEmbedded(boolean value)` Defines whether the font is embedded or not.
    `void` | `setPostScriptName(String postScriptName)` Sets the PostScript name of the font
    `String` | `toString()`

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

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

- - ### Field Detail

    - #### kerning

          protected final boolean kerning

      false, to disable kerning

    - #### advanced

          protected final boolean advanced

      false, to disable advanced typographic features

    - #### postScriptName

          protected String postScriptName

      the PostScript name of the font

    - #### subFontName

          protected String subFontName

      the sub-fontname of the font (used for TrueType Collections, null otherwise)

  - ### Constructor Detail

    - #### EmbedFontInfo

          public EmbedFontInfo(FontUris fontUris,
                               boolean kerning,
                               boolean advanced,
                               List<FontTriplet> fontTriplets,
                               String subFontName,
                               EncodingMode encodingMode,
                               EmbeddingMode embeddingMode,
                               boolean simulateStyle,
                               boolean embedAsType1,
                               boolean useSVG,
                               boolean lazyLoad)

      Main constructor
      Parameters:
        `fontUris` - the URI of the XML resource containing font metrics
        `kerning` - True if kerning should be enabled
        `advanced` - true if advanced typography features should be enabled
        `fontTriplets` - List of font triplets to associate with this font
        `subFontName` - the sub-fontname used for TrueType Collections (null otherwise)
        `encodingMode` - the encoding mode to use for this font

    - #### EmbedFontInfo

          public EmbedFontInfo(FontUris fontUris,
                               boolean kerning,
                               boolean advanced,
                               List<FontTriplet> fontTriplets,
                               String subFontName)

      Main constructor
      Parameters:
        `fontUris` - the URI of the XML resource containing font metrics
        `kerning` - True if kerning should be enabled
        `fontTriplets` - List of font triplets to associate with this font
        `subFontName` - the sub-fontname used for TrueType Collections (null otherwise)

  - ### Method Detail

    - #### getMetricsURI

          public URI getMetricsURI()

      Returns the URI of the metrics XML resource
      Returns:
        the metrics file path

    - #### getEmbedURI

          public URI getEmbedURI()

      Returns the URI to the embeddable font resource
      Returns:
        the font resource URI

    - #### getKerning

          public boolean getKerning()

      Determines if kerning is enabled
      Returns:
        true if enabled

    - #### getAdvanced

          public boolean getAdvanced()

      Determines if advanced typographic features are enabled
      Returns:
        true if enabled

    - #### getSubFontName

          public String getSubFontName()

      Returns the sub-font name of the font. This is primarily used for TrueType Collections to select one of the sub-fonts. For all other fonts, this is always null.
      Returns:
        the sub-font name (or null)

    - #### getPostScriptName

          public String getPostScriptName()

      Returns the PostScript name of the font.
      Returns:
        the PostScript name

    - #### setPostScriptName

          public void setPostScriptName(String postScriptName)

      Sets the PostScript name of the font
      Parameters:
        `postScriptName` - the PostScript name

    - #### getFontTriplets

          public List<FontTriplet> getFontTriplets()

      Returns the list of font triplets associated with this font.
      Returns:
        List of font triplets

    - #### isEmbedded

          public boolean isEmbedded()

      Indicates whether the font is only referenced rather than embedded.
      Returns:
        true if the font is embedded, false if it is referenced.

    - #### getEmbeddingMode

          public EmbeddingMode getEmbeddingMode()

      Returns the embedding mode for this font.
      Returns:
        the embedding mode.

    - #### setEmbedded

          public void setEmbedded(boolean value)

      Defines whether the font is embedded or not.
      Parameters:
        `value` - true to embed the font, false to reference it

    - #### getEncodingMode

          public EncodingMode getEncodingMode()

      Returns the requested encoding mode for this font.
      Returns:
        the encoding mode

    - #### getSimulateStyle

          public boolean getSimulateStyle()

      Determines whether the font can simulate a style such as bold or italic.
      Returns:
        true if the font is being simulated as a different style.

    - #### getEmbedAsType1

          public boolean getEmbedAsType1()

    - #### getUseSVG

          public boolean getUseSVG()

    - #### isLazyLoad

          public boolean isLazyLoad()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getFontUris

          public FontUris getFontUris()

Copyright © 2025 Apache Software Foundation. All rights reserved.