Class SvgTextUtil
java.lang.Object
com.itextpdf.svg.utils.SvgTextUtil
Class containing utility methods for text operations in the context of SVG processing
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final floatprivate static final floatprivate static final float -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddUnderline(SvgDrawContext context, List<Underline> underlineList, Color strokeColor, float strokeOpacity, Color fillColor, float fillOpacity, float textDecorationLine, boolean doFill, boolean doStroke) static voidapplyTextDecoration(ISvgTextNodeRenderer renderer, boolean doFill, boolean doStroke, SvgDrawContext context) Processes text-decoration attribute which is shorthand for text-decoration-line and text-decoration-style.static StringfilterReferenceValue(String name) The reference value may contain a hashtag character or 'url' designation and this method will filter them.static booleanCheck if the String is only composed of whitespace charactersstatic voidprocessWhiteSpace(TextSvgBranchRenderer root, boolean isLeadingElement) Deprecated.static voidprocessWhiteSpace(TextSvgBranchRenderer root, boolean isLeadingElement, SvgDrawContext context) Process the whitespace inside the Text Tree.static floatresolveFontSize(ISvgTextNodeRenderer renderer, float parentFontSize) Deprecated.will be removed together withTextLeafSvgNodeRenderer.getTextContentLength(float, PdfFont)static StringtrimLeadingWhitespace(String toTrim) Trim all the leading whitespace characters from the passed stringstatic StringtrimTrailingWhitespace(String toTrim) Trim all the trailing whitespace characters from the passed string
-
Field Details
-
TEXT_DECORATION_LINE_THROUGH_Y_POS
private static final float TEXT_DECORATION_LINE_THROUGH_Y_POS- See Also:
-
TEXT_DECORATION_LINE_OVER_Y_POS
private static final float TEXT_DECORATION_LINE_OVER_Y_POS- See Also:
-
TEXT_DECORATION_LINE_UNDER_Y_POS
private static final float TEXT_DECORATION_LINE_UNDER_Y_POS- See Also:
-
-
Constructor Details
-
SvgTextUtil
private SvgTextUtil()
-
-
Method Details
-
trimLeadingWhitespace
-
trimTrailingWhitespace
-
processWhiteSpace
@Deprecated public static void processWhiteSpace(TextSvgBranchRenderer root, boolean isLeadingElement) Deprecated.Process the whitespace inside the Text Tree. Whitespace is collapsed and new lines are handled A leading element in each subtree is handled different: the preceding whitespace is trimmed instead of kept- Parameters:
root- root of the text-renderer subtreeisLeadingElement- true if this element is a leading element(either the first child or the first element after an absolute position change)
-
processWhiteSpace
public static void processWhiteSpace(TextSvgBranchRenderer root, boolean isLeadingElement, SvgDrawContext context) Process the whitespace inside the Text Tree. Whitespace is collapsed and new lines are handled A leading element in each subtree is handled different: the preceding whitespace is trimmed instead of kept- Parameters:
root- root of the text-renderer subtreeisLeadingElement- true if this element is a leading element(either the first child or the first element after an absolute position change)context- the svg draw context
-
isOnlyWhiteSpace
Check if the String is only composed of whitespace characters- Parameters:
s- string to check- Returns:
- true if the string only contains whitespace characters, false otherwise
-
resolveFontSize
@Deprecated public static float resolveFontSize(ISvgTextNodeRenderer renderer, float parentFontSize) Deprecated.will be removed together withTextLeafSvgNodeRenderer.getTextContentLength(float, PdfFont)Resolve the font size stored inside the passed renderer- Parameters:
renderer- renderer containing the font size declarationparentFontSize- parent font size to fall back on if the renderer does not contain a font size declarations or if the stored declaration is invalid- Returns:
- float containing the font-size, or the parent font size if the renderer's declaration cannot be resolved
-
filterReferenceValue
-
applyTextDecoration
public static void applyTextDecoration(ISvgTextNodeRenderer renderer, boolean doFill, boolean doStroke, SvgDrawContext context) Processes text-decoration attribute which is shorthand for text-decoration-line and text-decoration-style.Note, that text-decoration from styles (resolved in SvgStyleResolver) takes precedence when both are specified.
- Parameters:
renderer- to apply text-decoration fordoFill- boolean specifying whether text should be filleddoStroke- boolean specifying whether text should be strokedcontext- current SVG draw context
-
addUnderline
private static void addUnderline(SvgDrawContext context, List<Underline> underlineList, Color strokeColor, float strokeOpacity, Color fillColor, float fillOpacity, float textDecorationLine, boolean doFill, boolean doStroke)
-
processWhiteSpace(TextSvgBranchRenderer, boolean, SvgDrawContext)instead