more fixes and debugging

This commit is contained in:
Kate 2025-07-14 22:34:36 +02:00
parent b9eb18eb7f
commit f5aa88ca6a
No known key found for this signature in database
2 changed files with 21 additions and 22 deletions

View file

@ -270,27 +270,27 @@ impl Render for TextExample {
.overflow_x_hidden()
.bg(rgb(0xffffff))
.size_full()
.child(div().child(CharacterGrid::new().scale(base)))
// .child(div().child(CharacterGrid::new().scale(base)))
.child(
div()
.child(Specimen::new(self.next_id()).scale(step_down_2))
.child(Specimen::new(self.next_id()).scale(step_down_2).invert())
.child(Specimen::new(self.next_id()).scale(step_down_1))
.child(Specimen::new(self.next_id()).scale(step_down_1).invert())
// .child(Specimen::new(self.next_id()).scale(step_down_2))
// .child(Specimen::new(self.next_id()).scale(step_down_2).invert())
// .child(Specimen::new(self.next_id()).scale(step_down_1))
// .child(Specimen::new(self.next_id()).scale(step_down_1).invert())
.child(Specimen::new(self.next_id()).scale(base))
.child(Specimen::new(self.next_id()).scale(base).invert())
.child(Specimen::new(self.next_id()).scale(step_up_1))
.child(Specimen::new(self.next_id()).scale(step_up_1).invert())
.child(Specimen::new(self.next_id()).scale(step_up_2))
.child(Specimen::new(self.next_id()).scale(step_up_2).invert())
.child(Specimen::new(self.next_id()).scale(step_up_3))
.child(Specimen::new(self.next_id()).scale(step_up_3).invert())
.child(Specimen::new(self.next_id()).scale(step_up_4))
.child(Specimen::new(self.next_id()).scale(step_up_4).invert())
.child(Specimen::new(self.next_id()).scale(step_up_5))
.child(Specimen::new(self.next_id()).scale(step_up_5).invert())
.child(Specimen::new(self.next_id()).scale(step_up_6))
.child(Specimen::new(self.next_id()).scale(step_up_6).invert()),
// .child(Specimen::new(self.next_id()).scale(base).invert())
// .child(Specimen::new(self.next_id()).scale(step_up_1))
// .child(Specimen::new(self.next_id()).scale(step_up_1).invert())
// .child(Specimen::new(self.next_id()).scale(step_up_2))
// .child(Specimen::new(self.next_id()).scale(step_up_2).invert())
// .child(Specimen::new(self.next_id()).scale(step_up_3))
// .child(Specimen::new(self.next_id()).scale(step_up_3).invert())
// .child(Specimen::new(self.next_id()).scale(step_up_4))
// .child(Specimen::new(self.next_id()).scale(step_up_4).invert())
// .child(Specimen::new(self.next_id()).scale(step_up_5))
// .child(Specimen::new(self.next_id()).scale(step_up_5).invert())
// .child(Specimen::new(self.next_id()).scale(step_up_6))
// .child(Specimen::new(self.next_id()).scale(step_up_6).invert()),
),
)
.child(div().w(px(240.)).h_full().bg(colors.container))

View file

@ -810,14 +810,13 @@ impl DirectWriteState {
}
// Resize to match expected bitmap_size if needed
let expected_size = bitmap_size.width.0 as usize * bitmap_size.height.0 as usize * 4;
rgba_data.resize(expected_size, 0);
Ok((bitmap_size, rgba_data))
} else {
// For regular text, use grayscale or cleartype
let texture_type = DWRITE_TEXTURE_CLEARTYPE_3x1;
let texture_bounds = unsafe { glyph_analysis.GetAlphaTextureBounds(texture_type)? };
println!("glyph id: {:?}, variant: {:?}, size: {:?}, texture_bounds: {:?}", glyph_id, params.subpixel_variant, bitmap_size, texture_bounds);
let width = (texture_bounds.right - texture_bounds.left) as u32;
let height = (texture_bounds.bottom - texture_bounds.top) as u32;
@ -848,10 +847,10 @@ impl DirectWriteState {
}
// Resize to match expected bitmap_size if needed
let expected_size = bitmap_size.width.0 as usize * bitmap_size.height.0 as usize;
let expected_size = width as usize * height as usize;
grayscale_data.resize(expected_size, 0);
Ok((bitmap_size, grayscale_data))
Ok((size(DevicePixels(width as i32), DevicePixels(height as i32)), grayscale_data))
}
}