Refactor all_font_names
(#15345)
In the current code implementation, it seems that the only difference between `all_font_names` and `all_font_families` is whether dynamically loaded font resources are included. Specifically, `all_font_families` returns the names of all system fonts, while `all_font_names` includes both the system font names and the dynamically loaded font names. In other words, `all_font_families` is a strict subset of `all_font_names`. This is what I observed in my tests on macOS. <img width="682" alt="截屏2024-07-28 00 49 29" src="https://github.com/user-attachments/assets/47317c28-0074-49d2-bcfa-052cab13e335"> Related codes: ```rust let x: HashSet<_> = self.all_font_names().into_iter().collect(); let y: HashSet<_> = self.all_font_families().into_iter().collect(); let only_in_x = x.difference(&y).collect::<Vec<_>>(); let only_in_y = y.difference(&x).collect::<Vec<_>>(); println!("====================================="); println!("1 -> {:?}", only_in_x); println!("-------------------------------------"); println!("2 -> {:?}", only_in_y); ``` Release Notes: - N/A
This commit is contained in:
parent
80c25960dd
commit
69e76a3bb9
5 changed files with 9 additions and 40 deletions
|
@ -412,7 +412,6 @@ pub trait PlatformDispatcher: Send + Sync {
|
|||
pub(crate) trait PlatformTextSystem: Send + Sync {
|
||||
fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<()>;
|
||||
fn all_font_names(&self) -> Vec<String>;
|
||||
fn all_font_families(&self) -> Vec<String>;
|
||||
fn font_id(&self, descriptor: &Font) -> Result<FontId>;
|
||||
fn font_metrics(&self, font_id: FontId) -> FontMetrics;
|
||||
fn typographic_bounds(&self, font_id: FontId, glyph_id: GlyphId) -> Result<Bounds<f32>>;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue