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 TypeFieldDescriptionbooleanfinal intExclusive.final Fontfinal int[][]final booleanfinal booleanintfinal intprivate static final org.apache.commons.logging.Logfinal intInclusive.private intfinal 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 TypeMethodDescriptionvoidaddToAreaIPD(MinOptMax idp) private static voidaddToLetterAdjust(MinOptMax[] letterSpaceAdjustArray, int index, int width) static GlyphMappingdoGlyphMapping(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.intObtain number of 'characters' contained in word.static booleanisSpace(char ch) Indicates whether a character is a space in terms of this layout manager.private static GlyphMappingprocessWordMapping(TextFragment text, int startIndex, int endIndex, Font font, char breakOpportunityChar, boolean endsWithHyphen, int level, boolean dontOptimizeForIdentityMapping, boolean retainAssociations, boolean retainControls) private static GlyphMappingprocessWordNoMapping(TextFragment text, int startIndex, int endIndex, Font font, MinOptMax letterSpaceIPD, MinOptMax[] letterSpaceAdjustArray, char precedingChar, char breakOpportunityChar, boolean endsWithHyphen, int level) toString()private static booleanuseKerningAdjustments(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
-