Class PDType1Font

    • Field Detail

      • TIMES_ROMAN

        public static final PDType1Font TIMES_ROMAN
      • TIMES_BOLD

        public static final PDType1Font TIMES_BOLD
      • TIMES_ITALIC

        public static final PDType1Font TIMES_ITALIC
      • TIMES_BOLD_ITALIC

        public static final PDType1Font TIMES_BOLD_ITALIC
      • HELVETICA_BOLD

        public static final PDType1Font HELVETICA_BOLD
      • HELVETICA_OBLIQUE

        public static final PDType1Font HELVETICA_OBLIQUE
      • HELVETICA_BOLD_OBLIQUE

        public static final PDType1Font HELVETICA_BOLD_OBLIQUE
      • COURIER_BOLD

        public static final PDType1Font COURIER_BOLD
      • COURIER_OBLIQUE

        public static final PDType1Font COURIER_OBLIQUE
      • COURIER_BOLD_OBLIQUE

        public static final PDType1Font COURIER_BOLD_OBLIQUE
      • ZAPF_DINGBATS

        public static final PDType1Font ZAPF_DINGBATS
    • Constructor Detail

      • PDType1Font

        public PDType1Font​(PDDocument doc,
                           InputStream pfbIn)
                    throws IOException
        Creates a new Type 1 font for embedding.
        Parameters:
        doc - PDF document to write to
        pfbIn - PFB file stream
        Throws:
        IOException
      • PDType1Font

        public PDType1Font​(COSDictionary fontDictionary)
                    throws IOException
        Creates a Type 1 font from a Font dictionary in a PDF.
        Parameters:
        fontDictionary - font dictionary
        Throws:
        IOException
    • Method Detail

      • getBaseFont

        public final String getBaseFont()
        Returns the PostScript name of the font.
      • getHeight

        public float getHeight​(int code)
                        throws IOException
        Description copied from interface: PDFontLike
        Returns the height of the given character, in glyph space. This can be expensive to calculate. Results are only approximate.
        Specified by:
        getHeight in interface PDFontLike
        Specified by:
        getHeight in class PDFont
        Parameters:
        code - character code
        Throws:
        IOException
      • encode

        protected byte[] encode​(int unicode)
                         throws IOException
        Description copied from class: PDFont
        Encodes the given Unicode code point for use in a PDF content stream. Content streams use a multi-byte encoding with 1 to 4 bytes.

        This method is called when embedding text in PDFs and when filling in fields.

        Specified by:
        encode in class PDFont
        Parameters:
        unicode - Unicode code point.
        Returns:
        Array of 1 to 4 PDF content stream bytes.
        Throws:
        IOException - If the text could not be encoded.
      • getWidthFromFont

        public float getWidthFromFont​(int code)
                               throws IOException
        Description copied from interface: PDFontLike
        Returns the width of a glyph in the embedded font file.
        Specified by:
        getWidthFromFont in interface PDFontLike
        Specified by:
        getWidthFromFont in class PDFont
        Parameters:
        code - character code
        Returns:
        width in glyph space
        Throws:
        IOException - if the font could not be read
      • isEmbedded

        public boolean isEmbedded()
        Description copied from interface: PDFontLike
        Returns true if the font file is embedded in the PDF.
        Specified by:
        isEmbedded in interface PDFontLike
        Specified by:
        isEmbedded in class PDFont
      • getAverageFontWidth

        public float getAverageFontWidth()
        Description copied from class: PDFont
        This will get the average font width for all characters.
        Specified by:
        getAverageFontWidth in interface PDFontLike
        Overrides:
        getAverageFontWidth in class PDFont
        Returns:
        The width is in 1000 unit of text space, ie 333 or 777
      • readCode

        public int readCode​(InputStream in)
                     throws IOException
        Description copied from class: PDFont
        Reads a character code from a content stream string. Codes may be up to 4 bytes long.
        Specified by:
        readCode in class PDFont
        Parameters:
        in - string stream
        Returns:
        character code
        Throws:
        IOException - if the CMap or stream cannot be read
      • getType1Font

        public Type1Font getType1Font()
        Returns the embedded or substituted Type 1 font, or null if there is none.
      • getName

        public String getName()
        Description copied from interface: PDFontLike
        Returns the name of this font, either the PostScript "BaseName" or the Type 3 "Name".
        Specified by:
        getName in interface PDFontLike
        Specified by:
        getName in class PDFont
      • getPath

        public android.graphics.Path getPath​(String name)
                                      throws IOException
        Description copied from class: PDSimpleFont
        Returns the path for the character with the given name. For some fonts, GIDs may be used instead of names when calling this method.
        Specified by:
        getPath in class PDSimpleFont
        Returns:
        glyph path
        Throws:
        IOException - if the path could not be read
      • getFontMatrix

        public final Matrix getFontMatrix()
        Description copied from interface: PDFontLike
        Returns the font matrix, which represents the transformation from glyph space to text space.
        Specified by:
        getFontMatrix in interface PDFontLike
        Overrides:
        getFontMatrix in class PDFont
      • isDamaged

        public boolean isDamaged()
        Description copied from interface: PDFontLike
        Returns true if the embedded font file is damaged.
        Specified by:
        isDamaged in interface PDFontLike
        Specified by:
        isDamaged in class PDFont