Module java.desktop
Package java.awt.font

# Interface OpenType

public interface OpenType
The `OpenType` interface represents OpenType and TrueType fonts. This interface makes it possible to obtain sfnt tables from the font. A particular `Font` object can implement this interface.

For more information on TrueType and OpenType fonts, see the OpenType specification. ( http://www.microsoft.com/typography/otspec/ ).

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`TAG_ACNT`
Accent attachment.
`static final int`
`TAG_AVAR`
Axis variation.
`static final int`
`TAG_BASE`
Baseline data.
`static final int`
`TAG_BDAT`
Bitmap data.
`static final int`
`TAG_BLOC`
Bitmap location.
`static final int`
`TAG_BSLN`
Baseline table.
`static final int`
`TAG_CFF`
Compact font format (Type1 font).
`static final int`
`TAG_CMAP`
Character to glyph mapping.
`static final int`
`TAG_CVAR`
CVT variation.
`static final int`
`TAG_CVT`
Control value table.
`static final int`
`TAG_DSIG`
Digital signature.
`static final int`
`TAG_EBDT`
Embedded bitmap data.
`static final int`
`TAG_EBLC`
Embedded bitmap location.
`static final int`
`TAG_EBSC`
Embedded bitmap scaling.
`static final int`
`TAG_FDSC`
Font descriptors.
`static final int`
`TAG_FEAT`
Feature name.
`static final int`
`TAG_FMTX`
Font metrics.
`static final int`
`TAG_FPGM`
Font program.
`static final int`
`TAG_FVAR`
Font variation.
`static final int`
`TAG_GASP`
Grid-fitting and scan conversion procedure.
`static final int`
`TAG_GDEF`
Glyph definition.
`static final int`
`TAG_GLYF`
Glyph data.
`static final int`
`TAG_GPOS`
Glyph positioning.
`static final int`
`TAG_GSUB`
Glyph substitution.
`static final int`
`TAG_GVAR`
Glyph variation.
`static final int`
`TAG_HDMX`
Horizontal device metrics.
`static final int`
`TAG_HEAD`
Font header.
`static final int`
`TAG_HHEA`
Horizontal metrics header.
`static final int`
`TAG_HMTX`
Horizontal metrics.
`static final int`
`TAG_JSTF`
Justification.
`static final int`
`TAG_JUST`
Justification.
`static final int`
`TAG_KERN`
Kerning.
`static final int`
`TAG_LCAR`
Ligature caret.
`static final int`
`TAG_LOCA`
Index to location.
`static final int`
`TAG_LTSH`
Linear threshold.
`static final int`
`TAG_MAXP`
Maximum profile.
`static final int`
`TAG_MMFX`
Multiple master font metrics.
`static final int`
`TAG_MMSD`
Multiple master supplementary data.
`static final int`
`TAG_MORT`
Glyph metamorphosis.
`static final int`
`TAG_NAME`
Naming table.
`static final int`
`TAG_OPBD`
Optical bounds.
`static final int`
`TAG_OS2`
OS/2 and Windows specific metrics.
`static final int`
`TAG_PCLT`
PCL 5 data.
`static final int`
`TAG_POST`
PostScript Information.
`static final int`
`TAG_PREP`
CVT preprogram.
`static final int`
`TAG_PROP`
Glyph properties.
`static final int`
`TAG_TRAK`
Tracking.
`static final int`
`TAG_TYP1`
Adobe Type 1 font data.
`static final int`
`TAG_VDMX`
Vertical device metrics.
`static final int`
`TAG_VHEA`
Vertical metrics header.
`static final int`
`TAG_VMTX`
Vertical metrics.

## Method Summary

Modifier and Type
Method
Description
`byte[]`
`getFontTable(int sfntTag)`
Returns the table as an array of bytes for a specified tag.
`byte[]`
`getFontTable(int sfntTag, int offset, int count)`
Returns a subset of the table as an array of bytes for a specified tag.
`byte[]`
`getFontTable(String strSfntTag)`
Returns the table as an array of bytes for a specified tag.
`byte[]`
`getFontTable(String strSfntTag, int offset, int count)`
Returns a subset of the table as an array of bytes for a specified tag.
`int`
`getFontTableSize(int sfntTag)`
Returns the size of the table for a specified tag.
`int`
`getFontTableSize(String strSfntTag)`
Returns the size of the table for a specified tag.
`int`
`getVersion()`
Returns the version of the `OpenType` font. 1.0 is represented as 0x00010000.

## Field Details

### TAG_CMAP

static final int TAG_CMAP
Character to glyph mapping. Table tag "cmap" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_HEAD

static final int TAG_HEAD
Font header. Table tag "head" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_NAME

static final int TAG_NAME
Naming table. Table tag "name" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_GLYF

static final int TAG_GLYF
Glyph data. Table tag "glyf" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_MAXP

static final int TAG_MAXP
Maximum profile. Table tag "maxp" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_PREP

static final int TAG_PREP
CVT preprogram. Table tag "prep" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_HMTX

static final int TAG_HMTX
Horizontal metrics. Table tag "hmtx" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_KERN

static final int TAG_KERN
Kerning. Table tag "kern" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_HDMX

static final int TAG_HDMX
Horizontal device metrics. Table tag "hdmx" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_LOCA

static final int TAG_LOCA
Index to location. Table tag "loca" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_POST

static final int TAG_POST
PostScript Information. Table tag "post" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_OS2

static final int TAG_OS2
OS/2 and Windows specific metrics. Table tag "OS/2" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_CVT

static final int TAG_CVT
Control value table. Table tag "cvt " in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_GASP

static final int TAG_GASP
Grid-fitting and scan conversion procedure. Table tag "gasp" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_VDMX

static final int TAG_VDMX
Vertical device metrics. Table tag "VDMX" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_VMTX

static final int TAG_VMTX
Vertical metrics. Table tag "vmtx" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_VHEA

static final int TAG_VHEA
Vertical metrics header. Table tag "vhea" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_HHEA

static final int TAG_HHEA
Horizontal metrics header. Table tag "hhea" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_TYP1

static final int TAG_TYP1
Adobe Type 1 font data. Table tag "typ1" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_BSLN

static final int TAG_BSLN
Baseline table. Table tag "bsln" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_GSUB

static final int TAG_GSUB
Glyph substitution. Table tag "GSUB" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_DSIG

static final int TAG_DSIG
Digital signature. Table tag "DSIG" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_FPGM

static final int TAG_FPGM
Font program. Table tag "fpgm" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_FVAR

static final int TAG_FVAR
Font variation. Table tag "fvar" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_GVAR

static final int TAG_GVAR
Glyph variation. Table tag "gvar" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_CFF

static final int TAG_CFF
Compact font format (Type1 font). Table tag "CFF " in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_MMSD

static final int TAG_MMSD
Multiple master supplementary data. Table tag "MMSD" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_MMFX

static final int TAG_MMFX
Multiple master font metrics. Table tag "MMFX" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_BASE

static final int TAG_BASE
Baseline data. Table tag "BASE" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_GDEF

static final int TAG_GDEF
Glyph definition. Table tag "GDEF" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_GPOS

static final int TAG_GPOS
Glyph positioning. Table tag "GPOS" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_JSTF

static final int TAG_JSTF
Justification. Table tag "JSTF" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_EBDT

static final int TAG_EBDT
Embedded bitmap data. Table tag "EBDT" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_EBLC

static final int TAG_EBLC
Embedded bitmap location. Table tag "EBLC" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_EBSC

static final int TAG_EBSC
Embedded bitmap scaling. Table tag "EBSC" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_LTSH

static final int TAG_LTSH
Linear threshold. Table tag "LTSH" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_PCLT

static final int TAG_PCLT
PCL 5 data. Table tag "PCLT" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_ACNT

static final int TAG_ACNT
Accent attachment. Table tag "acnt" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_AVAR

static final int TAG_AVAR
Axis variation. Table tag "avar" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_BDAT

static final int TAG_BDAT
Bitmap data. Table tag "bdat" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_BLOC

static final int TAG_BLOC
Bitmap location. Table tag "bloc" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_CVAR

static final int TAG_CVAR
CVT variation. Table tag "cvar" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_FEAT

static final int TAG_FEAT
Feature name. Table tag "feat" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_FDSC

static final int TAG_FDSC
Font descriptors. Table tag "fdsc" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_FMTX

static final int TAG_FMTX
Font metrics. Table tag "fmtx" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_JUST

static final int TAG_JUST
Justification. Table tag "just" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_LCAR

static final int TAG_LCAR
Ligature caret. Table tag "lcar" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_MORT

static final int TAG_MORT
Glyph metamorphosis. Table tag "mort" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_OPBD

static final int TAG_OPBD
Optical bounds. Table tag "opbd" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_PROP

static final int TAG_PROP
Glyph properties. Table tag "prop" in the Open Type Specification.

See Also:
  - Constant Field Values

### TAG_TRAK

static final int TAG_TRAK
Tracking. Table tag "trak" in the Open Type Specification.

See Also:
  - Constant Field Values

## Method Details

### getVersion

int getVersion()
Returns the version of the `OpenType` font. 1.0 is represented as 0x00010000.

Returns:
  the version of the `OpenType` font.

### getFontTable

byte[] getFontTable(int sfntTag)
Returns the table as an array of bytes for a specified tag. Tags for sfnt tables include items like cmap, name and head. The `byte` array returned is a copy of the font data in memory.

Parameters:
  `sfntTag` - a four-character code as a 32-bit integer
Returns:
  a `byte` array that is the table that contains the font data corresponding to the specified tag.

### getFontTable

byte[] getFontTable(String strSfntTag)
Returns the table as an array of bytes for a specified tag. Tags for sfnt tables include items like cmap, name and head. The byte array returned is a copy of the font data in memory.

Parameters:
  `strSfntTag` - a four-character code as a `String`
Returns:
  a `byte` array that is the table that contains the font data corresponding to the specified tag.

### getFontTable

byte[] getFontTable(int sfntTag, int offset, int count)
Returns a subset of the table as an array of bytes for a specified tag. Tags for sfnt tables include items like cmap, name and head. The byte array returned is a copy of the font data in memory.

Parameters:
  `sfntTag` - a four-character code as a 32-bit integer
  `offset` - index of first byte to return from table
  `count` - number of bytes to return from table
Returns:
  a subset of the table corresponding to `sfntTag` and containing the bytes starting at `offset` byte and including `count` bytes.

### getFontTable

byte[] getFontTable(String strSfntTag, int offset, int count)
Returns a subset of the table as an array of bytes for a specified tag. Tags for sfnt tables include items like cmap, name and head. The `byte` array returned is a copy of the font data in memory.

Parameters:
  `strSfntTag` - a four-character code as a `String`
  `offset` - index of first byte to return from table
  `count` - number of bytes to return from table
Returns:
  a subset of the table corresponding to `strSfntTag` and containing the bytes starting at `offset` byte and including `count` bytes.

### getFontTableSize

int getFontTableSize(int sfntTag)
Returns the size of the table for a specified tag. Tags for sfnt tables include items like cmap, name and head.

Parameters:
  `sfntTag` - a four-character code as a 32-bit integer
Returns:
  the size of the table corresponding to the specified tag.

### getFontTableSize

int getFontTableSize(String strSfntTag)
Returns the size of the table for a specified tag. Tags for sfnt tables include items like cmap, name and head.

Parameters:
  `strSfntTag` - a four-character code as a `String`
Returns:
  the size of the table corresponding to the specified tag.