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 BorderManagerbmManager for storing border's information.static intCHAR_HEIGHTHeight of one symbol in Courier font size of 10pt.static intCHAR_WIDTHWidth of one symbol in Courier font size of 10pt.private java.lang.StringBuffer[]charDataBuffer for text.private TXTStatecurrentStateSaves current coordinate transformation.private TXTStreamcurrentStreamThe current stream to add Text commands to.private static charDARK_SHADEprivate java.lang.StringBuffer[]decoDataBuffer for background and images.private java.lang.Stringencodingprivate charfillCharChar for current filling.private booleanfirstPageEquals true, if current page is first.private static charFULL_BLOCKprivate static charIMAGE_CHARprivate static charLIGHT_SHADEprivate static java.lang.StringLINE_ENDINGEvery line except the last line on a page (which will end with pageEnding) will be terminated with this string.static intLINE_LEADINGLeading of line containing Courier font size of 10pt.private static charMEDIUM_SHADEprivate java.io.OutputStreamoutputStreamThe stream for outputprivate static java.lang.StringPAGE_ENDINGEvery page except the last one will end with this string.private intpageHeightCurrent processing page height.private intpageWidthCurrent 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 allocatedTXTRendererobject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddBitOfBorder(int x, int y, int style, int type)Adds one element of border.protected voidaddChar(int x, int y, char ch, boolean ischar)Add char to text buffer.protected voidaddString(int row, int col, java.lang.String s)Adds string to text buffer (charData).protected voidbeginTextObject()Does nothing.protected java.util.ListbreakOutOfStateStack()Does nothing.protected voidclip()Does nothing.protected voidclipRect(float x, float y, float width, float height)Does nothing.protected voidclosePath()Does nothing.protected voidconcatenateTransformationMatrix(java.awt.geom.AffineTransform at)Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.protected voiddrawBackAndBorders(Area area, float startx, float starty, float width, float height)Draw the background and borders.protected voiddrawBorderLine(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 voiddrawImage(java.lang.String url, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)Draw an image at the indicated location.protected voidendLayer()Finish current optional content group layer.protected voidendTextObject()Does nothing.protected voidendVParea()Signals exit from a viewport area.protected voidfillRect(float x, float y, float width, float height)Fills a rectangular area with the current filling char.private voidfillRect(int startX, int startY, int width, int height, char charToFill)Fills rectangle startX, startY, width, height with charcharToFill.private voidflushBorderToBuffer()Projects current page borders (i.e.bm) to buffer for background and images (i.e.decoData).private voidflushBuffer()Write out the buffer to output stream.java.lang.StringgetMimeType()Get the MIME type of the renderer.booleanisLayInside(int x, int y)Indicates if point (x, y) lay inside currentPage.protected voidlineTo(float x, float y)Does nothing.protected voidmoveTo(float x, float y)Does nothing.protected voidputChar(int x, int y, char ch, boolean ischar)Add char to text or background buffer.voidrenderImage(Image image, java.awt.geom.Rectangle2D pos)Fills image rectangle with aIMAGE_CHAR.voidrenderPage(PageViewport page)Tells the renderer to render a particular page.protected voidrenderText(TextArea area)Render TextArea to Text.protected voidrestoreGraphicsState()Does nothing.protected voidrestoreStateStackAfterBreakOut(java.util.List breakOutList)Does nothing.protected voidsaveGraphicsState()Does nothing.voidsetEncoding(java.lang.String encoding)Sets the encoding of the target file.protected voidstartLayer(java.lang.String layer)Establish new optional content group layer.voidstartRenderer(java.io.OutputStream os)Initiates the rendering phase.protected voidstartVParea(CTM ctm, java.awt.Rectangle clippingRect)Establishes a new viewport area.voidstopRenderer()Signals the end of the rendering phase.protected inttoMilli(float x)Returns the closest integer to the multiplication of a number and 1000.protected voidupdateColor(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 allocatedTXTRendererobject.- 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:
renderTextin 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:
renderPagein interfaceRenderer- Overrides:
renderPagein 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.IOExceptionInitiates 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:
startRendererin interfaceRenderer- Overrides:
startRendererin 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.IOExceptionSignals 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:
stopRendererin interfaceRenderer- Overrides:
stopRendererin 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:
restoreStateStackAfterBreakOutin classAbstractPathOrientedRenderer- Parameters:
breakOutList- the state stack to restore.
-
breakOutOfStateStack
protected java.util.List breakOutOfStateStack()
Does nothing.- Specified by:
breakOutOfStateStackin 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:
saveGraphicsStatein classAbstractPathOrientedRenderer
-
restoreGraphicsState
protected void restoreGraphicsState()
Does nothing. Restores the last graphics state of the rendering engine.- Specified by:
restoreGraphicsStatein classAbstractPathOrientedRenderer
-
beginTextObject
protected void beginTextObject()
Does nothing. Indicates the beginning of a text object.- Specified by:
beginTextObjectin classAbstractPathOrientedRenderer
-
endTextObject
protected void endTextObject()
Does nothing. Indicates the end of a text object.- Specified by:
endTextObjectin classAbstractPathOrientedRenderer
-
clip
protected void clip()
Does nothing. Clip using the current path.- Specified by:
clipin classAbstractPathOrientedRenderer
-
clipRect
protected void clipRect(float x, float y, float width, float height)Does nothing. Clip using a rectangular area.- Specified by:
clipRectin 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:
moveToin 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:
lineToin 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:
closePathin 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:
fillRectin 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:
updateColorin 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:
drawImagein 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:
renderImagein 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:
drawBorderLinein 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:
drawBackAndBordersin 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:
startVPareain 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:
endVPareain classAbstractRenderer
-
startLayer
protected void startLayer(java.lang.String layer)
Establish new optional content group layer.- Specified by:
startLayerin classAbstractRenderer- Parameters:
layer- name of layer
-
endLayer
protected void endLayer()
Finish current optional content group layer.- Specified by:
endLayerin 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:
concatenateTransformationMatrixin classAbstractPathOrientedRenderer- Parameters:
at- the transformation matrix to process (coordinates in points)
-
-