CIDSet (Apache FOP Core 2.11 API)
Date: 2025-04-24

org.apache.fop.fonts

## Interface CIDSet

- All Known Implementing Classes:
    CIDFull, CIDSubset

      public interface CIDSet

  Declares methods to retrieve font information (glyph indices, widths, unicode values) from a CID font.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `char[]` | `getChars()` Returns a char array containing all Unicode characters that are in the subset.
    `int` | `getGIDFromChar(char ch)` Returns the glyph index from the original font from a character
    `BitSet` | `getGlyphIndices()` Returns a BitSet with bits set for each available glyph index in the subset.
    `Map<Integer,Integer>` | `getGlyphs()` Returns an unmodifiable Map of the font subset.
    `int` | `getNumberOfGlyphs()` Returns the number of glyphs in the subset.
    `int` | `getOriginalGlyphIndex(int index)` Returns the original index of the glyph inside the (non-subset) font's glyph list.
    `int` | `getUnicode(int index)` Returns the Unicode value for a subset index (character selector).
    `char` | `getUnicodeFromGID(int glyphIndex)` Gets the unicode character from the original font glyph index
    `int[]` | `getWidths()` Return the array of widths.
    `int` | `mapChar(int glyphIndex, char unicode)` Maps a character to a character selector for a font subset.
    `int` | `mapCodePoint(int glyphIndex, int codePoint)` Maps a character to a character selector for a font subset.

- - ### Method Detail

    - #### getOriginalGlyphIndex

          int getOriginalGlyphIndex(int index)

      Returns the original index of the glyph inside the (non-subset) font's glyph list. This index can be used to access the character width information, for example.
      Parameters:
        `index` - the subset index (character selector) to access the glyph
      Returns:
        the original index (or -1 if no glyph index is available for the subset index)

    - #### getUnicode

          int getUnicode(int index)

      Returns the Unicode value for a subset index (character selector). If there's no such Unicode value, the "NOT A CHARACTER" (0xFFFF) is returned.
      Parameters:
        `index` - the subset index (character selector)
      Returns:
        the Unicode value or "NOT A CHARACTER" (0xFFFF)

    - #### getUnicodeFromGID

          char getUnicodeFromGID(int glyphIndex)

      Gets the unicode character from the original font glyph index
      Parameters:
        `glyphIndex` - The original glyph index of the character in the font
      Returns:
        The character represented by the passed GID

    - #### getGIDFromChar

          int getGIDFromChar(char ch)

      Returns the glyph index from the original font from a character
      Parameters:
        `ch` - The character
      Returns:
        The glyph index in the original font.

    - #### mapChar

          int mapChar(int glyphIndex,
                      char unicode)

      Maps a character to a character selector for a font subset. If the character isn't in the subset, yet, it is added and a new character selector returned. Otherwise, the already allocated character selector is returned from the existing map/subset.
      Parameters:
        `glyphIndex` - the glyph index of the character
        `unicode` - the Unicode index of the character
      Returns:
        the subset index

    - #### mapCodePoint

          int mapCodePoint(int glyphIndex,
                           int codePoint)

      Maps a character to a character selector for a font subset. If the character isn't in the subset yet, it is added and a new character selector returned. Otherwise, the already allocated character selector is returned from the existing map/subset.
      Parameters:
        `glyphIndex` - the glyph index of the character
        `codePoint` - the Unicode index of the character
      Returns:
        the subset index

    - #### getGlyphs

          Map<Integer,Integer> getGlyphs()

      Returns an unmodifiable Map of the font subset. It maps from glyph index to character selector (i.e. the subset index in this case).
      Returns:
        Map Map<Integer, Integer> of the font subset

    - #### getChars

          char[] getChars()

      Returns a char array containing all Unicode characters that are in the subset.
      Returns:
        a char array with all used Unicode characters

    - #### getNumberOfGlyphs

          int getNumberOfGlyphs()

      Returns the number of glyphs in the subset.
      Returns:
        the number of glyphs in the subset

    - #### getGlyphIndices

          BitSet getGlyphIndices()

      Returns a BitSet with bits set for each available glyph index in the subset.
      Returns:
        a BitSet indicating available glyph indices

    - #### getWidths

          int[] getWidths()

      Return the array of widths.

      This is used to get an array for inserting in an output format. It should not be used for lookup.

      Returns:
        an array of widths

Copyright © 2025 Apache Software Foundation. All rights reserved.