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
`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
`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()