Fonts

LUMORA FONT SERVICE

免费商用字体
小程序一行调用

挑好的都是可商用的:开源 OFL 与厂商免费授权,每款附许可说明。
接口按需子集化 —— 只取你要显示的那几十个字,20 MB 的中文字体压到几十 KB,wx.loadFontFace 秒开。

款字体
已托管可调用
按需子集化

小程序接入

  1. 加合法域名 —— 微信公众平台 → 开发管理 → 服务器域名,把 https://fonts.shenfangda.cn 加入 requestdownloadFile 合法域名。
  2. 一次请求拿到字体 —— 调 /api/fonts/{id}/wx?text=要显示的字, 返回 familysource,直接喂给 wx.loadFontFace
  3. 样式里引用 —— font-family: 'Lumora-{id}',family 名固定,换字重不换名。

为什么要传 text? 中文字体动辄 10–30 MB,小程序直接 loadFontFace 会超时。 传了 text 服务端只裁出这些字(默认附带 ASCII),几十 KB 就够了,同一批字命中缓存秒回。 需要整字体(比如用户自由输入)时不传 text,接口会返回完整文件地址。

API

统一返回 { 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直接返回子集字体二进制。参数 fonttextweightformat(woff / woff2 / truetype / opentype)、ascii=0 不附带 ASCII。长文本用 POST JSON
GET /files/{file}整字体文件,支持 Range,一年强缓存
GET /api/categories · GET /api/meta · GET /api/health分类、许可字典与服务状态