fop 2.3

## 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
`CIDSubset(MultiByteFont mbf)`

Method Summary
`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
`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.
`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.

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

  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

### mapCodePoint

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

  Specified by:
    `mapCodePoint` in interface `CIDSet`
  Parameters:
    `glyphIndex` - the glyph index of the character
    `codePoint` - 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

### getUnicodeFromGID

    public char getUnicodeFromGID(int glyphIndex)

  Gets the unicode character from the original font glyph index

  Specified by:
    `getUnicodeFromGID` in interface `CIDSet`
  Parameters:
    `glyphIndex` - The original glyph index of the character in the font
  Returns:
    The character represented by the passed GID

### getGIDFromChar

    public int getGIDFromChar(char ch)

  Returns the glyph index from the original font from a character

  Specified by:
    `getGIDFromChar` in interface `CIDSet`
  Parameters:
    `ch` - The character
  Returns:
    The glyph index in the original font.

### 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

fop 2.3

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