From 2450122100db08873f3c14ab88ba538334e2317b Mon Sep 17 00:00:00 2001 From: "zed-zippy[bot]" <234243425+zed-zippy[bot]@users.noreply.github.com> Date: Thu, 15 Jan 2026 02:51:57 +0000 Subject: [PATCH] Fix emoji on Linux when using High DPI (#46857) (cherry-pick to stable) (#46860) Cherry-pick of #46857 to stable ---- Fixes https://github.com/zed-industries/zed/issues/46849 Release Notes: - Fixed emoji being too small on Linux when using High DPI Co-authored-by: John Tur --- crates/gpui/src/platform/linux/text_system.rs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/crates/gpui/src/platform/linux/text_system.rs b/crates/gpui/src/platform/linux/text_system.rs index 1fcd7d4faa18677c4d0d5c45f3181913a999e156..e0729569b6ad9b0451bd2cb52674a4667b815058 100644 --- a/crates/gpui/src/platform/linux/text_system.rs +++ b/crates/gpui/src/platform/linux/text_system.rs @@ -21,7 +21,7 @@ use smallvec::SmallVec; use std::{borrow::Cow, sync::Arc}; use swash::{ scale::{Render, ScaleContext, Source, StrikeWith}, - zeno::{Format, Transform, Vector}, + zeno::{Format, Vector}, }; pub(crate) struct CosmicTextSystem(RwLock); @@ -334,7 +334,7 @@ impl CosmicTextSystemState { let mut scaler = self .swash_scale_context .builder(font_ref) - .size(pixel_size) + .size(pixel_size * params.scale_factor) .hint(true) .build(); @@ -349,15 +349,6 @@ impl CosmicTextSystemState { }; let mut renderer = Render::new(sources); - renderer.transform(Some(Transform { - xx: params.scale_factor, - xy: 0.0, - yx: 0.0, - yy: params.scale_factor, - x: 0.0, - y: 0.0, - })); - if params.subpixel_rendering { // There seems to be a bug in Swash where the B and R values are swapped. renderer