让 iOS 也能显示微软雅黑

 

少废话,先看效果:

before — after

想要自己看效果的也可以打开这个链接进行测试。

iOS 8 及以前版本内置的中文字体是华为黑体,iOS 9 之后换成了苹方,但是这两种字体都是无衬线字体,苹果也没有内置一个衬线字体供用户使用,因此在中文网页上,无论开发者声明了怎样的字体,在 iOS 设备上显示出来都是同一个效果(如左图),今天要做的是给 iOS 手动安装一些中文字体,以实现右图的效果。

从 iOS 7 开始,苹果允许用户通过配置文件的方式安装字体,安装之后的字体可以用于系统内一部分软件。之所以这个功能藏地这么深是因为在 iOS 上鲜有用户需要安装字体的情况:应用自身可以内置字体,网页上也可以使用 WebFont(在加载网页时动态下载字体)。Microsoft Office 组件就是通过内置字体的方式实现文档排版,所以如果你只需要在 Office 里面使用微软雅黑,那就可以关掉页面了。

WebFont 的应用不计其数,但是有一点被忽略了:没有人会利用 WebFont 来动态加载中文字体,因为中文字符太多,字体文件都大得吓人,动态加载会严重拖慢网页加载速度,所以中文网站要么调用常见的系统内置字体,要么干脆不声明字体,任人宰割。

不同的系统内置的中文字体库不同,例如 macOS 不内置微软雅黑,Windows 不内置苹方,iOS 不内置宋体,macOS 和 Windows 的宋体不一样,Android 就更乱了。鉴于 Windows 从 2006 年开始就内置了微软雅黑,它又是市场占有量最大的操作系统,很多网站开发者为了避开 Windows 默认的方块字,选择声明微软雅黑作为网页字体。

因此需要做的,就是给 iOS 装一个微软雅黑,再装两个宋体(Windows 内置宋体和 macOS 宋体),最终实现的效果如上图右侧。思源黑体装不装无所谓,没什么人用。

开工

我用的软件是 AnyFont(App Store),你如果已经购买了 WorkFlow 也可以参考少数派的这篇文章,省 12 块钱。AnyFont 可以将多个字体合并成一个配置文件安装,对于英文字体来说尤其实用,也方便卸载。

需要注意的是严格来说,方正并不允许用户提取微软雅黑用于其他用途,我没有具体查宋体的授权,但是应该也类似,如果有这方面的顾虑请关掉该网页;思源黑体是一个免费开源的字体,但是 Google 和 Adobe 分别有各自的分发方式。Google 将思源黑体并入无豆腐字体家族 Noto 中,而 Adobe 将其并入 Source Han Sans 字体家族中,二者的区别是绑定的英文字体不同,请酌情使用。

第一步:提取字体

在 Windows 上提取字体比较简单,只需要打开控制面板,随后依次导航到“外观与个性化-字体”,选中微软雅黑,拖到桌面上就可以了。微软雅黑(截止到截稿日期)有三个字重。宋体也可以提取出来,只有一个字重。这些字体文件留下备用。

提取 macOS 的宋体就比较麻烦了:需要在 Launchpad 中找到“字体册”,找到“宋体-简”,然后右击选择“在 Finder 中显示”,把这个字体文件复制到桌面上。macOS 的宋体内置 8 种字重,但是全部包含在一个 ttc 文件里,体积非常大,安装几乎不可能成功,所以需要借助软件将其拆分成 8 个独立的字体。

我使用的软件是 ttc2ttf,里面有一个组件叫做 BreakTTC,仅支持 32 位操作系统,因此我搬出来了 Windows XP 虚拟机。提取出的字体留下备用。

考虑到版权问题,拆分后的字体不提供下载,请自行折腾。你也可以从正规来源获取字体:例如从淘宝购买,或从 Google Fonts 等网站下载免费字体。

第二步:传输字体

AnyFont 允许通过多种方式传输字体,例如通过 iTunes 复制到应用内,通过 iOS Share sheet 从其他程序复制到应用内。我图省事直接 AirDrop 也是可以的。如果有多个字体文件,可以打包成 zip 一口气传输,AnyFont 会自动解压并识别压缩包里的字体。

第三步:安装

安装字体的步骤不多,但是由于中文字体往往体积较大,有非常大的几率安装失败,重新尝试安装即可。如果尝试多次都不行,那就清后台、关闭所有 Safari 页面、重启。

失败案例如下:

成功案例如下:

安装成功之后可以再次访问测试页面查看效果。

第四步:卸载

卸载字体只需要卸载相应的描述文件即可。

局限性

从最上面的图片可以看到,当字体回落到 serif(衬线字体)时,iOS 不会选择已经安装的宋体,而仍然使用苹方。因此假如开发者没有在网页上明确声明使用“宋体”,宋体并不会被使用。我也不知道这个问题怎么解决,可能只能等苹果把宋体内置到 iOS 里了吧。

这个方法并不会替换掉系统默认的苹方字体,只是能让一部分网站和一部分应用调用已经安装的字体。想要更换 UI 字体只能越狱。

发布者:王跃琨

Digital Asshat

%d 博主赞过: