Rich text label shifts around text when changing the color dynamically via BBCode

Godot Version

4.5.1

Question

I am creating a typing game, and I have been using the Rich Text label with BBCode. The issue is when I change the color of different parts of the text dynamically (current character, untyped, incorrect etc.) the text will shift around left or right when the colors change, especially toward the middle of the text.

I tried manually messing around with the tags, and I found that after about 3 color tags being applied, it usually shifts the text a few pixels.

I also tried using a monospace font, and that didn’t fix the issue.

How are you applying the color? I recommend trying to use the push_color function.

I am using parse_bbcode() to apply the bbcode tags with the whole text string.
Can the push_color function push to color to a certain location in the text, and remove colors from a certain location?