Class PDType3Font

    • Constructor Detail

      • PDType3Font

        public PDType3Font​(COSDictionary fontDictionary)
                    throws IOException
        Constructor.
        Parameters:
        fontDictionary - The font dictionary according to the PDF specification.
        Throws:
        IOException
    • Method Detail

      • 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
      • readEncoding

        protected final void readEncoding()
                                   throws IOException
        Description copied from class: PDSimpleFont
        Reads the Encoding from the Font dictionary or the embedded or substituted font file. Must be called at the end of any subclass constructors.
        Overrides:
        readEncoding in class PDSimpleFont
        Throws:
        IOException - if the font file could not be read
      • isFontSymbolic

        protected Boolean isFontSymbolic()
        Description copied from class: PDSimpleFont
        Internal implementation of isSymbolic, allowing for the fact that the result may be indeterminate.
        Overrides:
        isFontSymbolic in class PDSimpleFont
      • 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
      • getDisplacement

        public Vector getDisplacement​(int code)
                               throws IOException
        Description copied from class: PDFont
        Returns the displacement vector (w0, w1) in text space, for the given character. For horizontal text only the x component is used, for vertical text only the y component.
        Overrides:
        getDisplacement in class PDFont
        Parameters:
        code - character code
        Returns:
        displacement vector
        Throws:
        IOException
      • getWidth

        public float getWidth​(int code)
                       throws IOException
        Description copied from interface: PDFontLike
        Returns the advance width of the given character, in glyph space.
        Specified by:
        getWidth in interface PDFontLike
        Overrides:
        getWidth in class PDFont
        Parameters:
        code - character code
        Throws:
        IOException
      • getWidthFromFont

        public float getWidthFromFont​(int code)
        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
      • 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
      • 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.
      • 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
      • 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
      • getResources

        public PDResources getResources()
        Returns the optional resources of the type3 stream.
        Returns:
        the resources bound to be used when parsing the type3 stream
      • getFontBBox

        public PDRectangle getFontBBox()
        This will get the fonts bounding box.
        Returns:
        The fonts bounding box.
      • getCharProcs

        public COSDictionary getCharProcs()
        Returns the dictionary containing all streams to be used to render the glyphs.
        Returns:
        the dictionary containing all glyph streams.
      • getCharProc

        public PDType3CharProc getCharProc​(int code)
        Returns the stream of the glyph for the given character code
        Parameters:
        code - character code
        Returns:
        the stream to be used to render the glyph