2016-09-16 37 views
18

Bắt đầu từ API 16, Jellybean Roboto được giới thiệu là họ phông chữ có sẵn để sử dụng. Xem những gì "mới" trong Android 16 here.Họ phông chữ mặc định trong Android là gì?

Chỉ định android:fontFamily="sans-serif" (Roboto trong API 16+) trên TextView mặc định fontFamily của TextView?

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

tương đương với

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

?

Từ Material design typography website:

"Roboto và Noto là kiểu chữ tiêu chuẩn trên Android và Chrome."

Từ Wiki,

"Roboto là một gia đình kiểu chữ sans-serif phát triển bởi Google như font hệ thống cho hệ điều hành di động của mình Android."

Tôi không thấy trong tài liệu mặc định là fontFamily của Android. Xem tham khảo:

+0

Hai mục mà bạn đã nhập không tương đương. Trong khi họ không gọi Robans 'sans-serif', nó thực sự là họ phông chữ mặc định trong Android. – Weava

+0

Tại sao điều này lại được bình chọn? –

+0

@Weava Bạn có liên kết đến tài liệu hỗ trợ điều đó không? –

Trả lời

23

Không có tài liệu về d.android.com cho tên họ phông chữ. Tuy nhiên, nếu bạn nhìn vào AOSP, phông chữ mặc định sẽ được tải trong android.graphics.*. FontListParser tải phông chữ mặc định từ /system/etc/fonts.xml (Android 5.0+) hoặc /system/etc/system_fonts.xml (Android 4.1). Các phông chữ mặc định được tải trong Typeface#init.

Hai tệp XML có một số tài liệu. Phông chữ đầu tiên là phông chữ mặc định. Bạn có thể kéo /system/etc/fonts.xml từ thiết bị của mình. Nhà sản xuất thiết bị hoặc ROM tùy chỉnh có thể thay đổi phông chữ hệ thống mặc định.

fonts.xml (API 21+)

Chú ý: đây là phiên bản mới hơn (L) phiên bản của cấu hình phông chữ hệ thống, hỗ trợ lựa chọn trọng lượng phong phú hơn. Một số ứng dụng sẽ mong đợi phiên bản cũ hơn, vì vậy hãy giữ system_fonts.xml và fallback_fonts.xml đồng bộ hóa với bất kỳ thay đổi nào, ngay cả khi khung sẽ chỉ đọc tệp này.

Tất cả các phông chữ đều có tên được thêm vào danh sách mặc định. Phông chữ được chọn dựa trên kết quả khớp: thẻ ngôn ngữ BCP-47 đầy đủ bao gồm tập lệnh, sau đó chỉ cần ngôn ngữ và cuối cùng là thứ tự (phông chữ đầu tiên chứa ký tự đại diện).

Thứ tự xuất hiện cũng là bộ ngắt kết nối để cân xứng. Đây là lý do tại sao trọng lượng 900 của Roboto đứng trước trọng lượng 700 - chúng tôi thích trước khi trọng lượng 800 được yêu cầu. Kể từ khi mở rộng đậm hiệu quả thêm 300 vào trọng lượng, điều này đảm bảo rằng 900 là đậm kết hợp với trọng lượng 500, đảm bảo độ tương phản đầy đủ.

system_fonts.xml (API 16-20)

Hệ thống Fonts

tập tin này liệt kê các gia đình phông chữ sẽ được sử dụng bởi mặc định cho tất cả các glyphs được hỗ trợ. Mỗi mục nhập bao gồm một họ, nhiều tên khác nhau được gia đình đó hỗ trợ và tối đa bốn tệp phông chữ. Các tệp phông chữ được liệt kê theo thứ tự các kiểu mà chúng hỗ trợ : thông thường, in đậm, in nghiêng và in đậm. Nếu ít hơn bốn kiểu được liệt kê, thì các kiểu không có tệp phông chữ được liên kết sẽ được hỗ trợ bởi các tệp phông chữ khác được liệt kê.

Gia đình đầu tiên cũng là phông chữ mặc định, xử lý yêu cầu phông chữ chưa chỉ định tên phông chữ cụ thể.

Bất kỳ hình tượng nào không được xử lý bởi phông chữ hệ thống sẽ khiến tìm kiếm phông chữ dự phòng. Phông chữ dự phòng mặc định được chỉ định trong tệp /system/etc/fallback_fonts.xml và có là tệp tùy chọn có thể do nhà cung cấp cung cấp để chỉ định phông chữ dự phòng khác sử dụng trong /vendor/etc/fallback_fonts.xml.

Nếu bạn phân tích các tập tin fonts.xml, bạn có thể tìm mà phông chữ gia đình sử dụng mà kiểu chữ (xem 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 –

Các vấn đề liên quan