Replace magic boolean with new Hinting enum

This commit is contained in:
Héctor Ramón Jiménez 2025-11-23 20:43:33 +01:00 committed by Jeremy Soller
parent 48eda6bd7d
commit d779057d9c
16 changed files with 96 additions and 50 deletions

View file

@ -1,6 +1,6 @@
use cosmic_text::{
fontdb, Align, Attrs, AttrsList, BidiParagraphs, Buffer, Family, FontSystem, LayoutLine,
Metrics, ShapeLine, Shaping, Weight, Wrap,
fontdb, Align, Attrs, AttrsList, BidiParagraphs, Buffer, Family, FontSystem, Hinting,
LayoutLine, Metrics, ShapeLine, Shaping, Weight, Wrap,
};
// Test for https://github.com/pop-os/cosmic-text/issues/134
@ -23,15 +23,28 @@ fn stable_wrap() {
let mut check_wrap = |text: &_, wrap, align_opt, start_width_opt| {
let line = ShapeLine::new(&mut font_system, text, &attrs, Shaping::Advanced, 8);
let layout_unbounded =
line.layout(font_size, start_width_opt, wrap, align_opt, None, false);
let layout_unbounded = line.layout(
font_size,
start_width_opt,
wrap,
align_opt,
None,
Hinting::Disabled,
);
let max_width = layout_unbounded.iter().map(|l| l.w).fold(0.0, f32::max);
let new_limit = match start_width_opt {
Some(start_width) => f32::min(start_width, max_width),
None => max_width,
};
let layout_bounded = line.layout(font_size, Some(new_limit), wrap, align_opt, None, false);
let layout_bounded = line.layout(
font_size,
Some(new_limit),
wrap,
align_opt,
None,
Hinting::Disabled,
);
let bounded_max_width = layout_bounded.iter().map(|l| l.w).fold(0.0, f32::max);
// For debugging:
@ -100,7 +113,7 @@ fn wrap_extra_line() {
let mut font_system = FontSystem::new();
let metrics = Metrics::new(14.0, 20.0);
let mut buffer = Buffer::new(&mut font_system, metrics, false);
let mut buffer = Buffer::new(&mut font_system, metrics, Hinting::Disabled);
let mut buffer = buffer.borrow_with(&mut font_system);