关注

字符的显示字体不是正确的字体,我怎样才能看到各平台的Fallback字体列表?

问题

  • 某些字符在不同的平台上显示为不同的字体
  • 某些字符在一些平台上可以显示,在其他平台上不显示或显示为不同的字体
  • 字符显示不正确,变成了一些奇怪的东西

原因

  • 使用的字体是动态字体,动态生成的字体却是其他字体。
  • 这个字体是用户导入/自定的,并且没有在Inspector-Font Import Settings中勾选 Font Data。此时Unity在试图为字符查找字体时就会失败,因为字体并没有被嵌入到游戏中,目标平台也没有安装指定字体。
  • 字体文件缺失所需的字符。
  • 有些目标平台如WebGL及大量主机不包含Unity可以访问并用于渲染字体的操作系统默认字体。

解决方案

如果字体没有勾选Incl. Font Data复选框,把它勾上。这样Unity在生成可执行程序时就会嵌入字体,程序运行时就可以使用这些字体了。

如果Unity找不到需要的字体(font)或字符(glyph),它就会尝试Font Names域列出的字体,寻找系统中名称相符的字体,或者用户机器上是否装有需要的字形。您工程中字体都有Font Names域,其中包含了对fallback字体的引用,Unity会在需要的时候使用这些字体。

如果找不到任何需要的fallback字体(或字形),Unity会使用预定义的全局fallback字体,具体是什么字体取决于当前平台。

所以,推荐您将所有需要的字体都嵌入到工程里,最好同时嵌入Font Names域中的fallback字体。(例如:font1, font2, font3),并且最好包含字体数据。

更多信息

请查阅以下链接:

 

 

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
还有其它问题?提交请求

0 评论

登录写评论。