Fonts
LUMORA FONT SERVICE
挑好的都是可商用的:开源 OFL 与厂商免费授权,每款附许可说明。
接口按需子集化 —— 只取你要显示的那几十个字,20 MB 的中文字体压到几十 KB,wx.loadFontFace 秒开。
https://fonts.shenfangda.cn 加入 request 与 downloadFile 合法域名。
/api/fonts/{id}/wx?text=要显示的字,
返回 family 与 source,直接喂给 wx.loadFontFace。
font-family: 'Lumora-{id}',family 名固定,换字重不换名。
为什么要传 text? 中文字体动辄 10–30 MB,小程序直接 loadFontFace 会超时。 传了 text 服务端只裁出这些字(默认附带 ASCII),几十 KB 就够了,同一批字命中缓存秒回。 需要整字体(比如用户自由输入)时不传 text,接口会返回完整文件地址。
统一返回 { ok, data },失败时 { ok:false, error, message }。全部接口开放跨域(CORS *),无需鉴权。
| 接口 | 说明 |
|---|---|
GET /api/fonts | 字体列表。参数 q 关键词、category 分类、license 许可、hosted=1 只看已托管、page / pageSize |
GET /api/fonts/{id} | 单款详情:文件、字重、大小、许可条款、官网 |
GET /api/fonts/{id}/wx | 小程序专用。参数 text(要显示的字)、weight(默认 400)、format(默认 woff)。返回 family / source / url / size |
GET|POST /api/subset | 直接返回子集字体二进制。参数 font、text、weight、format(woff / woff2 / truetype / opentype)、ascii=0 不附带 ASCII。长文本用 POST JSON |
GET /files/{file} | 整字体文件,支持 Range,一年强缓存 |
GET /api/categories · GET /api/meta · GET /api/health | 分类、许可字典与服务状态 |