From 8ad71695df37ce3b21833773fe4c429817d2108c Mon Sep 17 00:00:00 2001 From: hellmor Date: Tue, 31 Oct 2023 22:39:19 +0800 Subject: [PATCH] fix: Character loss during text layout. (#317) Character loss during text layout. --- src/components/gui/uiComponents/TextFieldLayout.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/components/gui/uiComponents/TextFieldLayout.ts b/src/components/gui/uiComponents/TextFieldLayout.ts index 50b307ab..60c966b9 100644 --- a/src/components/gui/uiComponents/TextFieldLayout.ts +++ b/src/components/gui/uiComponents/TextFieldLayout.ts @@ -217,17 +217,18 @@ export class TextFieldLayout { let parseText = (): void => { let curLine: TextFieldLine = null; let totalLength: number = text.length; - let autoWrap = false; for (let i = 0; i < totalLength; i++) { - if (curLine == null) curLine = makeLine(); + curLine ||= makeLine(); let char = text.charAt(i); - if (char == '\n' || autoWrap) { - //换行符 + if (char == '\n' || char == '\t') { + //wrap symbol curLine = null; - autoWrap = false; } else { makeQuad(char, curLine); - autoWrap = curLine.width + unitSize >= maxTextWidthReal; + let autoWrap = curLine.width + halfUnitSize >= maxTextWidthReal; + if (autoWrap) { + curLine = makeLine(); + } } } };