Какое семейство шрифтов по умолчанию в Android?

Начиная с API 16, Jellybean Roboto была представлена ​​как доступное семейство шрифтов для использования. Смотрите, что нового в Android 16 здесь.

Определение android:fontFamily="sans-serif"(Roboto в API 16+) на TextView по умолчанию fontFamily из TextView?

Является

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

эквивалентно

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="sans-serif" />

?

Материал сайта типография дизайн:

"Roboto и Noto являются стандартными гарнитурами для Android и Chrome".

Из вики,

"Roboto - это семейство шрифтов без засечек, разработанное Google в качестве системного шрифта для мобильной операционной системы Android".

Я не вижу в документах, что по умолчанию fontFamily Android есть. Смотрите ссылки:

1 ответ

Решение

На 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 со своего устройства. Производитель устройства или пользовательское ПЗУ может изменить системные шрифты по умолчанию.

fonts.xml (API 21+)

ПРИМЕЧАНИЕ: это более новая (L) версия конфигурации системного шрифта, поддерживающая более широкий выбор веса. Некоторые приложения ожидают более старую версию, поэтому, пожалуйста, синхронизируйте system_fonts.xml и fallback_fonts.xml с любыми изменениями, даже если Framework будет только читать этот файл.

Все шрифты без названий добавляются в список по умолчанию. Шрифты выбираются на основе совпадения: полный языковой тег BCP-47, включая скрипт, затем просто язык и, наконец, порядок (первый шрифт, содержащий глиф).

Порядок появления также является таймбрейкером для подбора веса. По этой причине 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, вы можете найти, какое семейство шрифтов использует какую гарнитуру (см. Здесь):

╔════╦════════════════════════════╦═════════════════════════════╗
║    ║ 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              ║
╚════╩════════════════════════════╩═════════════════════════════╝
Другие вопросы по тегам