Class GlyphMapping

java.lang.Object
org.apache.fop.fonts.GlyphMapping

public class GlyphMapping extends Object
Stores the mapping of a text fragment to glyphs, along with various information.
  • Field Details

    • 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 String mapping
    • associations

      public List associations
  • Constructor Details

    • GlyphMapping

      public GlyphMapping(int startIndex, int endIndex, int wordSpaceCount, int letterSpaceCount, MinOptMax areaIPD, boolean isHyphenated, boolean isSpace, boolean breakOppAfter, Font font, int level, int[][] gposAdjustments)
    • GlyphMapping

      public 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 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

      private static boolean useKerningAdjustments(Font font, String script, String language)
    • getKerningAdjustments

      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.
      Parameters:
      mcs - mapped character sequence
      font - 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 String toString()
      Overrides:
      toString in class Object