summaryrefslogtreecommitdiff
path: root/font/src/darwin/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'font/src/darwin/mod.rs')
-rw-r--r--font/src/darwin/mod.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/font/src/darwin/mod.rs b/font/src/darwin/mod.rs
index bdcbbdfa..7f01f57b 100644
--- a/font/src/darwin/mod.rs
+++ b/font/src/darwin/mod.rs
@@ -148,15 +148,16 @@ impl ::Rasterize for Rasterizer {
}
fn load_font(&mut self, desc: &FontDesc, size: Size) -> Result<FontKey, Error> {
+ let scaled_size = Size::new(size.as_f32_pts() * self.device_pixel_ratio);
self.keys
- .get(&(desc.to_owned(), size))
+ .get(&(desc.to_owned(), scaled_size))
.map(|k| Ok(*k))
.unwrap_or_else(|| {
let font = self.get_font(desc, size)?;
let key = FontKey::next();
self.fonts.insert(key, font);
- self.keys.insert((desc.clone(), size), key);
+ self.keys.insert((desc.clone(), scaled_size), key);
Ok(key)
})
@@ -184,6 +185,10 @@ impl ::Rasterize for Rasterizer {
Err(Error::MissingGlyph(glyph.c))
})
}
+
+ fn update_dpr(&mut self, device_pixel_ratio: f32) {
+ self.device_pixel_ratio = device_pixel_ratio;
+ }
}
impl Rasterizer {