org.apache.fop.complexscripts.fonts

## Class GlyphTable.UseSpec

- java.lang.Object
- - org.apache.fop.complexscripts.fonts.GlyphTable.UseSpec

All Implemented Interfaces:
  Comparable

Enclosing class:
  GlyphTable

    public static class GlyphTable.UseSpec
    extends Object
    implements Comparable

The `UseSpec` class comprises a lookup table reference and the feature that selected the lookup table.

### Constructor Summary

Constructors
Constructor and Description
`UseSpec(GlyphTable.LookupTable lookupTable, String feature)` Construct a glyph lookup table use specification.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `compareTo(Object o)`
`boolean` `equals(Object o)`
`String` `getFeature()`
`GlyphTable.LookupTable` `getLookupTable()`
`int` `hashCode()`
`boolean` `position(GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct)` Perform positioning processing using this use specification's lookup table.
`GlyphSequence` `substitute(GlyphSequence gs, String script, String language, ScriptContextTester sct)` Perform substitution processing using this use specification's lookup table.

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

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

### Constructor Detail

#### UseSpec

    public UseSpec(GlyphTable.LookupTable lookupTable,
                   String feature)

Construct a glyph lookup table use specification.

Parameters:
  `lookupTable` - a glyph lookup table
  `feature` - a feature that caused lookup table selection

### Method Detail

#### getLookupTable

    public GlyphTable.LookupTable getLookupTable()

Returns:
  the lookup table

#### getFeature

    public String getFeature()

Returns:
  the feature that selected this lookup table

#### substitute

    public GlyphSequence substitute(GlyphSequence gs,
                                    String script,
                                    String language,
                                    ScriptContextTester sct)

Perform substitution processing using this use specification's lookup table.

Parameters:
  `gs` - an input glyph sequence
  `script` - a script identifier
  `language` - a language identifier
  `sct` - a script specific context tester (or null)
Returns:
  the substituted (output) glyph sequence

#### position

    public boolean position(GlyphSequence gs,
                            String script,
                            String language,
                            int fontSize,
                            int[] widths,
                            int[][] adjustments,
                            ScriptContextTester sct)

Perform positioning processing using this use specification's lookup table.

Parameters:
  `gs` - an input glyph sequence
  `script` - a script identifier
  `language` - a language identifier
  `fontSize` - size in device units
  `widths` - array of default advancements for each glyph in font
  `adjustments` - accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order, with one 4-tuple for each element of glyph sequence
  `sct` - a script specific context tester (or null)
Returns:
  true if some adjustment is not zero; otherwise, false

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

#### compareTo

    public int compareTo(Object o)

Specified by:
  `compareTo` in interface `Comparable`