Шрифт по умолчанию установлен на Android - PullRequest
30 голосов
/ 25 июля 2011

Может кто-нибудь сказать мне, какие шрифты входят в комплект на большинстве устройств Android, особенно для веб-страниц?

Так же, как В Windows есть свои комплектные шрифты или Списки шрифтов Mac Какие шрифты поставляются с большинством телефонов и планшетов на Android?Кто-нибудь может указать на список в Интернете?

Я создаю веб-страницы и хочу настроить мой CSS так, чтобы изящно деградировать от использования более новых шрифтов до простых "sans-serif" и "serif"семейства шрифтов.Thx.

Ответы [ 6 ]

29 голосов
/ 21 марта 2014

Расширение на Ответ 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: &quot;Droid Sans&quot;; font-style: normal">Droid Sans Regular</div>
<div style="font-family: &quot;Droid Sans&quot;; font-weight: bold">Droid Sans Bold</div>

<div style="font-family: monospace; font-style: normal">Monospace Regular</div>

http://jsfiddle.net/9z3tD/4/ => screenshot on 4.2 (протестировано на Android 4.2)

РЕДАКТИРОВАТЬ: "Droid Sans" на скриншоте явно Roboto.Конфиг поддерживает это, но оказывается, базовый файл является simlink : DroidSans.ttf -> Roboto-Regular.ttf, DroidSans-Bold.ttf -> Roboto-Bold.ttf

РЕДАКТИРОВАТЬ: Кажется, не имеет значения, цитирую ли я фамилии (http://jsfiddle.net/9z3tD/9/ делает то же самое).CSS различает общие ключевые слова, такие как serif и заключенные в кавычки "serif", которые относятся к шрифту, имя которого называется «засечками»;но конфигурация xml не делает различий, поэтому я догадываюсь в 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, на которых у BrowserStack было все - включая Samsungs - посмотрите на мойнетренированные глаза, чтобы быть Roboto или Droid, отличия - только выпуски андроида ... Однако здесь Galaxy S3 пойман не сглаживая Georgia до serif так что что-то отличается.

Firefox является хорошим примером того, как браузер делает это по-другому - они переключились на Open Sans и Charis SIL Compact , затем заменили Open Sans на ClearSans .
Полная конфигурация находится в 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 означает, что при просмотре символов используется этот шрифт).


См. также соответствующий ответ о шрифтах, доступных приложениям.

3 голосов
/ 23 мая 2013

В Android 4.1 вы можете использовать это, например:

семейство шрифтов: sans-serif-light;

3 голосов
/ 25 июля 2011

Здесь ответили: Как получить список доступных / установленных шрифтов в Android? В составе Android доступно только 3 шрифта; обычный (Droid Sans), с засечками (Droid Serif) и моноширинный (Droid Sans Mono).

1 голос
/ 02 июня 2013

http://www.granneman.com/webdev/coding/css/fonts-and-formatting/default-fonts/#android

По-видимому, на Android до версии 4.0 можно указать только 3 шрифта:

  • Droid Sans
  • Droid Serif
  • Droid Sans Mono

Я полагаю, они переводятся на CSS по умолчанию (т.е. sans-serif, serif, mono)

0 голосов
/ 18 июня 2014

Как я уже некоторое время тестировал, существует 3 стандартных шрифта - семейство типов для WebView:

с засечками, без засечек, моноширинный.Я загружал вот так с javaScript (я пробовал разные комбинации из http://www.w3schools.com/cssref/css_websafe_fonts.asp, где размещена таблица обычно используемых комбинаций):

myWebView.loadUrl("javascript:document.body.style.fontFamily=\"Impact, Charcoal, sans-serif\";");

так что не было разницы с кодом ниже:1008 *

myWebView.loadUrl("javascript:document.body.style.fontFamily=\"sans-serif\";");

У меня такой же результат.Протестировано на 4.2.2.

Странно, но курьер тоже работает, похоже на монопространство.

0 голосов
/ 12 февраля 2014

Post 4.0 Androïd использует шрифт "Roboto".Вы можете найти спецификации от Андроида здесь: http://developer.android.com/design/style/typography.html

...