一、字体平台选择(找免费商用字体)
国内可访问的免费商用字体平台,按我使用的两个推荐:
-
阿里巴巴普惠体
- 官方链接:https://www.alibabafonts.com/#/font
- 特点:包含多字重,适用于商业场景(切换字体,肉眼观察字体变化不是很大)。
- 官网字体下载后,格式介绍,如下图:
-

-

-
站酷系列字体
- 官方链接:https://www.zcool.com.cn/special/zcoolfonts/
- 特点:设计感较强,适合年轻化设计(字体的跳跃空间大,适合设计字体风格)。
- 官网字体下载后,格式介绍,如下图:
-

-

-
小程序是支持ttf、woff、woff2三种格式字体直接使用,但是 推荐使用woff或woff2格式
-
二、字体下载与格式转换
从上述平台(站酷)获取.ttf格式文件,使用在线工具,将ttf字体格式转woff或者woff2。
三、引入字体到小程序
A:本地引入使用
结论:使用@font-face 、wx.loadFontFace无法将 .ttf/.woff/.woff2 字体文件,放在本地目录,直接加载!
- 间接实现【不推荐,除非单个自定义字体】:将字体文件找个在线工具,转成Base64后,塞进 @font-face(唯一 "伪本地" 方案),
- 劣势:
字体原本 500KB → Base64 后变成 680KB+、
小程序主包只有 2M 限制,放 1~2 个中文字体就超了,
首次渲染会有延迟、闪烁
B:阿里或站酷官方cdn网络加载字体
阿里字库 / 站酷平台生成的 webfont_xxx.woff2 链接,属于 「私有业务链接」,微信小程序的 wx.loadFontFace加载请求直接404,因为无法解析这种私有链接的跨域规则,所有也无法加载字体。
C:使用Google官方字体CDN
Google Fonts 官方 CDN,100% 免费商用、零跨域、永久有效、Canvas 完美支持,非上面阿里或站酷的临时链接可比拟~
劣势:中文字体有限,手机上肉眼看切换字体效果几乎看不出,,,
思源黑体 (Noto Sans SC)、思源宋体 (Noto Serif SC)、
四、最终实践方案 (按优先级排序)
✅ 方案 1:Google Fonts(首选,零配置,100% 验证通过)
- 优势:全球最大开源字体库,所有字体免费商用,链接永久有效,小程序默认信任域名,无需配置白名单,零跨域。
- 适用场景:全场景,尤其是需要多字重、中英文混合的商务 / 设计项目。
- 代表字体:思源黑体 / 宋体(劣势:收录有限单一、肉眼切换字体变化不大,追求字体特色不适用)。
bash
// Google Fonts(全球最稳,免费商用,小程序默认信任,无需配置域名)
fontList: [
{ name: "思源黑体 400", family: "Noto Sans SC", url: "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400&display=swap" },
{ name: "思源黑体 700", family: "Noto Sans SC", url: "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@700&display=swap" },
{ name: "思源黑体 900", family: "Noto Sans SC", url: "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@900&display=swap" },
{ name: "思源宋体 400", family: "Noto Serif SC", url: "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400&display=swap" },
{ name: "思源宋体 700", family: "Noto Serif SC", url: "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@700&display=swap" },
{ name: "Inter 400/700", family: "Inter", url: "https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" },
{ name: "Roboto 400/700", family: "Roboto", url: "https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" },
]
✅ 方案 2【还未实践】:jsDelivr + GitHub(永久免费,国内访问快)
- 优势:开源项目专用 CDN,永久免费,无流量限制,默认开启 CORS,链接永久有效。
- 操作方法:把字体文件上传到 GitHub 公开仓库,用https://cdn.jsdelivr.net/gh/用户名/仓库名@main/字体名.woff2生成链接,100% 小程序可用。
- 适用场景:你自己的专属字体、需要国内加速的场景。
✅ 方案 3:云厂商 OSS/COS(国内最快,免费额度够用,需注意:新用户免费50G的存储,半年有效,请求需要收费,收费很小很小,初期感受不出来)
-
优势:国内服务器,访问速度最快,可配置 CORS,永久稳定,免费额度完全够字体使用。
-
操作方法:创建公共读 Bucket(创建存储桶),上传字体文件(woff或woff2格式的字体文件),配置 CORS跨域规则,直接用 OSS/COS 链接,小程序完美支持。
-
适用场景:国内用户为主、追求极致速度的项目。
-

-

-

详细操作步骤,见另一篇概述,,,
https://blog.csdn.net/qq_41930094/article/details/160119998?spm=1001.2014.3001.5502

