diff --git a/Cargo.lock b/Cargo.lock index e7c3133ada..6406ea893d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1045,7 +1045,7 @@ dependencies = [ "serde_path_to_error", "serde_qs 0.10.1", "smart-default", - "smol_str", + "smol_str 0.1.24", "thiserror 1.0.69", "tokio", ] @@ -3420,17 +3420,18 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.11.2" -source = "git+https://github.com/pop-os/cosmic-text?rev=542b20c#542b20ca4376a3b5de5fa629db1a4ace44e18e0c" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e418dd4f5128c3e93eab12246391c54a20c496811131f85754dc8152ee207892" dependencies = [ "bitflags 2.8.0", - "fontdb 0.18.0", + "fontdb 0.16.2", "log", "rangemap", - "rayon", "rustc-hash 1.1.0", "rustybuzz 0.14.1", "self_cell", + "smol_str 0.2.2", "swash", "sys-locale", "ttf-parser 0.21.1", @@ -5102,9 +5103,9 @@ dependencies = [ [[package]] name = "font-types" -version = "0.7.3" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" +checksum = "d868ec188a98bb014c606072edd47e52e7ab7297db943b0b28503121e1d037bd" dependencies = [ "bytemuck", ] @@ -5120,16 +5121,16 @@ dependencies = [ [[package]] name = "fontdb" -version = "0.18.0" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e32eac81c1135c1df01d4e6d4233c47ba11f6a6d07f33e0bba09d18797077770" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" dependencies = [ "fontconfig-parser", "log", "memmap2", "slotmap", "tinyvec", - "ttf-parser 0.21.1", + "ttf-parser 0.20.0", ] [[package]] @@ -11218,9 +11219,9 @@ dependencies = [ [[package]] name = "read-fonts" -version = "0.22.5" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a04b892cb6f91951f144c33321843790c8574c825aafdb16d815fd7183b5229" +checksum = "f6f9e8a4f503e5c8750e4cd3b32a4e090035c46374b305a15c70bad833dca05f" dependencies = [ "bytemuck", "font-types", @@ -12840,9 +12841,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "skrifa" -version = "0.22.3" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +checksum = "8cc1aa86c26dbb1b63875a7180aa0819709b33348eb5b1491e4321fae388179d" dependencies = [ "bytemuck", "read-fonts", @@ -12919,6 +12920,12 @@ dependencies = [ "serde", ] +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" + [[package]] name = "snippet" version = "0.1.0" @@ -13564,9 +13571,9 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.19" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" +checksum = "13d5bbc2aa266907ed8ee977c9c9e16363cc2b001266104e13397b57f1d15f71" dependencies = [ "skrifa", "yazi", @@ -14886,6 +14893,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + [[package]] name = "ttf-parser" version = "0.21.1" @@ -17235,9 +17248,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yazi" -version = "0.1.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" [[package]] name = "yeslogic-fontconfig-sys" @@ -17568,9 +17581,9 @@ dependencies = [ [[package]] name = "zeno" -version = "0.2.3" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" +checksum = "cc0de2315dc13d00e5df3cd6b8d2124a6eaec6a2d4b6a1c5f37b7efad17fcc17" [[package]] name = "zerocopy" diff --git a/crates/gpui/Cargo.toml b/crates/gpui/Cargo.toml index a4de7c36e4..09c1de9af3 100644 --- a/crates/gpui/Cargo.toml +++ b/crates/gpui/Cargo.toml @@ -153,7 +153,7 @@ blade-graphics = { workspace = true, optional = true } blade-macros = { workspace = true, optional = true } blade-util = { workspace = true, optional = true } bytemuck = { version = "1", optional = true } -cosmic-text = { git = "https://github.com/pop-os/cosmic-text", rev = "542b20c", optional = true } +cosmic-text = { version = "0.13.2", optional = true } font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "40391b7", features = [ "source-fontconfig-dlopen", ], optional = true } diff --git a/crates/gpui/src/platform/linux/text_system.rs b/crates/gpui/src/platform/linux/text_system.rs index 27c97622b7..68ac89ce7c 100644 --- a/crates/gpui/src/platform/linux/text_system.rs +++ b/crates/gpui/src/platform/linux/text_system.rs @@ -376,15 +376,13 @@ impl CosmicTextSystemState { ); offs += run.len; } - let mut line = ShapeLine::new_in_buffer( - &mut self.scratch, + let mut line = ShapeLine::new( &mut self.font_system, text, &attrs_list, cosmic_text::Shaping::Advanced, 4, ); - let mut layout = Vec::with_capacity(1); line.layout_to_buffer( &mut self.scratch,