Class GlyphLine


  • public class GlyphLine
    extends java.lang.Object
    • Field Detail

      • start

        private int start
      • end

        private int end
      • idx

        private int idx
      • glyphs

        protected java.util.List<Glyph> glyphs
    • Constructor Detail

      • GlyphLine

        public GlyphLine()
      • GlyphLine

        public GlyphLine​(java.util.List<Glyph> glyphs)
        Create a new line of Glyphs.
        Parameters:
        glyphs - list containing the glyphs
      • GlyphLine

        public GlyphLine​(java.util.List<Glyph> glyphs,
                         int start,
                         int end)
        Create a new line of Glyphs from a slice of a List of Glyphs.
        Parameters:
        glyphs - list of Glyphs to slice
        start - starting index of the slice
        end - terminating index of the slice
      • GlyphLine

        protected GlyphLine​(java.util.List<Glyph> glyphs,
                            java.util.List<GlyphLine.ActualText> actualText,
                            int start,
                            int end)
        Create a new line of Glyphs from a slice of a List of Glyphs, and add the actual text.
        Parameters:
        glyphs - list of Glyphs to slice
        actualText - corresponding list containing the actual text the glyphs represent
        start - starting index of the slice
        end - terminating index of the slice
      • GlyphLine

        public GlyphLine​(GlyphLine other)
        Copy a line of Glyphs.
        Parameters:
        other - line of Glyphs to copy
      • GlyphLine

        public GlyphLine​(GlyphLine other,
                         int start,
                         int end)
        Copy a slice of a line of Glyphs
        Parameters:
        other - line of Glyphs to copy
        start - starting index of the slice
        end - terminating index of the slice
    • Method Detail

      • getStart

        public int getStart()
        Retrieves the start of the glyph line.
        Returns:
        start of glyph line
      • setStart

        public void setStart​(int start)
        Sets the start of the glyph line.
        Parameters:
        start - start of glyph line
      • getEnd

        public int getEnd()
        Retrieves the end of the glyph line.
        Returns:
        end of glyph line
      • setEnd

        public void setEnd​(int end)
        Sets the end of the glyph line.
        Parameters:
        end - end of glyph line
      • getIdx

        public int getIdx()
        Retrieves the idx of the glyph line.
        Returns:
        idx of glyph line
      • setIdx

        public void setIdx​(int idx)
        Sets the idx of the glyph line.
        Parameters:
        idx - idx of glyph line
      • toUnicodeString

        public java.lang.String toUnicodeString​(int start,
                                                int end)
        Get the unicode string representation of the GlyphLine slice.
        Parameters:
        start - starting index of the slice
        end - terminating index of the slice
        Returns:
        String containing the unicode representation of the slice.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • copy

        public GlyphLine copy​(int left,
                              int right)
        Copy a slice of this Glyphline.
        Parameters:
        left - leftmost index of the slice
        right - rightmost index of the slice
        Returns:
        new GlyphLine containing the copied slice
      • get

        public Glyph get​(int index)
      • set

        public Glyph set​(int index,
                         Glyph glyph)
      • add

        public void add​(Glyph glyph)
      • add

        public void add​(int index,
                        Glyph glyph)
      • setGlyphs

        public void setGlyphs​(java.util.List<Glyph> replacementGlyphs)
      • add

        public void add​(GlyphLine other)
        Add a line to the current one. The glyphs from the start till the end points will be copied. The same is true for the actual text.
        Parameters:
        other - the line that should be added to the current one
      • replaceContent

        public void replaceContent​(GlyphLine other)
        Replaces the current content with the other line's content.
        Parameters:
        other - the line with the content to be set to the current one
      • size

        public int size()
      • substituteManyToOne

        public void substituteManyToOne​(OpenTypeFontTableReader tableReader,
                                        int lookupFlag,
                                        int rightPartLen,
                                        int substitutionGlyphIndex)
      • substituteOneToOne

        public void substituteOneToOne​(OpenTypeFontTableReader tableReader,
                                       int substitutionGlyphIndex)
      • substituteOneToMany

        public void substituteOneToMany​(OpenTypeFontTableReader tableReader,
                                        int[] substGlyphIds)
      • setActualText

        public void setActualText​(int left,
                                  int right,
                                  java.lang.String text)
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • removeGlyph

        private void removeGlyph​(int index)
      • addAllGlyphs

        private void addAllGlyphs​(int index,
                                  java.util.List<Glyph> additionalGlyphs)