Class SingleByteFont

All Implemented Interfaces:
FontDescriptor, FontMetrics, MutableFont

public class SingleByteFont extends CustomFont
Generic SingleByte font
  • Field Details

  • Constructor Details

  • Method Details

    • isEmbeddable

      public boolean isEmbeddable()
      Indicates if this font may be embedded.
      Returns:
      True, if embedding is possible/permitted
    • isSubsetEmbedded

      public boolean isSubsetEmbedded()
      Indicates whether this font is subset embedded.
      Returns:
      true if this font is subset embedded
    • getEncodingName

      public String getEncodingName()
      Get the encoding of the font.
      Specified by:
      getEncodingName in class Typeface
      Returns:
      the encoding
    • getEncoding

      public SingleByteEncoding getEncoding()
      Returns the code point mapping (encoding) of this font.
      Returns:
      the code point mapping
    • getWidth

      public int getWidth(int i, int size)
      Return the width (in 1/1000ths of point size) of the character at code point i.
      Parameters:
      i - code point index
      size - font size
      Returns:
      the width of the character
    • getWidths

      public int[] getWidths()
      Return the array of widths.

      This is used to get an array for inserting in an output format. It should not be used for lookup.

      Returns:
      an array of widths
    • getBoundingBox

      public Rectangle getBoundingBox(int glyphIndex, int size)
      Description copied from interface: FontMetrics
      Returns the bounding box of the glyph at the given index, for the given font size.
      Parameters:
      glyphIndex - glyph index
      size - font size
      Returns:
      the scaled bounding box scaled in 1/1000ths of the given size
    • mapChar

      public char mapChar(char c)
      Map a Unicode character to a code point in the font.
      Specified by:
      mapChar in class Typeface
      Parameters:
      c - character to map
      Returns:
      the mapped character
    • hasChar

      public boolean hasChar(char c)
      Determines whether this font contains a particular character/glyph.
      Specified by:
      hasChar in class Typeface
      Parameters:
      c - character to check
      Returns:
      True if the character is supported, Falso otherwise
    • updateMapping

      protected void updateMapping(String encoding)
      Updates the mapping variable based on the encoding.
      Parameters:
      encoding - the name of the encoding
    • setEncoding

      public void setEncoding(String encoding)
      Sets the encoding of the font.
      Parameters:
      encoding - the encoding (ex. "WinAnsiEncoding" or "SymbolEncoding")
    • setEncoding

      public void setEncoding(CodePointMapping encoding)
      Sets the encoding of the font.
      Parameters:
      encoding - the encoding information
    • setUseNativeEncoding

      public void setUseNativeEncoding(boolean value)
      Controls whether the font is configured to use its native encoding or if it may need to be re-encoded for the target format.
      Parameters:
      value - true indicates that the configured encoding is the font's native encoding
    • isUsingNativeEncoding

      public boolean isUsingNativeEncoding()
      Indicates whether this font is configured to use its native encoding. This method is used to determine whether the font needs to be re-encoded.
      Returns:
      true if the font uses its native encoding.
    • setWidth

      public void setWidth(int index, int w)
      Sets a width for a character.
      Parameters:
      index - index of the character
      w - the width of the character
    • setBoundingBox

      public void setBoundingBox(int index, Rectangle bbox)
    • addUnencodedCharacter

      public void addUnencodedCharacter(NamedCharacter ch, int width, Rectangle bbox)
      Adds an unencoded character (one that is not supported by the primary encoding).
      Overrides:
      addUnencodedCharacter in class CustomFont
      Parameters:
      ch - the named character
      width - the width of the character
    • encodeAllUnencodedCharacters

      public void encodeAllUnencodedCharacters()
      Makes all unencoded characters available through additional encodings. This method is used in cases where the fonts need to be encoded in the target format before all text of the document is processed (for example in PostScript when resource optimization is disabled).
    • getAdditionalWidths

      public int[] getAdditionalWidths(int index)
      Returns an array with the widths for an additional encoding.
      Parameters:
      index - the index of the additional encoding
      Returns:
      the width array
    • setTrueTypePostScriptVersion

      public void setTrueTypePostScriptVersion(OpenFont.PostScriptVersion version)
      Sets the version of the PostScript table stored in the TrueType font represented by this instance.
      Parameters:
      version - version of the post table
    • getTrueTypePostScriptVersion

      public OpenFont.PostScriptVersion getTrueTypePostScriptVersion()
      Returns the version of the PostScript table stored in the TrueType font represented by this instance.
      Returns:
      the version of the post table
    • getUsedGlyphs

      public Map<Integer,Integer> getUsedGlyphs()
      Returns a Map of used Glyphs.
      Specified by:
      getUsedGlyphs in class CustomFont
      Returns:
      Map Map of used Glyphs
    • getUnicodeFromSelector

      public char getUnicodeFromSelector(int selector)
    • getGIDFromChar

      public int getGIDFromChar(char ch)
    • getUnicodeFromGID

      public char getUnicodeFromGID(int glyphIndex)
      Description copied from class: CustomFont
      Returns the character from it's original glyph index in the font
      Specified by:
      getUnicodeFromGID in class CustomFont
      Parameters:
      glyphIndex - The original index of the character
      Returns:
      The character
    • mapUsedGlyphName

      public void mapUsedGlyphName(int gid, String value)
    • getUsedGlyphNames

      public Map<Integer,String> getUsedGlyphNames()
    • getGlyphName

      public String getGlyphName(int idx)