From 3bdda24eccd3007fda0ba0b9227f3e5614a6cc3e Mon Sep 17 00:00:00 2001 From: Dimchikkk Date: Mon, 17 Jun 2024 17:11:32 +0100 Subject: [PATCH] fix text scaling --- crates/bevy_text/src/pipeline.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/bevy_text/src/pipeline.rs b/crates/bevy_text/src/pipeline.rs index d602a3b748d7d..228cdd879f966 100644 --- a/crates/bevy_text/src/pipeline.rs +++ b/crates/bevy_text/src/pipeline.rs @@ -73,13 +73,12 @@ impl TextPipeline { .get(0) .map(|s| s.style.font_size) .unwrap_or_else(|| crate::TextStyle::default().font_size) - as f64 - * scale_factor; + as f64; // TODO: Support line height as an option. Unitless `1.2` is the default used in browsers (1.2x font size). let line_height = font_size * 1.2; let (font_size, line_height) = (font_size as f32, line_height as f32); - let metrics = Metrics::new(font_size, line_height); + let metrics = Metrics::new(font_size, line_height).scale(scale_factor as f32); let font_system = &mut acquire_font_system(&mut self.font_system)?; @@ -103,6 +102,7 @@ impl TextPipeline { font_system, &mut self.map_handle_to_font_id, fonts, + scale_factor, ), ) }) @@ -334,6 +334,7 @@ fn get_attrs<'a>( font_system: &mut cosmic_text::FontSystem, map_handle_to_font_id: &mut HashMap, cosmic_text::fontdb::ID>, fonts: &Assets, + scale_factor: f64, ) -> Attrs<'a> { let font_handle = section.style.font.clone(); let face_id = map_handle_to_font_id @@ -367,7 +368,7 @@ fn get_attrs<'a>( .stretch(face.stretch) .style(face.style) .weight(face.weight) - .metrics(Metrics::relative(section.style.font_size, 1.2)) + .metrics(Metrics::relative(section.style.font_size, 1.2).scale(scale_factor as f32)) .color(cosmic_text::Color(section.style.color.to_linear().as_u32())); attrs }