Add snapshot test for text spacing/kerning (#7545)

This commit is contained in:
Emil Ernerfeldt 2025-09-16 13:30:28 +02:00 committed by GitHub
parent f2f00ef62a
commit 603dba29e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 39 additions and 1 deletions

View File

@ -0,0 +1,26 @@
use egui_kittest::Harness;
#[test]
fn test_kerning() {
for pixels_per_point in [1.0, 2.0] {
for theme in [egui::Theme::Dark, egui::Theme::Light] {
let mut harness = Harness::builder()
.with_pixels_per_point(pixels_per_point)
.with_theme(theme)
.build_ui(|ui| {
ui.label("Thin spaces: 123456789");
ui.label("Ligature: fi :)");
ui.label("\ttabbed");
});
harness.run();
harness.fit_contents();
harness.snapshot(format!(
"image_blending/image_{theme}_x{pixels_per_point}",
theme = match theme {
egui::Theme::Dark => "dark",
egui::Theme::Light => "light",
}
));
}
}
}

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0b619e8dbedbfc017513111dc26144d795ce97352631ae561c1c336c3e9e0fd4
size 5557

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3827cbd75a015ab9d03d9f47ba40fcadb71a2ba3a312d0892ae22a8e379103bc
size 12539

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:afd019fc23aa4b8a899e2df92138b2b3e69b7cb1d20e038a5e841c84e9095fe1
size 5740

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6129567eaf7d77c6656d9fe6984f1667b0817099492a24f6622da0f1d636e0e8
size 13646

View File

@ -259,7 +259,7 @@ impl FontImpl {
if let Some(space) = self.glyph_info(' ') {
let em = self.ab_glyph_font.units_per_em().unwrap_or(1.0);
let advance_width = f32::min(em / 6.0, space.advance_width_unscaled.0 * 0.5);
let advance_width = f32::min(em / 6.0, space.advance_width_unscaled.0 * 0.5); // TODO(emilk): make configurable
let glyph_info = GlyphInfo {
advance_width_unscaled: advance_width.into(),
..space