微信小程序中如何使用特殊字体
我有两种方法:
1. 转base64格式
- 下载要使用的字体,建议TTF格式
- 打开网站 https://transfonter.org/ 转换格式,得到压缩包
- 将压缩包解压后,把stylesheet.css的内容复制到小程序的公共样式,就可以使用了
个人不建议用转base64格式的方式,不仅麻烦,而且还占内存。会有一些特殊字体会有几兆,不靠谱。
这是其它码友对这种方式的详细说明:https://www.jianshu.com/p/cc4e008e4e4c
2. 动态加载网络字体(推荐使用)
动态加载网络字体。文件地址需为下载类型。iOS 仅支持 https 格式文件地址。
wx.loadFontFace({
family: 'HYQH-50S',
source: 'url("https://www.xxx.com/font/HYQH-50S.ttf")',
success: function (res) {
console.log(res.status)
},
fail: function (res) {
console.log(res.status)
},
complete: function (res) {
console.log(res.status);
}
});
关于字体链接source
,需要注意几个点:
- 字体链接需为下载类型
- 字体链接必须是https(ios不支持http)
- 字体链接必须是同源下的,或开启cors支持
使用方式也很简单,直接再css设置font-family
就可以了
view {
font-family: "HYQH-50S" !important;
}
详见官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/wx.loadFontFace.html