fop 1.0

org.apache.fop.pdf
Class PDFTextUtil

java.lang.Object
  extended by 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 restoreGraphicsState()
          Creates a "Q" command, restoring the entire graphics state to its former value by popping it from the stack.
 void saveGraphicsState()
          Creates a "q" command, pushing a copy of the entire graphics state onto the stack.
 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 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 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.


saveGraphicsState

public void saveGraphicsState()
Creates a "q" command, pushing a copy of the entire graphics state onto the stack.


restoreGraphicsState

public void restoreGraphicsState()
Creates a "Q" command, restoring the entire graphics state to its former value by popping it from the stack.


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".

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.


fop 1.0

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