org.apache.fontbox.ttf

## Class OpenTypeFont

- java.lang.Object
- - org.apache.fontbox.ttf.TrueTypeFont
  - - org.apache.fontbox.ttf.OpenTypeFont

All Implemented Interfaces:
  Closeable, AutoCloseable, FontBoxFont

    public class OpenTypeFont
    extends TrueTypeFont

An OpenType (OTF/TTF) font.

### Field Summary

### Fields inherited from class org.apache.fontbox.ttf.TrueTypeFont

`tables`

### Method Summary

All Methods Instance Methods Concrete Methods
`CFFTable` `getCFF()` Get the "CFF" table for this OTF.
`GlyphTable` `getGlyph()` Get the glyf table for this TTF.
`GeneralPath` `getPath(String name)` Returns the path for the character with the given name.
`boolean` `hasLayoutTables()` Returns true if this font uses OpenType Layout (Advanced Typographic) tables.
`boolean` `isPostScript()` Returns true if this font is a PostScript outline font.
`boolean` `isSupportedOTF()` Returns true if this font is supported.

### Methods inherited from class org.apache.fontbox.ttf.TrueTypeFont

`close, disableGsubFeature, enableGsubFeature, enableVerticalSubstitutions, getAdvanceHeight, getAdvanceWidth, getCmap, getFontBBox, getFontMatrix, getGsub, getGsubData, getHeader, getHorizontalHeader, getHorizontalMetrics, getIndexToLocation, getKerning, getMaximumProfile, getName, getNaming, getNumberOfGlyphs, getOriginalData, getOriginalDataSize, getOS2Windows, getPostScript, getTable, getTableBytes, getTableMap, getTableNBytes, getTables, getUnicodeCmapLookup, getUnicodeCmapLookup, getUnitsPerEm, getVersion, getVerticalHeader, getVerticalMetrics, getVerticalOrigin, getWidth, hasGlyph, isEnableGsub, nameToGID, setEnableGsub, toString`

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

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

### Method Detail

#### getCFF

    public CFFTable getCFF()
                    throws IOException

Get the "CFF" table for this OTF.

Returns:
  The "CFF" table.
Throws:
  `IOException` - if the font data could not be read
  `UnsupportedOperationException` - if the current font isn't a CFF font

#### getGlyph

    public GlyphTable getGlyph()
                        throws IOException

Description copied from class: `TrueTypeFont`
Get the glyf table for this TTF.

Overrides:
  `getGlyph` in class `TrueTypeFont`
Returns:
  The glyf table or null if it doesn't exist.
Throws:
  `IOException` - if there was an error reading the table.

#### getPath

    public GeneralPath getPath(String name)
                        throws IOException

Description copied from interface: `FontBoxFont`
Returns the path for the character with the given name.

Specified by:
  `getPath` in interface `FontBoxFont`
Overrides:
  `getPath` in class `TrueTypeFont`
Parameters:
  `name` - PostScript glyph name
Returns:
  glyph path
Throws:
  `IOException` - if the path could not be read

#### isPostScript

    public boolean isPostScript()

Returns true if this font is a PostScript outline font.

Returns:
  true if the font is a PostScript outline font, otherwise false

#### isSupportedOTF

    public boolean isSupportedOTF()

Returns true if this font is supported. There are 3 kind of OpenType fonts, fonts using TrueType outlines, fonts using CFF outlines (version 1 and 2) Fonts using CFF outlines version 2 aren't supported yet.

Returns:
  true if the font is supported

#### hasLayoutTables

    public boolean hasLayoutTables()

Returns true if this font uses OpenType Layout (Advanced Typographic) tables.

Returns:
  true if the font has any layout table, otherwise false