org.apache.fop.pdf

## Class PDFTTFStream

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.AbstractPDFStream
    - - org.apache.fop.pdf.AbstractPDFFontStream
      - - org.apache.fop.pdf.PDFTTFStream

- All Implemented Interfaces:
    PDFWritable

      public class PDFTTFStream
      extends AbstractPDFFontStream

  Special PDFStream for embeddable TrueType fonts.

- - ### Field Summary

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

      `log`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFTTFStream(int len)` Main constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `getSizeHint()` Returns a value that hints at the size of the encoded stream.
    `int` | `output(OutputStream stream)` Overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
    `protected void` | `outputRawStreamData(OutputStream out)` Sends the raw stream data to the target OutputStream.
    `protected void` | `populateStreamDict(Object lengthEntry)` Populates the dictionary with all necessary entries for the stream.
    `void` | `setData(byte[] data, int size)` Sets the TrueType font data.

    - ### Methods inherited from class org.apache.fop.pdf.AbstractPDFFontStream

      `getDefaultFilterName`

    - ### Methods inherited from class org.apache.fop.pdf.AbstractPDFStream

      `encodeAndWriteStream, encodeStream, get, getChildren, getDictionary, getFilterList, multipleFiltersAllowed, outputStreamData, prepareImplicitFilters, put, registerChildren, setDocument, setupFilterList`

    - ### 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, 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

    - #### PDFTTFStream

          public PDFTTFStream(int len)

      Main constructor
      Parameters:
        `len` - original length

  - ### Method Detail

    - #### getSizeHint

          protected int getSizeHint()
                             throws IOException

      Returns a value that hints at the size of the encoded stream. This is used to optimize buffer allocation so fewer buffer reallocations are necessary.
      Specified by:
        `getSizeHint` in class `AbstractPDFStream`
      Returns:
        an estimated size (0 if no hint can be given)
      Throws:
        `IOException` - in case of an I/O problem

    - #### output

          public int output(OutputStream stream)
                     throws IOException

      Overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
      Overrides:
        `output` in class `AbstractPDFStream`
      Parameters:
        `stream` - the stream to write the PDF to
      Returns:
        the number of bytes written
      Throws:
        `IOException` - if there is an error writing to the stream

    - #### outputRawStreamData

          protected void outputRawStreamData(OutputStream out)
                                      throws IOException

      Sends the raw stream data to the target OutputStream.
      Specified by:
        `outputRawStreamData` in class `AbstractPDFStream`
      Parameters:
        `out` - OutputStream to write to
      Throws:
        `IOException` - In case of an I/O problem

    - #### populateStreamDict

          protected void populateStreamDict(Object lengthEntry)

      Populates the dictionary with all necessary entries for the stream. Override this method if you need additional entries.
      Overrides:
        `populateStreamDict` in class `AbstractPDFStream`
      Parameters:
        `lengthEntry` - value for the /Length entry

    - #### setData

          public void setData(byte[] data,
                              int size)
                       throws IOException

      Sets the TrueType font data.
      Parameters:
        `data` - the font payload
        `size` - size of the payload
      Throws:
        `IOException` - in case of an I/O problem

Copyright © 2023 Apache Software Foundation. All rights reserved.