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;