From 0ecb42320d66b81949590405a4ecd2e914d0761b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=AE=8F=E6=9D=B0?= Date: Wed, 19 Aug 2026 16:48:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20subBoxStart=E5=81=8F=E7=A7=BB=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3+=E6=A0=87=E9=A2=98=E5=88=86=E5=89=B2=E6=89=A9?= =?UTF-8?q?=E5=B1=95Unicode=E6=96=9C=E6=9D=A0=E5=AD=97=E7=AC=A6=20(#1441)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - findCodecConfig: VisualSampleEntry固定字段从70改为68字节 - drawTitle: split正则扩展支持fraction slash(U+2044)和division slash(U+2215) --- apps/web/src/pages/generate/hooks/useCanvasPlayer.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/pages/generate/hooks/useCanvasPlayer.ts b/apps/web/src/pages/generate/hooks/useCanvasPlayer.ts index b7862e664..41d35fe13 100644 --- a/apps/web/src/pages/generate/hooks/useCanvasPlayer.ts +++ b/apps/web/src/pages/generate/hooks/useCanvasPlayer.ts @@ -44,7 +44,7 @@ function findCodecConfig(buffer: ArrayBuffer, start: number, end: number): Array // 子 box 从 entryOffset + 8 + 6 + 2 + 16 + 2 + 2 + 2 + 2 + 4 + 2 + 2 + 2 + 2 = entryOffset + 78 // 更简单的做法:扫描 entry 内的子 box const entryEnd = entryOffset + entrySize - const subBoxStart = entryOffset + 8 + 70 // 跳过 header(8) + visual sample entry fixed fields(70) + const subBoxStart = entryOffset + 8 + 68 // VisualSampleEntry 固定字段共 68 字节 const result = findCodecConfig(buffer, subBoxStart, entryEnd) if (result) return result entryOffset += entrySize @@ -431,7 +431,7 @@ export function useCanvasPlayer( ctx.textAlign = "center" // 按 "/" 分割为多行("/" 作为手动换行符) - const lines = title.text.split(/[//]/) + const lines = title.text.split(/[//⁄∕]/) const lineHeight = fontSize * 1.3 const totalHeight = lines.length * lineHeight -- 2.54.0