W3cubDocs

/OpenJDK 21

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

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:

TAG_HEAD

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

TAG_NAME

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

TAG_GLYF

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

TAG_MAXP

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

TAG_PREP

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

TAG_HMTX

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

TAG_KERN

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

TAG_HDMX

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

TAG_LOCA

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

TAG_POST

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

TAG_OS2

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

TAG_CVT

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

TAG_GASP

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

TAG_VDMX

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

TAG_VMTX

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

TAG_VHEA

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

TAG_HHEA

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

TAG_TYP1

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

TAG_BSLN

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

TAG_GSUB

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

TAG_DSIG

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

TAG_FPGM

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

TAG_FVAR

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

TAG_GVAR

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

TAG_CFF

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

TAG_MMSD

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

TAG_MMFX

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

TAG_BASE

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

TAG_GDEF

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

TAG_GPOS

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

TAG_JSTF

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

TAG_EBDT

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

TAG_EBLC

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

TAG_EBSC

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

TAG_LTSH

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

TAG_PCLT

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

TAG_ACNT

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

TAG_AVAR

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

TAG_BDAT

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

TAG_BLOC

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

TAG_CVAR

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

TAG_FEAT

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

TAG_FDSC

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

TAG_FMTX

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

TAG_JUST

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

TAG_LCAR

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

TAG_MORT

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

TAG_OPBD

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

TAG_PROP

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

TAG_TRAK

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

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.

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/font/OpenType.html