From 71321dfc82ff354a0e0dfe639521e0e76bfa0c28 Mon Sep 17 00:00:00 2001 From: David Capello Date: Fri, 1 Jul 2016 19:07:01 -0300 Subject: [PATCH] Fix 'outline' convolution matrices for rendered text This issue was originally reported here: https://twitter.com/vine2D/status/748579114265653248/ --- src/app/util/freetype_utils.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/app/util/freetype_utils.cpp b/src/app/util/freetype_utils.cpp index e4727c546..f8dea741b 100644 --- a/src/app/util/freetype_utils.cpp +++ b/src/app/util/freetype_utils.cpp @@ -70,14 +70,20 @@ doc::Image* render_text(const std::string& fontfile, int fontsize, } } - doc::put_pixel( - image, ximg, yimg, - doc::rgba_blender_normal( - doc::get_pixel(image, ximg, yimg), + int output_alpha = MUL_UN8(doc::rgba_geta(color), alpha, t); + if (output_alpha) { + doc::color_t output_color = doc::rgba(doc::rgba_getr(color), doc::rgba_getg(color), doc::rgba_getb(color), - MUL_UN8(doc::rgba_geta(color), alpha, t)))); + output_alpha); + + doc::put_pixel( + image, ximg, yimg, + doc::rgba_blender_normal( + doc::get_pixel(image, ximg, yimg), + output_color)); + } } } });