Unity发布游戏在iOS设备上出现的字体问题
我的游戏项目在上段时间已经上了泰国版本一段时间了,在上线前遇到一个问题,被搞到焦头烂额的,于是记录一下。
问题是这样的,项目本身是用Unity5.5.4版本制作的,游戏里面内置了一个精简版的微软雅黑的字体。然后在打包ios之后,发现所有的泰文都变成了一个方块里面有个问号。
于是觉得很奇怪,拿了项目组另外一个项目来试,这个项目是用Unity5.6.6来制作的,发现能正常显示泰文。
找找差别在哪里,拷贝了改项目用的字体,发现在5.5.4上面仍然显示不出泰文,然后把项目的Unity版本升级为5.6.6,发现泰文能显示了。于是高高兴兴的发版本。
结果在上线前运营验收功能的时候,发现很多界面的字显示超框或者显示不全。由于项目组本身并没有人懂泰文,所以之前一直没有发现这个问题,以为能显示就肯定是对的。到了上线前几天,由泰国本地人跑游戏测试,才发现这个问题,结果就变得非常着急了。因为不解决这个问题根本是不可能上线的,但上线的日期已经定了,广告也投了。
经过对比,发现安卓没有这个问题,旧版系统的iPhone也没有这个问题,只有iOS11以上的手机有显示问题。于是简单百度了一下,就发现了iOS11换了字体的说法,于是大家就以为问题找到了,并且无法解决,就开始傻傻的逐个界面修改。
但我一直对这个事情抱有怀疑,因为从原理上说不通,Unity使用的字体是自己放进去的,字体的原理也是图集,图片都是固定好的,怎么可能会由于系统字体变大,就影响到游戏本身的字体也变大呢?
于是拿出MacBookPro,做了几个demo来测试这个问题,还从网上下载了多个泰文字体作为对比,总算找到了原因。
首先,项目用的字体是一个精简版的微软雅黑,它里面是不包含泰文的。然后在没有泰文的情况下,游戏是自动使用了系统字体来补,所以游戏里面看到的的确是系统的字体,系统字体变大了游戏字体也变大了。于是找一个泰国字体放到游戏里面,发现一切问题都解决了,iOS和Android的显示完全一样了。
这里又回头测试了一下Unity5.5.4的问题,发现在5.5.4里面放入泰文字体,也是能正常的显示泰文的。但如果用系统默认字体,iOS上面的泰文就全部变成问号方框了。也就说明了一个问题,Unity5.5.4是存在字体的bug的,它读取不到iOS上面的泰文系统字体来显示。
最后还发现一个神奇的问题,不是所有泰文字体都能正常显示,其中有三个外观看起来很奇怪的字体,在Mac的编辑器上面显示泰文是正常的,但到了Unity5.5.4打出的iOS包里面,还是显示问号方框。所以试字体要试多几个,而且要真机测试比较稳妥。
Unity发布游戏在iOS设备上出现的字体问题相关推荐
- ios连不上微软游戏服务器,iOS 设备上已经支持微软的 Xbox 云游戏服务
继 4 月中旬开始的仅限邀请的 Beta 测试之后,微软已向iOS 和 PC 上的所有Game Pass Ultimate订阅者推出其 Xbox 云游戏服务.随着今天的公测开始,您可以访问xCloud ...
- Unity 之 代码获取IOS设备型号 -- 做分辨率适配
Unity 之 代码获取IOS设备型号 一,通过机器型号校验 1.1 逻辑解释 1.2 实现代码 二,通过长宽比校验 一,通过机器型号校验 1.1 逻辑解释 在https://www.theiphon ...
- “SandJacking”攻击:在未越狱的 iOS 设备上安装恶意应用
在HITB 2016 会议中,Mi3 Security公司的安全研究员Chilik Tamir发表了一个关于"SandJacking"攻击的演讲,利用一个未打补丁的iOS漏洞在未越 ...
- 神器面世:让你快速在 iOS 设备上安装 Windows、Linux 等操作系统!
今天我想跟大家分享下,最近连续几天,持续霸榜 GitHub Trending 的一款开源神器:UTM. https://github.com/utmapp/UTM/ 相信在座的各位,多多少少都有过给电 ...
- 在iOS设备上安装Windows、Linux等操作系统!
提到iOS高级玩法,很多人都会想到越狱,但真正的高级玩家,已经在探索如何在iOS上运行其他操作系统了. 2020年,这个想法真的实现了. 首先是在今年3月5日,一位国外的开发团队称,他们在苹果iPho ...
- 如何在未越狱iOS设备上安装IPA
转载自:http://blog.163.com/l1_jun/blog/static/1438638820133505210779/ 如何在未越狱iOS设备上安装IPA 2013-04-05 12:5 ...
- 如何在未越狱的iOS 设备上安装 ipa
如果你是 iOS 开发者, 给客户开发的app, 在发布到appstore 前,需经过客户的测试. 如果客户的iOS设备不是越狱的,你只好通过 ad-hoc 模式,将生产的 ad-hoc profil ...
- 不通过App Store,在iOS设备上直接安装应用程序
今天在iOS设备上安装天翼云存储app,在safari上直接打开http://cloud.189.cn/wap/index.jsp,点击"点击免费安装",如下图: 神奇的事情发生了 ...
- 使用 Xcode 在越狱 iOS 设备上进行开发调试
1 目的 2 iOS 设备的设置 3 生成私有签名 4 设置 Xcode 4.1 告诉 Xcode 不需要签名 4.2 告诉 Xcode 不用做签发动作 4.3 指示 Xcode 使用私有签名签发 A ...
- 从Windows 7 Media Center转换实况电视录制以在iOS设备上观看
If you use Windows 7 Media Center to record Live TV, you might want to bring shows with you on your ...
最新文章
- Python 高级特性 (1)- 闭包
- python与人工智能编程-五大人工智能流行编程语言对比,只要学会一种绝对不亏!...
- java的准动态(反射)
- 利用AutoHotkey实现Vim和Excel的数据传递
- 机器人学 —— 机器人视觉(极几何)
- C和指针之字符串编程练习8实现char *my_strnchr(char const *str, int ch, int which)
- Linux安装JDK(rpm)
- 程序员如何在百忙中更有效地利用时间,如何不走岔路,不白忙(忙得要有效率,要有收获)...
- 16_使用开源项目下载文件
- vs2008中使用gdi+的设置
- linux中安装rpm命令,linux下,如何安装rpm命令?
- clearcase 与 git的区别
- v8引擎编译全记录2020-10-17(保姆级教程)
- android 删除图片后通知系统图库删除图片
- MFC中CDC *PDC hDC 等等及Wnd的区别
- mysql数据库外连_数据库外连接及MySQL实现
- 【Docker】Docker镜像是什么?浅谈对Docker镜像的理解
- 怀揣美好前行 善良的人终究都会幸福
- windows蓝屏错误代码查询
- CAD开发:DWG合并,dwg转换为dxf