diff --git a/src/ezdxf/tools/text.py b/src/ezdxf/tools/text.py index 4502b5581..2372d9e07 100644 --- a/src/ezdxf/tools/text.py +++ b/src/ezdxf/tools/text.py @@ -1219,8 +1219,8 @@ def __init__(self, t: TokenType, ctx: MTextContext, data=None): self.data = data -RE_FLOAT = re.compile(r"[+-]?\d+(:?\.\d*)?(:?[eE][+-]?\d+)?") -RE_FLOAT_X = re.compile(r"[+-]?\d+(:?\.\d*)?(:?[eE][+-]?\d+)?([x]?)") +RE_FLOAT = re.compile(r"[+-]?\d*(:?\.\d*)?(:?[eE][+-]?\d+)?") +RE_FLOAT_X = re.compile(r"[+-]?\d*(:?\.\d*)?(:?[eE][+-]?\d+)?([x]?)") CHAR_TO_ALIGN = { "l": MTextParagraphAlignment.LEFT, @@ -1548,6 +1548,10 @@ def extract_float_expression(self, relative=False) -> str: start, end = match.span() result = tail[start:end] self.scanner.consume(end) + + if result.startswith("."): + return "0" + result + return result def extract_int_expression(self) -> str: