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)
  • Field Details

  • Constructor Details

  • Method Details

    • initGlyphIndices

      private void initGlyphIndices()
    • 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