没有为字体系列名称上d.android.com的文档。但是,如果您查看AOSP,则会在android.graphics.*中加载默认字体。 FontListParser加载来自/system/etc/fonts.xml(Android 5.0+)或/system/etc/system_fonts.xml(Android 4.1)的默认字体。默认字体在Typeface#init中加载。
这两个XML文件有一些文档。第一种字体是默认字体。您可以从设备中获取/system/etc/fonts.xml。设备制造商或自定义ROM可能会更改默认的系统字体。
fonts.xml(API 21+)
注意:这是系统字体配置较新的(L)的版本, 支撑更丰富的权重选择。某些应用程序会期望较旧的 版本,因此尽管framework只能读取此文件,但请保留system_fonts.xml和fallback_fonts.xml的同步 的任何更改。
所有字体withohut名称都被添加到默认列表中。基于匹配选择 字体:完整的BCP-47语言标签,包括脚本,然后只需 语言,最后订购(包含字形的第一个字体)。
外观的顺序也是重量匹配的tiebreaker。这是 之所以900重量的Roboto先于700重量 - 我们 更喜欢前者,当需要800重量时。由于大胆跨度 有效地增加300的重量,这确保了900是与500重量配对的大胆 ,确保足够的对比度。
system_fonts.xml(API 16-20)
系统字体
该文件列出了将被默认为所有支持的字形所使用的字体系列。 每个条目由一个家族,该家族支持的各种名称以及多达四个字体文件组成。字体文件按照它们 支持的样式顺序列出:常规,粗体,斜体和粗体 - 斜体。如果列出少于四种样式,则 列出的其他字体文件将支持没有关联字体文件的样式。
第一个家族也是默认字体,它处理的字体请求没有指定 特定的字体名称。
任何未由系统字体处理的字形都会导致搜索退回字体。 默认的回退字体在文件/system/etc/fallback_fonts.xml中指定, 是可选文件,供应商可能会提供此文件以指定其他回退字体,以在/vendor/etc/fallback_fonts.xml中使用 。
如果您解析fonts.xml文件,你可以找到它的字体家族使用该字样(见here):
╔════╦════════════════════════════╦═════════════════════════════╗
║ ║ FONT FAMILY ║ TTF FILE ║
╠════╬════════════════════════════╬═════════════════════════════╣
║ 1 ║ casual ║ ComingSoon.ttf ║
║ 2 ║ cursive ║ DancingScript-Regular.ttf ║
║ 3 ║ monospace ║ DroidSansMono.ttf ║
║ 4 ║ sans-serif ║ Roboto-Regular.ttf ║
║ 5 ║ sans-serif-black ║ Roboto-Black.ttf ║
║ 6 ║ sans-serif-condensed ║ RobotoCondensed-Regular.ttf ║
║ 7 ║ sans-serif-condensed-light ║ RobotoCondensed-Light.ttf ║
║ 8 ║ sans-serif-light ║ Roboto-Light.ttf ║
║ 9 ║ sans-serif-medium ║ Roboto-Medium.ttf ║
║ 10 ║ sans-serif-smallcaps ║ CarroisGothicSC-Regular.ttf ║
║ 11 ║ sans-serif-thin ║ Roboto-Thin.ttf ║
║ 12 ║ serif ║ NotoSerif-Regular.ttf ║
║ 13 ║ serif-monospace ║ CutiveMono.ttf ║
╚════╩════════════════════════════╩═════════════════════════════╝