Package org.apache.fop.fonts
Class CIDSubset
java.lang.Object
org.apache.fop.fonts.CIDSubset
- All Implemented Interfaces:
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 -
Method Summary
Modifier and TypeMethodDescriptionchar[]getChars()Returns a char array containing all Unicode characters that are in the subset.intgetGIDFromChar(char ch) Returns the glyph index from the original font from a characterReturns a BitSet with bits set for each available glyph index in the subset.Returns an unmodifiable Map of the font subset.intReturns the number of glyphs in the subset.intgetOriginalGlyphIndex(int index) Returns the original index of the glyph inside the (non-subset) font's glyph list.intgetUnicode(int index) Returns the Unicode value for a subset index (character selector).chargetUnicodeFromGID(int glyphIndex) Gets the unicode character from the original font glyph indexint[]Return the array of widths.intmapChar(int glyphIndex, char unicode) Maps a character to a character selector for a font subset.intmapCodePoint(int glyphIndex, int codePoint) Maps a character to a character selector for a font subset.
-
Constructor Details
-
CIDSubset
-
-
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:
getOriginalGlyphIndexin interfaceCIDSet- 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:
getUnicodein interfaceCIDSet- 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. -
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:
mapCodePointin interfaceCIDSet- Parameters:
glyphIndex- the glyph index of the charactercodePoint- the Unicode index of the character- Returns:
- the subset index
-
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). -
getUnicodeFromGID
public char getUnicodeFromGID(int glyphIndex) Gets the unicode character from the original font glyph index- Specified by:
getUnicodeFromGIDin interfaceCIDSet- 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:
getGIDFromCharin interfaceCIDSet- 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. -
getNumberOfGlyphs
public int getNumberOfGlyphs()Returns the number of glyphs in the subset.- Specified by:
getNumberOfGlyphsin interfaceCIDSet- Returns:
- the number of glyphs in the subset
-
getGlyphIndices
Returns a BitSet with bits set for each available glyph index in the subset.- Specified by:
getGlyphIndicesin interfaceCIDSet- 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.
-