Class GlyphMapping


  • public class GlyphMapping
    extends java.lang.Object
    Stores the mapping of a text fragment to glyphs, along with various information.
    • 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
      void 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​(java.lang.CharSequence mcs, Font font, int[][] gpa)
      Given a mapped character sequence MCS, obtain glyph position adjustments from the font's kerning data.
      int getWordLength()
      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)  
      java.lang.String toString()  
      private static boolean useKerningAdjustments​(Font font, java.lang.String script, java.lang.String language)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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
      • 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
    • Constructor Detail

      • 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,
                            java.lang.String mapping,
                            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 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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object