Какое семейство шрифтов по умолчанию в 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 ║
╚════╩════════════════════════════╩═════════════════════════════╝