org.apache.fop.render.ps.fonts

## Class PSTTFGenerator

- java.lang.Object
- - org.apache.fop.render.ps.fonts.PSTTFGenerator

    public class PSTTFGenerator
    extends Object

This is a wrapper for `PSGenerator` that contains some members specific for streaming TrueType fonts to a PostScript document.

### Field Summary

Fields
`static int` `MAX_BUFFER_SIZE` The buffer is used to store the font file in an array of hex-encoded strings.

### Constructor Summary

Constructors
Constructor and Description
`PSTTFGenerator(org.apache.xmlgraphics.ps.PSGenerator gen)` Creates a new instance wrapping the given generator.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `endString()` Finishes writing a string by appending '00' and '>' to the end.
`void` `startString()` Writes the '<' character that starts a string.
`void` `streamBytes(byte[] byteArray, int offset, int length)` Writes bytes from the given byte array to the output.
`void` `write(String cmd)` Writes the given string to the output.
`void` `writeln(String cmd)` Writes the given string to the output, followed by a newline.

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

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

### Field Detail

#### MAX_BUFFER_SIZE

    public static final int MAX_BUFFER_SIZE

The buffer is used to store the font file in an array of hex-encoded strings. Strings are limited to 65535 characters, string will start with a newline, 2 characters are needed to hex-encode each byte.

See Also:
  Constant Field Values

### Constructor Detail

#### PSTTFGenerator

    public PSTTFGenerator(org.apache.xmlgraphics.ps.PSGenerator gen)

Creates a new instance wrapping the given generator.

Parameters:
  `gen` - the PSGenerator to wrap

### Method Detail

#### startString

    public void startString()
                     throws IOException

Writes the '<' character that starts a string.

Throws:
  `IOException`

#### write

    public void write(String cmd)
               throws IOException

Writes the given string to the output.

Parameters:
  `cmd` - a string
Throws:
  `IOException`

#### writeln

    public void writeln(String cmd)
                 throws IOException

Writes the given string to the output, followed by a newline.

Parameters:
  `cmd` - a string
Throws:
  `IOException`

#### streamBytes

    public void streamBytes(byte[] byteArray,
                            int offset,
                            int length)
                     throws IOException

Writes bytes from the given byte array to the output.

Parameters:
  `byteArray` - byte[] a byte array
  `offset` - the position in the byte array where the streaming must start
  `length` - the number of bytes to stream. This MUST be less than MAX_BUFFER_SIZE - 1 since strings are suffixed by '00' (see Section 4.2 of Adobe Technical Note #5012, The Type 42 Font Format Specification.).
Throws:
  `IOException`

#### endString

    public void endString()
                   throws IOException

Finishes writing a string by appending '00' and '>' to the end.

Throws:
  `IOException`