
俺自从走上刷机的不归路开始就经常折腾第三方字体模块,而真正意义上接触iOS及其衍生系统仔细算算也过去两三年了[受虐滑稽]因为大学一直在学日语所以设备也经常出现中文日文来回切换的情况,在这期间毫无疑问也对iOS的字体机制起了兴趣,于是趁着无聊决定稍微浅谈一下iOS的字体切换逻辑[cos滑稽]
下图是我的iPad使用日语的Apple Music界面。可以看见字体是完全符合日标逻辑的(典型例子便是诸如“忘”字和“変”字的第一笔是竖而非我们常见的点)。
而当系统的字体切换为其他语言时,歌词界面的字体也会有所变化,具体的变化见以下图片及其文字说明。
那么问题来了,如果我用日语来显示以简体中文表示的歌词会出现什么情况呢?请看下图:
可以看见,经过简化的字(如“还(還)”“对(對)”)的字号明显比其他字大了一圈,说明系统将日语字库中缺失的汉字以其他语言进行了调用,而具体调用的是哪个语言呢?将上图与下图进行比较能够得到结果。
可见,当第一语言的字库里缺少相关字体时,iOS的逻辑是自第二语言开始向下寻找,直到找到该字符位下存在的汉字。
那么问题来了,要是语言栏里的语言都没有对应的相关字体,iOS会如何处理呢?嗯,经过我的测试,当iOS的语言栏只有英语时,iOS会默认使用简体中文标准作为汉字的字形标准。也能理解,毕竟iOS的简体中文字库是涵盖了简化字、繁体字、日本简化字的,默认使用这一项能最大程度避免汉字无法显示的问题。(反正老外也看不懂.jpg)
最后做一个iOS的字库大小的比较吧:最大的字库无疑是简体中文字库,基本涵盖了汉字文化圈的常用字体。第二大的字库应该是繁体中文字库,除去未经简化的字外,还包含了部分简化字,但日常使用仍会出现部分简体字无法覆盖的问题。相比之下,日语字库是逊色前两者很多的,除去那边常用的日本简化字,只涵盖了大部分传统的未经简化的字(甚至有些传统字也会出现缺失的情况),和日本简化得不一样的大陆简化字基本全军覆没[流汗滑稽]。韩语汉字字库是最少的,在纯繁体中文环境下日语字库好歹是偶发缺失现象,而韩语字库的这种现象频繁很多。
文章末尾再掺点个人主观私货吧,个人感觉要是给这四个字体的美观程度打分的话,日语字体保留了部分喇叭口设计,看着很有上了年纪的印刷制品的风味,而且不避捺的做法也使得部分汉字看着更加对称,而我在各位大佬做的第三方字体中似乎鲜有发现以如此逻辑设计的字体[哼唧]。两者的具体差异见下图。
半夜随想,毕竟我也只是个门外汉,要是有大佬能做出批评指正或是补充说明的话,不胜感激![滑稽]






