gfx: Map sans-serif to Helvetica on Mac, DejaVu Sans on Linux, and

Roboto on Android.

This matches what I believe the OS native defaults to be.

Partially addresses #9487.
This commit is contained in:
Patrick Walton 2016-04-29 17:53:16 -07:00
parent 508c3285d8
commit 2ac9747023
5 changed files with 22 additions and 7 deletions

View file

@ -8,6 +8,7 @@ use ipc_channel::router::ROUTER;
use mime::{TopLevel, SubLevel};
use net_traits::{AsyncResponseTarget, LoadContext, PendingAsyncLoad, ResourceThread, ResponseAction};
use platform::font_context::FontContextHandle;
use platform::font_list::SANS_SERIF_FONT_FAMILY;
use platform::font_list::for_each_available_family;
use platform::font_list::for_each_variation;
use platform::font_list::last_resort_font_families;
@ -120,7 +121,7 @@ fn populate_generic_fonts() -> HashMap<FontFamily, LowercaseString> {
let mut generic_fonts = HashMap::with_capacity(5);
append_map(&mut generic_fonts, FontFamily::Serif, "Times New Roman");
append_map(&mut generic_fonts, FontFamily::SansSerif, "Arial");
append_map(&mut generic_fonts, FontFamily::SansSerif, SANS_SERIF_FONT_FAMILY);
append_map(&mut generic_fonts, FontFamily::Cursive, "Apple Chancery");
append_map(&mut generic_fonts, FontFamily::Fantasy, "Papyrus");
append_map(&mut generic_fonts, FontFamily::Monospace, "Menlo");

View file

@ -157,3 +157,13 @@ pub fn last_resort_font_families() -> Vec<String> {
"Arial".to_owned()
)
}
#[cfg(target_os = "android")]
pub static SANS_SERIF_FONT_FAMILY: &'static str = "Roboto";
#[cfg(target_os = "linux")]
pub static SANS_SERIF_FONT_FAMILY: &'static str = "DejaVu Sans";
#[cfg(target_os = "windows")]
pub static SANS_SERIF_FONT_FAMILY: &'static str = "Arial";

View file

@ -41,3 +41,7 @@ pub fn system_default_family(_generic_name: &str) -> Option<String> {
pub fn last_resort_font_families() -> Vec<String> {
vec!("Arial Unicode MS".to_owned(), "Arial".to_owned())
}
#[cfg(target_os = "macos")]
pub static SANS_SERIF_FONT_FAMILY: &'static str = "Helvetica";