Egret社区

关于加载第三方字库问题

2018-8-29 16:25
10044
1银子
近日项目因为某些需求需要使用一些第三方字库

egret.registerFontMapping API被废弃,采用的是第二种方案,在样式表中定义第三方字库名称以及路径

当第三方字库加载完成之后,再加载Main

但是最后发现这种方式有一定的问题,项目本身一个exml,在exml文件中某个EditorLabel字体引用强制改为第三方字体库的名称虽然不会报错,但是进游戏默认展示时还是系统字体,如果代码中引用类型为EditorLabel,作为输入框来说,当收到焦点离开事件后,EditorLabel上字体所引用的字库刷新成了第三方字体库,在焦点进入,离开事件打印引用字体的名称并未有发生变化,一直都是在exml文件中输入的第三方字库名称


不太清楚,底层是否有一定的刷新引用机制。


下面是测试的Demo,Index.html会优先加载第三方字库,Main.ts里动态创建了一个EditorLabel,动态指定为第三方字库,初次展示位系统字库,当鼠标点击,输入框经过焦点事件后,字体变为了第三方字库的样式

testthirdfont.zip (2.78 MB, 下载次数: 10)

最佳答案

查看完整内容

可以试试先偷偷创建一个label加到舞台上调用一下这个字体,然后再偷偷删掉
分享到 :
0 人收藏

4 个回复

倒序浏览
Nasus  初窥堂奥 | 2018-8-29 16:25:54
可以试试先偷偷创建一个label加到舞台上调用一下这个字体,然后再偷偷删掉
JasonS  登堂入室 | 2018-8-29 16:26:56
呼叫官方人员,呼叫官方人员,呼叫官方人员 @app小王子 @山猫
清水1991  初学乍练 | 2018-8-29 16:36:57
本帖最后由 清水1991 于 2018-8-29 16:39 编辑

。。。等官方解答
JasonS  登堂入室 | 2018-8-30 11:10:57
Nasus 发表于 2018-8-29 23:07
可以试试先偷偷创建一个label加到舞台上调用一下这个字体,然后再偷偷删掉 ...

可以了,但是有点小小的不爽,如果第三方字库很多,岂不是得挨个写一遍。。。。  不过暂时还是可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部