diff --git a/src/components/Viewfinder.tsx b/src/components/Viewfinder.tsx index 44218ab..1fa6c53 100644 --- a/src/components/Viewfinder.tsx +++ b/src/components/Viewfinder.tsx @@ -536,17 +536,18 @@ export default function Viewfinder({ : area.dy + area.dh - padBottom; const xOffset = area.dx + (selectedFrame === 'polaroid' ? area.dw * 0.08 : Math.min(16, area.dw * 0.04)); - const gap = (rect: { width?: number } | null) => - Math.round((rect?.width ?? Math.round(vw * 0.032)) + vw * 0.012); + // One clear space (0.6em ≈ a mono space) between each icon and its text. + const iconSize = Math.round(vw * 0.032); // matches customFont/iconFont size + const gap = (w: number) => Math.round(Math.max(w, iconSize) + iconSize * 0.6); const pinW = iconFont.measureText('📍'); const camW = iconFont.measureText('📷'); return ( - + - + ); }; diff --git a/src/utils/exportEngine.ts b/src/utils/exportEngine.ts index a20c1ca..4d3de0b 100644 --- a/src/utils/exportEngine.ts +++ b/src/utils/exportEngine.ts @@ -285,7 +285,7 @@ export async function processAndExportPhoto( const yOffset = height - (frameId === 'polaroid' ? height * 0.15 : fontSize * 1.5); const xOffset = frameId === 'polaroid' ? width * 0.08 : fontSize * 1.2; - const gap = Math.round(fontSize * 1.2); // icon box (~1em) + spacing + const gap = Math.round(fontSize * 1.6); // icon box (~1em) + one clear mono space (~0.6em) canvas.drawText('📍', xOffset, yOffset - fontSize * 1.4, textPaint, iconFont); canvas.drawText(locationName, xOffset + gap, yOffset - fontSize * 1.4, textPaint, font);