Class Glyph

java.lang.Object
com.itextpdf.io.font.otf.Glyph
Direct Known Subclasses:
GidAwareGlyph

public class Glyph extends Object
  • Field Details

    • REPLACEMENT_CHARACTER

      private static final char REPLACEMENT_CHARACTER
      See Also:
    • REPLACEMENT_CHARACTERS

      private static final char[] REPLACEMENT_CHARACTERS
    • REPLACEMENT_CHARACTER_STRING

      private static final String REPLACEMENT_CHARACTER_STRING
    • code

      private final int code
    • width

      private final int width
    • bbox

      private int[] bbox
    • unicode

      private int unicode
    • chars

      private char[] chars
    • isMark

      private final boolean isMark
    • xPlacement

      short xPlacement
    • yPlacement

      short yPlacement
    • xAdvance

      short xAdvance
    • yAdvance

      short yAdvance
    • anchorDelta

      short anchorDelta
  • Constructor Details

    • Glyph

      public Glyph(int code, int width, int unicode)
      Construct a non-mark Glyph, retrieving characters from unicode.
      Parameters:
      code - code representation of the glyph in the font file
      width - normalized width of the glyph
      unicode - utf-32 representation of glyph if appears. Correct value is > -1
    • Glyph

      public Glyph(int code, int width, char[] chars)
      Construct a non-mark Glyph, using the codepoint of the characters as unicode point.
      Parameters:
      code - code representation of the glyph in the font file
      width - normalized width of the glyph
      chars - The Unicode text represented by this Glyph.
    • Glyph

      public Glyph(int code, int width, int unicode, int[] bbox)
      Construct a non-mark Glyph, retrieving characters from unicode.
      Parameters:
      code - code representation of the glyph in the font file
      width - normalized width of the glyph
      unicode - utf-32 representation of glyph if appears. Correct value is > -1
      bbox - The normalized bounding box of this Glyph.
    • Glyph

      public Glyph(int width, int unicode)
      Construct a non-mark Glyph object with id -1 and characters retrieved from unicode.
      Parameters:
      width - normalized width of the glyph
      unicode - utf-32 representation of glyph if appears. Correct value is > -1
    • Glyph

      public Glyph(int code, int width, int unicode, char[] chars, boolean IsMark)
      Construct a glyph object form the passed arguments.
      Parameters:
      code - code representation of the glyph in the font file
      width - normalized width of the glyph
      unicode - utf-32 representation of glyph if appears. Correct value is > -1
      chars - The Unicode text represented by this Glyph. if null is passed, the unicode value is used to retrieve the chars.
      IsMark - True if the glyph is a Mark
    • Glyph

      public Glyph(Glyph glyph)
      Copy a Glyph.
      Parameters:
      glyph - Glyph to copy
    • Glyph

      public Glyph(Glyph glyph, int xPlacement, int yPlacement, int xAdvance, int yAdvance, int anchorDelta)
      Copy a Glyph and assign new placement and advance offsets and a new index delta to base glyph
      Parameters:
      glyph - Glyph to copy
      xPlacement - x - placement offset
      yPlacement - y - placement offset
      xAdvance - x - advance offset
      yAdvance - y - advance offset
      anchorDelta - Index delta to base glyph. If after a glyph there are several anchored glyphs we should know we to find base glyph.
    • Glyph

      public Glyph(Glyph glyph, int unicode)
      Copy a glyph and assign the copied glyph a new unicode point and characters
      Parameters:
      glyph - glyph to copy
      unicode - new unicode point
  • Method Details

    • getCode

      public int getCode()
    • getWidth

      public int getWidth()
    • getBbox

      public int[] getBbox()
    • hasValidUnicode

      public boolean hasValidUnicode()
    • getUnicode

      public int getUnicode()
    • setUnicode

      public void setUnicode(int unicode)
    • getChars

      public char[] getChars()
    • setChars

      public void setChars(char[] chars)
    • isMark

      public boolean isMark()
    • getXPlacement

      public short getXPlacement()
    • setXPlacement

      public void setXPlacement(short xPlacement)
    • getYPlacement

      public short getYPlacement()
    • setYPlacement

      public void setYPlacement(short yPlacement)
    • getXAdvance

      public short getXAdvance()
    • setXAdvance

      public void setXAdvance(short xAdvance)
    • getYAdvance

      public short getYAdvance()
    • setYAdvance

      public void setYAdvance(short yAdvance)
    • getAnchorDelta

      public short getAnchorDelta()
    • setAnchorDelta

      public void setAnchorDelta(short anchorDelta)
    • hasOffsets

      public boolean hasOffsets()
    • hasPlacement

      public boolean hasPlacement()
    • hasAdvance

      public boolean hasAdvance()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Two Glyphs are equal if their unicode characters, code and normalized width are equal.
      Overrides:
      equals in class Object
      Parameters:
      obj - The object
      Returns:
      True if this equals obj cast to Glyph, false otherwise.
    • getUnicodeString

      public String getUnicodeString()
      Gets a Unicode string corresponding to this glyph. In general case it might consist of many characters. If this glyph does not have a valid unicode (hasValidUnicode()), then a string consisting of a special Unicode '�' character is returned.
      Returns:
      the Unicode string that corresponds to this glyph
    • getUnicodeChars

      public char[] getUnicodeChars()
      Gets Unicode char sequence corresponding to this glyph. In general case it might consist of many characters. If this glyph does not have a valid unicode (hasValidUnicode()), then a special Unicode '�' character is returned.
      Returns:
      the Unicode char sequence that corresponds to this glyph
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toHex

      private static String toHex(int ch)
    • codePoint

      private static int codePoint(char[] a)
    • getChars

      private static char[] getChars(int unicode)