Package org.apache.fop.fonts
Class GlyphMapping
java.lang.Object
org.apache.fop.fonts.GlyphMapping
Stores the mapping of a text fragment to glyphs, along with various information.
-
Field Summary
FieldsModifier and TypeFieldDescriptionboolean
final int
Exclusive.final Font
final int[][]
final boolean
final boolean
int
final int
private static final org.apache.commons.logging.Log
final int
Inclusive.private int
final int
-
Constructor Summary
ConstructorsConstructorDescriptionGlyphMapping
(int startIndex, int endIndex, int wordSpaceCount, int letterSpaceCount, MinOptMax areaIPD, boolean isHyphenated, boolean isSpace, boolean breakOppAfter, Font font, int level, int[][] gposAdjustments) GlyphMapping
(int startIndex, int endIndex, int wordSpaceCount, int letterSpaceCount, MinOptMax areaIPD, boolean isHyphenated, boolean isSpace, boolean breakOppAfter, Font font, int level, int[][] gposAdjustments, String mapping, List associations) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addToAreaIPD
(MinOptMax idp) private static void
addToLetterAdjust
(MinOptMax[] letterSpaceAdjustArray, int index, int width) static GlyphMapping
doGlyphMapping
(TextFragment text, int startIndex, int endIndex, Font font, MinOptMax letterSpaceIPD, MinOptMax[] letterSpaceAdjustArray, char precedingChar, char breakOpportunityChar, boolean endsWithHyphen, int level, boolean dontOptimizeForIdentityMapping, boolean retainAssociations, boolean retainControls) private static int[][]
getKerningAdjustments
(CharSequence mcs, Font font, int[][] gpa) Given a mapped character sequence MCS, obtain glyph position adjustments from the font's kerning data.int
Obtain number of 'characters' contained in word.static boolean
isSpace
(char ch) Indicates whether a character is a space in terms of this layout manager.private static GlyphMapping
processWordMapping
(TextFragment text, int startIndex, int endIndex, Font font, char breakOpportunityChar, boolean endsWithHyphen, int level, boolean dontOptimizeForIdentityMapping, boolean retainAssociations, boolean retainControls) private static GlyphMapping
processWordNoMapping
(TextFragment text, int startIndex, int endIndex, Font font, MinOptMax letterSpaceIPD, MinOptMax[] letterSpaceAdjustArray, char precedingChar, char breakOpportunityChar, boolean endsWithHyphen, int level) toString()
private static boolean
useKerningAdjustments
(Font font, String script, String language)
-
Field Details
-
LOG
private static final org.apache.commons.logging.Log LOG -
startIndex
public final int startIndexInclusive. -
endIndex
public final int endIndexExclusive. -
wordCharLength
private int wordCharLength -
wordSpaceCount
public final int wordSpaceCount -
letterSpaceCount
public int letterSpaceCount -
areaIPD
-
isHyphenated
public final boolean isHyphenated -
isSpace
public final boolean isSpace -
breakOppAfter
public boolean breakOppAfter -
font
-
level
public final int level -
gposAdjustments
public final int[][] gposAdjustments -
mapping
-
associations
-
-
Constructor Details
-
GlyphMapping
-
GlyphMapping
-
-
Method Details
-
doGlyphMapping
public static GlyphMapping doGlyphMapping(TextFragment text, int startIndex, int endIndex, Font font, MinOptMax letterSpaceIPD, MinOptMax[] letterSpaceAdjustArray, char precedingChar, char breakOpportunityChar, boolean endsWithHyphen, int level, boolean dontOptimizeForIdentityMapping, boolean retainAssociations, boolean retainControls) -
processWordMapping
private static GlyphMapping processWordMapping(TextFragment text, int startIndex, int endIndex, Font font, char breakOpportunityChar, boolean endsWithHyphen, int level, boolean dontOptimizeForIdentityMapping, boolean retainAssociations, boolean retainControls) -
useKerningAdjustments
-
getKerningAdjustments
Given a mapped character sequence MCS, obtain glyph position adjustments from the font's kerning data.- Parameters:
mcs
- mapped character sequencefont
- applicable font- Returns:
- glyph position adjustments (or null if no kerning)
-
processWordNoMapping
private static GlyphMapping processWordNoMapping(TextFragment text, int startIndex, int endIndex, Font font, MinOptMax letterSpaceIPD, MinOptMax[] letterSpaceAdjustArray, char precedingChar, char breakOpportunityChar, boolean endsWithHyphen, int level) -
addToLetterAdjust
-
isSpace
public static boolean isSpace(char ch) Indicates whether a character is a space in terms of this layout manager.- Parameters:
ch
- the character- Returns:
- true if it's a space
-
getWordLength
public int getWordLength()Obtain number of 'characters' contained in word. If word is mapped, then this number may be less than or greater than the original length (breakIndex - startIndex). We compute and memoize thius length upon first invocation of this method. -
addToAreaIPD
-
toString
-