CSS 有什么方法调用国产安卓的 UI 字体?

2020-04-10 09:18:02 +08:00
 AlphaRobert

例如 font-family 里 iOS 可以用 -apple-system,MIUI 似乎可以用 miui(不太清楚)

3497 次点击
所在节点    CSS
8 条回复
gaoryrt
2020-04-10 10:05:54 +08:00
AlphaRobert
2020-04-10 10:17:00 +08:00
@gaoryrt 可能没有表达清楚,我预期的不是像 `system-ui` 或 `sans-serif` 这种通用类,而是特别的系统特有的关键字(像 -APPLE-system )
mxalbert1996
2020-04-10 10:24:28 +08:00
去看 ROM 的 /system/etc/fonts.xml

比如 miui 就是这么写的:

<family name="miui">
<font weight="400" style="normal">MiLanProVF.ttf
<axis tag="wght" stylevalue="340"/>
</font>
<font weight="700" style="normal">MiLanProVF.ttf
<axis tag="wght" stylevalue="400"/>
</font>
</family>
kerr92
2020-04-10 12:34:49 +08:00
事实上 "system-ui" 就是这个问题的最终答案啊……
"-apple-system"和"BlinkMacSystemFont"被 W3C 标准化之后就是 "system-ui" 表示系统 UI 字体。
至于 miui 这个字体名称和系统 UI 字体没有直接关系,只是 miui 这个字体族恰好就是系统 UI 字体,也就是小米兰亭或者小米兰亭 Pro 。
kerr92
2020-04-10 12:37:53 +08:00
另外国产安卓系统里,除了小米有点追求以外(和苹果的品味还差很远),其他的中文字体普遍都是思源黑体。
AlphaRobert
2020-04-10 13:31:27 +08:00
@kerr92 其实是因为强迫症过头了,想针对不同的平台选择不同的渲染方案。像 Windows 微软雅黑比 macOS 苹方粗了一档,所以选用的西文 web fonts 也比在 macOS 下粗一档。完全基于 `navigator` 来判断平台不大可靠,有方法用 canvas 来判断某一特定字体是否可用。有部分手机厂商在一段时间内喜欢用细体充当 regular,如果西文的 web fonts 还是按照标准的字重来调用,中文之间的西文就跟粗体一样。以及其他的粗的不够粗之类的问题。另外如果支持多字重的中文,西文 web fonts 也要再加在额外的字重。
像小米兰亭 Pro (VF),Smartisan T 黑(以及之前的冬青黑体,有 light 字重),OPPO Sans (典型的细体当 regular ),EMUI 的汉仪旗黑。
* 中文的 web fonts 在移动端上不考虑。
kerr92
2020-04-10 20:10:58 +08:00
@AlphaRobert OPPO 是把 OPPO Sans 的 5 款字重都内置进 ColorOS 了嘛?国内厂商让人刮目相看。自从发现 Android 默认内置的 Noto 系列 CJK 字体只有 Regular 字重以后,我已经不纠结了……反正我不用 Android 🌝
AlphaRobert
2020-04-10 21:30:51 +08:00
@kerr92 不太清楚,似乎 light, regular, bold 至少有,还没下固件。但是 OPPO Sans 也是基于旗黑的骨架改的,旗黑又是出身于兰亭黑的,兰亭黑又另外有索尼兰亭。就只有坚果选了方正卖不掉的悠黑定制(但可能是所有厂商里最适合长文阅读的,拉丁部分除外)还加了标点挤压和台标版本(虽然国字标准很糟糕);某种角度还是成功继承了锤子的强迫症

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX