Class CFFFont

  • All Implemented Interfaces:
    FontBoxFont
    Direct Known Subclasses:
    CFFCIDFont, CFFType1Font

    public abstract class CFFFont
    extends java.lang.Object
    implements FontBoxFont
    An Adobe Compact Font Format (CFF) font. Thread safe.
    Author:
    Villu Ruusmann, John Hewson
    • Field Detail

      • fontName

        protected java.lang.String fontName
      • topDict

        protected final java.util.Map<java.lang.String,​java.lang.Object> topDict
      • charStrings

        protected byte[][] charStrings
      • globalSubrIndex

        protected byte[][] globalSubrIndex
    • Constructor Detail

      • CFFFont

        public CFFFont()
    • Method Detail

      • getName

        public java.lang.String getName()
        The name of the font.
        Specified by:
        getName in interface FontBoxFont
        Returns:
        the name of the font
      • addValueToTopDict

        public void addValueToTopDict​(java.lang.String name,
                                      java.lang.Object value)
        Adds the given key/value pair to the top dictionary.
        Parameters:
        name - the given key
        value - the given value
      • getTopDict

        public java.util.Map<java.lang.String,​java.lang.Object> getTopDict()
        Returns the top dictionary.
        Returns:
        the dictionary
      • getFontMatrix

        public abstract java.util.List<java.lang.Number> getFontMatrix()
        Returns the FontMatrix.
        Specified by:
        getFontMatrix in interface FontBoxFont
      • getCharset

        public CFFCharset getCharset()
        Returns the CFFCharset of the font.
        Returns:
        the charset
      • getCharStringBytes

        public final java.util.List<byte[]> getCharStringBytes()
        Returns the character strings dictionary. For expert users only.
        Returns:
        the character strings dictionary as a list of byte arrays.
      • getData

        public byte[] getData()
                       throws java.io.IOException
        Returns the CFF data.
        Throws:
        java.io.IOException
      • getNumCharStrings

        public int getNumCharStrings()
        Returns the number of charstrings in the font.
      • getGlobalSubrIndex

        public java.util.List<byte[]> getGlobalSubrIndex()
        Returns the list containing the global subroutines.
        Returns:
        a list of the global subroutines.
      • getType2CharString

        public abstract Type2CharString getType2CharString​(int cidOrGid)
                                                    throws java.io.IOException
        Returns the Type 2 charstring for the given CID.
        Parameters:
        cidOrGid - CID for CIFFont, or GID for Type 1 font
        Throws:
        java.io.IOException - if the charstring could not be read
      • toString

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