Skip to content

Commit 1857e38

Browse files
gtoxliliclaude
andcommitted
fix(miniprogram): 字体 URL 从 .ttf 改成 .woff —— @fontsource v5 不发 TTF
报错 "OTS parsing error: invalid sfntVersion: 1131378028" 解码后是 0x436F756C = "Coul",正是 jsdelivr / jsd.onmicrosoft.cn 返回的 404 文本 "Couldn't find this file..." 的开头四字节。根因:@fontsource v5+ 包里只发 WOFF / WOFF2,不再发 TTF。WeChat wx.loadFontFace 支持 TTF/OTF/WOFF(不收 WOFF2),所以路径全部从 .ttf 换成 .woff。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3edd45e commit 1857e38

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

miniprogram/lib/fonts.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
/**
22
* 注册和 web 端 frontend 一致的 P5 拉丁字体:
33
* Bebas Neue (display) / Oswald (condensed) / Inter (body)。
4-
* CDN 用 jsd.onmicrosoft.cn(jsdelivr 国内镜像),@fontsource 子集 TTF。
4+
* CDN 用 jsd.onmicrosoft.cn(jsdelivr 国内镜像),@fontsource 子集 WOFF。
5+
*
6+
* 格式选择:@fontsource v5+ 包里只发 WOFF / WOFF2,不再发 TTF。
7+
* WeChat wx.loadFontFace 支持 TTF / OTF / WOFF(不支持 WOFF2),所以
8+
* 走 .woff。错路径会返回 HTML 404 文本(magic bytes 0x436F756C = "Coul"
9+
* 即 "Couldn't find..."),日志报 "OTS parsing error: invalid sfntVersion"。
510
*
611
* 注意:
712
* - wx.loadFontFace 默认 scope='webview',必须显式 'global' 才会跨页面生效
@@ -17,31 +22,31 @@
1722
const FONTS = [
1823
{
1924
family: 'Bebas Neue',
20-
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/bebas-neue/files/bebas-neue-latin-400-normal.ttf',
25+
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/bebas-neue/files/bebas-neue-latin-400-normal.woff',
2126
weight: '400',
2227
style: 'normal',
2328
},
2429
{
2530
family: 'Oswald',
26-
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/oswald/files/oswald-latin-700-normal.ttf',
31+
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/oswald/files/oswald-latin-700-normal.woff',
2732
weight: '700',
2833
style: 'normal',
2934
},
3035
{
3136
family: 'Oswald',
32-
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/oswald/files/oswald-latin-700-italic.ttf',
37+
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/oswald/files/oswald-latin-700-italic.woff',
3338
weight: '700',
3439
style: 'italic',
3540
},
3641
{
3742
family: 'Inter',
38-
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/inter/files/inter-latin-700-normal.ttf',
43+
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/inter/files/inter-latin-700-normal.woff',
3944
weight: '700',
4045
style: 'normal',
4146
},
4247
{
4348
family: 'Inter',
44-
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/inter/files/inter-latin-900-normal.ttf',
49+
source: 'https://jsd.onmicrosoft.cn/npm/@fontsource/inter/files/inter-latin-900-normal.woff',
4550
weight: '900',
4651
style: 'normal',
4752
},

0 commit comments

Comments
 (0)