org.apache.fop.pdf

## Class PDFFontType3

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.PDFDictionary
    - - org.apache.fop.pdf.PDFFont
      - - org.apache.fop.pdf.PDFFontNonBase14
        - - org.apache.fop.pdf.PDFFontType3

All Implemented Interfaces:
  PDFWritable

    public class PDFFontType3
    extends PDFFontNonBase14

Class representing a Type3 font.

CAUTION: this is not yet fully implemented!!!!!!! the /CharProcs is still missing its `toPDF()` method.

Type3 fonts are specified on page 206 and onwards of the PDF 1.3 spec.

### Field Summary

### Fields inherited from class org.apache.fop.pdf.PDFDictionary

`entries, order`

### Fields inherited from class org.apache.fop.pdf.PDFObject

`log`

### Constructor Summary

Constructors
Constructor and Description
`PDFFontType3(String fontname, String basefont, Object encoding)` Create the /Font object
`PDFFontType3(String fontname, String basefont, Object encoding, PDFRectangle fontBBox, PDFArray fontMatrix, PDFCharProcs charProcs)` Create the /Font object

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `setCharProcs(PDFCharProcs chars)` Set the glyphs' definitions.
`void` `setFontBBox(PDFRectangle bbox)` Set the font's bounding box
`void` `setFontMatrix(PDFArray matrix)` Set the font's transformation matrix

### Methods inherited from class org.apache.fop.pdf.PDFFontNonBase14

`getDescriptor, setDescriptor, setWidthMetrics, validate`

### Methods inherited from class org.apache.fop.pdf.PDFFont

`createFont, getBaseFont, getName, getPDFNameForFontType, output, setEncoding, setEncoding, setToUnicode`

### Methods inherited from class org.apache.fop.pdf.PDFDictionary

`containsKey, get, getChildren, getChildren, keySet, put, put, remove, writeDictionary`

### Methods inherited from class org.apache.fop.pdf.PDFObject

`contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setDocument, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PDFFontType3

    public PDFFontType3(String fontname,
                        String basefont,
                        Object encoding)

Create the /Font object

Parameters:
  `fontname` - the internal name for the font
  `basefont` - the base font name
  `encoding` - the character encoding schema used by the font

#### PDFFontType3

    public PDFFontType3(String fontname,
                        String basefont,
                        Object encoding,
                        PDFRectangle fontBBox,
                        PDFArray fontMatrix,
                        PDFCharProcs charProcs)

Create the /Font object

Parameters:
  `fontname` - the internal name for the font
  `basefont` - the base font name
  `encoding` - the character encoding schema used by the font
  `fontBBox` - the font's bounding box
  `fontMatrix` - the font's transformation matrix
  `charProcs` - the glyphs' definitions

### Method Detail

#### setFontBBox

    public void setFontBBox(PDFRectangle bbox)

Set the font's bounding box

Parameters:
  `bbox` - bounding box for the font

#### setFontMatrix

    public void setFontMatrix(PDFArray matrix)

Set the font's transformation matrix

Parameters:
  `matrix` - the transformation matrix for the font

#### setCharProcs

    public void setCharProcs(PDFCharProcs chars)

Set the glyphs' definitions.

The /CharProcs object needs to be registered in the document's resources.

Parameters:
  `chars` - the glyphs' dictionary