From c423accb59a626ba309a107f53a922d088a754be Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Tue, 27 Oct 2026 17:01:28 +0800 Subject: [PATCH] Fit native uppercase headings within their editorial text blocks --- apps/studio/src/lib/native-layout.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/studio/src/lib/native-layout.ts b/apps/studio/src/lib/native-layout.ts index bce4a1d..e4c122e 100644 --- a/apps/studio/src/lib/native-layout.ts +++ b/apps/studio/src/lib/native-layout.ts @@ -24,7 +24,7 @@ export function slotPosition(layout:Layout,slot:Slot):CSSProperties { } export function textSize(layout:Layout,slot:Slot,text:string):number { const [, ,w,h]=slot.box,lines=text.split('\n'); - const length=(s:string)=>Array.from(s).reduce((n,c)=>n+(/[\u3400-\u9fff]/.test(c)?1:.56),0); + const length=(s:string)=>Array.from(s).reduce((n,c)=>n+(/[\u3400-\u9fff]/.test(c)?1:/[A-Z]/.test(c)?.8:.6),0); if(slot.direction==='vertical')return Math.min(w*.9,h/Math.max(1,Array.from(text.replaceAll('\n','')).length)*.95); if(slot.direction==='rotated')return Math.min(w*.85,h/Math.max(1,length(text))); if(slot.direction==='curved')return Math.min(2.2,w/Math.max(1,length(text)));