Ответ 1
Расширение Ответ Grstmo:
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/ = >
(проверено на Android 4.2)
EDIT: "Droid Sans" на скриншоте явно Roboto.
Конфигурация поддерживает его, но получается базовый файл - это simlink: DroidSans.ttf -> Roboto-Regular.ttf
, DroidSans-Bold.ttf -> Roboto-Bold.ttf
EDIT: Кажется, не имеет значения, цитирую ли фамилии имена (http://jsfiddle.net/9z3tD/9/ делает то же самое). CSS выделяет общие ключевые слова, такие как serif
и quoted "serif"
, который относится к шрифту, чье имя является "serif"; но xml config не делает различий, поэтому я предполагаю, что в android любой синтаксис относится к шрифту, чье имя "serif". Но может возникнуть разница, если вы создадите собственный WebView и настройте его для сопоставления общих ключевых слов с другими шрифтами (setSerifFontFamily()
и друзьями).
Тогда есть fallback_fonts.xml. У них нет имен; например вы НЕ МОЖЕТЕ сказать font-family: "Droid Sans Fallback"
.
Но все они, как предполагается, судимы за каждый отсутствующий символ в других шрифтах. Предположительно, можно даже выбрать подмножество с помощью font-variant
из "elegant"
или "compact"
и путем установки текста lang="ja"
?
Однако я не вижу, чтобы Droid Sans Fallback использовался вообще, поэтому, возможно, резервные копии не работают в WebKit: - (
Отказ от ответственности: Вышеупомянутое относится к акции Android, используя браузер акций и/или Chrome. Я считаю, что это также относится к WebView (с конфигурацией по умолчанию), но не проверено.
В теории производители могут использовать другие шрифты, например. Я слышал слухи, что Samsung это делает. На практике скриншоты на всех устройствах Android. У браузераStack есть все - включая Samsung - посмотрите на мои неподготовленные глаза, чтобы быть Roboto или Droid, различия были просто андроидами релизы...
Однако здесь Galaxy S3 поймал не сглаживание Georgia
до serif
, чтобы что-то отличалось.
Firefox - хороший пример того, как браузер делает это по-другому - они переключились на Open Sans и Charis SIL Compact, затем заменил Open Sans на Clear Sans.
Полная конфигурация находится в libpref/init/all.js и зависит от языка.
Насколько я могу судить, Firefox игнорирует псевдонимы system_fonts.xml, например. Georgia
приводит к получению шрифта sans.
OTOH, более старые версии (проверены 30, 34) позволили вам ссылаться на системные шрифты по имени, даже на Droid Sans Fallback, но это не работает на FF 36, 37 (эти 2 результата для http://codepen.io/cben/pen/VYgPEE, использование AdobeBlank означает, что когда вы видите символы, этот шрифт использовался).
См. также соответствующий ответ о шрифтах, доступных для приложений.