diff options
author | Geoff Greer <geoff@greer.fm> | 2018-09-22 15:33:01 -0700 |
---|---|---|
committer | Geoff Greer <geoff@greer.fm> | 2018-09-22 15:33:03 -0700 |
commit | 987e0054ac2b30b3586e36767cc9b18da8d5a8eb (patch) | |
tree | cb3ef76852a2022092fa3e34aa24178ee21ed95b /common | |
parent | Merge pull request #2677 from ggreer/pretty-fonts (diff) | |
download | sway-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')
-rw-r--r-- | common/pango.c | 5 |
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); |