unity粗体字+android,[Unity] UGUI加粗字体小记

不同字体无法合批

前段时间看一个新系统的UI DrawCall时,发现有几个同Depth的粗体字跟非粗体字没有合批,感觉非常奇怪。然后看了下Text组件的设置,发现这位同学做粗体效果时拖用了msyhbd的字体,而普通字用的msyh字体。

这里说明下两个字体的关系,msyh是不支持粗体的字库,而msyhbd就是msyh缺少的粗体字库。我们做粗体效果,都是Text组件的Font Style选项设置为Bold。在Unity5.4版本里,只有msyh字体的话在Android设备上粗体效果会显示错乱。因此,我们在项目里又加了msyhbd修复这一问题(解决方案源自上面的参考文章)。顺便一提,Unity2018.4中没有msyhbd也能保证Android设备粗体效果正常(亲测)。

针对上面的情况,做了个小实验(U5.4环境),结果记录如下

Text字体

设置(FontStyle)

效果

能否合批

msyh

Normal

普通

msyh

Bold

粗体

msyhbd

Normal

粗体

不能

msyhbd

Bold

粗体

不能

上面表格中“能否合批”是指,同Depth的所有Text组件能否合批。当然,上面表格,跟前面这句话都不够严谨。在msyh + Bold设置能满足效果的情况下,所有的Text组件只会使用msyh一个字体,自然它能够合批。

最终的一个小结论:直接引用同一个字体的Text是可以合批的,跟它实际内容来源于哪个字体无关。

最终内容都来自msyhbd的情况下,使用Bold选项能保证合批,我们猜测是fallback机制的功劳。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值