【Unity杂谈】iOS 18中文字体显示问题的调查

一、问题现象

最近苹果iOS 18系统正式版推送,周围升级系统的同事越来越多,有些同事发现,iOS 18上很多游戏(尤其是海外游戏)的中文版,显示的字很奇怪,就像一些字被"吞掉了",无法显示。

比如知名游戏《纪念碑谷》就有这个问题。

可以看到图中,游戏的戏字在底下的字体就无法显示。

进一步探究发现我们自己的产品也有这个问题。

二、探究过程

首先是找复现的方式,测试下来,有三四个iPhone和一个iPad有这个问题,但是有的手机则没有这个问题。

一般出现这种问题,最值得怀疑的是Unity和iOS哪里不兼容了,在网上大量搜索,发现并没有人提及Unity的类似的bug。

联想到,还有一种可能是,字体问题。因此开始探究字体的问题。由于我们使用的字体是不支持中文的,Unity的Text组件在显示中文的时候,是使用了系统的fallback字体。

我找了有问题和没有问题的设备,仔细对比,发现两边的区别是,苹方系列字体在有问题的手机上是没有安装的,装上之后,这个问题就解决了。

这个时候搜索参考资料的方向就改为查询iOS 18苹方字体的变化,发现这个字体丢失是有人讨论的。

PingFang.ttc font file is missing ... | Apple Developer Forums

三、解决方案

显然,这问题是iOS系统侧的问题,客户端暂时也没有必要去急着处理这个字体。

这里总结系统层面可以去修复这个问题的方法:

手机 设置- 通用- 字体 - 系统字体,找到对应的 苹方-简(如果是繁体用户则是苹方-繁),进行下载。

如果没有显示可以下载,但是点编辑却找不到这个字体,说明是设置也卡bug了,此时重启手机,安装一个别的字体触发一下刷新,就会发现 苹方-简 变成可以下载的状态了。

下载安装好后,目前找到的有这个问题的所有设备都能通过这个方式修复好。

相关推荐
kango1 天前
iOS 远程推送全链路拆解:从 deviceToken 到多账号绑定
ios·app
探求虚无1 天前
用 AI 在 Unity 里做一款 RTS:最难的不是生成代码,而是证明它真的能玩
人工智能·unity·游戏引擎
SmalBox1 天前
10-01-实战-环境搭建与集成
unity3d·游戏开发
茶底世界之下2 天前
仙人掌与沙丘的傍晚:用 Awaking 让侧光有了层次
ios·app·产品
SmalBox2 天前
09-04-生态-UOS CDN与服务器部署
unity3d·游戏开发
johnsong2 天前
Claude Fable 5.2 登顶:65 分、单发做游戏,和一份 $26.54 一单的账单
人工智能·游戏
17岁的勇气2 天前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
茶底世界之下2 天前
蓝调鱼市的一盏暖灯:用 Awaking 把冷海与灯光分开
ios·app·产品
寂寞的船3 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
SmalBox3 天前
09-03-生态-与GameFramework-xAsset等框架集成
unity3d·游戏开发