自定义的 ttf 字体在微信小游戏没有生效

你导出的时候我估计你是勾选了md5缓存……

我的天啊,我看发布是让我勾上我才勾的,所以能这样想吗?因为这个是个用于缓存的东西,假如要更新,就发布前不要勾上,如果以后没有什么外部资源更新就勾上是吗?谢谢您的提醒。

不是……这个选项肯定是要勾上的,不然素材更新不了,但是官方似乎不愿意改这个问题……

你好,我不是太理解,那我以后勾上,再次添加新的外部资源,那是不是又不能生效?

新版本里 md5 导致 ttf 字体无法导入这个问题已经修复了,如果有必要的内容,可以试着更到最新版 :slightly_smiling:

好的,谢谢。

1.9.2也不行啊

把 md5 勾选去掉也不行吗?

倒是没试过,就算行也没解决问题啊

确实是192也没有修复,据说是因为md5缓存使得字体文件url变了,但是引用字体的时候没有正确url……

我是把 md5 不勾,字体就生效了,再次勾上也是可以的

因为缓存……你清掉微信缓存就知道了:11:

我最近也头痛这个问题,只有不勾选md5且不放远程字体才有效。我看了一下https://github.com/cocos-creator/engine/pull/2495/files修复的merge就更疑惑了,看起来像是修复了样子。不过我真机测试一样不行,而且这个修复的代码也有问题啊,每个label都loadFont一次,我个人测试结果多次load相同字体,返回的familyName是不一样的。不知道哪位解决了这个问题~~~求高职

经过测试目前远程加载 TTF 字体是有问题的,这部分的问题将会在 2.0 版本中进行修复,目前还是建议使用本地字体。:confounded:

谢谢回复,我现在都是不勾选 MD5 加载本地字体的,这样应该不会有问题吧。

这问题用比较奇葩的方法解决了,我用的是1.91的版本,据说1.92修复了,但是实际上问题依旧。我的方法:
1.导出工程勾选md5缓存。
2.导出的工程里面res/import文件夹里面找到含有ttf文件配置的文件夹(一般是一个json加上一个内含ttf文件的文件夹)。
3.把这个字体配置的json文件里面的_rawFiles的属性里的***.ttf修改成***.#####.ttf,这个5位数的#####就是ttf被加上的md5后缀,修改后就能引用到ttf。
4.res文件夹上传远程服务器。
5.主包里面的res除了import里面字体相关的保留以外,其它的都删掉(注意文件夹结构层级不要更改)。
6.OK了

核心:ttf相关的import配置必须保留在包体内。字体配置json的rawFiles需要修改加上md5后缀。

最新版1.93不知道有没有修正过来,不过不报啥希望。

2赞

我现在用的也是1.9.1版本,所以暂时的解决办法是不勾选 md5,以后生效了再勾选。
最近又遇到了类似的问题,就是小游戏分享的时候会配上一张图,然后我发现这图使用本地路径不行,然后暂时用服务器上的图片去展示替代,后来我发现打包成微信小游戏的文件夹根本就没有我放的那张图,现在还没找到原因呢。

我用你说的办法还是不行 ,没有把资源上传到服务器,就是本地测试

我这边1.93自定义字体在不勾选MD5 Cache,手机微信小程序自定义字体可以用,但是微信开发者工具上显示不对

1.9.3的版本,ttf如果打进包里,微信手机端可以正常显示,
但是ttf文件放到remote server ,且构建时不勾选MD5,为什么手机端不能显示?
麻烦告知没有方法,如果没有方法,请详细说明下原理,谢谢,在线等!

1赞