summaryrefslogtreecommitdiff
path: root/src/exec.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-24 09:51:50 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commitd32452950262b4ec2b50b0e0af66f7870c8e5d5d (patch)
treed2122f2dd6cd5d415a4986619ad47d30506c78d8 /src/exec.zig
parentf6738c7edfff2249e0b13f2a76962f45d02c86bb (diff)
downloadpardes-d32452950262b4ec2b50b0e0af66f7870c8e5d5d.tar.gz
pardes-d32452950262b4ec2b50b0e0af66f7870c8e5d5d.zip
Embolden bold text's outline before it is rasterized, and drop the old stb_truetype sources
Bold in the SDL shell was a smear of the finished glyph: every pixel took the larger of itself and three quarters of its left neighbour. That added a grey fringe on the right of each stem instead of a thicker stem, so bold read as blurred regular text, and at large sizes it barely read as bold at all. The rasterizer now does what Ghostty's FreeType face does: it loads the hinted glyph, thickens the outline with FT_Outline_Embolden, and renders that. The stems widen as one shape with hinted edges, and the advance is untouched, so the cell grid, caret and selection do not move. The strength is Ghostty's heuristic, 1/32 of the line height rounded up (one pixel at a 32 px line). A bitmap strike has no outline; it is widened by one whole pixel with FT_Bitmap_Embolden, the classic overstrike. Underline and strikethrough are still drawn into the cached cell mask (decorateLine). vendor/stb (stb_truetype.h and its implementation unit) was left over from the rasterizer FreeType replaced; nothing built or referenced it. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Diffstat (limited to 'src/exec.zig')
0 files changed, 0 insertions, 0 deletions