fop 1.1

## org.apache.fop.pdf
Class PDFTextUtil

    java.lang.Object
      org.apache.fop.pdf.PDFTextUtil

Direct Known Subclasses:
  PDFTextUtil

    public abstract class PDFTextUtil

extends java.lang.Object

Utility class for generating PDF text objects. It needs to be subclassed to add writing functionality (see `write(String)`).

Field Summary
`static int` `TR_CLIP` PDF text rendering mode: Add text to path for clipping
`static int` `TR_FILL` PDF text rendering mode: Fill text
`static int` `TR_FILL_CLIP` PDF text rendering mode: Fill text and add to path for clipping
`static int` `TR_FILL_STROKE` PDF text rendering mode: Fill, then stroke text
`static int` `TR_FILL_STROKE_CLIP` PDF text rendering mode: Fill, then stroke text and add to path for clipping
`static int` `TR_INVISIBLE` PDF text rendering mode: Neither fill nor stroke text (invisible)
`static int` `TR_STROKE` PDF text rendering mode: Stroke text
`static int` `TR_STROKE_CLIP` PDF text rendering mode: Stroke text and add to path for clipping

Constructor Summary
`PDFTextUtil()` Main constructor.

Method Summary
`void` `adjustGlyphTJ(double adjust)` Writes a glyph adjust value to the "TJ-Buffer".
`void` `beginTextObject()` Called when a new text object should be started.
`void` `concatMatrix(java.awt.geom.AffineTransform at)` Creates a "cm" command.
`void` `endTextObject()` Called when a text object should be ended.
`protected void` `initValues()` Resets the state fields.
`boolean` `isInTextObject()` Indicates whether we are in a text object or not.
`void` `setTextRenderingMode(boolean fill, boolean stroke, boolean addToClip)` Sets the text rendering mode.
`void` `setTextRenderingMode(int mode)` Sets the text rendering mode.
`void` `updateTf(java.lang.String fontName, double fontSize, boolean multiByte)` Updates the current font.
`protected abstract void` `write(java.lang.String code)` Writes PDF code.
`void` `writeTd(double x, double y)` Writes a "Td" command with specified x and y coordinates.
`void` `writeTextMatrix(java.awt.geom.AffineTransform localTransform)` Writes a "Tm" command, setting a new text transformation matrix.
`void` `writeTf(java.lang.String fontName, double fontSize)` Writes a "Tf" command, setting a new current font.
`void` `writeTJ()` Writes a "TJ" command, writing out the accumulated buffer with the characters and glyph positioning values.
`void` `writeTj(char ch)` Writes a "Tj" command with specified character code.
`void` `writeTJMappedChar(char codepoint)` Writes a char to the "TJ-Buffer".

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### TR_FILL

    public static final int TR_FILL

  PDF text rendering mode: Fill text

  See Also:
    Constant Field Values

### TR_STROKE

    public static final int TR_STROKE

  PDF text rendering mode: Stroke text

  See Also:
    Constant Field Values

### TR_FILL_STROKE

    public static final int TR_FILL_STROKE

  PDF text rendering mode: Fill, then stroke text

  See Also:
    Constant Field Values

### TR_INVISIBLE

    public static final int TR_INVISIBLE

  PDF text rendering mode: Neither fill nor stroke text (invisible)

  See Also:
    Constant Field Values

### TR_FILL_CLIP

    public static final int TR_FILL_CLIP

  PDF text rendering mode: Fill text and add to path for clipping

  See Also:
    Constant Field Values

### TR_STROKE_CLIP

    public static final int TR_STROKE_CLIP

  PDF text rendering mode: Stroke text and add to path for clipping

  See Also:
    Constant Field Values

### TR_FILL_STROKE_CLIP

    public static final int TR_FILL_STROKE_CLIP

  PDF text rendering mode: Fill, then stroke text and add to path for clipping

  See Also:
    Constant Field Values

### TR_CLIP

    public static final int TR_CLIP

  PDF text rendering mode: Add text to path for clipping

  See Also:
    Constant Field Values

Constructor Detail

### PDFTextUtil

    public PDFTextUtil()

  Main constructor.

Method Detail

### write

    protected abstract void write(java.lang.String code)

  Writes PDF code.

  Parameters:
    `code` - the PDF code to write

### isInTextObject

    public boolean isInTextObject()

  Indicates whether we are in a text object or not.

  Returns:
    true if we are in a text object

### beginTextObject

    public void beginTextObject()

  Called when a new text object should be started. Be sure to call setFont() before issuing any text painting commands.

### endTextObject

    public void endTextObject()

  Called when a text object should be ended.

### initValues

    protected void initValues()

  Resets the state fields.

### concatMatrix

    public void concatMatrix(java.awt.geom.AffineTransform at)

  Creates a "cm" command.

  Parameters:
    `at` - the transformation matrix

### writeTf

    public void writeTf(java.lang.String fontName,
                        double fontSize)

  Writes a "Tf" command, setting a new current font.

  Parameters:
    `fontName` - the name of the font to select
    `fontSize` - the font size (in points)

### updateTf

    public void updateTf(java.lang.String fontName,
                         double fontSize,
                         boolean multiByte)

  Updates the current font. This method only writes a "Tf" if the current font changes.

  Parameters:
    `fontName` - the name of the font to select
    `fontSize` - the font size (in points)
    `multiByte` - true indicates the font is a multi-byte font, false means single-byte

### setTextRenderingMode

    public void setTextRenderingMode(int mode)

  Sets the text rendering mode.

  Parameters:
    `mode` - the rendering mode (value 0 to 7, see PDF Spec, constants: TR_*)

### setTextRenderingMode

    public void setTextRenderingMode(boolean fill,
                                     boolean stroke,
                                     boolean addToClip)

  Sets the text rendering mode.

  Parameters:
    `fill` - true if the text should be filled
    `stroke` - true if the text should be stroked
    `addToClip` - true if the path should be added for clipping

### writeTextMatrix

    public void writeTextMatrix(java.awt.geom.AffineTransform localTransform)

  Writes a "Tm" command, setting a new text transformation matrix.

  Parameters:
    `localTransform` - the new text transformation matrix

### writeTJMappedChar

    public void writeTJMappedChar(char codepoint)

  Writes a char to the "TJ-Buffer".

  Parameters:
    `codepoint` - the mapped character (code point/character code)

### adjustGlyphTJ

    public void adjustGlyphTJ(double adjust)

  Writes a glyph adjust value to the "TJ-Buffer".

  Assumes the following:

  1. if buffer is currently empty, then this is the start of the array object that encodes the adjustment and character values, and, therfore, a LEFT SQUARE BRACKET '[' must be prepended; and
  2. otherwise (the buffer is not empty), then the last element written to the buffer was a mapped character, and, therefore, a terminating '>' or ')' followed by a space must be appended to the buffer prior to appending the adjustment value.

  Parameters:
    `adjust` - the glyph adjust value in thousands of text unit space.

### writeTJ

    public void writeTJ()

  Writes a "TJ" command, writing out the accumulated buffer with the characters and glyph positioning values. The buffer is reset afterwards.

### writeTd

    public void writeTd(double x,
                        double y)

  Writes a "Td" command with specified x and y coordinates.

  Parameters:
    `x` - coordinate
    `y` - coordinate

### writeTj

    public void writeTj(char ch)

  Writes a "Tj" command with specified character code.

  Parameters:
    `ch` - character code to write

fop 1.1

Copyright 1999-2012 The Apache Software Foundation. All Rights Reserved.