[pango/pango-1-44] Use shape flags for tab width
- From: Marco Trevisan <marcotrevi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/pango-1-44] Use shape flags for tab width
- Date: Wed, 5 May 2021 16:00:30 +0000 (UTC)
commit 04031036fb1b80a47c7030053f4767363935c068
Author: Jan Alexander Steffens (heftig) <jan steffens gmail com>
Date: Tue Feb 11 03:51:19 2020 +0100
Use shape flags for tab width
We need to apply the right shape flags to the tab width calculation,
otherwise (when glyph positions get rounded, which is the default) our
tab width will be slightly off from what 8 spaces normally produce.
https://gitlab.gnome.org/GNOME/pango/issues/425
(cherry-picked from commit c579c0a9)
pango/pango-layout.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index a1ebfbcc..16783941 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -3034,6 +3034,10 @@ ensure_tab_width (PangoLayout *layout)
PangoAttrIterator *iter;
PangoFontDescription *font_desc = pango_font_description_copy_static
(pango_context_get_font_description (layout->context));
PangoLanguage *language;
+ PangoShapeFlags shape_flags = PANGO_SHAPE_NONE;
+
+ if (pango_context_get_round_glyph_positions (layout->context))
+ shape_flags |= PANGO_SHAPE_ROUND_POSITIONS;
layout_attrs = pango_layout_get_effective_attributes (layout);
iter = pango_attr_list_get_iterator (layout_attrs);
@@ -3062,7 +3066,7 @@ ensure_tab_width (PangoLayout *layout)
pango_attr_list_unref (tmp_attrs);
item = items->data;
- pango_shape (" ", 8, &item->analysis, glyphs);
+ pango_shape_with_flags (" ", 8, " ", 8, &item->analysis, glyphs, shape_flags);
pango_item_free (item);
g_list_free (items);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]