Android N 升级与 CJK 字体

Android N 发布已经一月有余,今天终于升级换上。用了一天,一切顺利,此前预览版中的问题没有碰到,就我而言已经可以当作主力系统使用。截至发稿时,适用于 Android N 的 SuperSU 刷机包已经释出,TWRP Recovery 也已可用。

本次升级最令人开心的一点,就是在初次启动进行初次设定的过程中,允许不联网进行设置了。这就免除了此前由于大陆网络原因无法连接 Google 的服务器,不拔卡或连上 Wi-Fi 后会卡在 Google 账户登录步骤上的问题。虽然并不是常用的功能,但的确免除了太多的麻烦,是我最喜欢的细节了。

其他关于 Android N 中与前代 Android 的各项差异,已经有无数的文章加以赘述,在此不再赘述。本文主要讨论一下关于内置中日韩字体 Noto Sans 的最新状况与个人根据需求的改进。

内置中日韩字体 Noto Sans CJK 方式的改变

从 Android L 开始,随着思源黑体(Source Han Sans)的发布,Android 便开始使用 Noto CJK 作为随机中日韩字体。

为了适配不同的使用需求,Noto Sans 很早就在自己的 Github 仓库中释出了采用不同打包方式的多个版本,具体信息可参见 Noto Sans CJK 的版本的介绍和选择指导。在 Android N 以前的系统中,随机附带的字体均为「Region specific OTF subsets」,而 Android N 开始,采用了「CJK OTC fonts (Thin, Light, DemiLight, Regular, Medium, Bold, Black)」的模式。如果从字体文件名上来看,就是从

NotoSans{JP, KR, SC, TC}-[weight].otf

变成了

NotoSansCJK-[weight].ttc

而没变的是,随机附带的仅有 Regular 字重。不过日文、韩文、正体中文、简体中文被打包在一起。

当然,相应的配置文件(仍是位于 /system/etc/font.xml)也发生了变化,关于中日韩字体的描述部分由类似

<family lang="zh-Hans">
    <font weight="400" style="normal">NotoSansSC-Regular.otf</font>
</family>

变成了

<family lang="zh-Hans">
    <font weight="400" style="normal" index="2">NotoSansCJK-Regular.ttc</font>
</family>

这样的形式,可以看到为了支持 OTC(OpenType Collection,后缀为 .ttc)而而增加的 index 属性。

一如往常,若是需要增加相应的字体的话,只需将字体文件拷贝到 /system/fonts/ 目录下,并在配置文件相应的行即可。具体可参见附录部分。

另外,拷贝之后需要格外注意的一点,拷贝过去的字体的文件的的权限需要为 -rw-r--r--(644),否则系统可能不能正常读取这些字体。

比较难过的是系统等宽字体默认还在使用 Droid Sans Mono,我还是手动把他们替换成 Roboto Mono 了(Github)。

虽然能够手动操作,但默认中日韩字体只采用单一字重、仍然没有用上「CJK OTF fonts with different default language」还是挺令人难过的,但对于 OTC 方式的支持,而且介绍页面有了它们的下载链接,不再需要去仓库里一大堆文件总还是方便了一些的。

继续阅读“Android N 升级与 CJK 字体”

再读《活版》

I Love Typography 昨天的新文章 The Prints and the Pauper 的摘录了来自 Keith Houston 的新书《The Book: A Cover-to-Cover Exploration of the Most Powerful Object of Our Time》章节 The Prints and the Pauper: Johannes Gutenberg and the invention of movable type, 比较了中西世界中的印刷术的差异,用西方视角重新审视了我们在中学课本里沈括老先生《梦溪笔谈 · 卷十八 技艺》里的的《活版》选段,给人一种耳目一新的感觉。

不过,我最感兴趣的是下面两段

But as enticing as Chinese ink was to calligraphers and doctors, it was a stumbling block for Chinese printers who tried to move beyond simple woodblock printing. Water-based inks did not adhere well to metal, earthenware, or porcelain and produced blotchy, indistinct images.

Another famed Chinese invention bound up with books and bookmaking also proved to be an obstacle to the wider adoption of movable type. Chinese paper was too delicate to withstand the pressure required to form a crisp impression, requiring that printers use handheld brushes rather than firm mechanical presses to impress their paper onto their type. Not only that, China’s water-based ink tended to seep through the paper and made it impossible to print on both sides of a sheet.

在这两段里 Keith Houston 指出了两个我们在《活版》的教学过程中通常不被提及的我国传统活版印刷与现当代印刷术的有趣差异:

  • 油墨的不同:中国的水性墨与金属、陶瓷难易结合,导致印刷不清晰。
  • 纸张的不同:中国传统的宣纸薄而脆,韧性差,难易使用机器快速压制;而且由于采用水性墨会洇到背面导致双面印刷困难。

现在想想当年要是能有印刷相关专业的人,或者是字体排印的爱好者来给当年的我们讲当年的那篇文章可能的确会是另一番风景呢。