From a157af2ea9773c4e9b52004a5524b6db8df03676 Mon Sep 17 00:00:00 2001 From: SnapOtter Date: Fri, 8 May 2026 17:44:48 +0800 Subject: [PATCH] fix(meme-generator): auto-sizer now checks line width, preventing text overflow --- apps/api/src/lib/meme-text-renderer.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/api/src/lib/meme-text-renderer.ts b/apps/api/src/lib/meme-text-renderer.ts index 9d624990..cdaab0df 100644 --- a/apps/api/src/lib/meme-text-renderer.ts +++ b/apps/api/src/lib/meme-text-renderer.ts @@ -152,8 +152,9 @@ export function autoSizeFontToFit( const mid = Math.floor((lo + hi) / 2); const lines = wrapText(text, fontFamily, mid, boxWidth); const totalHeight = lines.length * mid * LINE_HEIGHT_FACTOR; + const maxLineWidth = Math.max(...lines.map((l) => measureText(l, fontFamily, mid))); - if (totalHeight <= boxHeight) { + if (totalHeight <= boxHeight && maxLineWidth <= boxWidth) { best = mid; lo = mid + 1; } else {