Skip to content

Commit

Permalink
use system emoji font first if possible
Browse files Browse the repository at this point in the history
  • Loading branch information
Kethku committed Jan 29, 2020
1 parent ec260da commit b7368ac
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/renderer/caching_shaper.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@ const EMOJI_FONT: &'static str = "NotoColorEmoji.ttf";
const WIDE_FONT: &'static str = "NotoSansMonoCJKjp-Regular.otf";
const WIDE_BOLD_FONT: &'static str = "NotoSansMonoCJKjp-Bold.otf";

#[cfg(target_os = "windows")]
const SYSTEM_EMOJI_FONT: &str = "Segoe UI Emoji";

#[cfg(target_os = "macos")]
const SYSTEM_EMOJI_FONT: &str = "Apple COlor Emoji";

#[cfg(target_os = "linux")]
const SYSTEM_EMOJI_FONT: &str = "Noto Color Emoji";

#[derive(RustEmbed)]
#[folder = "assets/fonts/"]
struct Asset;
Expand Down Expand Up @@ -70,6 +79,11 @@ fn build_collection_by_font_name(font_name: Option<&str>, bold: bool, italic: bo
let monospace_font = Font::from_bytes(monospace_data.to_vec().into(), 0).expect("Failed to parse monospace font data");
collection.add_family(FontFamily::new_from_font(monospace_font));

if let Ok(emoji) = source.select_family_by_name(SYSTEM_EMOJI_FONT) {
let font = emoji.fonts()[0].load().unwrap();
collection.add_family(FontFamily::new_from_font(font));
}

let emoji_data = Asset::get(EMOJI_FONT).expect("Failed to read emoji font data");
let emoji_font = Font::from_bytes(emoji_data.to_vec().into(), 0).expect("Failed to parse emoji font data");
collection.add_family(FontFamily::new_from_font(emoji_font));
Expand Down

0 comments on commit b7368ac

Please sign in to comment.