aboutsummaryrefslogtreecommitdiffstats
path: root/common/pango.c
diff options
context:
space:
mode:
authorLibravatar Geoff Greer <geoff@greer.fm>2018-09-22 15:33:01 -0700
committerLibravatar Geoff Greer <geoff@greer.fm>2018-09-22 15:33:03 -0700
commit987e0054ac2b30b3586e36767cc9b18da8d5a8eb (patch)
treecb3ef76852a2022092fa3e34aa24178ee21ed95b /common/pango.c
parentMerge pull request #2677 from ggreer/pretty-fonts (diff)
downloadsway-987e0054ac2b30b3586e36767cc9b18da8d5a8eb.tar.gz
sway-987e0054ac2b30b3586e36767cc9b18da8d5a8eb.tar.zst
sway-987e0054ac2b30b3586e36767cc9b18da8d5a8eb.zip
Call pango_cairo_context_set_font_options().
Call pango_cairo_context_set_font_options() before pango_cairo_update_layout() and pango_cairo_show_layout(). By default, Pango "merges" the Cario font options with its own, which doesn't enable full hinting.
Diffstat (limited to 'common/pango.c')
-rw-r--r--common/pango.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/common/pango.c b/common/pango.c
index 5afd72d8..ba74692e 100644
--- a/common/pango.c
+++ b/common/pango.c
@@ -6,6 +6,7 @@
6#include <stdio.h> 6#include <stdio.h>
7#include <stdlib.h> 7#include <stdlib.h>
8#include <string.h> 8#include <string.h>
9#include "cairo.h"
9#include "log.h" 10#include "log.h"
10#include "stringop.h" 11#include "stringop.h"
11 12
@@ -113,6 +114,10 @@ void pango_printf(cairo_t *cairo, const char *font,
113 va_end(args); 114 va_end(args);
114 115
115 PangoLayout *layout = get_pango_layout(cairo, font, buf, scale, markup); 116 PangoLayout *layout = get_pango_layout(cairo, font, buf, scale, markup);
117 cairo_font_options_t *fo = cairo_font_options_create();
118 cairo_get_font_options(cairo, fo);
119 pango_cairo_context_set_font_options(pango_layout_get_context(layout), fo);
120 cairo_font_options_destroy(fo);
116 pango_cairo_update_layout(cairo, layout); 121 pango_cairo_update_layout(cairo, layout);
117 pango_cairo_show_layout(cairo, layout); 122 pango_cairo_show_layout(cairo, layout);
118 g_object_unref(layout); 123 g_object_unref(layout);