fop 2.1

org.apache.fop.fonts
Class CIDSubset

java.lang.Object
  extended by 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.
 char 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.
 
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

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

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