Android meets Variable Font

Android O 支援可變字型(Variable Font)啦!

在 Android O 上,Android 團隊放置了 NotoSansKhmer-VF.ttf 這個字型檔。牠是高棉語 Noto Sans——Noto Sans Khmer 的可變字型(Variable Font)版本(檔名中的 VF 就是可變字型(Variable Font)的縮寫),也是 Android 上搭載的第一個可變字型。

目前,Android 團隊尚未向 AOSP 釋出 Android O,因此這個特性的實現細節暫時無從得知。

Android 團隊在 fonts.xml 裏對 NotoSansKhmer-VF.ttf 的 code 如下:

即是說,僅用一個 TTF 字型檔,透過調整 width (wdth) 和 weight (wght) 軸,就實現了從 100 至 900 的字重顯示需求(即便是 Android 的「系統字型」Roboto,也不支援 200、600 和 800 的字重)。

Android O 已進入 DP 3 (Final APIs) 測試階段,可變字型相關的 API 文件亦可以在 Android Developer 中參考。


2017/8/23 更新:隨著 Android 8.0 Oreo 正式版的釋出,Google 也向公衆公開了 AOSP 上 Android 8.0 Oreo 的相關內容。關於本文提到的可變字型(Variable Font)相關技術細節,請參閱 Google Git