diff options
-rw-r--r-- | pango/shape.c | 12 | ||||
-rw-r--r-- | tests/testmisc.c | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/pango/shape.c b/pango/shape.c index 401c9ec1..0b757b1a 100644 --- a/pango/shape.c +++ b/pango/shape.c @@ -370,5 +370,17 @@ pango_shape_with_flags (const gchar *item_text, } } } + else + { + for (i = 0; i < glyphs->num_glyphs; i++) + { + glyphs->glyphs[i].geometry.width = + PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.width); + glyphs->glyphs[i].geometry.x_offset = + PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.x_offset); + glyphs->glyphs[i].geometry.y_offset = + PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.y_offset); + } + } } } diff --git a/tests/testmisc.c b/tests/testmisc.c index fe2e9075..69fc3019 100644 --- a/tests/testmisc.c +++ b/tests/testmisc.c @@ -22,7 +22,10 @@ #include "config.h" #include <glib.h> #include <pango/pangocairo.h> + +#ifdef HAVE_CAIRO_FREETYPE #include <pango/pango-ot.h> +#endif /* test that we don't crash in shape_tab when the layout * is such that we don't have effective attributes @@ -245,6 +248,7 @@ test_gravity_for_script (void) } } +#ifdef HAVE_CAIRO_FREETYPE G_GNUC_BEGIN_IGNORE_DEPRECATIONS static void @@ -264,6 +268,7 @@ test_language_to_tag (void) } G_GNUC_END_IGNORE_DEPRECATIONS +#endif static void test_fallback_shape (void) @@ -319,7 +324,9 @@ main (int argc, char *argv[]) g_test_add_func ("/gravity/from-matrix", test_gravity_from_matrix); g_test_add_func ("/gravity/for-script", test_gravity_for_script); g_test_add_func ("/layout/fallback-shape", test_fallback_shape); +#ifdef HAVE_CAIRO_FREETYPE g_test_add_func ("/language/to-tag", test_language_to_tag); +#endif return g_test_run (); } |