From 987e0054ac2b30b3586e36767cc9b18da8d5a8eb Mon Sep 17 00:00:00 2001
From: Geoff Greer <geoff@greer.fm>
Date: Sat, 22 Sep 2018 15:33:01 -0700
Subject: 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.
---
 common/pango.c | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'common')

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 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include "cairo.h"
 #include "log.h"
 #include "stringop.h"
 
@@ -113,6 +114,10 @@ void pango_printf(cairo_t *cairo, const char *font,
 	va_end(args);
 
 	PangoLayout *layout = get_pango_layout(cairo, font, buf, scale, markup);
+	cairo_font_options_t *fo = cairo_font_options_create();
+	cairo_get_font_options(cairo, fo);
+	pango_cairo_context_set_font_options(pango_layout_get_context(layout), fo);
+	cairo_font_options_destroy(fo);
 	pango_cairo_update_layout(cairo, layout);
 	pango_cairo_show_layout(cairo, layout);
 	g_object_unref(layout);
-- 
cgit v1.2.3