扩展 Grstmo's answer:
system_fonts.xml 定义从字体系列到实际字体文件的映射。所以让我们试试这些:
<div style="font-family: sans-serif; font-style: normal">Regular</div>
<div style="font-family: sans-serif; font-style: italic">Italic</div>
<div style="font-family: sans-serif; font-weight: bold">Bold</div>
<div style="font-family: sans-serif; font-weight: bold; font-style: italic">Bold-italic</div>
<div style="font-family: sans-serif-light; font-style: normal">Light</div>
<div style="font-family: sans-serif-light; font-style: italic">Light-italic</div>
<div style="font-family: sans-serif-thin; font-style: normal">Thin</div>
<div style="font-family: sans-serif-thin; font-style: italic">Thin-italic</div>
<div style="font-family: sans-serif-condensed; font-style: normal">Condensed regular</div>
<div style="font-family: sans-serif-condensed; font-style: italic">Condensed italic</div>
<div style="font-family: sans-serif-condensed; font-weight: bold">Condensed bold</div>
<div style="font-family: sans-serif-condensed; font-weight: bold; font-style: italic">Condensed bold-italic</div>
<div style="font-family: serif; font-style: normal">Serif Regular</div>
<div style="font-family: serif; font-style: italic">Serif Italic</div>
<div style="font-family: serif; font-weight: bold">Serif Bold</div>
<div style="font-family: serif; font-weight: bold; font-style: italic">Serif Bold-italic</div>
<!-- "Droid Sans" actually gives you Roboto. -->
<div style="font-family: "Droid Sans"; font-style: normal">Droid Sans Regular</div>
<div style="font-family: "Droid Sans"; font-weight: bold">Droid Sans Bold</div>
<div style="font-family: monospace; font-style: normal">Monospace Regular</div>
http://jsfiddle.net/9z3tD/4/ =>
(在安卓 4.2 上测试)
编辑:屏幕截图中的“Droid Sans”显然是 Roboto。
配置支持它,但结果是 the underlying file is a simlink: DroidSans.ttf -> Roboto-Regular.ttf, DroidSans-Bold.ttf -> Roboto-Bold.ttf
编辑:我是否引用姓氏似乎并不重要(http://jsfiddle.net/9z3tD/9/ 呈现相同)。 CSS 区分像serif 这样的通用关键字和引用的"serif",后者指的是名称恰好是“serif”的字体;但是 xml 配置没有区别,所以我 guess 在 android 中,两种语法都指的是名称为“serif”的字体。但是如果您创建自定义 WebView 并将其配置为将通用关键字映射到其他字体(setSerifFontFamily() 和朋友),可能会有所不同。
然后是fallback_fonts.xml。这些没有名字;例如你不能说font-family: "Droid Sans Fallback"。
但所有这些都应该针对其他字体中每个缺失的字形进行尝试。据推测,甚至可以使用"elegant" 或"compact" 中的font-variant 并通过设置文本lang="ja" 来选择一个子集?
但是我根本没有看到 Droid Sans Fallback 被使用,所以也许后备在 WebKit 中不起作用:-(
免责声明:以上内容适用于使用普通浏览器和/或 Chrome 的普通 Android。我相信它也适用于 WebView(使用默认配置)但尚未测试。
理论上,制造商可以使用其他字体,例如我听说三星这样做了。在实践中screenshots on all android devices BrowserStack had 所有人——包括三星——在我未经训练的眼睛看来是 Roboto 或 Droid,区别只是 android 版本......
但是这里是Galaxy S3 caught not aliasing Georgia to serif,所以 something 不同。
Firefox 是一个很好的例子,展示了不同浏览器的做法——他们切换到Open Sans and Charis SIL Compact,然后是replaced Open Sans with Clear Sans。
完整配置位于 libpref/init/all.js 中,并且取决于语言。
据我所知,Firefox 忽略 system_fonts.xml 的别名,例如Georgia 生成无字体。
OTOH,旧版本(测试 30、34)allowed you to refer to system fonts by name, even to Droid Sans Fallback 但这个doesn't work on FF 36, 37(这两个结果是针对http://codepen.io/cben/pen/VYgPEE,使用 AdobeBlank 意味着当您看到字符时,使用了该字体)。
另请参阅relevant answer,了解应用程序可用的字体。