2016-09-16 10 views
18

Począwszy od API 16, Jellybean Roboto została wprowadzona jako dostępna rodzina czcionek. Zobacz, co nowego w Androidzie 16 here.Jaka jest domyślna rodzina czcionek w systemie Android?

Określanie android:fontFamily="sans-serif" (Roboto w API 16+) na TextView domyślnie fontFamily z TextView?

Czy

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

równoważne

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

?

Od Material design typography website:

"Roboto i Noto to standardowe kroje na Androida i Chrome."

Od Wiki,

„Roboto jest czcionką bezszeryfową rodzina opracowany przez Google jako czcionki systemowej dla jego systemu operacyjnego Android telefonu.”

Nie widzę w dokumentach domyślnego fontFamily systemu Android. Zobacz referencje:

+0

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

+0

Dlaczego jest on odrzucany? –

+0

@Weava Czy masz link do dokumentów wspierających to? –

Odpowiedz

23

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    ║ 
╚════╩════════════════════════════╩═════════════════════════════╝ 
+0

https://github.com/google/fonts/tree/master/apache/roboto –

Powiązane problemy