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.
    • 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
      • setName

        void setName​(java.lang.String name)
        Sets the name of the font.
        Parameters:
        name - 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
      • setCharset

        void setCharset​(CFFCharset charset)
        Sets the CFFCharset of the font.
        Parameters:
        charset - the given CFFCharset
      • getCharStringBytes

        public final java.util.List<byte[]> getCharStringBytes()
        Returns the character strings dictionary. For expert users only.
        Returns:
        the dictionary
      • setData

        final void setData​(CFFParser.ByteSource source)
        Sets a byte source to re-read the CFF data in the future.
      • 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.
      • setGlobalSubrIndex

        void setGlobalSubrIndex​(byte[][] globalSubrIndexValue)
        Sets the global subroutine index data.
        Parameters:
        globalSubrIndexValue - an list containing the global subroutines
      • getGlobalSubrIndex

        public java.util.List<byte[]> getGlobalSubrIndex()
        Returns the list containing the global subroutine .
        Returns:
        the dictionary
      • 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