GlyphTable.UseSpec (Apache FOP 2.7 API)
Date: 2022-01-12

org.apache.fop.complexscripts.fonts

## Class GlyphTable.UseSpec

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

- All Implemented Interfaces:
    java.lang.Comparable
  Enclosing class:
    GlyphTable

      public static class GlyphTable.UseSpec
      extends java.lang.Object
      implements java.lang.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, java.lang.String feature)` Construct a glyph lookup table use specification.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(java.lang.Object o)`
    `boolean` | `equals(java.lang.Object o)`
    `java.lang.String` | `getFeature()`
    `GlyphTable.LookupTable` | `getLookupTable()`
    `int` | `hashCode()`
    `boolean` | `position(GlyphSequence gs, java.lang.String script, java.lang.String language, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct)` Perform positioning processing using this use specification's lookup table.
    `GlyphSequence` | `substitute(GlyphSequence gs, java.lang.String script, java.lang.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,
                         java.lang.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 java.lang.String getFeature()

      Returns:
        the feature that selected this lookup table

    - #### substitute

          public GlyphSequence substitute(GlyphSequence gs,
                                          java.lang.String script,
                                          java.lang.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,
                                  java.lang.String script,
                                  java.lang.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 `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### compareTo

          public int compareTo(java.lang.Object o)

      Specified by:
        `compareTo` in interface `java.lang.Comparable`

Copyright 1999-2022 The Apache Software Foundation. All Rights Reserved.