收藏
回答

canvas 2D通过wx.loadFontFace加载字体,source为DataUrl时真机失败

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.loadFontFace(Object object) 微信iOS客户端 Version8.0.56 3.7.9

在wxml中使用canvas 2D组件

在js文件中,使用wx.loadFontFace加载字体,加载https 字体资源,在开发者工具和真机上,是可以正常将ttf字体加载进canvas中的

但是一旦将source 替换为Data Url,则只有微信开发者工具是正常的,真机调试中,无论安卓、还是IOS,canvas 2D组件中,字体均未成功加载


我翻阅文档,提到3.7.9 开始 source 支持传入 Data URL。而3.7.10则在灰度中,所以提交此情况,望官方修复跟进

复现过程,我上传个片段吧,直接运行到开发者工具,是没问题的

但是运行到真机调试,字体读取到base64数据后,加载字体会卡死,空白,就是偶尔加载成功也不显示自定义字体


Data Url base64数据,无论我是使用base64数据字符串直接填充,还是读取ttf文件的base64数据,来回测试,均不行;

wx.loadFontFace加载Data Url数据,加载不进去,也不报错,就一直卡在wx.loadFontFace,而微信开发者工具中,可以看到触发了wx.loadFontFace的success和complate函数,并且promise成功resolve,canvas开始正常 渲染


最后一次编辑于  星期日 18:23
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--Demons
    社区技术运营专员--Demons
    星期日 16:01

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    星期日 16:01
    有用
    回复 1
    • 咯努力咯
      咯努力咯
      星期日 18:32
      已经完善了复现过程、gif+视频,还有代码片段
      星期日 18:32
      回复
  • 咯努力咯
    咯努力咯
    2天前

    官方的技术运维没有人关注此问题吗?

    2天前
    有用
    回复
登录 后发表内容