【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了,此时重启手机,安装一个别的字体触发一下刷新,就会发现 苹方-简 变成可以下载的状态了。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考研数据结构——C语言实现无向图邻接矩阵

首先,定义了一些基本的数据结构和常量: VertexType 和 EdgeType 分别用于表示图中的顶点和边的权重。MAXVEX 定义了图中最大顶点数为100。INFINITY 用于表示顶点之间没有直接的边相连,这里用65535作为无穷大的表示。 定义了一个图的结构体 MG…

介绍几个AI生成视频的工具

介绍几个AI生成视频的工具: ► Synthesia: Best AI Video Generator - Start Creating FREE AI Videos Now 提供基于 AI 的虚拟演示者,允许用户无需摄像机即可创建专业视频。 ► invideo AI: Turn ideas into videos | AI video creator | invideo AI …

MiniCPM3-4B | 笔记本电脑运行端侧大模型OpenBMB/MiniCPM3-4B-GPTQ-Int4量化版 | PyCharm环境

MiniCPM3-4B,轻松在笔记本电脑上运行大模型? 背景一、选择模型二、模型下载三、模型运行四、总结 背景 2024年9月5日,面壁智能发布了MiniCPM3-4B,面壁的测试结果声称MiniCPM3-4B表现超越 Phi-3.5-mini-instruct 和 GPT-3.5-Turbo-…

Linux 内核的版本控制

Linux 内核的版本控制以及确保模块兼容性是开发和维护 Linux 系统时非常重要的一部分。 Linux 内核采用了语义版本控制(Semantic Versioning),通常由三个部分组成: 主版本号(major)、次版本号(m…

leetcode - 分治思想

分治 - 快排 这里快排我们统一使用 数组分三块 和 随机产生基准值的方法实现排序 数组分三块: . - 力扣(LeetCode) 整个思想即将数组按照基准值分为三个区间 , 具体实现: 三指针实现. 遍历指针 , 左区间右边界指针 , 右区间左边界指针 class Solutio…

卸载完mathtype后,删除word加载项中的mathtype

请参考博客“卸载完mathtype后,word加载项中还是有mathtype的解决方法_怎么删除word加载项里的mathtype-CSDN博客”以及 “安装卸载MathType经验解决MathType DLL找不到的问题——超实用_mathtype dll cannot-CSDN博客” 如果在删除.dotm文件时,删不掉…

随着访问范围的扩大 OpenAI o1-mini 现已向免费用户开放

上周,OpenAI 展示了其最新的大型语言模型(LLM)–OpenAI o1及其小兄弟 OpenAI o1-mini。该公司在公告中称,Plus 和 Team 用户可在公告发布之日起访问该模型。企业和教育用户将在本周获得该模型,而免费用户最终将获得 o1…

Golang | Leetcode Golang题解之第404题左叶子之和

题目: 题解: func isLeafNode(node *TreeNode) bool {return node.Left nil && node.Right nil }func sumOfLeftLeaves(root *TreeNode) (ans int) {if root nil {return}q : []*TreeNode{root}for len(q) > 0 {node : q[0]q q[1:]if no…

Mac 上,终端如何开启 proxy

前提 确保你的浏览器可以访问 google,就是得先有这个能力 步骤 查看网络的 http/https 还有 socks5 的 port配置 .zshrc 查看 port 点击 wifi 设置 以我的为例,我的 http/https 都是 7890, socks5 是 7891 查看代理的port 以我的软件…

清华团队发布鼻咽癌诊断模型,自动从HE染色图像生成EBER染色图像|文献精析·24-09-18

小罗碎碎念 今天精读的这篇文章于2024年7月22日发表,作者来自清华大学和广西大学。 角色姓名单位名称(中文)第一作者曾清华大学珠三角研究院医学光学技术研发中心,广州通讯作者何清华大学深圳国际研究生院生物制药与健康工程研究所…

Ubuntu系统入门指南:常用命令详解

Ubuntu系统入门指南:常用命令详解 引言 Ubuntu是一个基于Linux内核的开源操作系统,由Canonical公司和社区共同开发和维护。它以易用性、稳定性和广泛的软件支持而著称,广泛应用于个人电脑、服务器和云计算环境。对于新手来说,掌…

【Django5】django的helloworld

安装django pip install djangoDjango官方中文文档 https://docs.djangoproject.com/zh-hans/5.1/Github链接 https://github.com/django/django创建Django项目 cd到想要创建项目的文件夹下,输入以下命令创建项目 这行代码将会在当前目录下创建一个 mysite 目录 …

算法.图论-并查集上

文章目录 1. 并查集介绍2. 并查集的实现2.1 实现逻辑2.2 isSameSet方法2.3 union方法(小挂大优化)2.4 find方法(路径压缩优化) 3. 并查集模板 1. 并查集介绍 定义: 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所…

linux 解压缩

1、tar命令 # 压缩文件 file1 和目录 dir2 到 test.tar.gz tar -zcvf test.tar.gz file1 dir2 # 解压 test.tar.gz(将 c 换成 x 即可) tar -zxvf test.tar.gz # 列出压缩文件的内容 tar -ztvf test.tar.gz 释义:-z : 使用 gzip 来压缩和解压…

JavaDS —— 图

图的概念 图是由顶点集合以及顶点之间的关系组成的一种数据结构:G (V,E) 其中 V 表示的是顶点集合 : V { x | x 属于某个数据对象集} 是有穷非空集合 E 叫做边的集合 : E {(x, y) | x, y 属于 V} 或者 …

Next.js 14 如何在服务端页面中使用客户端渲染组件

在Next.js中,默认就是使用服务端渲染的,那如何在服务端页面中包含客户端组件呢,以下是试例: 在ArticlePage.js中: import DeleteButton from /components/DeleteBtnexport default async function ArticlePage(){retu…

Qt 模型视图(二):模型类QAbstractItemModel

文章目录 Qt 模型视图(二):模型类QAbstractItemModel1.基本概念1.1.模型的基本结构1.2.模型索引1.3.行号和列号1.4.父项1.5.项的角色1.6.总结 Qt 模型视图(二):模型类QAbstractItemModel ​ 模型/视图结构是一种将数据存储和界面展示分离的编程方法。模…

Kotlin cancel CoroutineScope.launch的任务后仍运行

Kotlin cancel CoroutineScope.launch的任务后仍运行 import kotlinx.coroutines.*fun main() {runBlocking {val coroutineScope CoroutineScope(Dispatchers.IO)val job coroutineScope.launch {var i 0while (i < Int.MAX_VALUE) {iprintln(i)}}// 2ms 取消协程delay(…

搜索小车运动最短路径python代码实现

一、实验任务 场地中正方格代表障碍物&#xff0c;选取小车运动起点和终点。编程探究小车从起点运动到终点&#xff0c;总共有几种可行的路径&#xff08;路径不含重叠部分&#xff09;&#xff0c;同时找出最短路径并可视化。 二、实验思路 把场地抽象化为69的平面矩阵&…

五种嵌入式中常见网络协议栈

一.LWIP 1.介绍 LwIP&#xff08;Lightweight IP&#xff09;是一个由瑞典计算机科学院&#xff08;Swedish Institute of Computer Science&#xff09;开发的轻量级TCP/IP协议栈&#xff0c;专为资源有限的嵌入式系统而设计。它以其小巧且功能完善的特性&#xff0c;在物联…