Nie ma dokumentacji na d.android.com dla nazwisk czcionki. Jeśli jednak spojrzeć na AOSP, domyślne czcionki są ładowane w android.graphics.*
. FontListParser ładuje domyślne czcionki z /system/etc/fonts.xml
(Android 5.0+) lub /system/etc/system_fonts.xml
(Android 4.1). Domyślne czcionki są ładowane do Typeface#init.
Dwa pliki XML mają pewną dokumentację. Pierwsza czcionka to domyślna czcionka. Możesz pobrać /system/etc/fonts.xml z urządzenia. Producent urządzenia lub niestandardowa pamięć ROM mogą zmieniać domyślne czcionki systemowe.
fonts.xml API (21+)
Uwaga: To jest nowszy (L) w wersji konfiguracji czcionki systemu wspierania bogatszy wyboru ciężaru. Niektóre aplikacje będą wymagać starszej wersji , więc zachowaj synchronizację system_fonts.xml i fallback_fonts.xml z dowolnymi zmianami, nawet jeśli framework odczyta tylko ten plik.
Wszystkie czcionki bez nazwy są dodawane do listy domyślnej. Czcionki są wybierane w oparciu o dopasowanie: pełny znacznik języka BCP-47, w tym skrypt, następnie język i wreszcie kolejność (pierwsza czcionka zawierająca glif).
Kolejność pojawiania się jest również rozstrzygająca dla dopasowania wagi. To jest powód, dla którego 900 ciężarów Roboto poprzedza 700 ciężarów - my preferujemy ten pierwszy, gdy żądamy 800 ciężaru. Ponieważ odważne przęsła skutecznie dodają 300 do ciężaru, zapewnia to, że 900 jest pogrubionym w połączeniu z masą 500, zapewniając odpowiedni kontrast.
system_fonts.xml (API 16-20)
systemu Czcionki
Plik ten zawiera listę rodzin czcionek, które będą stosowane domyślnie dla wszystkich obsługiwanych glifów. Każdy wpis składa się z rodziny, różnych nazw obsługiwanych przez tę rodzinę i do czterech plików czcionek. Pliki czcionek są wymienione w kolejności stylów obsługiwanych przez siebie: regularne, pogrubione, kursywa i pogrubiona-kursywa. Jeśli na liście znajduje się mniej niż cztery style, wówczas inne style czcionek będą obsługiwane przez style bez skojarzonego pliku czcionki.
Pierwsza rodzina to również domyślna czcionka, która obsługuje czcionki, które nie określiły konkretnych nazw czcionek.
Każdy glif, który nie jest obsługiwany przez czcionki systemowe, spowoduje przeszukiwanie czcionek zastępczych. Domyślne czcionki zastępcze są określone w pliku /system/etc/fallback_fonts.xml, a tam jest opcjonalnym plikiem, który może być dostarczany przez sprzedawców w celu określenia innych czcionek zastępczych, które będą używane w pliku /vendor/etc/fallback_fonts.xml.
Jeśli przeanalizować plik fonts.xml, można dowiedzieć się, jakie czcionki rodzina zastosowań, które czcionki (patrz here):
╔════╦════════════════════════════╦═════════════════════════════╗
║ ║ 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 ║
╚════╩════════════════════════════╩═════════════════════════════╝
Dwa elementy, które wprowadzane są równoważne. Chociaż nie nazywają 'sans-serif' Roboto, to jest to domyślna rodzina czcionek w systemie Android. – Weava
Dlaczego jest on odrzucany? –
@Weava Czy masz link do dokumentów wspierających to? –