Closed ZERO-LJC closed 9 months ago
构建打包应该没有问题,问题出在对字体的解析上了,估计是部分 emoji 引用了特殊的 feature 导致分包失效了,猜测是 liga,不过我们在持续观察中。预览的 html 文件需要开个服务器才能看到,估计你是直接打开了
这是我直接导入这个包的渲染情况,感觉这个包的特性浏览器没有完全实现好
我研究了一下,原来 emoji 在 unicode 中是多个 数值合一的,所以需要一些特殊手段查看
唔,我这边用 cn-font-split 也进行分包测试了一下,渲染效果好像没有什么变化,过几天我写一个视觉测试全面测试一下。 然后,针对于分包 6 MB 过大的情况,看来需要特殊处理一下
我对这个 emoji 字体做了一些视觉测试,发现 cn-font-split 的切割是正确的。现在就剩下切割的字符大小的问题了。
感谢
构建打包应该没有问题,问题出在对字体的解析上了,估计是部分 emoji 引用了特殊的 feature 导致分包失效了,猜测是 liga,不过我们在持续观察中。预览的 html 文件需要开个服务器才能看到,估计你是直接打开了
感谢~,但我是本地打出来的文件是这样
唔,cn-font-split 版本号是多少 4.11.1 是最新版本,是没有问题的,我的 mac 上没有问题,linux 上可能会有偏差,请给个详细的环境呗
我也是4.11.1
intel 版本mac
node 16 可能会有问题哦,cn-font-split 对 18 一下的版本支持不太好,你可以尝试一下 Github CodeSpace 里面直接试试, 一般 Github CodeSpace 上是能跑的
很神奇
唔,我线上的 linux 跑的结果也和我本地的差不多,但是你这个确实离谱了。不过你的字体为啥是 24 MB 了呢,我在 noto color emoji 的仓库拿到的是 10 mb 的
感谢回复~,我本来尝试使用在线分包,但显示这个,不知道是不是bug
看了一下 google 自己线上的实现,感觉 emoji 绑在字体上不太实际,它太多太大了。opentype feature 贼多,导致单包很大,连 google 自己切出来的也是 700kb。因为 emoji 里面很多的换皮肤颜色的代码使得它不好弄,估计最终实现效果还没懒加载的 SVG 强。
https://chinese-font.netlify.app/online-split/ 试试这个,那个链接错了
在线版本看起来也没毛病,不会是 intel 内核的问题吧 😂
这个包切割的大小就和 google 差不多了,没有我的那个那么大
是的,我刚刚跑完在线分包,这个包切到最后就只有2.17MB了,这是不是不合理
这个我也不清楚,但是 我看google 线上的加起来也就 几 MB,估计这个24 MB 是设计版,没有压缩过。另外,我用的是 https://github.com/googlefonts/noto-emoji
https://github.com/googlefonts/emoji-metadata 这里有 emoji 的源数据,里面有触发的 unicode
6, Google 有个 COLRv1 的字体,可以减小到 4 MB 左右。
可惜兼容性不咋地
我尝试使用对Emoji字体进行分包
但是切割出来的字体大小远小于70kb,预览的时候也无法看到对应的emoji,是我使用方式的问题吗,还是不支持分割emoji