Class CIDFull

java.lang.Object
org.apache.fop.fonts.CIDFull
All Implemented Interfaces:
CIDSet

public class CIDFull extends 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
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    char[]
    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
    Returns a BitSet with bits set for each available glyph index in the subset.
    Returns an unmodifiable Map of the font subset.
    int
    Returns the number of glyphs in the subset.
    int
    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[]
    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 Details

  • Method Details

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