OpenType (Java SE 17 & JDK 17)
Description: declaration: module: java.desktop, package: java.awt.font, interface: OpenType
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 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.