uniapp加载本地字体包思源黑体,并解决字体包太大报错问题

一、加载本地字体包

1.将本地字体.tff文件转换为base64格式
字体转换网站:https://www.giftofspeed.com/base64-encoder

选择.tff格式文件后,白色方框里的便是转换base64后的

2.创建个css文件,将base64格式的内容复制到代码文件中

这里的字体名字可以自定义,只需在使用的时候保持一致即可

@font-face {
  font-family:'字体名字';
  src: url(data:application/font-ttf;charset=utf-8;base64,把上面转化base64格式复制到此位置) format('truetype');
}
3.将创建的css文件引入到你要使用改字体的页面中
@import url('./fontCss/文件地址');

最后只需要将你想改的字体的font-famliy设置成上面css文件里写的字体名字就可以了!

二、解决字体包文件过大导致加载报错问题

上面是字体包文件不大的时候的理想情况,当字体包文件太大,比如我这思源黑体达到了7M,甚至十几M

此时如果按照上面的正常加载,便会报错RangeError: Maximum call stack size exceeded

1.压缩字体文件

(最简单的办法是呼叫后端朋友帮忙...)

前置条件:python环境

1.通过python环境,安装fonttools插件
pip install fonttools
2.下载字体编码列表文件

下载地址:字体编码(打开直接网页打开,需要另存为sc_unicode.txt文件)

3.执行压缩命令(注意字体文件和字体列表编码文件要放在同一个目录下面)
pyftsubset qijifallback.ttf --unicodes-file=sc_unicode.txt
// `qijifallback.ttf`(要压缩的字体文件)
// `sc_unicode.txt`(字体编码列表文件)

压缩命令执行完毕后,会在当前目录出现压缩过的字体库qijifallback.subset.ttf

4.使用在线压缩工具 cloudconvert官网 ,将ttf文件转换成woff2文件(进一步压缩大小)

我最后压缩出来的字体文件是从8M变成了1M多(找后端朋友好使!)

然后就可以按照上面最开始的办法转换base64加载使用了!

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值