org.apache.fop.complexscripts.fonts

## Class GlyphDefinitionSubtable

- java.lang.Object
- - org.apache.fop.complexscripts.fonts.GlyphSubtable
  - - org.apache.fop.complexscripts.fonts.GlyphDefinitionSubtable

All Implemented Interfaces:
  Comparable, GlyphDefinition

    public abstract class GlyphDefinitionSubtable
    extends GlyphSubtable
    implements GlyphDefinition

The `GlyphDefinitionSubtable` implements an abstract base of a glyph definition subtable, providing a default implementation of the `GlyphDefinition` interface.

This work was originally authored by Glenn Adams (gadams@apache.org).

### Field Summary

### Fields inherited from class org.apache.fop.complexscripts.fonts.GlyphSubtable

`LF_IGNORE_BASE, LF_IGNORE_LIGATURE, LF_IGNORE_MARK, LF_INTERNAL_USE_REVERSE_SCAN, LF_MARK_ATTACHMENT_TYPE, LF_RESERVED, LF_RIGHT_TO_LEFT, LF_USE_MARK_FILTERING_SET`

### Constructor Summary

Constructors
`protected` `GlyphDefinitionSubtable(String id, int sequence, int flags, int format, GlyphMappingTable mapping)` Instantiate a `GlyphDefinitionSubtable`.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getTableType()`
`String` `getTypeName()`
`boolean` `hasDefinition(int gi)` Determine if some definition is available for a specific glyph.
`boolean` `usesReverseScan()`

### Methods inherited from class org.apache.fop.complexscripts.fonts.GlyphSubtable

`compareTo, equals, getClasses, getCoverage, getCoverageIndex, getCoverageSize, getEntries, getFlags, getFlags, getFormat, getGDEF, getLookupId, getSequence, getTable, getType, hashCode, isCompatible, resolveLookupReferences, setTable, usesReverseScan`

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

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### GlyphDefinitionSubtable

    protected GlyphDefinitionSubtable(String id,
                                      int sequence,
                                      int flags,
                                      int format,
                                      GlyphMappingTable mapping)

Instantiate a `GlyphDefinitionSubtable`.

Parameters:
  `id` - subtable identifier
  `sequence` - subtable sequence
  `flags` - subtable flags
  `format` - subtable format
  `mapping` - subtable coverage table

### Method Detail

#### getTableType

    public int getTableType()

Specified by:
  `getTableType` in class `GlyphSubtable`
Returns:
  this subtable's table type

#### getTypeName

    public String getTypeName()

Specified by:
  `getTypeName` in class `GlyphSubtable`
Returns:
  this subtable's type name

#### usesReverseScan

    public boolean usesReverseScan()

Specified by:
  `usesReverseScan` in class `GlyphSubtable`
Returns:
  true if subtable uses reverse scanning of glyph sequence, meaning from the last glyph in a glyph sequence to the first glyph

#### hasDefinition

    public boolean hasDefinition(int gi)

Determine if some definition is available for a specific glyph.

Specified by:
  `hasDefinition` in interface `GlyphDefinition`
Parameters:
  `gi` - a glyph index
Returns:
  true if some (unspecified) definition is available for the specified glyph