diff --git a/frontend/components/report/designer/SignatureGenerator.tsx b/frontend/components/report/designer/SignatureGenerator.tsx index f54c9a7c..db152157 100644 --- a/frontend/components/report/designer/SignatureGenerator.tsx +++ b/frontend/components/report/designer/SignatureGenerator.tsx @@ -125,10 +125,21 @@ export function SignatureGenerator({ onSignatureSelect }: SignatureGeneratorProp // 텍스트 스타일 ctx.fillStyle = "#000000"; - ctx.font = `${font.weight} 124px ${font.style}`; + let fontSize = 124; + ctx.font = `${font.weight} ${fontSize}px ${font.style}`; ctx.textAlign = "center"; ctx.textBaseline = "middle"; + // 텍스트 너비 측정 및 크기 조정 (캔버스 너비의 90% 이내로) + let textWidth = ctx.measureText(name).width; + const maxWidth = canvas.width * 0.9; + + while (textWidth > maxWidth && fontSize > 30) { + fontSize -= 2; + ctx.font = `${font.weight} ${fontSize}px ${font.style}`; + textWidth = ctx.measureText(name).width; + } + // 텍스트 그리기 ctx.fillText(name, canvas.width / 2, canvas.height / 2); @@ -151,7 +162,14 @@ export function SignatureGenerator({ onSignatureSelect }: SignatureGeneratorProp {/* 언어 선택 */}