Package org.apache.fop.fonts
Class GlyphMapping
- java.lang.Object
-
- org.apache.fop.fonts.GlyphMapping
-
public class GlyphMapping extends java.lang.ObjectStores the mapping of a text fragment to glyphs, along with various information.
-
-
Field Summary
Fields Modifier and Type Field Description MinOptMaxareaIPDjava.util.ListassociationsbooleanbreakOppAfterintendIndexExclusive.Fontfontint[][]gposAdjustmentsbooleanisHyphenatedbooleanisSpaceintletterSpaceCountintlevelprivate static org.apache.commons.logging.LogLOGjava.lang.StringmappingintstartIndexInclusive.private intwordCharLengthintwordSpaceCount
-
Constructor Summary
Constructors Constructor Description GlyphMapping(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, java.lang.String mapping, java.util.List associations)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddToAreaIPD(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(java.lang.CharSequence mcs, Font font, int[][] gpa)Given a mapped character sequence MCS, obtain glyph position adjustments from the font's kerning data.intgetWordLength()Obtain 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)java.lang.StringtoString()private static booleanuseKerningAdjustments(Font font, java.lang.String script, java.lang.String language)
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
-
startIndex
public final int startIndex
Inclusive.
-
endIndex
public final int endIndex
Exclusive.
-
wordCharLength
private int wordCharLength
-
wordSpaceCount
public final int wordSpaceCount
-
letterSpaceCount
public int letterSpaceCount
-
areaIPD
public MinOptMax areaIPD
-
isHyphenated
public final boolean isHyphenated
-
isSpace
public final boolean isSpace
-
breakOppAfter
public boolean breakOppAfter
-
font
public final Font font
-
level
public final int level
-
gposAdjustments
public final int[][] gposAdjustments
-
mapping
public java.lang.String mapping
-
associations
public java.util.List associations
-
-
Method Detail
-
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
private static boolean useKerningAdjustments(Font font, java.lang.String script, java.lang.String language)
-
getKerningAdjustments
private static int[][] getKerningAdjustments(java.lang.CharSequence mcs, Font font, int[][] gpa)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
private static void addToLetterAdjust(MinOptMax[] letterSpaceAdjustArray, int index, int width)
-
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
public void addToAreaIPD(MinOptMax idp)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-