Class PDFFont

  • All Implemented Interfaces:
    PDFWritable
    Direct Known Subclasses:
    PDFFontNonBase14, PDFFontType0

    public class PDFFont
    extends PDFDictionary
    Class representing a /Font object.

    A more complete object expressing the base font name and encoding of a font along with an internal name for the font used within streams of content.

    Fonts are specified on page 198 and onwards of the PDF 1.3 spec.

    • Constructor Detail

      • PDFFont

        public PDFFont​(java.lang.String fontname,
                       FontType subtype,
                       java.lang.String basefont,
                       java.lang.Object encoding)
        create the /Font object
        Parameters:
        fontname - the internal name for the font
        subtype - the font's subtype
        basefont - the base font name
        encoding - the character encoding schema used by the font
    • Method Detail

      • setEncoding

        public void setEncoding​(java.lang.String encoding)
        Sets the Encoding value of the font.
        Parameters:
        encoding - the encoding
      • setEncoding

        public void setEncoding​(PDFEncoding encoding)
        Sets the Encoding value of the font.
        Parameters:
        encoding - the encoding
      • setToUnicode

        public void setToUnicode​(PDFCMap cmap)
        Sets a ToUnicode CMap.
        Parameters:
        cmap - the ToUnicode character map
      • createFont

        public static PDFFont createFont​(java.lang.String fontname,
                                         FontType subtype,
                                         java.lang.String basefont,
                                         java.lang.Object encoding)
        factory method with the basic parameters
        Parameters:
        fontname - the internal name for the font
        subtype - the font's subtype
        basefont - the base font name
        encoding - the character encoding schema used by the font
        Returns:
        the generated PDFFont object
      • getName

        public java.lang.String getName()
        Get the internal name used for this font.
        Returns:
        the internal name
      • getBaseFont

        public PDFName getBaseFont()
        Returns the name of the BaseFont.
        Returns:
        the BaseFont
      • getPDFNameForFontType

        protected PDFName getPDFNameForFontType​(FontType fontType)
        Returns the PDF name for a certain font type.
        Parameters:
        fontType - font type
        Returns:
        String corresponding PDF name
      • validate

        protected void validate()
        Validates the PDF object prior to serialization.
      • output

        public int output​(java.io.OutputStream stream)
                   throws java.io.IOException
        Write the PDF represention of this object
        Overrides:
        output in class PDFDictionary
        Parameters:
        stream - the stream to write the PDF to
        Returns:
        the number of bytes written
        Throws:
        java.io.IOException - if there is an error writing to the stream