diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/LineComponent.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/LineComponent.java index b5ce2b1fc7..20638e7874 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/LineComponent.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/LineComponent.java @@ -35,6 +35,7 @@ import java.awt.Rectangle; import lombok.Builder; import lombok.Getter; import lombok.Setter; +import net.runelite.client.util.Text; @Setter @Builder @@ -146,7 +147,7 @@ public class LineComponent implements LayoutableRenderableEntity private static int getLineWidth(final String line, final FontMetrics metrics) { - return metrics.stringWidth(TextComponent.textWithoutColTags(line)); + return metrics.stringWidth(Text.removeTags(line)); } private static String[] lineBreakText(String text, int maxWidth, FontMetrics metrics) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TextComponent.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TextComponent.java index 98532a8d7c..97e4c9db65 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TextComponent.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TextComponent.java @@ -32,36 +32,31 @@ import java.awt.Point; import java.util.regex.Pattern; import lombok.Setter; import net.runelite.client.ui.overlay.RenderableEntity; +import net.runelite.client.util.Text; @Setter public class TextComponent implements RenderableEntity { private static final String COL_TAG_REGEX = "()"; private static final Pattern COL_TAG_PATTERN_W_LOOKAHEAD = Pattern.compile("(?=" + COL_TAG_REGEX + ")"); - private static final Pattern COL_TAG_PATTERN = Pattern.compile(COL_TAG_REGEX); private String text; private Point position = new Point(); private Color color = Color.WHITE; - public static String textWithoutColTags(String text) - { - return COL_TAG_PATTERN.matcher(text).replaceAll(""); - } - @Override public Dimension render(Graphics2D graphics) { final FontMetrics fontMetrics = graphics.getFontMetrics(); - if (COL_TAG_PATTERN.matcher(text).find()) + if (COL_TAG_PATTERN_W_LOOKAHEAD.matcher(text).find()) { final String[] parts = COL_TAG_PATTERN_W_LOOKAHEAD.split(text); int x = position.x; for (String textSplitOnCol : parts) { - final String textWithoutCol = textWithoutColTags(textSplitOnCol); + final String textWithoutCol = Text.removeTags(textSplitOnCol); final String colColor = textSplitOnCol.substring(textSplitOnCol.indexOf("=") + 1, textSplitOnCol.indexOf(">")); // shadow