OpenType (Java SE 12 & JDK 12 )
Keywords: java.awt.font.OpenType interface

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

    - #### 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 Detail

    - #### 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.