From 0f8657f4ca4591a8674e9e53b66160eb8ebfa164 Mon Sep 17 00:00:00 2001 From: +merlan #flirora <flirora@flirora.xyz> Date: Fri, 23 May 2025 13:07:41 -0400 Subject: [PATCH 1/3] Update fdsm dependency --- internal/compiler/Cargo.toml | 7 ++++--- internal/compiler/passes/embed_glyphs.rs | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/compiler/Cargo.toml b/internal/compiler/Cargo.toml index 6fb4c8ec10f..f53e1f456ea 100644 --- a/internal/compiler/Cargo.toml +++ b/internal/compiler/Cargo.toml @@ -30,7 +30,7 @@ display-diagnostics = ["codemap", "codemap-diagnostic"] # Enable the support to render images and font in the binary software-renderer = ["image", "dep:resvg", "fontdue", "i-slint-common/shared-fontdb", "dep:rayon"] # Enable support to embed the fonts as signed distance fields -sdf-fonts = ["dep:fdsm", "dep:ttf-parser-fdsm", "dep:nalgebra", "dep:rayon"] +sdf-fonts = ["dep:fdsm", "dep:fdsm-ttf-parser", "dep:ttf-parser-fdsm", "dep:nalgebra", "dep:rayon"] # Translation bundler bundle-translations = ["dep:polib"] @@ -62,8 +62,9 @@ image = { workspace = true, optional = true, features = ["default"] } resvg = { workspace = true, optional = true } # font embedding fontdue = { workspace = true, optional = true, features = ["parallel"] } -fdsm = { version = "0.6.0", optional = true, features = ["ttf-parser"] } -ttf-parser-fdsm = { package = "ttf-parser", version = "0.24.1", optional = true } +fdsm = { version = "0.7.0", optional = true } +fdsm-ttf-parser = { version = "0.1.0", optional = true } +ttf-parser-fdsm = { package = "ttf-parser", version = "0.25.1", optional = true } nalgebra = { version = "0.33.0", optional = true } rayon = { workspace = true, optional = true } # translations diff --git a/internal/compiler/passes/embed_glyphs.rs b/internal/compiler/passes/embed_glyphs.rs index 6b611263e87..b346fb02a56 100644 --- a/internal/compiler/passes/embed_glyphs.rs +++ b/internal/compiler/passes/embed_glyphs.rs @@ -490,7 +490,7 @@ fn generate_sdf_for_glyph( let face = ttf_parser_fdsm::Face::parse(font.face_data.as_ref().as_ref(), font.face_index).unwrap(); let glyph_id = face.glyph_index(code_point).unwrap_or_default(); - let mut shape = fdsm::shape::Shape::load_from_face(&face, glyph_id); + let mut shape = fdsm_ttf_parser::load_shape_from_face(&face, glyph_id); let metrics = font.metrics(); let target_pixel_size = target_pixel_size as f64; From 04ea6ec8e806218e8b98b191f7080646cba91bfc Mon Sep 17 00:00:00 2001 From: +merlan #flirora <flirora@flirora.xyz> Date: Sat, 24 May 2025 11:53:28 -0400 Subject: [PATCH 2/3] Update fdsm-ttf-parser to 0.1.2 --- internal/compiler/Cargo.toml | 5 ++--- internal/compiler/passes/embed_glyphs.rs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/compiler/Cargo.toml b/internal/compiler/Cargo.toml index f53e1f456ea..00637f2c06c 100644 --- a/internal/compiler/Cargo.toml +++ b/internal/compiler/Cargo.toml @@ -30,7 +30,7 @@ display-diagnostics = ["codemap", "codemap-diagnostic"] # Enable the support to render images and font in the binary software-renderer = ["image", "dep:resvg", "fontdue", "i-slint-common/shared-fontdb", "dep:rayon"] # Enable support to embed the fonts as signed distance fields -sdf-fonts = ["dep:fdsm", "dep:fdsm-ttf-parser", "dep:ttf-parser-fdsm", "dep:nalgebra", "dep:rayon"] +sdf-fonts = ["dep:fdsm", "dep:fdsm-ttf-parser", "dep:nalgebra", "dep:rayon"] # Translation bundler bundle-translations = ["dep:polib"] @@ -63,8 +63,7 @@ resvg = { workspace = true, optional = true } # font embedding fontdue = { workspace = true, optional = true, features = ["parallel"] } fdsm = { version = "0.7.0", optional = true } -fdsm-ttf-parser = { version = "0.1.0", optional = true } -ttf-parser-fdsm = { package = "ttf-parser", version = "0.25.1", optional = true } +fdsm-ttf-parser = { version = "0.1.2", optional = true } nalgebra = { version = "0.33.0", optional = true } rayon = { workspace = true, optional = true } # translations diff --git a/internal/compiler/passes/embed_glyphs.rs b/internal/compiler/passes/embed_glyphs.rs index b346fb02a56..c407497f5df 100644 --- a/internal/compiler/passes/embed_glyphs.rs +++ b/internal/compiler/passes/embed_glyphs.rs @@ -488,7 +488,7 @@ fn generate_sdf_for_glyph( use nalgebra::{Affine2, Similarity2, Vector2}; let face = - ttf_parser_fdsm::Face::parse(font.face_data.as_ref().as_ref(), font.face_index).unwrap(); + fdsm_ttf_parser::ttf_parser::Face::parse(font.face_data.as_ref().as_ref(), font.face_index).unwrap(); let glyph_id = face.glyph_index(code_point).unwrap_or_default(); let mut shape = fdsm_ttf_parser::load_shape_from_face(&face, glyph_id); From ab52e3f3d38ce638707c3152a44f795ef22f2a4e Mon Sep 17 00:00:00 2001 From: +merlan #flirora <flirora@flirora.xyz> Date: Sat, 24 May 2025 11:55:35 -0400 Subject: [PATCH 3/3] Fix formatting --- internal/compiler/passes/embed_glyphs.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/compiler/passes/embed_glyphs.rs b/internal/compiler/passes/embed_glyphs.rs index c407497f5df..21096ee4f46 100644 --- a/internal/compiler/passes/embed_glyphs.rs +++ b/internal/compiler/passes/embed_glyphs.rs @@ -488,7 +488,8 @@ fn generate_sdf_for_glyph( use nalgebra::{Affine2, Similarity2, Vector2}; let face = - fdsm_ttf_parser::ttf_parser::Face::parse(font.face_data.as_ref().as_ref(), font.face_index).unwrap(); + fdsm_ttf_parser::ttf_parser::Face::parse(font.face_data.as_ref().as_ref(), font.face_index) + .unwrap(); let glyph_id = face.glyph_index(code_point).unwrap_or_default(); let mut shape = fdsm_ttf_parser::load_shape_from_face(&face, glyph_id);