Package org.apache.batik.bridge
Class SVGTextElementBridge
- java.lang.Object
-
- org.apache.batik.bridge.AbstractSVGBridge
-
- org.apache.batik.bridge.AnimatableSVGBridge
-
- org.apache.batik.bridge.AbstractGraphicsNodeBridge
-
- org.apache.batik.bridge.SVGTextElementBridge
-
- All Implemented Interfaces:
SVGAnimationTargetContext
,Bridge
,BridgeUpdateHandler
,ErrorConstants
,GraphicsNodeBridge
,XMLConstants
,SVGContext
,SVGTextContent
,CSSConstants
,SVGConstants
- Direct Known Subclasses:
BatikFlowTextElementBridge
,SVG12TextElementBridge
public class SVGTextElementBridge extends AbstractGraphicsNodeBridge implements SVGTextContent
Bridge class for the <text> element.- Version:
- $Id: SVGTextElementBridge.java 1851346 2019-01-15 13:41:00Z ssteiner $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
SVGTextElementBridge.AbstractTextChildBridgeUpdateHandler
Implementation for theBridgeUpdateHandler
for the child elements of <text>.static class
SVGTextElementBridge.AbstractTextChildSVGContext
Implementation ofSVGContext
for the children of <text>protected class
SVGTextElementBridge.AbstractTextChildTextContent
protected static class
SVGTextElementBridge.AttributedStringBuffer
This class is used to build an AttributedString.protected static class
SVGTextElementBridge.CharacterInformation
Helper class to collect information about one Glyph in the GlyphVectorprotected class
SVGTextElementBridge.DOMChildNodeRemovedEventListener
The DOM EventListener invoked when a node is removed.protected class
SVGTextElementBridge.DOMSubtreeModifiedEventListener
The DOM EventListener invoked when the subtree is modified.protected class
SVGTextElementBridge.TextPathBridge
BridgeUpdateHandle for <textPath> element.protected class
SVGTextElementBridge.TRefBridge
BridgeUpdateHandle for <tref> element.protected class
SVGTextElementBridge.TspanBridge
BridgeUpdateHandle for <tspan> element.
-
Field Summary
Fields Modifier and Type Field Description static java.text.AttributedCharacterIterator.Attribute
ALT_GLYPH_HANDLER
static java.text.AttributedCharacterIterator.Attribute
ANCHOR_TYPE
static java.text.AttributedCharacterIterator.Attribute
BASELINE_SHIFT
protected SVGTextElementBridge.DOMChildNodeRemovedEventListener
childNodeRemovedEventListener
The DOM EventListener to receive 'DOMNodeRemoved' event.private org.w3c.dom.Element
cssProceedElement
This is the element a CSS property has changed.protected java.util.WeakHashMap
elemTPI
protected int
endLimit
This is used to store the end of the last piece of text content from an element with xml:space="preserve".static java.text.AttributedCharacterIterator.Attribute
GVT_FONT_FAMILIES
static java.text.AttributedCharacterIterator.Attribute
GVT_FONTS
private boolean
hasNewACI
This flag bit indicates if a new ACI has been created in response to a CSSEngineEvent.protected java.text.AttributedString
laidoutText
static java.text.AttributedCharacterIterator.Attribute
PAINT_INFO
protected SVGTextElementBridge.DOMSubtreeModifiedEventListener
subtreeModifiedEventListener
The DOM EventListener to receive 'DOMSubtreeModified' event.static java.text.AttributedCharacterIterator.Attribute
TEXT_COMPOUND_DELIMITER
static java.text.AttributedCharacterIterator.Attribute
TEXT_COMPOUND_ID
static java.text.AttributedCharacterIterator.Attribute
TEXTPATH
protected boolean
usingComplexSVGFont
protected static java.lang.Integer
ZERO
-
Fields inherited from class org.apache.batik.bridge.AbstractGraphicsNodeBridge
bbox, bboxShape, isSVG12, node, unitContext
-
Fields inherited from class org.apache.batik.bridge.AnimatableSVGBridge
ctx, e, targetListeners
-
Fields inherited from interface org.apache.batik.util.CSSConstants
CSS_ACCUMULATE_VALUE, CSS_ACTIVEBORDER_VALUE, CSS_ACTIVECAPTION_VALUE, CSS_AFTER_EDGE_VALUE, CSS_ALICEBLUE_VALUE, CSS_ALIGNMENT_BASELINE_PROPERTY, CSS_ALL_VALUE, CSS_ALPHABETIC_VALUE, CSS_ANTIQUEWHITE_VALUE, CSS_APPWORKSPACE_VALUE, CSS_AQUA_VALUE, CSS_AQUAMARINE_VALUE, CSS_AUTO_VALUE, CSS_AUTOSENSE_SCRIPT_VALUE, CSS_AZURE_VALUE, CSS_BACKGROUND_VALUE, CSS_BASELINE_SHIFT_PROPERTY, CSS_BASELINE_VALUE, CSS_BEFORE_EDGE_VALUE, CSS_BEIGE_VALUE, CSS_BEVEL_VALUE, CSS_BIDI_OVERRIDE_VALUE, CSS_BISQUE_VALUE, CSS_BLACK_VALUE, CSS_BLANCHEDALMOND_VALUE, CSS_BLINK_VALUE, CSS_BLOCK_VALUE, CSS_BLUE_VALUE, CSS_BLUEVIOLET_VALUE, CSS_BOLD_VALUE, CSS_BOLDER_VALUE, CSS_BOTTOM_VALUE, CSS_BROWN_VALUE, CSS_BURLYWOOD_VALUE, CSS_BUTT_VALUE, CSS_BUTTONFACE_VALUE, CSS_BUTTONHIGHLIGHT_VALUE, CSS_BUTTONSHADOW_VALUE, CSS_BUTTONTEXT_VALUE, CSS_CADETBLUE_VALUE, CSS_CAPTION_VALUE, CSS_CAPTIONTEXT_VALUE, CSS_CENTER_VALUE, CSS_CENTRAL_VALUE, CSS_CHARTREUSE_VALUE, CSS_CHOCOLATE_VALUE, CSS_CLIP_PATH_PROPERTY, CSS_CLIP_PROPERTY, CSS_CLIP_RULE_PROPERTY, CSS_COLLAPSE_VALUE, CSS_COLOR_INTERPOLATION_FILTERS_PROPERTY, CSS_COLOR_INTERPOLATION_PROPERTY, CSS_COLOR_PROFILE_PROPERTY, CSS_COLOR_PROPERTY, CSS_COLOR_RENDERING_PROPERTY, CSS_COMPACT_VALUE, CSS_CONDENSED_VALUE, CSS_CORAL_VALUE, CSS_CORNFLOWERBLUE_VALUE, CSS_CORNSILK_VALUE, CSS_CRIMSON_VALUE, CSS_CRISPEDGES_VALUE, CSS_CROSSHAIR_VALUE, CSS_CURRENTCOLOR_VALUE, CSS_CURSIVE_VALUE, CSS_CURSOR_PROPERTY, CSS_CYAN_VALUE, CSS_DARKBLUE_VALUE, CSS_DARKCYAN_VALUE, CSS_DARKGOLDENROD_VALUE, CSS_DARKGRAY_VALUE, CSS_DARKGREEN_VALUE, CSS_DARKGREY_VALUE, CSS_DARKKHAKI_VALUE, CSS_DARKMAGENTA_VALUE, CSS_DARKOLIVEGREEN_VALUE, CSS_DARKORANGE_VALUE, CSS_DARKORCHID_VALUE, CSS_DARKRED_VALUE, CSS_DARKSALMON_VALUE, CSS_DARKSEAGREEN_VALUE, CSS_DARKSLATEBLUE_VALUE, CSS_DARKSLATEGRAY_VALUE, CSS_DARKSLATEGREY_VALUE, CSS_DARKTURQUOISE_VALUE, CSS_DARKVIOLET_VALUE, CSS_DEEPPINK_VALUE, CSS_DEEPSKYBLUE_VALUE, CSS_DEFAULT_VALUE, CSS_DIMGRAY_VALUE, CSS_DIMGREY_VALUE, CSS_DIRECTION_PROPERTY, CSS_DISPLAY_PROPERTY, CSS_DODGERBLUE_VALUE, CSS_DOMINANT_BASELINE_PROPERTY, CSS_E_RESIZE_VALUE, CSS_EMBED_VALUE, CSS_ENABLE_BACKGROUND_PROPERTY, CSS_END_VALUE, CSS_EVENODD_VALUE, CSS_EXPANDED_VALUE, CSS_EXTRA_CONDENSED_VALUE, CSS_EXTRA_EXPANDED_VALUE, CSS_FANTASY_VALUE, CSS_FILL_OPACITY_PROPERTY, CSS_FILL_PROPERTY, CSS_FILL_RULE_PROPERTY, CSS_FILL_VALUE, CSS_FILLSTROKE_VALUE, CSS_FILTER_PROPERTY, CSS_FIREBRICK_VALUE, CSS_FLOOD_COLOR_PROPERTY, CSS_FLOOD_OPACITY_PROPERTY, CSS_FLORALWHITE_VALUE, CSS_FONT_FAMILY_PROPERTY, CSS_FONT_PROPERTY, CSS_FONT_SIZE_ADJUST_PROPERTY, CSS_FONT_SIZE_PROPERTY, CSS_FONT_STRETCH_PROPERTY, CSS_FONT_STYLE_PROPERTY, CSS_FONT_VARIANT_PROPERTY, CSS_FONT_WEIGHT_PROPERTY, CSS_FORESTGREEN_VALUE, CSS_FUCHSIA_VALUE, CSS_GAINSBORO_VALUE, CSS_GEOMETRICPRECISION_VALUE, CSS_GHOSTWHITE_VALUE, CSS_GLYPH_ORIENTATION_HORIZONTAL_PROPERTY, CSS_GLYPH_ORIENTATION_VERTICAL_PROPERTY, CSS_GOLD_VALUE, CSS_GOLDENROD_VALUE, CSS_GRAY_VALUE, CSS_GRAYTEXT_VALUE, CSS_GREEN_VALUE, CSS_GREENYELLOW_VALUE, CSS_GREY_VALUE, CSS_HANGING_VALUE, CSS_HELP_VALUE, CSS_HIDDEN_VALUE, CSS_HIGHLIGHT_VALUE, CSS_HIGHLIGHTTEXT_VALUE, CSS_HONEYDEW_VALUE, CSS_HOTPINK_VALUE, CSS_ICON_VALUE, CSS_IDEOGRAPHIC_VALUE, CSS_IMAGE_RENDERING_PROPERTY, CSS_INACTIVEBORDER_VALUE, CSS_INACTIVECAPTION_VALUE, CSS_INACTIVECAPTIONTEXT_VALUE, CSS_INDIANRED_VALUE, CSS_INDIGO_VALUE, CSS_INFOBACKGROUND_VALUE, CSS_INFOTEXT_VALUE, CSS_INLINE_TABLE_VALUE, CSS_INLINE_VALUE, CSS_ITALIC_VALUE, CSS_IVORY_VALUE, CSS_KERNING_PROPERTY, CSS_KHAKI_VALUE, CSS_LARGE_VALUE, CSS_LARGER_VALUE, CSS_LAVENDER_VALUE, CSS_LAVENDERBLUSH_VALUE, CSS_LAWNGREEN_VALUE, CSS_LEMONCHIFFON_VALUE, CSS_LETTER_SPACING_PROPERTY, CSS_LIGHTBLUE_VALUE, CSS_LIGHTCORAL_VALUE, CSS_LIGHTCYAN_VALUE, CSS_LIGHTER_VALUE, CSS_LIGHTGOLDENRODYELLOW_VALUE, CSS_LIGHTGRAY_VALUE, CSS_LIGHTGREEN_VALUE, CSS_LIGHTGREY_VALUE, CSS_LIGHTING_COLOR_PROPERTY, CSS_LIGHTPINK_VALUE, CSS_LIGHTSALMON_VALUE, CSS_LIGHTSEAGREEN_VALUE, CSS_LIGHTSKYBLUE_VALUE, CSS_LIGHTSLATEGRAY_VALUE, CSS_LIGHTSLATEGREY_VALUE, CSS_LIGHTSTEELBLUE_VALUE, CSS_LIGHTYELLOW_VALUE, CSS_LIME_VALUE, CSS_LIMEGREEN_VALUE, CSS_LINE_HEIGHT_PROPERTY, CSS_LINE_THROUGH_VALUE, CSS_LINEARRGB_VALUE, CSS_LINEN_VALUE, CSS_LIST_ITEM_VALUE, CSS_LOWER_VALUE, CSS_LR_TB_VALUE, CSS_LR_VALUE, CSS_LTR_VALUE, CSS_MAGENTA_VALUE, CSS_MARKER_END_PROPERTY, CSS_MARKER_MID_PROPERTY, CSS_MARKER_PROPERTY, CSS_MARKER_START_PROPERTY, CSS_MARKER_VALUE, CSS_MAROON_VALUE, CSS_MASK_PROPERTY, CSS_MATHEMATICAL_VALUE, CSS_MEDIUM_VALUE, CSS_MEDIUMAQUAMARINE_VALUE, CSS_MEDIUMBLUE_VALUE, CSS_MEDIUMORCHID_VALUE, CSS_MEDIUMPURPLE_VALUE, CSS_MEDIUMSEAGREEN_VALUE, CSS_MEDIUMSLATEBLUE_VALUE, CSS_MEDIUMSPRINGGREEN_VALUE, CSS_MEDIUMTURQUOISE_VALUE, CSS_MEDIUMVIOLETRED_VALUE, CSS_MENU_VALUE, CSS_MENUTEXT_VALUE, CSS_MESSAGE_BOX_VALUE, CSS_MIDDLE_VALUE, CSS_MIDNIGHTBLUE_VALUE, CSS_MIME_TYPE, CSS_MINTCREAM_VALUE, CSS_MISTYROSE_VALUE, CSS_MITER_VALUE, CSS_MOCCASIN_VALUE, CSS_MONOSPACE_VALUE, CSS_MOVE_VALUE, CSS_N_RESIZE_VALUE, CSS_NARROWER_VALUE, CSS_NAVAJOWHITE_VALUE, CSS_NAVY_VALUE, CSS_NE_RESIZE_VALUE, CSS_NEW_VALUE, CSS_NO_CHANGE_VALUE, CSS_NONE_VALUE, CSS_NONZERO_VALUE, CSS_NORMAL_VALUE, CSS_NW_RESIZE_VALUE, CSS_OBLIQUE_VALUE, CSS_OLDLACE_VALUE, CSS_OLIVE_VALUE, CSS_OLIVEDRAB_VALUE, CSS_OPACITY_PROPERTY, CSS_OPTIMIZELEGIBILITY_VALUE, CSS_OPTIMIZEQUALITY_VALUE, CSS_OPTIMIZESPEED_VALUE, CSS_ORANGE_VALUE, CSS_ORANGERED_VALUE, CSS_ORCHID_VALUE, CSS_OVERFLOW_PROPERTY, CSS_OVERLINE_VALUE, CSS_PAINTED_VALUE, CSS_PALEGOLDENROD_VALUE, CSS_PALEGREEN_VALUE, CSS_PALETURQUOISE_VALUE, CSS_PALEVIOLETRED_VALUE, CSS_PAPAYAWHIP_VALUE, CSS_PEACHPUFF_VALUE, CSS_PERU_VALUE, CSS_PINK_VALUE, CSS_PLUM_VALUE, CSS_POINTER_EVENTS_PROPERTY, CSS_POINTER_VALUE, CSS_POWDERBLUE_VALUE, CSS_PURPLE_VALUE, CSS_RED_VALUE, CSS_RESET_SIZE_VALUE, CSS_RESET_VALUE, CSS_RL_TB_VALUE, CSS_RL_VALUE, CSS_ROSYBROWN_VALUE, CSS_ROUND_VALUE, CSS_ROYALBLUE_VALUE, CSS_RTL_VALUE, CSS_RUN_IN_VALUE, CSS_S_RESIZE_VALUE, CSS_SADDLEBROWN_VALUE, CSS_SALMON_VALUE, CSS_SANDYBROWN_VALUE, CSS_SANS_SERIF_VALUE, CSS_SCROLL_VALUE, CSS_SCROLLBAR_VALUE, CSS_SE_RESIZE_VALUE, CSS_SEAGREEN_VALUE, CSS_SEASHELL_VALUE, CSS_SEMI_CONDENSED_VALUE, CSS_SEMI_EXPANDED_VALUE, CSS_SERIF_VALUE, CSS_SHAPE_RENDERING_PROPERTY, CSS_SIENNA_VALUE, CSS_SILVER_VALUE, CSS_SKYBLUE_VALUE, CSS_SLATEBLUE_VALUE, CSS_SLATEGRAY_VALUE, CSS_SLATEGREY_VALUE, CSS_SMALL_CAPS_VALUE, CSS_SMALL_CAPTION_VALUE, CSS_SMALL_VALUE, CSS_SMALLER_VALUE, CSS_SNOW_VALUE, CSS_SPRINGGREEN_VALUE, CSS_SQUARE_VALUE, CSS_SRC_PROPERTY, CSS_SRGB_VALUE, CSS_START_VALUE, CSS_STATUS_BAR_VALUE, CSS_STEELBLUE_VALUE, CSS_STOP_COLOR_PROPERTY, CSS_STOP_OPACITY_PROPERTY, CSS_STROKE_DASHARRAY_PROPERTY, CSS_STROKE_DASHOFFSET_PROPERTY, CSS_STROKE_LINECAP_PROPERTY, CSS_STROKE_LINEJOIN_PROPERTY, CSS_STROKE_MITERLIMIT_PROPERTY, CSS_STROKE_OPACITY_PROPERTY, CSS_STROKE_PROPERTY, CSS_STROKE_VALUE, CSS_STROKE_WIDTH_PROPERTY, CSS_SUB_VALUE, CSS_SUPER_VALUE, CSS_SW_RESIZE_VALUE, CSS_TABLE_CAPTION_VALUE, CSS_TABLE_CELL_VALUE, CSS_TABLE_COLUMN_GROUP_VALUE, CSS_TABLE_COLUMN_VALUE, CSS_TABLE_FOOTER_GROUP_VALUE, CSS_TABLE_HEADER_GROUP_VALUE, CSS_TABLE_ROW_GROUP_VALUE, CSS_TABLE_ROW_VALUE, CSS_TABLE_VALUE, CSS_TAN_VALUE, CSS_TB_RL_VALUE, CSS_TB_VALUE, CSS_TEAL_VALUE, CSS_TEXT_AFTER_EDGE_VALUE, CSS_TEXT_ANCHOR_PROPERTY, CSS_TEXT_BEFORE_EDGE_VALUE, CSS_TEXT_BOTTOM_VALUE, CSS_TEXT_DECORATION_PROPERTY, CSS_TEXT_RENDERING_PROPERTY, CSS_TEXT_TOP_VALUE, CSS_TEXT_VALUE, CSS_THISTLE_VALUE, CSS_THREEDDARKSHADOW_VALUE, CSS_THREEDFACE_VALUE, CSS_THREEDHIGHLIGHT_VALUE, CSS_THREEDLIGHTSHADOW_VALUE, CSS_THREEDSHADOW_VALUE, CSS_TOMATO_VALUE, CSS_TOP_VALUE, CSS_TURQUOISE_VALUE, CSS_ULTRA_CONDENSED_VALUE, CSS_ULTRA_EXPANDED_VALUE, CSS_UNDERLINE_VALUE, CSS_UNICODE_BIDI_PROPERTY, CSS_USE_SCRIPT_VALUE, CSS_VIOLET_VALUE, CSS_VISIBILITY_PROPERTY, CSS_VISIBLE_VALUE, CSS_VISIBLEFILL_VALUE, CSS_VISIBLEFILLSTROKE_VALUE, CSS_VISIBLEPAINTED_VALUE, CSS_VISIBLESTROKE_VALUE, CSS_W_RESIZE_VALUE, CSS_WAIT_VALUE, CSS_WHEAT_VALUE, CSS_WHITE_VALUE, CSS_WHITESMOKE_VALUE, CSS_WIDER_VALUE, CSS_WINDOW_VALUE, CSS_WINDOWFRAME_VALUE, CSS_WINDOWTEXT_VALUE, CSS_WORD_SPACING_PROPERTY, CSS_WRITING_MODE_PROPERTY, CSS_X_LARGE_VALUE, CSS_X_SMALL_VALUE, CSS_XX_LARGE_VALUE, CSS_XX_SMALL_VALUE, CSS_YELLOW_VALUE, CSS_YELLOWGREEN_VALUE
-
Fields inherited from interface org.apache.batik.bridge.ErrorConstants
ERR_ATTRIBUTE_MISSING, ERR_ATTRIBUTE_VALUE_MALFORMED, ERR_CSS_LENGTH_NEGATIVE, ERR_CSS_URI_BAD_TARGET, ERR_LENGTH_NEGATIVE, ERR_URI_BAD_TARGET, ERR_URI_IMAGE_BROKEN, ERR_URI_IMAGE_INVALID, ERR_URI_IO, ERR_URI_MALFORMED, ERR_URI_REFERENCE_A_DOCUMENT, ERR_URI_UNSECURE, ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES, URI_IMAGE_ERROR
-
Fields inherited from interface org.apache.batik.util.SVGConstants
PATH_ARC, PATH_CLOSE, PATH_CUBIC_TO, PATH_HORIZONTAL_LINE_TO, PATH_LINE_TO, PATH_MOVE, PATH_QUAD_TO, PATH_SMOOTH_QUAD_TO, PATH_VERTICAL_LINE_TO, SVG_100_VALUE, SVG_200_VALUE, SVG_300_VALUE, SVG_400_VALUE, SVG_500_VALUE, SVG_600_VALUE, SVG_700_VALUE, SVG_800_VALUE, SVG_900_VALUE, SVG_A_TAG, SVG_A_VALUE, SVG_ABSOLUTE_COLORIMETRIC_VALUE, SVG_ACCENT_HEIGHT_ATTRIBUTE, SVG_ACCUMULATE_ATTRIBUTE, SVG_ADDITIVE_ATTRIBUTE, SVG_ALIGN_VALUE, SVG_ALL_VALUE, SVG_ALPHABETIC_ATTRIBUTE, SVG_ALT_GLYPH_DEF_TAG, SVG_ALT_GLYPH_ITEM_TAG, SVG_ALT_GLYPH_TAG, SVG_AMPLITUDE_ATTRIBUTE, SVG_ANIMATE_COLOR_TAG, SVG_ANIMATE_MOTION_TAG, SVG_ANIMATE_TAG, SVG_ANIMATE_TRANSFORM_TAG, SVG_ARABIC_FORM_ATTRIBUTE, SVG_ARITHMETIC_VALUE, SVG_ASCENT_ATTRIBUTE, SVG_ATOP_VALUE, SVG_ATTRIBUTE_NAME_ATTRIBUTE, SVG_ATTRIBUTE_TYPE_ATTRIBUTE, SVG_AUTO_VALUE, SVG_AZIMUTH_ATTRIBUTE, SVG_B_VALUE, SVG_BACKGROUND_ALPHA_VALUE, SVG_BACKGROUND_IMAGE_VALUE, SVG_BASE_FREQUENCY_ATTRIBUTE, SVG_BASE_PROFILE_ATTRIBUTE, SVG_BBOX_ATTRIBUTE, SVG_BEGIN_ATTRIBUTE, SVG_BEVEL_VALUE, SVG_BIAS_ATTRIBUTE, SVG_BOLD_VALUE, SVG_BOLDER_VALUE, SVG_BUTT_VALUE, SVG_BY_ATTRIBUTE, SVG_CALC_MODE_ATTRIBUTE, SVG_CAP_HEIGHT_ATTRIBUTE, SVG_CIRCLE_CX_DEFAULT_VALUE, SVG_CIRCLE_CY_DEFAULT_VALUE, SVG_CIRCLE_TAG, SVG_CLASS_ATTRIBUTE, SVG_CLICK_EVENT_TYPE, SVG_CLIP_PATH_ATTRIBUTE, SVG_CLIP_PATH_CLIP_PATH_UNITS_DEFAULT_VALUE, SVG_CLIP_PATH_TAG, SVG_CLIP_PATH_UNITS_ATTRIBUTE, SVG_COLOR_INTERPOLATION_ATTRIBUTE, SVG_COLOR_PROFILE_TAG, SVG_COLOR_RENDERING_ATTRIBUTE, SVG_COMPONENT_TRANSFER_FUNCTION_AMPLITUDE_DEFAULT_VALUE, SVG_COMPONENT_TRANSFER_FUNCTION_EXPONENT_DEFAULT_VALUE, SVG_COMPONENT_TRANSFER_FUNCTION_INTERCEPT_DEFAULT_VALUE, SVG_COMPONENT_TRANSFER_FUNCTION_OFFSET_DEFAULT_VALUE, SVG_COMPONENT_TRANSFER_FUNCTION_SLOPE_DEFAULT_VALUE, SVG_COMPONENT_TRANSFER_FUNCTION_TABLE_VALUES_DEFAULT_VALUE, SVG_COMPOSITE_VALUE, SVG_CONTENT_SCRIPT_TYPE_ATTRIBUTE, SVG_CONTENT_STYLE_TYPE_ATTRIBUTE, SVG_CRISP_EDGES_VALUE, SVG_CROSSHAIR_VALUE, SVG_CURSOR_TAG, SVG_CURSOR_X_DEFAULT_VALUE, SVG_CURSOR_Y_DEFAULT_VALUE, SVG_CX_ATTRIBUTE, SVG_CY_ATTRIBUTE, SVG_D_ATTRIBUTE, SVG_DARKEN_VALUE, SVG_DEFAULT_VALUE, SVG_DEFINITION_SRC_TAG, SVG_DEFS_TAG, SVG_DESC_TAG, SVG_DESCENT_ATTRIBUTE, SVG_DIFFUSE_CONSTANT_ATTRIBUTE, SVG_DIGIT_ONE_VALUE, SVG_DILATE_VALUE, SVG_DISABLE_VALUE, SVG_DISCRETE_VALUE, SVG_DIVISOR_ATTRIBUTE, SVG_DOMACTIVATE_EVENT_TYPE, SVG_DOMFOCUSIN_EVENT_TYPE, SVG_DOMFOCUSOUT_EVENT_TYPE, SVG_DUPLICATE_VALUE, SVG_DUR_ATTRIBUTE, SVG_DX_ATTRIBUTE, SVG_DY_ATTRIBUTE, SVG_E_RESIZE_VALUE, SVG_EDGE_MODE_ATTRIBUTE, SVG_ELEVATION_ATTRIBUTE, SVG_ELLIPSE_CX_DEFAULT_VALUE, SVG_ELLIPSE_CY_DEFAULT_VALUE, SVG_ELLIPSE_TAG, SVG_ENABLE_BACKGROUND_ATTRIBUTE, SVG_END_ATTRIBUTE, SVG_END_VALUE, SVG_ERODE_VALUE, SVG_EVEN_ODD_VALUE, SVG_EVENT_CLICK, SVG_EVENT_KEYDOWN, SVG_EVENT_KEYPRESS, SVG_EVENT_KEYUP, SVG_EVENT_MOUSEDOWN, SVG_EVENT_MOUSEMOVE, SVG_EVENT_MOUSEOUT, SVG_EVENT_MOUSEOVER, SVG_EVENT_MOUSEUP, SVG_EXACT_VALUE, SVG_EXPONENT_ATTRIBUTE, SVG_EXTERNAL_RESOURCES_REQUIRED_ATTRIBUTE, SVG_FALSE_VALUE, SVG_FE_BLEND_TAG, SVG_FE_COLOR_MATRIX_TAG, SVG_FE_COMPONENT_TRANSFER_TAG, SVG_FE_COMPOSITE_K1_DEFAULT_VALUE, SVG_FE_COMPOSITE_K2_DEFAULT_VALUE, SVG_FE_COMPOSITE_K3_DEFAULT_VALUE, SVG_FE_COMPOSITE_K4_DEFAULT_VALUE, SVG_FE_COMPOSITE_OPERATOR_DEFAULT_VALUE, SVG_FE_COMPOSITE_TAG, SVG_FE_CONVOLVE_MATRIX_EDGE_MODE_DEFAULT_VALUE, SVG_FE_CONVOLVE_MATRIX_TAG, SVG_FE_DIFFUSE_LIGHTING_DIFFUSE_CONSTANT_DEFAULT_VALUE, SVG_FE_DIFFUSE_LIGHTING_SURFACE_SCALE_DEFAULT_VALUE, SVG_FE_DIFFUSE_LIGHTING_TAG, SVG_FE_DISPLACEMENT_MAP_SCALE_DEFAULT_VALUE, SVG_FE_DISPLACEMENT_MAP_TAG, SVG_FE_DISTANT_LIGHT_AZIMUTH_DEFAULT_VALUE, SVG_FE_DISTANT_LIGHT_ELEVATION_DEFAULT_VALUE, SVG_FE_DISTANT_LIGHT_TAG, SVG_FE_FLOOD_TAG, SVG_FE_FUNC_A_TAG, SVG_FE_FUNC_B_TAG, SVG_FE_FUNC_G_TAG, SVG_FE_FUNC_R_TAG, SVG_FE_GAUSSIAN_BLUR_TAG, SVG_FE_IMAGE_TAG, SVG_FE_MERGE_NODE_TAG, SVG_FE_MERGE_TAG, SVG_FE_MORPHOLOGY_TAG, SVG_FE_OFFSET_TAG, SVG_FE_POINT_LIGHT_TAG, SVG_FE_POINT_LIGHT_X_DEFAULT_VALUE, SVG_FE_POINT_LIGHT_Y_DEFAULT_VALUE, SVG_FE_POINT_LIGHT_Z_DEFAULT_VALUE, SVG_FE_SPECULAR_LIGHTING_SPECULAR_CONSTANT_DEFAULT_VALUE, SVG_FE_SPECULAR_LIGHTING_SPECULAR_EXPONENT_DEFAULT_VALUE, SVG_FE_SPECULAR_LIGHTING_SURFACE_SCALE_DEFAULT_VALUE, SVG_FE_SPECULAR_LIGHTING_TAG, SVG_FE_SPOT_LIGHT_LIMITING_CONE_ANGLE_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_POINTS_AT_X_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_POINTS_AT_Y_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_POINTS_AT_Z_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_SPECULAR_EXPONENT_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_TAG, SVG_FE_SPOT_LIGHT_X_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_Y_DEFAULT_VALUE, SVG_FE_SPOT_LIGHT_Z_DEFAULT_VALUE, SVG_FE_TILE_TAG, SVG_FE_TURBULENCE_NUM_OCTAVES_DEFAULT_VALUE, SVG_FE_TURBULENCE_SEED_DEFAULT_VALUE, SVG_FE_TURBULENCE_TAG, SVG_FILL_ATTRIBUTE, SVG_FILL_OPACITY_ATTRIBUTE, SVG_FILL_PAINT_VALUE, SVG_FILL_RULE_ATTRIBUTE, SVG_FILTER_ATTRIBUTE, SVG_FILTER_FILTER_UNITS_DEFAULT_VALUE, SVG_FILTER_HEIGHT_DEFAULT_VALUE, SVG_FILTER_PRIMITIVE_HEIGHT_DEFAULT_VALUE, SVG_FILTER_PRIMITIVE_UNITS_DEFAULT_VALUE, SVG_FILTER_PRIMITIVE_WIDTH_DEFAULT_VALUE, SVG_FILTER_PRIMITIVE_X_DEFAULT_VALUE, SVG_FILTER_PRIMITIVE_Y_DEFAULT_VALUE, SVG_FILTER_RES_ATTRIBUTE, SVG_FILTER_TAG, SVG_FILTER_UNITS_ATTRIBUTE, SVG_FILTER_WIDTH_DEFAULT_VALUE, SVG_FILTER_X_DEFAULT_VALUE, SVG_FILTER_Y_DEFAULT_VALUE, SVG_FLOOD_COLOR_ATTRIBUTE, SVG_FLOOD_OPACITY_ATTRIBUTE, SVG_FLOOD_VALUE, SVG_FONT_FACE_FONT_STRETCH_DEFAULT_VALUE, SVG_FONT_FACE_FONT_STYLE_DEFAULT_VALUE, SVG_FONT_FACE_FONT_VARIANT_DEFAULT_VALUE, SVG_FONT_FACE_FONT_WEIGHT_DEFAULT_VALUE, SVG_FONT_FACE_FORMAT_TAG, SVG_FONT_FACE_NAME_TAG, SVG_FONT_FACE_PANOSE_1_DEFAULT_VALUE, SVG_FONT_FACE_SLOPE_DEFAULT_VALUE, SVG_FONT_FACE_SRC_TAG, SVG_FONT_FACE_TAG, SVG_FONT_FACE_UNITS_PER_EM_DEFAULT_VALUE, SVG_FONT_FACE_URI_TAG, SVG_FONT_FAMILY_ATTRIBUTE, SVG_FONT_SIZE_ATTRIBUTE, SVG_FONT_STRETCH_ATTRIBUTE, SVG_FONT_STYLE_ATTRIBUTE, SVG_FONT_TAG, SVG_FONT_VARIANT_ATTRIBUTE, SVG_FONT_WEIGHT_ATTRIBUTE, SVG_FOREIGN_OBJECT_TAG, SVG_FOREIGN_OBJECT_X_DEFAULT_VALUE, SVG_FOREIGN_OBJECT_Y_DEFAULT_VALUE, SVG_FORMAT_ATTRIBUTE, SVG_FRACTAL_NOISE_VALUE, SVG_FROM_ATTRIBUTE, SVG_FX_ATTRIBUTE, SVG_FY_ATTRIBUTE, SVG_G_TAG, SVG_G_VALUE, SVG_G1_ATTRIBUTE, SVG_G2_ATTRIBUTE, SVG_GAMMA_VALUE, SVG_GEOMETRIC_PRECISION_VALUE, SVG_GLYPH_NAME_ATTRIBUTE, SVG_GLYPH_REF_ATTRIBUTE, SVG_GLYPH_REF_TAG, SVG_GLYPH_TAG, SVG_GRADIENT_TRANSFORM_ATTRIBUTE, SVG_GRADIENT_UNITS_ATTRIBUTE, SVG_H_VALUE, SVG_HANGING_ATTRIBUTE, SVG_HEIGHT_ATTRIBUTE, SVG_HELP_VALUE, SVG_HKERN_TAG, SVG_HORIZ_ADV_X_ATTRIBUTE, SVG_HORIZ_ORIGIN_X_ATTRIBUTE, SVG_HORIZ_ORIGIN_X_DEFAULT_VALUE, SVG_HORIZ_ORIGIN_Y_ATTRIBUTE, SVG_HORIZ_ORIGIN_Y_DEFAULT_VALUE, SVG_HUE_ROTATE_VALUE, SVG_HUNDRED_PERCENT_VALUE, SVG_ID_ATTRIBUTE, SVG_IDENTITY_VALUE, SVG_IDEOGRAPHIC_ATTRIBUTE, SVG_IMAGE_RENDERING_ATTRIBUTE, SVG_IMAGE_TAG, SVG_IMAGE_X_DEFAULT_VALUE, SVG_IMAGE_Y_DEFAULT_VALUE, SVG_IN_ATTRIBUTE, SVG_IN_VALUE, SVG_IN2_ATTRIBUTE, SVG_INITIAL_VALUE, SVG_INTERCEPT_ATTRIBUTE, SVG_ISOLATED_VALUE, SVG_ITALIC_VALUE, SVG_K_ATTRIBUTE, SVG_K1_ATTRIBUTE, SVG_K2_ATTRIBUTE, SVG_K3_ATTRIBUTE, SVG_K4_ATTRIBUTE, SVG_KERN_K_DEFAULT_VALUE, SVG_KERNEL_MATRIX_ATTRIBUTE, SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE, SVG_KERNING_ATTRIBUTE, SVG_KEY_POINTS_ATTRIBUTE, SVG_KEY_SPLINES_ATTRIBUTE, SVG_KEY_TIMES_ATTRIBUTE, SVG_KEYDOWN_EVENT_TYPE, SVG_KEYEVENTS_EVENT_TYPE, SVG_KEYPRESS_EVENT_TYPE, SVG_KEYUP_EVENT_TYPE, SVG_LANG_ATTRIBUTE, SVG_LENGTH_ADJUST_ATTRIBUTE, SVG_LIGHTEN_VALUE, SVG_LIGHTER_VALUE, SVG_LIGHTING_COLOR_ATTRIBUTE, SVG_LIMITING_CONE_ANGLE_ATTRIBUTE, SVG_LINE_TAG, SVG_LINE_X1_DEFAULT_VALUE, SVG_LINE_X2_DEFAULT_VALUE, SVG_LINE_Y1_DEFAULT_VALUE, SVG_LINE_Y2_DEFAULT_VALUE, SVG_LINEAR_GRADIENT_TAG, SVG_LINEAR_GRADIENT_X1_DEFAULT_VALUE, SVG_LINEAR_GRADIENT_X2_DEFAULT_VALUE, SVG_LINEAR_GRADIENT_Y1_DEFAULT_VALUE, SVG_LINEAR_GRADIENT_Y2_DEFAULT_VALUE, SVG_LINEAR_RGB_VALUE, SVG_LINEAR_VALUE, SVG_LOCAL_ATTRIBUTE, SVG_LUMINANCE_TO_ALPHA_VALUE, SVG_MAGNIFY_VALUE, SVG_MARKER_HEIGHT_ATTRIBUTE, SVG_MARKER_MARKER_HEIGHT_DEFAULT_VALUE, SVG_MARKER_MARKER_UNITS_DEFAULT_VALUE, SVG_MARKER_MARKER_WIDTH_DEFAULT_VALUE, SVG_MARKER_ORIENT_DEFAULT_VALUE, SVG_MARKER_REF_X_DEFAULT_VALUE, SVG_MARKER_REF_Y_DEFAULT_VALUE, SVG_MARKER_TAG, SVG_MARKER_UNITS_ATTRIBUTE, SVG_MARKER_WIDTH_ATTRIBUTE, SVG_MASK_ATTRIBUTE, SVG_MASK_CONTENT_UNITS_ATTRIBUTE, SVG_MASK_HEIGHT_DEFAULT_VALUE, SVG_MASK_MASK_UNITS_DEFAULT_VALUE, SVG_MASK_TAG, SVG_MASK_UNITS_ATTRIBUTE, SVG_MASK_WIDTH_DEFAULT_VALUE, SVG_MASK_X_DEFAULT_VALUE, SVG_MASK_Y_DEFAULT_VALUE, SVG_MATHEMATICAL_ATTRIBUTE, SVG_MATRIX_VALUE, SVG_MAX_ATTRIBUTE, SVG_MEDIA_ATTRIBUTE, SVG_MEDIAL_VALUE, SVG_MEET_VALUE, SVG_METADATA_TAG, SVG_METHOD_ATTRIBUTE, SVG_MIDDLE_VALUE, SVG_MIN_ATTRIBUTE, SVG_MISSING_GLYPH_TAG, SVG_MITER_VALUE, SVG_MODE_ATTRIBUTE, SVG_MOUSEDOWN_EVENT_TYPE, SVG_MOUSEEVENTS_EVENT_TYPE, SVG_MOUSEMOVE_EVENT_TYPE, SVG_MOUSEOUT_EVENT_TYPE, SVG_MOUSEOVER_EVENT_TYPE, SVG_MOUSEUP_EVENT_TYPE, SVG_MOVE_VALUE, SVG_MPATH_TAG, SVG_MULTIPLY_VALUE, SVG_N_RESIZE_VALUE, SVG_NAME_ATTRIBUTE, SVG_NAMESPACE_URI, SVG_NE_RESIZE_VALUE, SVG_NEW_VALUE, SVG_NINETY_VALUE, SVG_NO_STITCH_VALUE, SVG_NON_ZERO_VALUE, SVG_NONE_VALUE, SVG_NORMAL_VALUE, SVG_NUM_OCTAVES_ATTRIBUTE, SVG_NW_RESIZE_VALUE, SVG_OBJECT_BOUNDING_BOX_VALUE, SVG_OBLIQUE_VALUE, SVG_OFFSET_ATTRIBUTE, SVG_ONABORT_ATTRIBUTE, SVG_ONACTIVATE_ATTRIBUTE, SVG_ONBEGIN_ATTRIBUTE, SVG_ONCLICK_ATTRIBUTE, SVG_ONE_VALUE, SVG_ONEND_ATTRIBUTE, SVG_ONERROR_ATTRIBUTE, SVG_ONFOCUSIN_ATTRIBUTE, SVG_ONFOCUSOUT_ATTRIBUTE, SVG_ONKEYDOWN_ATTRIBUTE, SVG_ONKEYPRESS_ATTRIBUTE, SVG_ONKEYUP_ATTRIBUTE, SVG_ONLOAD_ATTRIBUTE, SVG_ONMOUSEDOWN_ATTRIBUTE, SVG_ONMOUSEMOVE_ATTRIBUTE, SVG_ONMOUSEOUT_ATTRIBUTE, SVG_ONMOUSEOVER_ATTRIBUTE, SVG_ONMOUSEUP_ATTRIBUTE, SVG_ONREPEAT_ATTRIBUTE, SVG_ONRESIZE_ATTRIBUTE, SVG_ONSCROLL_ATTRIBUTE, SVG_ONUNLOAD_ATTRIBUTE, SVG_ONZOOM_ATTRIBUTE, SVG_OPACITY_ATTRIBUTE, SVG_OPAQUE_VALUE, SVG_OPERATOR_ATTRIBUTE, SVG_OPTIMIZE_LEGIBILITY_VALUE, SVG_OPTIMIZE_QUALITY_VALUE, SVG_OPTIMIZE_SPEED_VALUE, SVG_ORDER_ATTRIBUTE, SVG_ORG_W3C_DOM_SVG_ALL_FEATURE, SVG_ORG_W3C_DOM_SVG_ANIMATION_FEATURE, SVG_ORG_W3C_DOM_SVG_DYNAMIC_FEATURE, SVG_ORG_W3C_DOM_SVG_FEATURE, SVG_ORG_W3C_DOM_SVG_STATIC_FEATURE, SVG_ORG_W3C_SVG_ALL_FEATURE, SVG_ORG_W3C_SVG_ANIMATION_FEATURE, SVG_ORG_W3C_SVG_DYNAMIC_FEATURE, SVG_ORG_W3C_SVG_FEATURE, SVG_ORG_W3C_SVG_STATIC_FEATURE, SVG_ORIENT_ATTRIBUTE, SVG_ORIENTATION_ATTRIBUTE, SVG_ORIGIN_ATTRIBUTE, SVG_OUT_VALUE, SVG_OVER_VALUE, SVG_OVERLINE_POSITION_ATTRIBUTE, SVG_OVERLINE_THICKNESS_ATTRIBUTE, SVG_PACED_VALUE, SVG_PAD_VALUE, SVG_PANOSE_1_ATTRIBUTE, SVG_PATH_ATTRIBUTE, SVG_PATH_LENGTH_ATTRIBUTE, SVG_PATH_TAG, SVG_PATTERN_CONTENT_UNITS_ATTRIBUTE, SVG_PATTERN_HEIGHT_DEFAULT_VALUE, SVG_PATTERN_TAG, SVG_PATTERN_TRANSFORM_ATTRIBUTE, SVG_PATTERN_UNITS_ATTRIBUTE, SVG_PATTERN_WIDTH_DEFAULT_VALUE, SVG_PATTERN_X_DEFAULT_VALUE, SVG_PATTERN_Y_DEFAULT_VALUE, SVG_PERCEPTUAL_VALUE, SVG_POINTER_VALUE, SVG_POINTS_AT_X_ATTRIBUTE, SVG_POINTS_AT_Y_ATTRIBUTE, SVG_POINTS_AT_Z_ATTRIBUTE, SVG_POINTS_ATTRIBUTE, SVG_POLYGON_TAG, SVG_POLYLINE_TAG, SVG_PRESERVE_ALPHA_ATTRIBUTE, SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE, SVG_PRESERVE_VALUE, SVG_PRIMITIVE_UNITS_ATTRIBUTE, SVG_PUBLIC_ID, SVG_R_ATTRIBUTE, SVG_R_VALUE, SVG_RADIAL_GRADIENT_CX_DEFAULT_VALUE, SVG_RADIAL_GRADIENT_CY_DEFAULT_VALUE, SVG_RADIAL_GRADIENT_R_DEFAULT_VALUE, SVG_RADIAL_GRADIENT_TAG, SVG_RADIUS_ATTRIBUTE, SVG_RECT_TAG, SVG_RECT_X_DEFAULT_VALUE, SVG_RECT_Y_DEFAULT_VALUE, SVG_REF_X_ATTRIBUTE, SVG_REF_Y_ATTRIBUTE, SVG_REFLECT_VALUE, SVG_RELATIVE_COLORIMETRIC_VALUE, SVG_RENDERING_INTENT_ATTRIBUTE, SVG_REPEAT_COUNT_ATTRIBUTE, SVG_REPEAT_DUR_ATTRIBUTE, SVG_REPEAT_VALUE, SVG_REQUIRED_EXTENSIONS_ATTRIBUTE, SVG_REQUIRED_FEATURES_ATTRIBUTE, SVG_RESTART_ATTRIBUTE, SVG_RESULT_ATTRIBUTE, SVG_ROTATE_ATTRIBUTE, SVG_ROUND_VALUE, SVG_RX_ATTRIBUTE, SVG_RY_ATTRIBUTE, SVG_S_RESIZE_VALUE, SVG_SATURATE_VALUE, SVG_SATURATION_VALUE, SVG_SCALE_ATTRIBUTE, SVG_SCREEN_VALUE, SVG_SCRIPT_TAG, SVG_SCRIPT_TYPE_APPLICATION_ECMASCRIPT, SVG_SCRIPT_TYPE_APPLICATION_JAVASCRIPT, SVG_SCRIPT_TYPE_DEFAULT_VALUE, SVG_SCRIPT_TYPE_ECMASCRIPT, SVG_SCRIPT_TYPE_JAVA, SVG_SCRIPT_TYPE_JAVASCRIPT, SVG_SE_RESIZE_VALUE, SVG_SEED_ATTRIBUTE, SVG_SET_TAG, SVG_SHAPE_RENDERING_ATTRIBUTE, SVG_SLICE_VALUE, SVG_SLOPE_ATTRIBUTE, SVG_SNAPSHOT_TIME_ATTRIBUTE, SVG_SOURCE_ALPHA_VALUE, SVG_SOURCE_GRAPHIC_VALUE, SVG_SPACE_ATTRIBUTE, SVG_SPACING_AND_GLYPHS_VALUE, SVG_SPACING_ATTRIBUTE, SVG_SPACING_VALUE, SVG_SPECULAR_CONSTANT_ATTRIBUTE, SVG_SPECULAR_EXPONENT_ATTRIBUTE, SVG_SPREAD_METHOD_ATTRIBUTE, SVG_SQUARE_VALUE, SVG_SRGB_VALUE, SVG_START_OFFSET_ATTRIBUTE, SVG_START_VALUE, SVG_STD_DEVIATION_ATTRIBUTE, SVG_STEMH_ATTRIBUTE, SVG_STEMV_ATTRIBUTE, SVG_STITCH_TILES_ATTRIBUTE, SVG_STITCH_VALUE, SVG_STOP_COLOR_ATTRIBUTE, SVG_STOP_OPACITY_ATTRIBUTE, SVG_STOP_TAG, SVG_STRETCH_VALUE, SVG_STRIKETHROUGH_POSITION_ATTRIBUTE, SVG_STRIKETHROUGH_THICKNESS_ATTRIBUTE, SVG_STRING_ATTRIBUTE, SVG_STROKE_ATTRIBUTE, SVG_STROKE_DASHARRAY_ATTRIBUTE, SVG_STROKE_DASHOFFSET_ATTRIBUTE, SVG_STROKE_LINECAP_ATTRIBUTE, SVG_STROKE_LINEJOIN_ATTRIBUTE, SVG_STROKE_MITERLIMIT_ATTRIBUTE, SVG_STROKE_OPACITY_ATTRIBUTE, SVG_STROKE_PAINT_VALUE, SVG_STROKE_WIDTH_ATTRIBUTE, SVG_STROKE_WIDTH_VALUE, SVG_STYLE_ATTRIBUTE, SVG_STYLE_TAG, SVG_SURFACE_SCALE_ATTRIBUTE, SVG_SVG_HEIGHT_DEFAULT_VALUE, SVG_SVG_TAG, SVG_SVG_WIDTH_DEFAULT_VALUE, SVG_SVG_X_DEFAULT_VALUE, SVG_SVG_Y_DEFAULT_VALUE, SVG_SVG11_ANIMATION_EVENTS_ATTRIBUTE_FEATURE, SVG_SVG11_ANIMATION_FEATURE, SVG_SVG11_BASIC_CLIP_FEATURE, SVG_SVG11_BASIC_FILTER_FEATURE, SVG_SVG11_BASIC_FONT_FEATURE, SVG_SVG11_BASIC_GRAPHICS_ATTRIBUTE_FEATURE, SVG_SVG11_BASIC_PAINT_ATTRIBUTE_FEATURE, SVG_SVG11_BASIC_STRUCTURE_FEATURE, SVG_SVG11_BASIC_TEXT_FEATURE, SVG_SVG11_CLIP_FEATURE, SVG_SVG11_COLOR_PROFILE_FEATURE, SVG_SVG11_CONDITIONAL_PROCESSING_FEATURE, SVG_SVG11_CONTAINER_ATTRIBUTE_FEATURE, SVG_SVG11_CORE_ATTRIBUTE_FEATURE, SVG_SVG11_CURSOR_FEATURE, SVG_SVG11_DOCUMENT_EVENTS_ATTRIBUTE_FEATURE, SVG_SVG11_EXTENSIBILITY_FEATURE, SVG_SVG11_EXTERNAL_RESOURCES_REQUIRED_FEATURE, SVG_SVG11_FILTER_FEATURE, SVG_SVG11_FONT_FEATURE, SVG_SVG11_GRADIENT_FEATURE, SVG_SVG11_GRAPHICAL_EVENTS_ATTRIBUTE_FEATURE, SVG_SVG11_GRAPHICS_ATTRIBUTE_FEATURE, SVG_SVG11_HYPERLINKING_FEATURE, SVG_SVG11_IMAGE_FEATURE, SVG_SVG11_MARKER_FEATURE, SVG_SVG11_MASK_FEATURE, SVG_SVG11_OPACITY_ATTRIBUTE_FEATURE, SVG_SVG11_PAINT_ATTRIBUTE_FEATURE, SVG_SVG11_PATTERN_FEATURE, SVG_SVG11_SCRIPT_FEATURE, SVG_SVG11_SHAPE_FEATURE, SVG_SVG11_STRUCTURE_FEATURE, SVG_SVG11_STYLE_FEATURE, SVG_SVG11_SVG_ANIMATION_FEATURE, SVG_SVG11_SVG_DOM_ANIMATION_FEATURE, SVG_SVG11_SVG_DOM_DYNAMIC_FEATURE, SVG_SVG11_SVG_DOM_FEATURE, SVG_SVG11_SVG_DOM_STATIC_FEATURE, SVG_SVG11_SVG_DYNAMIC_FEATURE, SVG_SVG11_SVG_FEATURE, SVG_SVG11_SVG_STATIC_FEATURE, SVG_SVG11_TEXT_FEATURE, SVG_SVG11_VIEW_FEATURE, SVG_SVG11_VIEWPORT_ATTRIBUTE_FEATURE, SVG_SVG11_XLINK_FEATURE, SVG_SVGABORT_EVENT_TYPE, SVG_SVGERROR_EVENT_TYPE, SVG_SVGEVENTS_EVENT_TYPE, SVG_SVGLOAD_EVENT_TYPE, SVG_SVGRESIZE_EVENT_TYPE, SVG_SVGSCROLL_EVENT_TYPE, SVG_SVGUNLOAD_EVENT_TYPE, SVG_SVGZOOM_EVENT_TYPE, SVG_SW_RESIZE_VALUE, SVG_SWITCH_TAG, SVG_SYMBOL_TAG, SVG_SYSTEM_ID, SVG_SYSTEM_LANGUAGE_ATTRIBUTE, SVG_TABLE_VALUE, SVG_TABLE_VALUES_ATTRIBUTE, SVG_TARGET_ATTRIBUTE, SVG_TARGET_X_ATTRIBUTE, SVG_TARGET_Y_ATTRIBUTE, SVG_TERMINAL_VALUE, SVG_TEXT_ANCHOR_ATTRIBUTE, SVG_TEXT_LENGTH_ATTRIBUTE, SVG_TEXT_PATH_START_OFFSET_DEFAULT_VALUE, SVG_TEXT_PATH_TAG, SVG_TEXT_RENDERING_ATTRIBUTE, SVG_TEXT_TAG, SVG_TEXT_VALUE, SVG_TITLE_ATTRIBUTE, SVG_TITLE_TAG, SVG_TO_ATTRIBUTE, SVG_TRANSFORM_ATTRIBUTE, SVG_TRANSLATE_VALUE, SVG_TREF_TAG, SVG_TRUE_VALUE, SVG_TSPAN_TAG, SVG_TURBULENCE_VALUE, SVG_TYPE_ATTRIBUTE, SVG_U1_ATTRIBUTE, SVG_U2_ATTRIBUTE, SVG_UIEVENTS_EVENT_TYPE, SVG_UNDERLINE_POSITION_ATTRIBUTE, SVG_UNDERLINE_THICKNESS_ATTRIBUTE, SVG_UNICODE_ATTRIBUTE, SVG_UNICODE_RANGE_ATTRIBUTE, SVG_UNITS_PER_EM_ATTRIBUTE, SVG_USE_HEIGHT_DEFAULT_VALUE, SVG_USE_TAG, SVG_USE_WIDTH_DEFAULT_VALUE, SVG_USE_X_DEFAULT_VALUE, SVG_USE_Y_DEFAULT_VALUE, SVG_USER_SPACE_ON_USE_VALUE, SVG_V_ALPHABETIC_ATTRIBUTE, SVG_V_HANGING_ATTRIBUTE, SVG_V_IDEOGRAPHIC_ATTRIBUTE, SVG_V_MATHEMATICAL_ATTRIBUTE, SVG_V_VALUE, SVG_VALUES_ATTRIBUTE, SVG_VERSION, SVG_VERSION_ATTRIBUTE, SVG_VERT_ADV_Y_ATTRIBUTE, SVG_VERT_ORIGIN_X_ATTRIBUTE, SVG_VERT_ORIGIN_Y_ATTRIBUTE, SVG_VIEW_BOX_ATTRIBUTE, SVG_VIEW_TAG, SVG_VIEW_TARGET_ATTRIBUTE, SVG_VKERN_TAG, SVG_W_RESIZE_VALUE, SVG_WAIT_VALUE, SVG_WIDTH_ATTRIBUTE, SVG_WIDTHS_ATTRIBUTE, SVG_WRAP_VALUE, SVG_X_ATTRIBUTE, SVG_X_CHANNEL_SELECTOR_ATTRIBUTE, SVG_X_HEIGHT_ATTRIBUTE, SVG_X1_ATTRIBUTE, SVG_X2_ATTRIBUTE, SVG_XMAXYMAX_VALUE, SVG_XMAXYMID_VALUE, SVG_XMAXYMIN_VALUE, SVG_XMIDYMAX_VALUE, SVG_XMIDYMID_VALUE, SVG_XMIDYMIN_VALUE, SVG_XMINYMAX_VALUE, SVG_XMINYMID_VALUE, SVG_XMINYMIN_VALUE, SVG_XOR_VALUE, SVG_Y_ATTRIBUTE, SVG_Y_CHANNEL_SELECTOR_ATTRIBUTE, SVG_Y1_ATTRIBUTE, SVG_Y2_ATTRIBUTE, SVG_Z_ATTRIBUTE, SVG_ZERO_PERCENT_VALUE, SVG_ZERO_VALUE, SVG_ZOOM_AND_PAN_ATTRIBUTE, TRANSFORM_MATRIX, TRANSFORM_ROTATE, TRANSFORM_SCALE, TRANSFORM_SKEWX, TRANSFORM_SKEWY, TRANSFORM_TRANSLATE
-
Fields inherited from interface org.apache.batik.dom.svg.SVGContext
PERCENTAGE_FONT_SIZE, PERCENTAGE_VIEWPORT_HEIGHT, PERCENTAGE_VIEWPORT_SIZE, PERCENTAGE_VIEWPORT_WIDTH
-
Fields inherited from interface org.apache.batik.constants.XMLConstants
XLINK_HREF_ATTRIBUTE, XLINK_HREF_QNAME, XLINK_NAMESPACE_URI, XLINK_PREFIX, XML_BASE_ATTRIBUTE, XML_BASE_QNAME, XML_CDATA_END, XML_CHAR_AMP, XML_CHAR_APOS, XML_CHAR_GT, XML_CHAR_LT, XML_CHAR_QUOT, XML_CHAR_REF_PREFIX, XML_CHAR_REF_SUFFIX, XML_CLOSE_TAG_END, XML_CLOSE_TAG_START, XML_DEFAULT_VALUE, XML_DOUBLE_DASH, XML_DOUBLE_QUOTE, XML_ENTITY_AMP, XML_ENTITY_APOS, XML_ENTITY_GT, XML_ENTITY_LT, XML_ENTITY_QUOT, XML_EQUAL_QUOT, XML_EQUAL_SIGN, XML_EVENTS_EVENT_ATTRIBUTE, XML_EVENTS_NAMESPACE_URI, XML_ID_ATTRIBUTE, XML_ID_QNAME, XML_LANG_ATTRIBUTE, XML_LANG_QNAME, XML_NAMESPACE_URI, XML_OPEN_TAG_END_CHILDREN, XML_OPEN_TAG_END_NO_CHILDREN, XML_OPEN_TAG_START, XML_PREFIX, XML_PRESERVE_VALUE, XML_PROCESSING_INSTRUCTION_END, XML_SPACE, XML_SPACE_ATTRIBUTE, XML_SPACE_QNAME, XML_TAB, XML_VERSION_10, XML_VERSION_11, XMLNS_NAMESPACE_URI, XMLNS_PREFIX
-
-
Constructor Summary
Constructors Constructor Description SVGTextElementBridge()
Constructs a new bridge for the <text> element.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addChildGlyphPositionAttributes(java.text.AttributedString as, org.w3c.dom.Element element, BridgeContext ctx)
protected void
addChildPaintAttributes(java.text.AttributedString as, org.w3c.dom.Element element, TextNode node, TextPaintInfo parentPI, BridgeContext ctx)
protected void
addContextToChild(BridgeContext ctx, org.w3c.dom.Element e)
Add to the element children of the node, anSVGContext
to support dynamic update.protected void
addGlyphPositionAttributes(java.text.AttributedString as, org.w3c.dom.Element element, BridgeContext ctx)
Adds glyph position attributes to an AttributedString.protected void
addPaintAttributes(java.text.AttributedString as, org.w3c.dom.Element element, TextNode node, TextPaintInfo pi, BridgeContext ctx)
Adds painting attributes to an AttributedString.protected void
addTextEventListeners(BridgeContext ctx, NodeEventTarget e)
Adds the DOM listeners for this text bridge.protected java.text.AttributedString
buildAttributedString(BridgeContext ctx, org.w3c.dom.Element element)
Creates the attributed string which represents the given text element children.void
buildGraphicsNode(BridgeContext ctx, org.w3c.dom.Element e, GraphicsNode node)
Builds using the specified BridgeContext and element, the specified graphics node.protected void
computeLaidoutText(BridgeContext ctx, org.w3c.dom.Element e, GraphicsNode node)
Recompute the layout of the <text> node.GraphicsNode
createGraphicsNode(BridgeContext ctx, org.w3c.dom.Element e)
Creates aGraphicsNode
according to the specified parameters.void
dispose()
Disposes this text element bridge by removing the text event listeners that were added ininitializeDynamicSupport(org.apache.batik.bridge.BridgeContext, org.w3c.dom.Element, org.apache.batik.gvt.GraphicsNode)
.protected float
distanceBetweenRun(SVGTextElementBridge.CharacterInformation last, SVGTextElementBridge.CharacterInformation first)
protected float
distanceFirstLastCharacterInRun(SVGTextElementBridge.CharacterInformation first, SVGTextElementBridge.CharacterInformation last)
protected void
fillAttributedStringBuffer(BridgeContext ctx, org.w3c.dom.Element element, boolean top, TextPath textPath, java.lang.Integer bidiLevel, java.util.Map initialAttributes, SVGTextElementBridge.AttributedStringBuffer asb)
Fills the given AttributedStringBuffer.protected java.util.Map
getAttributeMap(BridgeContext ctx, org.w3c.dom.Element element, TextPath textPath, java.lang.Integer bidiLevel, java.util.Map result)
Returns the map to pass to the current characters.protected SVGTextElementBridge.CharacterInformation
getCharacterInformation(java.util.List list, int startIndex, int charnum, java.text.AttributedCharacterIterator aci)
Retrieve the information about a character of en element.int
getCharNumAtPosition(float x, float y)
protected int
getCharNumAtPosition(org.w3c.dom.Element e, float x, float y)
float
getComputedTextLength()
protected float
getComputedTextLength(org.w3c.dom.Element e)
Implementation ofSVGTextContentElement.getComputedTextLength()
.(package private) int
getElementEndIndex(org.w3c.dom.Element element)
(package private) int
getElementStartIndex(org.w3c.dom.Element element)
protected java.awt.geom.Point2D
getEndPoint(SVGTextElementBridge.CharacterInformation info)
java.awt.geom.Point2D
getEndPositionOfChar(int charnum)
Returns the current text position after rendering the character in the user coordinate system for rendering the glyph(s) that correspond to the specified character.protected java.awt.geom.Point2D
getEndPositionOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getEndPositionOfChar(int charnum)
.java.awt.geom.Rectangle2D
getExtentOfChar(int charnum)
Returns a tightest rectangle which defines the minimum and maximum X and Y values in the user coordinate system for rendering the glyph(s) that correspond to the specified character.protected java.awt.geom.Rectangle2D
getExtentOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getExtentOfChar(int charnum)
.protected org.w3c.dom.Node
getFirstChild(org.w3c.dom.Node n)
Returns the first child node of the given node that should be processed by the text bridge.protected java.util.List
getFontList(BridgeContext ctx, org.w3c.dom.Element element, java.util.Map result)
This method adds all the font related properties toresult
It also builds a List of the GVTFonts and returns it.Bridge
getInstance()
Returns a new instance of this bridge.java.lang.String
getLocalName()
Returns 'text'.protected java.awt.geom.Point2D
getLocation(BridgeContext ctx, org.w3c.dom.Element e)
Returns the text node location according to the 'x' and 'y' attributes of the specified text element.protected org.w3c.dom.Node
getNextSibling(org.w3c.dom.Node n)
Returns the next sibling node of the given node that should be processed by the text bridge.int
getNumberOfChars()
Returns the total number of characters to be rendered within the current element.protected int
getNumberOfChars(org.w3c.dom.Element element)
Implementation ofSVGTextContentElement.getNumberOfChars()
.protected org.w3c.dom.Node
getParentNode(org.w3c.dom.Node n)
Returns the parent node of the given node that should be processed by the text bridge.protected TextPaintInfo
getParentTextPaintInfo(org.w3c.dom.Element child)
Retrieve in the AttributeString the closest parent of the node 'child' and extract the text decorations of the parent.float
getRotationOfChar(int charnum)
Returns the rotation value relative to the current user coordinate system used to render the glyph(s) corresponding to the specified character.protected float
getRotationOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getRotationOfChar(int charnum)
.protected java.awt.geom.Point2D
getStartPoint(SVGTextElementBridge.CharacterInformation info)
java.awt.geom.Point2D
getStartPositionOfChar(int charnum)
Returns the current text position before rendering the character in the user coordinate system for rendering the glyph(s) that correspond to the specified character.protected java.awt.geom.Point2D
getStartPositionOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getStartPositionOfChar(int charnum)
.float
getSubStringLength(int charnum, int nchars)
protected float
getSubStringLength(org.w3c.dom.Element element, int charnum, int nchars)
Implementation ofSVGTextContentElement.getSubStringLength(int charnum,int nchars)
.static java.awt.geom.Rectangle2D
getTextBounds(BridgeContext ctx, org.w3c.dom.Element elem, boolean checkSensitivity)
java.util.Set
getTextEnclosureSet(java.awt.geom.AffineTransform at, java.awt.geom.Rectangle2D rect)
static boolean
getTextIntersection(BridgeContext ctx, org.w3c.dom.Element elem, java.awt.geom.AffineTransform ati, java.awt.geom.Rectangle2D rect, boolean checkSensitivity)
java.util.Set
getTextIntersectionSet(java.awt.geom.AffineTransform at, java.awt.geom.Rectangle2D rect)
protected TextNode
getTextNode()
protected TextPaintInfo
getTextPaintInfo(org.w3c.dom.Element element, GraphicsNode node, TextPaintInfo parentTPI, BridgeContext ctx)
Constructs a TextDecoration object for the specified element.protected java.util.List
getTextRuns(TextNode node)
Retrieve the list of layout for the text node.void
handleAnimatedAttributeChanged(AnimatedLiveAttributeValue alav)
Invoked when the animated value of an animatable attribute has changed.void
handleCSSEngineEvent(CSSEngineEvent evt)
Invoked when CSS properties have changed on an element.protected void
handleCSSPropertyChanged(int property)
Invoked for each CSS property that has changed.void
handleDOMCharacterDataModified(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMCharacterDataModified' is fired.void
handleDOMChildNodeRemovedEvent(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.void
handleDOMNodeInsertedEvent(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.void
handleDOMSubtreeModifiedEvent(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMSubtree' is fired.protected void
initializeDynamicSupport(BridgeContext ctx, org.w3c.dom.Element e, GraphicsNode node)
This method ensures that any modification to a text element and its children is going to be reflected into the GVT tree.protected GraphicsNode
instantiateGraphicsNode()
Creates the GraphicsNode depending on the GraphicsNodeBridge implementation.boolean
isComposite()
Returns false as text is not a container.protected boolean
isParentDisplayed(org.w3c.dom.Node childNode)
Indicate of the parent of a node is a displayed element.protected boolean
isTextChild(org.w3c.dom.Element e)
protected boolean
isTextElement(org.w3c.dom.Element e)
static boolean
isTextSensitive(org.w3c.dom.Element e)
protected boolean
nodeAncestorOf(org.w3c.dom.Node node1, org.w3c.dom.Node node2)
Returns true if node1 is an ancestor of node2protected java.lang.String
normalizeString(java.lang.String s, boolean preserve, boolean stripfirst)
Normalizes the given string.protected void
rebuildACI()
protected void
removeContextFromChild(BridgeContext ctx, org.w3c.dom.Element e)
From theSVGContext
from the element children of the node.protected void
removeTextEventListeners(BridgeContext ctx, NodeEventTarget e)
Removes the DOM listeners for this text bridge.void
selectSubString(int charnum, int nchars)
Causes the specified substring to be selected just as if the user selected the substring interactively.protected void
selectSubString(org.w3c.dom.Element element, int charnum, int nchars)
Select an ensemble of characters for that element.void
setBaseTextPaintInfo(TextPaintInfo pi, org.w3c.dom.Element element, GraphicsNode node, BridgeContext ctx)
void
setDecorationTextPaintInfo(TextPaintInfo pi, org.w3c.dom.Element element)
-
Methods inherited from class org.apache.batik.bridge.AbstractGraphicsNodeBridge
associateSVGContext, checkBBoxChange, computeTransform, disposeTree, disposeTree, fireBBoxChangeEvent, fireShapeChangeEvent, getBBox, getCTM, getDisplay, getFontSize, getGlobalTransform, getPixelToMM, getPixelUnitToMillimeter, getScreenTransform, getViewportHeight, getViewportWidth, handleDOMAttrModifiedEvent, handleDOMNodeRemovedEvent, handleGeometryChanged, handleOtherAnimationChanged, setScreenTransform, setTransform
-
Methods inherited from class org.apache.batik.bridge.AnimatableSVGBridge
addTargetListener, fireBaseAttributeListeners, removeTargetListener
-
Methods inherited from class org.apache.batik.bridge.AbstractSVGBridge
getNamespaceURI
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.batik.bridge.Bridge
getNamespaceURI
-
-
-
-
Field Detail
-
ZERO
protected static final java.lang.Integer ZERO
-
TEXT_COMPOUND_DELIMITER
public static final java.text.AttributedCharacterIterator.Attribute TEXT_COMPOUND_DELIMITER
-
TEXT_COMPOUND_ID
public static final java.text.AttributedCharacterIterator.Attribute TEXT_COMPOUND_ID
-
PAINT_INFO
public static final java.text.AttributedCharacterIterator.Attribute PAINT_INFO
-
ALT_GLYPH_HANDLER
public static final java.text.AttributedCharacterIterator.Attribute ALT_GLYPH_HANDLER
-
TEXTPATH
public static final java.text.AttributedCharacterIterator.Attribute TEXTPATH
-
ANCHOR_TYPE
public static final java.text.AttributedCharacterIterator.Attribute ANCHOR_TYPE
-
GVT_FONT_FAMILIES
public static final java.text.AttributedCharacterIterator.Attribute GVT_FONT_FAMILIES
-
GVT_FONTS
public static final java.text.AttributedCharacterIterator.Attribute GVT_FONTS
-
BASELINE_SHIFT
public static final java.text.AttributedCharacterIterator.Attribute BASELINE_SHIFT
-
laidoutText
protected java.text.AttributedString laidoutText
-
elemTPI
protected java.util.WeakHashMap elemTPI
-
usingComplexSVGFont
protected boolean usingComplexSVGFont
-
childNodeRemovedEventListener
protected SVGTextElementBridge.DOMChildNodeRemovedEventListener childNodeRemovedEventListener
The DOM EventListener to receive 'DOMNodeRemoved' event.
-
subtreeModifiedEventListener
protected SVGTextElementBridge.DOMSubtreeModifiedEventListener subtreeModifiedEventListener
The DOM EventListener to receive 'DOMSubtreeModified' event.
-
hasNewACI
private boolean hasNewACI
This flag bit indicates if a new ACI has been created in response to a CSSEngineEvent. Avoid creating one ShapePainter per CSS property change
-
cssProceedElement
private org.w3c.dom.Element cssProceedElement
This is the element a CSS property has changed.
-
endLimit
protected int endLimit
This is used to store the end of the last piece of text content from an element with xml:space="preserve". When we are stripping trailing spaces we need to make sure we don't strip anything before this point.
-
-
Method Detail
-
getLocalName
public java.lang.String getLocalName()
Returns 'text'.- Specified by:
getLocalName
in interfaceBridge
-
getInstance
public Bridge getInstance()
Returns a new instance of this bridge.- Specified by:
getInstance
in interfaceBridge
- Specified by:
getInstance
in interfaceGraphicsNodeBridge
- Overrides:
getInstance
in classAbstractSVGBridge
-
getTextNode
protected TextNode getTextNode()
-
createGraphicsNode
public GraphicsNode createGraphicsNode(BridgeContext ctx, org.w3c.dom.Element e)
Creates aGraphicsNode
according to the specified parameters.- Specified by:
createGraphicsNode
in interfaceGraphicsNodeBridge
- Overrides:
createGraphicsNode
in classAbstractGraphicsNodeBridge
- Parameters:
ctx
- the bridge context to usee
- the element that describes the graphics node to build- Returns:
- a graphics node that represents the specified element
-
instantiateGraphicsNode
protected GraphicsNode instantiateGraphicsNode()
Creates the GraphicsNode depending on the GraphicsNodeBridge implementation.- Specified by:
instantiateGraphicsNode
in classAbstractGraphicsNodeBridge
-
getLocation
protected java.awt.geom.Point2D getLocation(BridgeContext ctx, org.w3c.dom.Element e)
Returns the text node location according to the 'x' and 'y' attributes of the specified text element.- Parameters:
ctx
- the bridge context to usee
- the text element
-
isTextElement
protected boolean isTextElement(org.w3c.dom.Element e)
-
isTextChild
protected boolean isTextChild(org.w3c.dom.Element e)
-
buildGraphicsNode
public void buildGraphicsNode(BridgeContext ctx, org.w3c.dom.Element e, GraphicsNode node)
Builds using the specified BridgeContext and element, the specified graphics node.- Specified by:
buildGraphicsNode
in interfaceGraphicsNodeBridge
- Overrides:
buildGraphicsNode
in classAbstractGraphicsNodeBridge
- Parameters:
ctx
- the bridge context to usee
- the element that describes the graphics node to buildnode
- the graphics node to build
-
isComposite
public boolean isComposite()
Returns false as text is not a container.- Specified by:
isComposite
in interfaceGraphicsNodeBridge
-
getFirstChild
protected org.w3c.dom.Node getFirstChild(org.w3c.dom.Node n)
Returns the first child node of the given node that should be processed by the text bridge.
-
getNextSibling
protected org.w3c.dom.Node getNextSibling(org.w3c.dom.Node n)
Returns the next sibling node of the given node that should be processed by the text bridge.
-
getParentNode
protected org.w3c.dom.Node getParentNode(org.w3c.dom.Node n)
Returns the parent node of the given node that should be processed by the text bridge.
-
initializeDynamicSupport
protected void initializeDynamicSupport(BridgeContext ctx, org.w3c.dom.Element e, GraphicsNode node)
This method ensures that any modification to a text element and its children is going to be reflected into the GVT tree.- Overrides:
initializeDynamicSupport
in classAbstractGraphicsNodeBridge
-
addTextEventListeners
protected void addTextEventListeners(BridgeContext ctx, NodeEventTarget e)
Adds the DOM listeners for this text bridge.
-
removeTextEventListeners
protected void removeTextEventListeners(BridgeContext ctx, NodeEventTarget e)
Removes the DOM listeners for this text bridge.
-
dispose
public void dispose()
Disposes this text element bridge by removing the text event listeners that were added ininitializeDynamicSupport(org.apache.batik.bridge.BridgeContext, org.w3c.dom.Element, org.apache.batik.gvt.GraphicsNode)
.- Specified by:
dispose
in interfaceBridgeUpdateHandler
- Overrides:
dispose
in classAbstractGraphicsNodeBridge
-
addContextToChild
protected void addContextToChild(BridgeContext ctx, org.w3c.dom.Element e)
Add to the element children of the node, anSVGContext
to support dynamic update. This is recursive, the children of the nodes are also traversed to add to the support elements their context- Parameters:
ctx
- aBridgeContext
valuee
- anElement
value- See Also:
SVGContext
,BridgeUpdateHandler
-
removeContextFromChild
protected void removeContextFromChild(BridgeContext ctx, org.w3c.dom.Element e)
From theSVGContext
from the element children of the node.- Parameters:
ctx
- theBridgeContext
for the documente
- theElement
whose subtree's elements will have threirSVGContext
s removed- See Also:
SVGContext
,BridgeUpdateHandler
-
handleDOMNodeInsertedEvent
public void handleDOMNodeInsertedEvent(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.- Specified by:
handleDOMNodeInsertedEvent
in interfaceBridgeUpdateHandler
- Overrides:
handleDOMNodeInsertedEvent
in classAbstractGraphicsNodeBridge
-
handleDOMChildNodeRemovedEvent
public void handleDOMChildNodeRemovedEvent(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.
-
handleDOMSubtreeModifiedEvent
public void handleDOMSubtreeModifiedEvent(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMSubtree' is fired.
-
handleDOMCharacterDataModified
public void handleDOMCharacterDataModified(org.w3c.dom.events.MutationEvent evt)
Invoked when an MutationEvent of type 'DOMCharacterDataModified' is fired.- Specified by:
handleDOMCharacterDataModified
in interfaceBridgeUpdateHandler
- Overrides:
handleDOMCharacterDataModified
in classAbstractGraphicsNodeBridge
-
isParentDisplayed
protected boolean isParentDisplayed(org.w3c.dom.Node childNode)
Indicate of the parent of a node is a displayed element. <title>, <desc> and <metadata> are non displayable elements.- Returns:
- true if the parent of the node is <text>, <tspan>, <tref>, <textPath>, <a>, <altGlyph>
-
computeLaidoutText
protected void computeLaidoutText(BridgeContext ctx, org.w3c.dom.Element e, GraphicsNode node)
Recompute the layout of the <text> node. Assign onto the TextNode pending to the element the new recomputed AttributedString. Also updatelaidoutText
with the new value.
-
handleAnimatedAttributeChanged
public void handleAnimatedAttributeChanged(AnimatedLiveAttributeValue alav)
Invoked when the animated value of an animatable attribute has changed.- Specified by:
handleAnimatedAttributeChanged
in interfaceBridgeUpdateHandler
- Overrides:
handleAnimatedAttributeChanged
in classAbstractGraphicsNodeBridge
-
handleCSSEngineEvent
public void handleCSSEngineEvent(CSSEngineEvent evt)
Invoked when CSS properties have changed on an element.- Specified by:
handleCSSEngineEvent
in interfaceBridgeUpdateHandler
- Overrides:
handleCSSEngineEvent
in classAbstractGraphicsNodeBridge
- Parameters:
evt
- the CSSEngine event that describes the update
-
handleCSSPropertyChanged
protected void handleCSSPropertyChanged(int property)
Invoked for each CSS property that has changed.- Overrides:
handleCSSPropertyChanged
in classAbstractGraphicsNodeBridge
-
rebuildACI
protected void rebuildACI()
-
getElementStartIndex
int getElementStartIndex(org.w3c.dom.Element element)
-
getElementEndIndex
int getElementEndIndex(org.w3c.dom.Element element)
-
buildAttributedString
protected java.text.AttributedString buildAttributedString(BridgeContext ctx, org.w3c.dom.Element element)
Creates the attributed string which represents the given text element children.- Parameters:
ctx
- the bridge context to useelement
- the text element
-
fillAttributedStringBuffer
protected void fillAttributedStringBuffer(BridgeContext ctx, org.w3c.dom.Element element, boolean top, TextPath textPath, java.lang.Integer bidiLevel, java.util.Map initialAttributes, SVGTextElementBridge.AttributedStringBuffer asb)
Fills the given AttributedStringBuffer.
-
normalizeString
protected java.lang.String normalizeString(java.lang.String s, boolean preserve, boolean stripfirst)
Normalizes the given string.
-
nodeAncestorOf
protected boolean nodeAncestorOf(org.w3c.dom.Node node1, org.w3c.dom.Node node2)
Returns true if node1 is an ancestor of node2
-
addGlyphPositionAttributes
protected void addGlyphPositionAttributes(java.text.AttributedString as, org.w3c.dom.Element element, BridgeContext ctx)
Adds glyph position attributes to an AttributedString.
-
addChildGlyphPositionAttributes
protected void addChildGlyphPositionAttributes(java.text.AttributedString as, org.w3c.dom.Element element, BridgeContext ctx)
-
addPaintAttributes
protected void addPaintAttributes(java.text.AttributedString as, org.w3c.dom.Element element, TextNode node, TextPaintInfo pi, BridgeContext ctx)
Adds painting attributes to an AttributedString.
-
addChildPaintAttributes
protected void addChildPaintAttributes(java.text.AttributedString as, org.w3c.dom.Element element, TextNode node, TextPaintInfo parentPI, BridgeContext ctx)
-
getFontList
protected java.util.List getFontList(BridgeContext ctx, org.w3c.dom.Element element, java.util.Map result)
This method adds all the font related properties toresult
It also builds a List of the GVTFonts and returns it.
-
getAttributeMap
protected java.util.Map getAttributeMap(BridgeContext ctx, org.w3c.dom.Element element, TextPath textPath, java.lang.Integer bidiLevel, java.util.Map result)
Returns the map to pass to the current characters.- Parameters:
ctx
- the BridgeContext to use for throwing exceptionselement
- the text element whose attributes are being collectedtextPath
- the text path that the characters ofelement
will be placed alongbidiLevel
- the bidi level ofelement
result
- a Map into which the attributes ofelement
's characters will be stored- Returns:
- a new Map that contains the attributes that must be inherited into a child element if the given element has no characters before the child element
-
getParentTextPaintInfo
protected TextPaintInfo getParentTextPaintInfo(org.w3c.dom.Element child)
Retrieve in the AttributeString the closest parent of the node 'child' and extract the text decorations of the parent.- Parameters:
child
- anElement
value- Returns:
- a
TextDecoration
value
-
getTextPaintInfo
protected TextPaintInfo getTextPaintInfo(org.w3c.dom.Element element, GraphicsNode node, TextPaintInfo parentTPI, BridgeContext ctx)
Constructs a TextDecoration object for the specified element. This will contain all of the decoration properties to be used when drawing the text.
-
setBaseTextPaintInfo
public void setBaseTextPaintInfo(TextPaintInfo pi, org.w3c.dom.Element element, GraphicsNode node, BridgeContext ctx)
-
setDecorationTextPaintInfo
public void setDecorationTextPaintInfo(TextPaintInfo pi, org.w3c.dom.Element element)
-
getNumberOfChars
public int getNumberOfChars()
Description copied from interface:SVGTextContent
Returns the total number of characters to be rendered within the current element. Includes characters which are included via a <tref> reference.- Specified by:
getNumberOfChars
in interfaceSVGTextContent
- Returns:
- Total number of characters.
-
getExtentOfChar
public java.awt.geom.Rectangle2D getExtentOfChar(int charnum)
Description copied from interface:SVGTextContent
Returns a tightest rectangle which defines the minimum and maximum X and Y values in the user coordinate system for rendering the glyph(s) that correspond to the specified character. The calculations assume that all glyphs occupy the full standard glyph cell for the font. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the same extent.- Specified by:
getExtentOfChar
in interfaceSVGTextContent
- Parameters:
charnum
- The index of the character, where the first character has an index of 0.- Returns:
- The rectangle which encloses all of the rendered glyph(s).
-
getStartPositionOfChar
public java.awt.geom.Point2D getStartPositionOfChar(int charnum)
Description copied from interface:SVGTextContent
Returns the current text position before rendering the character in the user coordinate system for rendering the glyph(s) that correspond to the specified character. The current text position has already taken into account the effects of any inter- character adjustments due to properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes x, y, dx and dy. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the start position for the first glyph.- Specified by:
getStartPositionOfChar
in interfaceSVGTextContent
- Parameters:
charnum
- The index of the character, where the first character has an index of 0.- Returns:
- The character's start position.
-
getEndPositionOfChar
public java.awt.geom.Point2D getEndPositionOfChar(int charnum)
Description copied from interface:SVGTextContent
Returns the current text position after rendering the character in the user coordinate system for rendering the glyph(s) that correspond to the specified character. This current text position does not take into account the effects of any inter- character adjustments to prepare for the next character, such as properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes x, y, dx and dy. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the end position for the last glyph.- Specified by:
getEndPositionOfChar
in interfaceSVGTextContent
- Parameters:
charnum
- The index of the character, where the first character has an index of 0.- Returns:
- The character's end position.
-
selectSubString
public void selectSubString(int charnum, int nchars)
Description copied from interface:SVGTextContent
Causes the specified substring to be selected just as if the user selected the substring interactively.- Specified by:
selectSubString
in interfaceSVGTextContent
- Parameters:
charnum
- : The index of the start character which is at the given point, where the first character has an index of 0.nchars
- : The number of characters in the substring. If nchars specifies more characters than are available, then the substring will consist of all characters starting with charnum until the end of the list of characters.
-
getRotationOfChar
public float getRotationOfChar(int charnum)
Description copied from interface:SVGTextContent
Returns the rotation value relative to the current user coordinate system used to render the glyph(s) corresponding to the specified character. If multiple glyph(s) are used to render the given character and the glyphs each have different rotations (e.g., due to text-on-a-path), the user agent shall return an average value (e.g., the rotation angle at the midpoint along the path for all glyphs used to render this character). The rotation value represents the rotation that is supplemental to any rotation due to properties 'glyph-orientation-horizontal' and 'glyph-orientation-vertical'; thus, any glyph rotations due to these properties are not included into the returned rotation value. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the same rotation value.- Specified by:
getRotationOfChar
in interfaceSVGTextContent
- Parameters:
charnum
- The index of the character, where the first character has an index of 0.- Returns:
- The character's rotation angle.
-
getComputedTextLength
public float getComputedTextLength()
- Specified by:
getComputedTextLength
in interfaceSVGTextContent
-
getSubStringLength
public float getSubStringLength(int charnum, int nchars)
- Specified by:
getSubStringLength
in interfaceSVGTextContent
-
getCharNumAtPosition
public int getCharNumAtPosition(float x, float y)
- Specified by:
getCharNumAtPosition
in interfaceSVGTextContent
-
getNumberOfChars
protected int getNumberOfChars(org.w3c.dom.Element element)
Implementation ofSVGTextContentElement.getNumberOfChars()
.
-
getExtentOfChar
protected java.awt.geom.Rectangle2D getExtentOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getExtentOfChar(int charnum)
.
-
getStartPositionOfChar
protected java.awt.geom.Point2D getStartPositionOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getStartPositionOfChar(int charnum)
.
-
getStartPoint
protected java.awt.geom.Point2D getStartPoint(SVGTextElementBridge.CharacterInformation info)
-
getEndPositionOfChar
protected java.awt.geom.Point2D getEndPositionOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getEndPositionOfChar(int charnum)
.
-
getEndPoint
protected java.awt.geom.Point2D getEndPoint(SVGTextElementBridge.CharacterInformation info)
-
getRotationOfChar
protected float getRotationOfChar(org.w3c.dom.Element element, int charnum)
Implementation ofSVGTextContentElement.getRotationOfChar(int charnum)
.
-
getComputedTextLength
protected float getComputedTextLength(org.w3c.dom.Element e)
Implementation ofSVGTextContentElement.getComputedTextLength()
.
-
getSubStringLength
protected float getSubStringLength(org.w3c.dom.Element element, int charnum, int nchars)
Implementation ofSVGTextContentElement.getSubStringLength(int charnum,int nchars)
.
-
distanceFirstLastCharacterInRun
protected float distanceFirstLastCharacterInRun(SVGTextElementBridge.CharacterInformation first, SVGTextElementBridge.CharacterInformation last)
-
distanceBetweenRun
protected float distanceBetweenRun(SVGTextElementBridge.CharacterInformation last, SVGTextElementBridge.CharacterInformation first)
-
selectSubString
protected void selectSubString(org.w3c.dom.Element element, int charnum, int nchars)
Select an ensemble of characters for that element. TODO : report the selection to the selection manager in JSVGComponent.
-
getCharNumAtPosition
protected int getCharNumAtPosition(org.w3c.dom.Element e, float x, float y)
-
getTextRuns
protected java.util.List getTextRuns(TextNode node)
Retrieve the list of layout for the text node.
-
getCharacterInformation
protected SVGTextElementBridge.CharacterInformation getCharacterInformation(java.util.List list, int startIndex, int charnum, java.text.AttributedCharacterIterator aci)
Retrieve the information about a character of en element. The element first character in the ACI is 'firstChar' and the character look for is the charnum th character in the element- Parameters:
list
- list of the layoutsstartIndex
- index in the ACI of the first character for the elementcharnum
- index of the character (among the characters of the element) looked for.- Returns:
- information about the glyph representing the character
-
getTextIntersectionSet
public java.util.Set getTextIntersectionSet(java.awt.geom.AffineTransform at, java.awt.geom.Rectangle2D rect)
-
getTextEnclosureSet
public java.util.Set getTextEnclosureSet(java.awt.geom.AffineTransform at, java.awt.geom.Rectangle2D rect)
-
getTextIntersection
public static boolean getTextIntersection(BridgeContext ctx, org.w3c.dom.Element elem, java.awt.geom.AffineTransform ati, java.awt.geom.Rectangle2D rect, boolean checkSensitivity)
-
getTextBounds
public static java.awt.geom.Rectangle2D getTextBounds(BridgeContext ctx, org.w3c.dom.Element elem, boolean checkSensitivity)
-
isTextSensitive
public static boolean isTextSensitive(org.w3c.dom.Element e)
-
-