From 39c4e3e02b8927efdde306a60c1653d7046a11e9 Mon Sep 17 00:00:00 2001 From: Itsusinn Date: Wed, 5 Jun 2024 14:05:39 +0800 Subject: [PATCH] refactor: move "rayon" feature under "std" --- Cargo.toml | 4 ++-- src/font/mod.rs | 11 ++++------- src/font/system.rs | 8 ++++---- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d912a7f2e0..28411d1a66 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ default-features = false features = ["hardcoded-data"] [features] -default = ["std", "swash", "fontconfig", "rayon"] +default = ["std", "swash", "fontconfig"] fontconfig = ["fontdb/fontconfig", "std"] no_std = ["rustybuzz/libm", "hashbrown"] shape-run-cache = [] @@ -47,11 +47,11 @@ std = [ "sys-locale", "ttf-parser/std", "unicode-bidi/std", + "rayon" ] vi = ["modit", "syntect", "cosmic_undo_2"] wasm-web = ["sys-locale?/js"] warn_on_missing_glyphs = [] -rayon = ["dep:rayon"] [[bench]] name = "layout" diff --git a/src/font/mod.rs b/src/font/mod.rs index c5124579ef..e5a8b5828b 100644 --- a/src/font/mod.rs +++ b/src/font/mod.rs @@ -160,9 +160,9 @@ impl Font { } #[cfg(test)] -mod test{ +mod test { #[test] - fn test_fonts_load_time(){ + fn test_fonts_load_time() { use crate::FontSystem; use sys_locale::get_locale; @@ -175,9 +175,6 @@ mod test{ FontSystem::new_with_locale_and_db(locale, db); #[cfg(not(target_arch = "wasm32"))] - println!( - "Fonts load time {}ms.", - now.elapsed().as_millis() - ) + println!("Fonts load time {}ms.", now.elapsed().as_millis()) } -} \ No newline at end of file +} diff --git a/src/font/system.rs b/src/font/system.rs index cffd9b3da0..52fecf0887 100644 --- a/src/font/system.rs +++ b/src/font/system.rs @@ -211,15 +211,15 @@ impl FontSystem { pub fn into_locale_and_db(self) -> (String, fontdb::Database) { (self.locale, self.db) } + /// Concurrently cache fonts by id list pub fn cache_fonts(&mut self, mut ids: Vec) { - #[cfg(feature = "rayon")] + #[cfg(feature = "std")] use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; ids = ids .into_iter() .filter(|id| { let contains = self.font_cache.contains_key(id); - #[cfg(feature = "std")] if !contains { unsafe { self.db.make_shared_face_data(*id); @@ -229,9 +229,9 @@ impl FontSystem { }) .collect::<_>(); - #[cfg(feature = "rayon")] + #[cfg(feature = "std")] let fonts = ids.par_iter(); - #[cfg(not(feature = "rayon"))] + #[cfg(not(feature = "std"))] let fonts = ids.iter(); fonts