From 72f02726ba1b39e7caa17403451c75b40d7e2153 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Tue, 25 Feb 2025 21:42:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20TextContent=20=E7=9A=84=E8=A1=8C?= =?UTF-8?q?=E9=AB=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/render/preset/misc.ts | 6 +++++- src/module/render/components/textboxTyper.ts | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/core/render/preset/misc.ts b/src/core/render/preset/misc.ts index 94bdeeb..b233a50 100644 --- a/src/core/render/preset/misc.ts +++ b/src/core/render/preset/misc.ts @@ -113,7 +113,11 @@ export class Text extends RenderItem { this.measure(); this.length = width; this.descent = actualBoundingBoxAscent; - this.size(width, actualBoundingBoxAscent + actualBoundingBoxDescent); + this.size( + width, + Math.abs(actualBoundingBoxAscent) + + Math.abs(actualBoundingBoxDescent) + ); } protected handleProps( diff --git a/src/module/render/components/textboxTyper.ts b/src/module/render/components/textboxTyper.ts index e872339..5cea0e8 100644 --- a/src/module/render/components/textboxTyper.ts +++ b/src/module/render/components/textboxTyper.ts @@ -877,7 +877,8 @@ export class TextContentParser { private getHeight(metrics: TextMetrics) { return ( - metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent + Math.abs(metrics.actualBoundingBoxAscent) + + Math.abs(metrics.actualBoundingBoxDescent) ); } @@ -966,6 +967,9 @@ export class TextContentParser { if (metrics.width > width) { end = mid; } else if (metrics.width === width) { + if (height > this.lineHeight) { + this.lineHeight = height; + } return mid; } else { start = mid;