org.apache.fop.fonts

## Class CIDSubset

- java.lang.Object
- - org.apache.fop.fonts.CIDSubset

- All Implemented Interfaces:
    CIDSet

      public class CIDSubset
      extends java.lang.Object
      implements CIDSet

  Provides methods to get font information. Naming: glyph index: original index of the glyph in the non-subset font (!= unicode index) character selector: index into a set of glyphs. For subset CID fonts, this starts at 0. For non-subset fonts, this is the same as the glyph index. Unicode index: The Unicode codepoint of a character. Glyph name: the Adobe glyph name (as found in Glyphs.java)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CIDSubset(MultiByteFont mbf)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `char[]` | `getChars()` Returns a char array containing all Unicode characters that are in the subset.
    `java.util.BitSet` | `getGlyphIndices()` Returns a BitSet with bits set for each available glyph index in the subset.
    `java.util.Map<java.lang.Integer,java.lang.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.
    `char` | `getUnicode(int index)` Returns the Unicode value for a subset index (character selector).
    `int[]` | `getWidths()` Return the array of widths.
    `int` | `mapChar(int glyphIndex, char unicode)` Maps a character to a character selector for a font subset.

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

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

- - ### Constructor Detail

    - #### CIDSubset

          public CIDSubset(MultiByteFont mbf)

  - ### Method Detail

    - #### getOriginalGlyphIndex

          public 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.
      Specified by:
        `getOriginalGlyphIndex` in interface `CIDSet`
      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

          public char 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.
      Specified by:
        `getUnicode` in interface `CIDSet`
      Parameters:
        `index` - the subset index (character selector)
      Returns:
        the Unicode value or "NOT A CHARACTER" (0xFFFF)

    - #### mapChar

          public 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.
      Specified by:
        `mapChar` in interface `CIDSet`
      Parameters:
        `glyphIndex` - the glyph index of the character
        `unicode` - the Unicode index of the character
      Returns:
        the subset index

    - #### getGlyphs

          public java.util.Map<java.lang.Integer,java.lang.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).
      Specified by:
        `getGlyphs` in interface `CIDSet`
      Returns:
        Map Map<Integer, Integer> of the font subset

    - #### getChars

          public char[] getChars()

      Returns a char array containing all Unicode characters that are in the subset.
      Specified by:
        `getChars` in interface `CIDSet`
      Returns:
        a char array with all used Unicode characters

    - #### getNumberOfGlyphs

          public int getNumberOfGlyphs()

      Returns the number of glyphs in the subset.
      Specified by:
        `getNumberOfGlyphs` in interface `CIDSet`
      Returns:
        the number of glyphs in the subset

    - #### getGlyphIndices

          public java.util.BitSet getGlyphIndices()

      Returns a BitSet with bits set for each available glyph index in the subset.
      Specified by:
        `getGlyphIndices` in interface `CIDSet`
      Returns:
        a BitSet indicating available glyph indices

    - #### getWidths

          public 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.

      Specified by:
        `getWidths` in interface `CIDSet`
      Returns:
        an array of widths

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