微信小程序中使用【免费商用】字体的下载和初步认识和使用

一、字体平台选择(找免费商用字体)

国内可访问的免费商用字体平台,按我使用的两个推荐:

  1. 阿里巴巴普惠体

    • 官方链接:https://www.alibabafonts.com/#/font
    • 特点:包含多字重,适用于商业场景(切换字体,肉眼观察字体变化不是很大)。
    • 官网字体下载后,格式介绍,如下图:
  2. 站酷系列字体

    • 官方链接:https://www.zcool.com.cn/special/zcoolfonts/
    • 特点:设计感较强,适合年轻化设计(字体的跳跃空间大,适合设计字体风格)。
    • 官网字体下载后,格式介绍,如下图:
  3. 小程序是支持ttf、woff、woff2三种格式字体直接使用,但是 推荐使用woff或woff2格式

二、字体下载与格式转换

从上述平台(站酷)获取.ttf格式文件,使用在线工具,将ttf字体格式转woff或者woff2。

转换工具:https://transfonter.org/

三、引入字体到小程序

A:本地引入使用

结论:使用@font-facewx.loadFontFace无法将 .ttf/.woff/.woff2 字体文件,放在本地目录,直接加载!

  1. 间接实现【不推荐,除非单个自定义字体】:将字体文件找个在线工具,转成Base64后,塞进 @font-face(唯一 "伪本地" 方案),
  2. 劣势:
    字体原本 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(永久免费,国内访问快)

方案 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

相关推荐
克里斯蒂亚诺更新2 小时前
微信小程序 腾讯地图 点聚合 简单示例
微信小程序·小程序·notepad++
Geek_Vision3 小时前
鸿蒙原生APP接入小程序运行能力:数字园区场景实战复盘
微信小程序·harmonyos
qwfy1 天前
我从瑞幸咖啡小程序里,拆出了一套 22 个组件的开源 UI 库
微信小程序·开源
笨笨狗吞噬者1 天前
小程序包体积分析利器 -- vite-plugin-component-insight
前端·微信小程序·uni-app
Greg_Zhong1 天前
微信小程序中使用canvas中绘制的页面,切换字体的几种实践方式
微信小程序·腾讯云cos·canvas页面切换字体
double_eggm3 天前
微信小程序2
微信小程序·小程序
是江迪呀3 天前
实时看大家都在干嘛?我靠一行监听函数,做了个轻互动小程序
前端·微信小程序
打瞌睡的朱尤3 天前
微信小程序1~25
微信小程序·小程序
拖孩3 天前
我用 AI 搓了一个"比谁更持久"的微信小游戏,AI实现只用了一天,微信审核却用了一个月!!!
微信小程序·ai编程·游戏开发