Ok thanks,
The fixed-width font worked with a bit of code on the strings
I multiplied the length of the value string ("209.7".length() = 5) with the number of spaces and subtracted the result from a constant number of spaces
so:
".........." - (5 * ".") = "....."
then you can add "209.7" and you have "....." + str(209.7) = ".....209.7"
for those interested, here is the code
var spaces = subTxt(" ", multTxt(" ", str(velocity).length()))
velocity_label.text = "VELOCITY:" + spaces + str(speed)
func multTxt(txt, nb):
var newText = ""
for _i in range(nb):
newText += txt
return newText
func subTxt(txt1, txt2):
var newSize = txt1.length()-txt2.length()
return txt1.substr(0, newSize)
That way, the total string is always the same length.
I have a bit of flickering when the values changes fast but it's ok, all my players informations are aligned.