Package org.apache.fop.render.txt
Class TXTRenderer
- java.lang.Object
-
- org.apache.fop.render.AbstractRenderer
-
- org.apache.fop.render.PrintRenderer
-
- org.apache.fop.render.AbstractPathOrientedRenderer
-
- org.apache.fop.render.txt.TXTRenderer
-
public class TXTRenderer extends AbstractPathOrientedRenderer
Renderer that renders areas to plain text.
This work was authored by Art Welch and Mark Lillywhite (mark-fop@inomial.com) [to use the new Renderer interface].
-
-
Field Summary
Fields Modifier and Type Field Description private BorderManager
bm
Manager for storing border's information.static int
CHAR_HEIGHT
Height of one symbol in Courier font size of 10pt.static int
CHAR_WIDTH
Width of one symbol in Courier font size of 10pt.private java.lang.StringBuffer[]
charData
Buffer for text.private TXTState
currentState
Saves current coordinate transformation.private TXTStream
currentStream
The current stream to add Text commands to.private static char
DARK_SHADE
private java.lang.StringBuffer[]
decoData
Buffer for background and images.private java.lang.String
encoding
private char
fillChar
Char for current filling.private boolean
firstPage
Equals true, if current page is first.private static char
FULL_BLOCK
private static char
IMAGE_CHAR
private static char
LIGHT_SHADE
private static java.lang.String
LINE_ENDING
Every line except the last line on a page (which will end with pageEnding) will be terminated with this string.static int
LINE_LEADING
Leading of line containing Courier font size of 10pt.private static char
MEDIUM_SHADE
private java.io.OutputStream
outputStream
The stream for outputprivate static java.lang.String
PAGE_ENDING
Every page except the last one will end with this string.private int
pageHeight
Current processing page height.private int
pageWidth
Current processing page width.-
Fields inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
FOX_TRANSFORM
-
Fields inherited from class org.apache.fop.render.PrintRenderer
embedFontInfoList, fontInfo
-
Fields inherited from class org.apache.fop.render.AbstractRenderer
bindingOnEndEdge, bindingOnStartEdge, blockProgressionDirection, columnCount, columnEndIPPosition, columnGap, columnIndex, columnLeftIPPosition, columnRightIPPosition, columnStartIPPosition, columnWidth, containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, inlineProgressionDirection, log, userAgent
-
Fields inherited from interface org.apache.fop.fo.Constants
COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_BT, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIRST_INCLUDING_CARRYOVER, EN_FIRST_STARTING, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_REPLACE, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SELECT_FIRST_FITTING, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TABLE, EN_TABLE_FRAGMENT, EN_TB, EN_TB_LR, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRINSIC_SCALE_VALUE, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
-
-
Constructor Summary
Constructors Constructor Description TXTRenderer(FOUserAgent userAgent)
Constructs a newly allocatedTXTRenderer
object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addBitOfBorder(int x, int y, int style, int type)
Adds one element of border.protected void
addChar(int x, int y, char ch, boolean ischar)
Add char to text buffer.protected void
addString(int row, int col, java.lang.String s)
Adds string to text buffer (charData
).protected void
beginTextObject()
Does nothing.protected java.util.List
breakOutOfStateStack()
Does nothing.protected void
clip()
Does nothing.protected void
clipRect(float x, float y, float width, float height)
Does nothing.protected void
closePath()
Does nothing.protected void
concatenateTransformationMatrix(java.awt.geom.AffineTransform at)
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.protected void
drawBackAndBorders(Area area, float startx, float starty, float width, float height)
Draw the background and borders.protected void
drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col)
Draw a border segment of an XSL-FO style border.protected void
drawImage(java.lang.String url, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)
Draw an image at the indicated location.protected void
endLayer()
Finish current optional content group layer.protected void
endTextObject()
Does nothing.protected void
endVParea()
Signals exit from a viewport area.protected void
fillRect(float x, float y, float width, float height)
Fills a rectangular area with the current filling char.private void
fillRect(int startX, int startY, int width, int height, char charToFill)
Fills rectangle startX, startY, width, height with charcharToFill
.private void
flushBorderToBuffer()
Projects current page borders (i.e.bm
) to buffer for background and images (i.e.decoData
).private void
flushBuffer()
Write out the buffer to output stream.java.lang.String
getMimeType()
Get the MIME type of the renderer.boolean
isLayInside(int x, int y)
Indicates if point (x, y) lay inside currentPage.protected void
lineTo(float x, float y)
Does nothing.protected void
moveTo(float x, float y)
Does nothing.protected void
putChar(int x, int y, char ch, boolean ischar)
Add char to text or background buffer.void
renderImage(Image image, java.awt.geom.Rectangle2D pos)
Fills image rectangle with aIMAGE_CHAR
.void
renderPage(PageViewport page)
Tells the renderer to render a particular page.protected void
renderText(TextArea area)
Render TextArea to Text.protected void
restoreGraphicsState()
Does nothing.protected void
restoreStateStackAfterBreakOut(java.util.List breakOutList)
Does nothing.protected void
saveGraphicsState()
Does nothing.void
setEncoding(java.lang.String encoding)
Sets the encoding of the target file.protected void
startLayer(java.lang.String layer)
Establish new optional content group layer.void
startRenderer(java.io.OutputStream os)
Initiates the rendering phase.protected void
startVParea(CTM ctm, java.awt.Rectangle clippingRect)
Establishes a new viewport area.void
stopRenderer()
Signals the end of the rendering phase.protected int
toMilli(float x)
Returns the closest integer to the multiplication of a number and 1000.protected void
updateColor(java.awt.Color col, boolean fill)
Changes current filling char.-
Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
clipBackground, drawBackAndBorders, drawBackground, drawBackground, drawBorders, drawBorders, drawImage, establishTransformationMatrix, handleBlockTraits, handleRegionTraits, renderBlockViewport, renderFlow, renderForeignObject, renderInlineAreaBackAndBorders, renderInlineViewport, renderReferenceArea, renderTextDecoration
-
Methods inherited from class org.apache.fop.render.PrintRenderer
addFontList, createRendererContext, getFontFromArea, getFontInfo, getFontList, getInternalFontNameForArea, instantiateRendererContext, renderDocument, setFontList, setupFontInfo
-
Methods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, drawChangeBars, getBeginOffset, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getUserAgent, maybeEndLayer, maybeStartLayer, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderContainer, renderFootnote, renderInlineArea, renderInlineBlock, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLeader, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderWord, renderXML, setBeginOffset, setDocumentLocale, startPageSequence, startPageSequence, supportsOutOfOrder
-
-
-
-
Field Detail
-
LIGHT_SHADE
private static final char LIGHT_SHADE
- See Also:
- Constant Field Values
-
MEDIUM_SHADE
private static final char MEDIUM_SHADE
- See Also:
- Constant Field Values
-
DARK_SHADE
private static final char DARK_SHADE
- See Also:
- Constant Field Values
-
FULL_BLOCK
private static final char FULL_BLOCK
- See Also:
- Constant Field Values
-
IMAGE_CHAR
private static final char IMAGE_CHAR
- See Also:
- Constant Field Values
-
outputStream
private java.io.OutputStream outputStream
The stream for output
-
currentStream
private TXTStream currentStream
The current stream to add Text commands to.
-
charData
private java.lang.StringBuffer[] charData
Buffer for text.
-
decoData
private java.lang.StringBuffer[] decoData
Buffer for background and images.
-
LINE_LEADING
public static final int LINE_LEADING
Leading of line containing Courier font size of 10pt.- See Also:
- Constant Field Values
-
CHAR_HEIGHT
public static final int CHAR_HEIGHT
Height of one symbol in Courier font size of 10pt.- See Also:
- Constant Field Values
-
CHAR_WIDTH
public static final int CHAR_WIDTH
Width of one symbol in Courier font size of 10pt.- See Also:
- Constant Field Values
-
pageWidth
private int pageWidth
Current processing page width.
-
pageHeight
private int pageHeight
Current processing page height.
-
LINE_ENDING
private static final java.lang.String LINE_ENDING
Every line except the last line on a page (which will end with pageEnding) will be terminated with this string.- See Also:
- Constant Field Values
-
PAGE_ENDING
private static final java.lang.String PAGE_ENDING
Every page except the last one will end with this string.- See Also:
- Constant Field Values
-
firstPage
private boolean firstPage
Equals true, if current page is first.
-
bm
private BorderManager bm
Manager for storing border's information.
-
fillChar
private char fillChar
Char for current filling.
-
currentState
private final TXTState currentState
Saves current coordinate transformation.
-
encoding
private java.lang.String encoding
-
-
Constructor Detail
-
TXTRenderer
public TXTRenderer(FOUserAgent userAgent)
Constructs a newly allocatedTXTRenderer
object.- Parameters:
userAgent
- the user agent that contains configuration details. This cannot be null.
-
-
Method Detail
-
getMimeType
public java.lang.String getMimeType()
Get the MIME type of the renderer.- Returns:
- The MIME type of the renderer, may return null if not applicable.
-
setEncoding
public void setEncoding(java.lang.String encoding)
Sets the encoding of the target file.- Parameters:
encoding
- the encoding, null to select the default encoding (UTF-8)
-
isLayInside
public boolean isLayInside(int x, int y)
Indicates if point (x, y) lay inside currentPage.- Parameters:
x
- x coordinatey
- y coordinate- Returns:
- true if point lay inside page
-
addChar
protected void addChar(int x, int y, char ch, boolean ischar)
Add char to text buffer.- Parameters:
x
- x coordinatey
- y coordinatech
- char to addischar
- boolean, repersenting is character adding to text buffer
-
putChar
protected void putChar(int x, int y, char ch, boolean ischar)
Add char to text or background buffer.- Parameters:
x
- x coordinatey
- x coordinatech
- char to addischar
- indicates if it char or background
-
addString
protected void addString(int row, int col, java.lang.String s)
Adds string to text buffer (charData
).Chars of string map in turn.
- Parameters:
row
- x coordinatecol
- y coordinates
- string to add
-
renderText
protected void renderText(TextArea area)
Render TextArea to Text.- Overrides:
renderText
in classAbstractRenderer
- Parameters:
area
- inline area to render
-
renderPage
public void renderPage(PageViewport page) throws java.io.IOException, FOPException
Tells the renderer to render a particular page. A renderer typically responds by packing up the current page and writing it immediately to the output device.- Specified by:
renderPage
in interfaceRenderer
- Overrides:
renderPage
in classAbstractRenderer
- Parameters:
page
- The page to be rendered- Throws:
java.io.IOException
- if an I/O error occursFOPException
- if a FOP interal error occurs.
-
flushBorderToBuffer
private void flushBorderToBuffer()
Projects current page borders (i.e.bm
) to buffer for background and images (i.e.decoData
).
-
flushBuffer
private void flushBuffer()
Write out the buffer to output stream.
-
startRenderer
public void startRenderer(java.io.OutputStream os) throws java.io.IOException
Initiates the rendering phase. This must only be called once for a rendering. If stopRenderer is called then this may be called again for a new document rendering.- Specified by:
startRenderer
in interfaceRenderer
- Overrides:
startRenderer
in classAbstractRenderer
- Parameters:
os
- The OutputStream to use for output- Throws:
java.io.IOException
- If an I/O error occurs
-
stopRenderer
public void stopRenderer() throws java.io.IOException
Signals the end of the rendering phase. The renderer should reset to an initial state and dispose of any resources for the completed rendering.- Specified by:
stopRenderer
in interfaceRenderer
- Overrides:
stopRenderer
in classAbstractRenderer
- Throws:
java.io.IOException
- If an I/O error occurs
-
restoreStateStackAfterBreakOut
protected void restoreStateStackAfterBreakOut(java.util.List breakOutList)
Does nothing. Restores the state stack after a break out.- Specified by:
restoreStateStackAfterBreakOut
in classAbstractPathOrientedRenderer
- Parameters:
breakOutList
- the state stack to restore.
-
breakOutOfStateStack
protected java.util.List breakOutOfStateStack()
Does nothing.- Specified by:
breakOutOfStateStack
in classAbstractPathOrientedRenderer
- Returns:
- null the saved state stack to recreate later
-
saveGraphicsState
protected void saveGraphicsState()
Does nothing. Saves the graphics state of the rendering engine.- Specified by:
saveGraphicsState
in classAbstractPathOrientedRenderer
-
restoreGraphicsState
protected void restoreGraphicsState()
Does nothing. Restores the last graphics state of the rendering engine.- Specified by:
restoreGraphicsState
in classAbstractPathOrientedRenderer
-
beginTextObject
protected void beginTextObject()
Does nothing. Indicates the beginning of a text object.- Specified by:
beginTextObject
in classAbstractPathOrientedRenderer
-
endTextObject
protected void endTextObject()
Does nothing. Indicates the end of a text object.- Specified by:
endTextObject
in classAbstractPathOrientedRenderer
-
clip
protected void clip()
Does nothing. Clip using the current path.- Specified by:
clip
in classAbstractPathOrientedRenderer
-
clipRect
protected void clipRect(float x, float y, float width, float height)
Does nothing. Clip using a rectangular area.- Specified by:
clipRect
in classAbstractPathOrientedRenderer
- Parameters:
x
- the x coordinate (in points)y
- the y coordinate (in points)width
- the width of the rectangle (in points)height
- the height of the rectangle (in points)
-
moveTo
protected void moveTo(float x, float y)
Does nothing. Moves the current point to (x, y), omitting any connecting line segment.- Specified by:
moveTo
in classAbstractPathOrientedRenderer
- Parameters:
x
- x coordinatey
- y coordinate
-
lineTo
protected void lineTo(float x, float y)
Does nothing. Appends a straight line segment from the current point to (x, y). The new current point is (x, y).- Specified by:
lineTo
in classAbstractPathOrientedRenderer
- Parameters:
x
- x coordinatey
- y coordinate
-
closePath
protected void closePath()
Does nothing. Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.- Specified by:
closePath
in classAbstractPathOrientedRenderer
-
fillRect
private void fillRect(int startX, int startY, int width, int height, char charToFill)
Fills rectangle startX, startY, width, height with charcharToFill
.- Parameters:
startX
- x-coordinate of upper left pointstartY
- y-coordinate of upper left pointwidth
- width of rectangleheight
- height of rectanglecharToFill
- filling char
-
fillRect
protected void fillRect(float x, float y, float width, float height)
Fills a rectangular area with the current filling char. Fill a rectangular area.- Specified by:
fillRect
in classAbstractPathOrientedRenderer
- Parameters:
x
- the x coordinatey
- the y coordinatewidth
- the width of the rectangleheight
- the height of the rectangle
-
updateColor
protected void updateColor(java.awt.Color col, boolean fill)
Changes current filling char. Establishes a new foreground or fill color.- Specified by:
updateColor
in classAbstractPathOrientedRenderer
- Parameters:
col
- the color to apply (null skips this operation)fill
- true to set the fill color, false for the foreground color
-
drawImage
protected void drawImage(java.lang.String url, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)
Draw an image at the indicated location.- Specified by:
drawImage
in classAbstractPathOrientedRenderer
- Parameters:
url
- the URI/URL of the imagepos
- the position of the imageforeignAttributes
- an optional Map with foreign attributes, may be null
-
renderImage
public void renderImage(Image image, java.awt.geom.Rectangle2D pos)
Fills image rectangle with aIMAGE_CHAR
.- Overrides:
renderImage
in classAbstractRenderer
- Parameters:
image
- the base imagepos
- the position of the image
-
toMilli
protected int toMilli(float x)
Returns the closest integer to the multiplication of a number and 1000.- Parameters:
x
- the value of the argument, multiplied by 1000 and rounded- Returns:
- the value of the argument multiplied by 1000 and rounded to the nearest integer
-
addBitOfBorder
private void addBitOfBorder(int x, int y, int style, int type)
Adds one element of border.- Parameters:
x
- x coordinatey
- y coordinatestyle
- integer, representing border styletype
- integer, representing border element type
-
drawBorderLine
protected void drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col)
Draw a border segment of an XSL-FO style border.- Specified by:
drawBorderLine
in classAbstractPathOrientedRenderer
- Parameters:
x1
- starting x coordinatey1
- starting y coordinatex2
- ending x coordinatey2
- ending y coordinatehorz
- true for horizontal border segments, false for vertical border segmentsstartOrBefore
- true for border segments on the start or before edge, false for end or after.style
- the border style (one of Constants.EN_DASHED etc.)col
- the color for the border segment
-
drawBackAndBorders
protected void drawBackAndBorders(Area area, float startx, float starty, float width, float height)
Draw the background and borders. This draws the background and border traits for an area given the position.- Overrides:
drawBackAndBorders
in classAbstractPathOrientedRenderer
- Parameters:
area
- the area to get the traits fromstartx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the area
-
startVParea
protected void startVParea(CTM ctm, java.awt.Rectangle clippingRect)
Establishes a new viewport area.- Specified by:
startVParea
in classAbstractRenderer
- Parameters:
ctm
- the coordinate transformation matrix to useclippingRect
- the clipping rectangle if the viewport should be clipping, null if no clipping is performed.
-
endVParea
protected void endVParea()
Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.- Specified by:
endVParea
in classAbstractRenderer
-
startLayer
protected void startLayer(java.lang.String layer)
Establish new optional content group layer.- Specified by:
startLayer
in classAbstractRenderer
- Parameters:
layer
- name of layer
-
endLayer
protected void endLayer()
Finish current optional content group layer.- Specified by:
endLayer
in classAbstractRenderer
-
concatenateTransformationMatrix
protected void concatenateTransformationMatrix(java.awt.geom.AffineTransform at)
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.- Specified by:
concatenateTransformationMatrix
in classAbstractPathOrientedRenderer
- Parameters:
at
- the transformation matrix to process (coordinates in points)
-
-