aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar llyyr <llyyr.public@gmail.com>2023-02-26 16:12:19 +0530
committerLibravatar Simon Zeni <simon@bl4ckb0ne.ca>2023-02-27 13:55:08 -0500
commitb757ef94ef15093b8851598f85ef047379c341b5 (patch)
tree9dc46fba788ac87e197546e47a04afb067120e3b
parentfix typo (diff)
downloadsway-b757ef94ef15093b8851598f85ef047379c341b5.tar.gz
sway-b757ef94ef15093b8851598f85ef047379c341b5.tar.zst
sway-b757ef94ef15093b8851598f85ef047379c341b5.zip
sway{,bar}: use default font hint style
CAIRO_HINT_STYLE_FULL attempts to maximize contrast at the expense of fidelity, this makes most fonts that haven't been hand hinted, which makes up the majority of fonts out there, appear much worse. In the absence of explicitly set hint style, cairo will default to CAIRO_HINT_STYLE_SLIGHT, which attempts to improve contrast while retaining fidelity to the original shapes, which is what we want.
-rw-r--r--sway/tree/container.c1
-rw-r--r--swaybar/render.c2
2 files changed, 0 insertions, 3 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 335dae87..8222a506 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -508,7 +508,6 @@ static void render_titlebar_text_texture(struct sway_output *output,
508 cairo_t *c = cairo_create(dummy_surface); 508 cairo_t *c = cairo_create(dummy_surface);
509 cairo_set_antialias(c, CAIRO_ANTIALIAS_BEST); 509 cairo_set_antialias(c, CAIRO_ANTIALIAS_BEST);
510 cairo_font_options_t *fo = cairo_font_options_create(); 510 cairo_font_options_t *fo = cairo_font_options_create();
511 cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
512 if (output->wlr_output->subpixel == WL_OUTPUT_SUBPIXEL_NONE) { 511 if (output->wlr_output->subpixel == WL_OUTPUT_SUBPIXEL_NONE) {
513 cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_GRAY); 512 cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_GRAY);
514 } else { 513 } else {
diff --git a/swaybar/render.c b/swaybar/render.c
index ccf36563..6a983e97 100644
--- a/swaybar/render.c
+++ b/swaybar/render.c
@@ -774,14 +774,12 @@ void render_frame(struct swaybar_output *output) {
774 ctx.cairo = cairo; 774 ctx.cairo = cairo;
775 775
776 cairo_font_options_t *fo = cairo_font_options_create(); 776 cairo_font_options_t *fo = cairo_font_options_create();
777 cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
778 cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_GRAY); 777 cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_GRAY);
779 ctx.textaa_safe = fo; 778 ctx.textaa_safe = fo;
780 if (output->subpixel == WL_OUTPUT_SUBPIXEL_NONE) { 779 if (output->subpixel == WL_OUTPUT_SUBPIXEL_NONE) {
781 ctx.textaa_sharp = ctx.textaa_safe; 780 ctx.textaa_sharp = ctx.textaa_safe;
782 } else { 781 } else {
783 fo = cairo_font_options_create(); 782 fo = cairo_font_options_create();
784 cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
785 cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_SUBPIXEL); 783 cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_SUBPIXEL);
786 cairo_font_options_set_subpixel_order(fo, 784 cairo_font_options_set_subpixel_order(fo,
787 to_cairo_subpixel_order(output->subpixel)); 785 to_cairo_subpixel_order(output->subpixel));