mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-16 00:36:07 +03:00
Merge pull request #2450 from qwerasd205/undercurl-min-thickness
font/sprite: undercurl minimum thickness improvement
This commit is contained in:
@ -165,7 +165,11 @@ fn drawCurly(alloc: Allocator, width: u32, thickness: u32) !CanvasAndOffset {
|
|||||||
const float_width: f64 = @floatFromInt(width);
|
const float_width: f64 = @floatFromInt(width);
|
||||||
// Because of we way we draw the undercurl, we end up making it around 1px
|
// Because of we way we draw the undercurl, we end up making it around 1px
|
||||||
// thicker than it should be, to fix this we just reduce the thickness by 1.
|
// thicker than it should be, to fix this we just reduce the thickness by 1.
|
||||||
const float_thick: f64 = @floatFromInt(@max(1, thickness -| 1));
|
//
|
||||||
|
// We use a minimum thickness of 0.414 because this empirically produces
|
||||||
|
// the nicest undercurls at 1px underline thickness; thinner tends to look
|
||||||
|
// too thin compared to straight underlines and has artefacting.
|
||||||
|
const float_thick: f64 = @max(0.414, @as(f64, @floatFromInt(thickness -| 1)));
|
||||||
|
|
||||||
// Calculate the wave period for a single character
|
// Calculate the wave period for a single character
|
||||||
// `2 * pi...` = 1 peak per character
|
// `2 * pi...` = 1 peak per character
|
||||||
|
Reference in New Issue
Block a user