android 获取默认字体,Android中的默认字体系列是什么?

没有为字体系列名称上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 ║

╚════╩════════════════════════════╩═════════════════════════════╝

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值