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
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright © 2023 Apache Software Foundation. All rights reserved.